diff --git a/-la b/-la deleted file mode 100644 index 27ce7f7..0000000 --- a/-la +++ /dev/null @@ -1,3 +0,0 @@ -* main 474acde [origin/main] chore(ci): optimize Pages cache key and disable telemetry; align eslint-config-next with Next 15.3.6 - pr-1 0cd6228 fix(cicd): github action build error. - pr-2 067d796 fix(security): resolve CVE-2025-55182. diff --git a/.gitignore b/.gitignore index 4df56f5..8987379 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # dependencies /node_modules +package-lock.json /.pnp .pnp.* .yarn/* @@ -9,6 +10,7 @@ !.yarn/plugins !.yarn/releases !.yarn/versions +yarn.lock # testing /coverage @@ -22,6 +24,7 @@ # misc .DS_Store +*.exe *.pem # debug diff --git a/.husky/pre-commit b/.husky/pre-commit index a5084cc..760428b 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1,2 @@ export COREPACK_ENABLE_AUTO_PIN=0 -bun run lint +npm run lint diff --git a/.netlify/netlify.toml b/.netlify/netlify.toml deleted file mode 100644 index 4051bb4..0000000 --- a/.netlify/netlify.toml +++ /dev/null @@ -1,97 +0,0 @@ -headersOrigin = "inline" -redirectsOrigin = "inline" - -[functions] - -[functions."*"] - -[[plugins]] -origin = "config" -package = "@netlify/plugin-nextjs" -pinned_version = "5" - -[plugins.inputs] - -[build] -publish = "D:\\GoodAction-Hub\\.next" -publishOrigin = "config" -commandOrigin = "config" -command = "npm run build" - -[build.environment] -NODE_VERSION = "18" - -[build.processing] - -[build.processing.css] - -[build.processing.html] - -[build.processing.images] - -[build.processing.js] - -[build.services] - -[[headers]] -for = "/*" - -[headers.values] -X-Frame-Options = "DENY" -X-XSS-Protection = "1; mode=block" -X-Content-Type-Options = "nosniff" -Referrer-Policy = "strict-origin-when-cross-origin" - -[[headers]] -for = "/static/*" - -[headers.values] -Cache-Control = "public, max-age=31536000, immutable" - -[[headers]] -for = "/*.js" - -[headers.values] -Cache-Control = "public, max-age=31536000, immutable" - -[[headers]] -for = "/*.css" - -[headers.values] -Cache-Control = "public, max-age=31536000, immutable" - -[[headers]] -for = "/_next/static/*" - -[headers.values] -Cache-Control = "public, max-age=31536000, immutable" - -[[redirects]] -from = "/_next/image/" -to = "/.netlify/images?url=:url&w=:width&q=:quality" -status = 200.0 -force = false - -[redirects.query] -url = ":url" -w = ":width" -q = ":quality" - -[redirects.conditions] - -[redirects.headers] - -[[redirects]] -from = "/_ipx/*" -to = "/.netlify/images?url=:url&w=:width&q=:quality" -status = 200.0 -force = false - -[redirects.query] -url = ":url" -w = ":width" -q = ":quality" - -[redirects.conditions] - -[redirects.headers] \ No newline at end of file diff --git a/.netlify/plugins/node_modules/.package-lock.json b/.netlify/plugins/node_modules/.package-lock.json deleted file mode 100644 index 43727b0..0000000 --- a/.netlify/plugins/node_modules/.package-lock.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "netlify-local-plugins", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "node_modules/@netlify/plugin-nextjs": { - "version": "5.14.7", - "resolved": "https://registry.npmmirror.com/@netlify/plugin-nextjs/-/plugin-nextjs-5.14.7.tgz", - "integrity": "sha512-RJRPGIlaY3M4KA6GxpOlynCPUKCVbtkHwg4ccHhoSVrHgysW3nqw1pX+FBvlBexrUl1JO2zuDFh4enRal9BpAw==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - } - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/LICENSE b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/LICENSE deleted file mode 100644 index a3f6ac6..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2023 Netlify - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/README.md b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/README.md deleted file mode 100644 index 952bf74..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/README.md +++ /dev/null @@ -1,79 +0,0 @@ -![Next.js Runtime](next-js-runtime.png) - -# Next.js Runtime - -

- - - - - - -

- -This package handles the build process and creates the runtime environment for Next.js sites on -Netlify. You should not normally need to install it yourself, as it is used automatically during -builds of Next.js sites. See -[the docs for using Next.js on Netlify](https://docs.netlify.com/frameworks/next-js/overview/) for -more details. - -Next.js is supported natively on Netlify, and in most cases you will not need to install or -configure anything. This repo includes the packages used to support Next.js on Netlify. - -## Prerequisites - -- Next.js 13.5 or later -- Node.js 18 or later -- The latest version of the [Netlify CLI](https://docs.netlify.com/cli/get-started/) - -## Deploying - -If you build on Netlify, the Next.js Runtime will work with no additional configuration. - -## Manually installing the Next.js Runtime - -The Next.js Runtime installs automatically for new Next.js sites on Netlify. You can also install it -manually in the following ways: - -### From the UI (Recommended) - -You can go to the [UI](https://app.netlify.com/plugins/@netlify/plugin-nextjs/install) and choose -the site to install the Next.js Runtime on. This method is recommended because you will benefit from -auto-upgrades to important fixes and feature updates. - -### From `npm` - -```shell -npm install -D @netlify/plugin-nextjs -``` - -...then add the following to your `netlify.toml` file: - -```toml -[[plugins]] - package = "@netlify/plugin-nextjs" -``` - -This method is recommended if you wish to pin the Next.js Runtime to a specific version. - -## v4 - -If you are using Next.js 10-13.4 or Node.js < 18, you must use v4 of the Next.js Runtime. - -If you are still using v4, you can find -[its README here](https://github.com/netlify/next-runtime/blob/v4/README.md) and the -[v4 Runtime docs here](https://docs.netlify.com/frameworks/next-js/runtime-v4/overview/). - -### Upgrading from v4 to v5 - -To upgrade from v4 to v5, please visit -[the v5 documentation](https://docs.netlify.com/frameworks/next-js/overview/). - -## Feedback - -If you think you have found a bug in Next.js on Netlify, -[please open an issue](https://github.com/opennextjs/opennextjs-netlify/issues). If you have -comments or feature requests, -[see the discussion board](https://github.com/opennextjs/opennextjs-netlify/discussions) - -Please note that v4 will only receive security fixes and critical bug fixes. diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/advanced-api-routes.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/advanced-api-routes.js deleted file mode 100644 index a146c70..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/advanced-api-routes.js +++ /dev/null @@ -1,158 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - __require -} from "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/advanced-api-routes.ts -import { existsSync } from "node:fs"; -import { readFile } from "node:fs/promises"; -import { join } from "node:path"; -var ApiRouteType = /* @__PURE__ */ ((ApiRouteType2) => { - ApiRouteType2["SCHEDULED"] = "experimental-scheduled"; - ApiRouteType2["BACKGROUND"] = "experimental-background"; - return ApiRouteType2; -})(ApiRouteType || {}); -async function getAPIRoutesConfigs(ctx) { - const uniqueApiRoutes = /* @__PURE__ */ new Set(); - const functionsConfigManifestPath = join( - ctx.publishDir, - "server", - "functions-config-manifest.json" - ); - if (existsSync(functionsConfigManifestPath)) { - const functionsConfigManifest = JSON.parse( - await readFile(functionsConfigManifestPath, "utf-8") - ); - for (const apiRoute of Object.keys(functionsConfigManifest.functions)) { - uniqueApiRoutes.add(apiRoute); - } - } - const pagesManifestPath = join(ctx.publishDir, "server", "pages-manifest.json"); - if (existsSync(pagesManifestPath)) { - const pagesManifest = JSON.parse(await readFile(pagesManifestPath, "utf-8")); - for (const route of Object.keys(pagesManifest)) { - if (route.startsWith("/api/")) { - uniqueApiRoutes.add(route); - } - } - } - if (uniqueApiRoutes.size === 0) { - return []; - } - const appDir = ctx.resolveFromSiteDir("."); - const pagesDir = join(appDir, "pages"); - const srcPagesDir = join(appDir, "src", "pages"); - const { pageExtensions } = ctx.requiredServerFiles.config; - return Promise.all( - [...uniqueApiRoutes].map(async (apiRoute) => { - const filePath = getSourceFileForPage(apiRoute, [pagesDir, srcPagesDir], pageExtensions); - const sharedFields = { - apiRoute, - filePath, - config: {} - }; - if (filePath) { - const config = await extractConfigFromFile(filePath, appDir); - return { - ...sharedFields, - config - }; - } - return sharedFields; - }) - ); -} -var SOURCE_FILE_EXTENSIONS = ["js", "jsx", "ts", "tsx"]; -var getSourceFileForPage = (page, roots, pageExtensions = SOURCE_FILE_EXTENSIONS) => { - for (const root of roots) { - for (const extension of pageExtensions) { - const file = join(root, `${page}.${extension}`); - if (existsSync(file)) { - return file; - } - const fileAtFolderIndex = join(root, page, `index.${extension}`); - if (existsSync(fileAtFolderIndex)) { - return fileAtFolderIndex; - } - } - } -}; -var findModuleFromBase = ({ - paths, - candidates -}) => { - for (const candidate of candidates) { - try { - const modulePath = __require.resolve(candidate, { paths }); - if (modulePath) { - return modulePath; - } - } catch { - } - } - for (const candidate of candidates) { - try { - const modulePath = __require.resolve(candidate); - if (modulePath) { - return modulePath; - } - } catch { - } - } - return null; -}; -var extractConstValue; -var parseModule; -var extractConfigFromFile = async (apiFilePath, appDir) => { - if (!apiFilePath || !existsSync(apiFilePath)) { - return {}; - } - const extractConstValueModulePath = findModuleFromBase({ - paths: [appDir], - candidates: ["next/dist/build/analysis/extract-const-value"] - }); - const parseModulePath = findModuleFromBase({ - paths: [appDir], - candidates: ["next/dist/build/analysis/parse-module"] - }); - if (!extractConstValueModulePath || !parseModulePath) { - return {}; - } - if (!extractConstValue && extractConstValueModulePath) { - extractConstValue = __require(extractConstValueModulePath); - } - if (!parseModule && parseModulePath) { - parseModule = __require(parseModulePath).parseModule; - } - const { extractExportedConstValue } = extractConstValue; - const fileContent = await readFile(apiFilePath, "utf8"); - if (!fileContent.includes("config")) { - return {}; - } - try { - const installBindingsModule = findModuleFromBase({ - paths: [appDir], - candidates: ["next/dist/build/swc/install-bindings"] - }); - if (installBindingsModule) { - const { installBindings } = __require(installBindingsModule); - await installBindings(); - } - } catch { - } - const ast = await parseModule(apiFilePath, fileContent); - try { - return extractExportedConstValue(ast, "config"); - } catch { - return {}; - } -}; -export { - ApiRouteType, - getAPIRoutesConfigs -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/cache.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/cache.js deleted file mode 100644 index 5220314..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/cache.js +++ /dev/null @@ -1,36 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/cache.ts -import { existsSync } from "node:fs"; -import { rm } from "node:fs/promises"; -import { join } from "node:path"; -var saveBuildCache = async (ctx) => { - const { cache } = ctx.utils; - const cacheDir = join(ctx.publishDir, "cache"); - if (existsSync(cacheDir)) { - await rm(join(cacheDir, "fetch-cache"), { recursive: true, force: true }); - await cache.save(cacheDir); - console.log("Next.js cache saved"); - } else { - console.log("No Next.js cache to save"); - } -}; -var restoreBuildCache = async (ctx) => { - const { cache } = ctx.utils; - const cacheDir = join(ctx.publishDir, "cache"); - if (await cache.restore(cacheDir)) { - console.log("Next.js cache restored"); - } else { - console.log("No Next.js cache to restore"); - } -}; -export { - restoreBuildCache, - saveBuildCache -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/next-shims/telemetry-storage.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/next-shims/telemetry-storage.cjs deleted file mode 100644 index a6d9084..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/next-shims/telemetry-storage.cjs +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/build/content/next-shims/telemetry-storage.cts -var telemetry_storage_exports = {}; -__export(telemetry_storage_exports, { - TelemetryShim: () => TelemetryShim -}); -module.exports = __toCommonJS(telemetry_storage_exports); -var TelemetryShim = class { - sessionId = "shim"; - get anonymousId() { - return "shim"; - } - get salt() { - return "shim"; - } - setEnabled() { - return null; - } - get isEnabled() { - return false; - } - oneWayHash() { - return "shim"; - } - record() { - return Promise.resolve({ isFulfilled: true, isRejected: false }); - } - flush() { - return Promise.resolve(null); - } - flushDetached() { - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - TelemetryShim -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/prerendered.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/prerendered.js deleted file mode 100644 index 9489bd7..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/prerendered.js +++ /dev/null @@ -1,358 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - trace, - wrapTracer -} from "../../esm-chunks/chunk-5V5HA6YA.js"; -import { - require_out -} from "../../esm-chunks/chunk-YUXQHOYO.js"; -import { - require_semver -} from "../../esm-chunks/chunk-TVEBGDAB.js"; -import { - __toESM -} from "../../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/content/prerendered.ts -import { existsSync } from "node:fs"; -import { mkdir, readFile, writeFile } from "node:fs/promises"; -import { join } from "node:path"; -var import_fast_glob = __toESM(require_out(), 1); - -// node_modules/yocto-queue/index.js -var Node = class { - value; - next; - constructor(value) { - this.value = value; - } -}; -var Queue = class { - #head; - #tail; - #size; - constructor() { - this.clear(); - } - enqueue(value) { - const node = new Node(value); - if (this.#head) { - this.#tail.next = node; - this.#tail = node; - } else { - this.#head = node; - this.#tail = node; - } - this.#size++; - } - dequeue() { - const current = this.#head; - if (!current) { - return; - } - this.#head = this.#head.next; - this.#size--; - return current.value; - } - peek() { - if (!this.#head) { - return; - } - return this.#head.value; - } - clear() { - this.#head = void 0; - this.#tail = void 0; - this.#size = 0; - } - get size() { - return this.#size; - } - *[Symbol.iterator]() { - let current = this.#head; - while (current) { - yield current.value; - current = current.next; - } - } - *drain() { - while (this.#head) { - yield this.dequeue(); - } - } -}; - -// node_modules/p-limit/index.js -function pLimit(concurrency) { - validateConcurrency(concurrency); - const queue = new Queue(); - let activeCount = 0; - const resumeNext = () => { - if (activeCount < concurrency && queue.size > 0) { - queue.dequeue()(); - activeCount++; - } - }; - const next = () => { - activeCount--; - resumeNext(); - }; - const run = async (function_, resolve, arguments_) => { - const result = (async () => function_(...arguments_))(); - resolve(result); - try { - await result; - } catch { - } - next(); - }; - const enqueue = (function_, resolve, arguments_) => { - new Promise((internalResolve) => { - queue.enqueue(internalResolve); - }).then( - run.bind(void 0, function_, resolve, arguments_) - ); - (async () => { - await Promise.resolve(); - if (activeCount < concurrency) { - resumeNext(); - } - })(); - }; - const generator = (function_, ...arguments_) => new Promise((resolve) => { - enqueue(function_, resolve, arguments_); - }); - Object.defineProperties(generator, { - activeCount: { - get: () => activeCount - }, - pendingCount: { - get: () => queue.size - }, - clearQueue: { - value() { - queue.clear(); - } - }, - concurrency: { - get: () => concurrency, - set(newConcurrency) { - validateConcurrency(newConcurrency); - concurrency = newConcurrency; - queueMicrotask(() => { - while (activeCount < concurrency && queue.size > 0) { - resumeNext(); - } - }); - } - } - }); - return generator; -} -function validateConcurrency(concurrency) { - if (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) { - throw new TypeError("Expected `concurrency` to be a number from 1 and up"); - } -} - -// src/build/content/prerendered.ts -var import_semver = __toESM(require_semver(), 1); -import { encodeBlobKey } from "../../shared/blobkey.js"; -import { verifyNetlifyForms } from "../verification.js"; -var tracer = wrapTracer(trace.getTracer("Next runtime")); -var writeCacheEntry = async (route, value, lastModified, ctx) => { - const path = join(ctx.blobDir, await encodeBlobKey(route)); - const entry = JSON.stringify({ - lastModified, - value - }); - await writeFile(path, entry, "utf-8"); -}; -var routeToFilePath = (path) => { - if (path === "/") { - return "/index"; - } - if (path.startsWith("/")) { - return path; - } - return `/${path}`; -}; -var buildPagesCacheValue = async (path, initialRevalidateSeconds, shouldUseEnumKind, shouldSkipJson = false) => ({ - kind: shouldUseEnumKind ? "PAGES" : "PAGE", - html: await readFile(`${path}.html`, "utf-8"), - pageData: shouldSkipJson ? {} : JSON.parse(await readFile(`${path}.json`, "utf-8")), - headers: void 0, - status: void 0, - revalidate: initialRevalidateSeconds -}); -var RSC_SEGMENTS_DIR_SUFFIX = ".segments"; -var RSC_SEGMENT_SUFFIX = ".segment.rsc"; -var buildAppCacheValue = async (path, shouldUseAppPageKind) => { - const meta = JSON.parse(await readFile(`${path}.meta`, "utf-8")); - const html = await readFile(`${path}.html`, "utf-8"); - if (shouldUseAppPageKind) { - let segmentData; - if (meta.segmentPaths) { - const segmentsDir = path + RSC_SEGMENTS_DIR_SUFFIX; - segmentData = Object.fromEntries( - await Promise.all( - meta.segmentPaths.map(async (segmentPath) => { - const segmentDataFilePath = segmentsDir + segmentPath + RSC_SEGMENT_SUFFIX; - const segmentContent = await readFile(segmentDataFilePath, "base64"); - return [segmentPath, segmentContent]; - }) - ) - ); - } - return { - kind: "APP_PAGE", - html, - rscData: await readFile(`${path}.rsc`, "base64").catch( - () => readFile(`${path}.prefetch.rsc`, "base64") - ), - segmentData, - ...meta - }; - } - const rsc = await readFile(`${path}.rsc`, "utf-8").catch( - () => readFile(`${path}.prefetch.rsc`, "utf-8") - ); - if (!meta.status && rsc.includes("NEXT_NOT_FOUND") && !(typeof meta.headers?.["x-next-cache-tags"] === "string" && meta.headers?.["x-next-cache-tags"].includes("/@"))) { - meta.status = 404; - } - return { - kind: "PAGE", - html, - pageData: rsc, - ...meta - }; -}; -var buildRouteCacheValue = async (path, initialRevalidateSeconds, shouldUseEnumKind) => ({ - kind: shouldUseEnumKind ? "APP_ROUTE" : "ROUTE", - body: await readFile(`${path}.body`, "base64"), - ...JSON.parse(await readFile(`${path}.meta`, "utf-8")), - revalidate: initialRevalidateSeconds -}); -var buildFetchCacheValue = async (path) => ({ - kind: "FETCH", - ...JSON.parse(await readFile(path, "utf-8")) -}); -var copyPrerenderedContent = async (ctx) => { - return tracer.withActiveSpan("copyPrerenderedContent", async () => { - try { - await mkdir(ctx.blobDir, { recursive: true }); - const manifest = await ctx.getPrerenderManifest(); - const limitConcurrentPrerenderContentHandling = pLimit(10); - const shouldUseAppPageKind = ctx.nextVersion ? (0, import_semver.satisfies)(ctx.nextVersion, ">=15.0.0-canary.13 <15.0.0-d || >15.0.0-rc.0", { - includePrerelease: true - }) : false; - const shouldUseEnumKind = ctx.nextVersion ? (0, import_semver.satisfies)(ctx.nextVersion, ">=15.0.0-canary.114 <15.0.0-d || >15.0.0-rc.0", { - includePrerelease: true - }) : false; - await Promise.all([ - ...Object.entries(manifest.routes).map( - ([route, meta]) => limitConcurrentPrerenderContentHandling(async () => { - const lastModified = meta.initialRevalidateSeconds ? Date.now() - 31536e6 : Date.now(); - const key = routeToFilePath(route); - let value; - switch (true) { - // Parallel route default layout has no prerendered page - case (meta.dataRoute?.endsWith("/default.rsc") && !existsSync(join(ctx.publishDir, "server/app", `${key}.html`))): - return; - case meta.dataRoute?.endsWith(".json"): - if (manifest.notFoundRoutes.includes(route)) { - return; - } - value = await buildPagesCacheValue( - join(ctx.publishDir, "server/pages", key), - meta.initialRevalidateSeconds, - shouldUseEnumKind - ); - break; - case meta.dataRoute?.endsWith(".rsc"): - value = await buildAppCacheValue( - join(ctx.publishDir, "server/app", key), - shouldUseAppPageKind - ); - break; - case meta.dataRoute === null: - value = await buildRouteCacheValue( - join(ctx.publishDir, "server/app", key), - meta.initialRevalidateSeconds, - shouldUseEnumKind - ); - break; - default: - throw new Error(`Unrecognized content: ${route}`); - } - if (value.kind === "PAGE" || value.kind === "PAGES" || value.kind === "APP_PAGE") { - verifyNetlifyForms(ctx, value.html); - } - await writeCacheEntry(key, value, lastModified, ctx); - }) - ), - ...ctx.getFallbacks(manifest).map( - (route) => limitConcurrentPrerenderContentHandling(async () => { - const key = routeToFilePath(route); - const value = await buildPagesCacheValue( - join(ctx.publishDir, "server/pages", key), - void 0, - shouldUseEnumKind, - true - // there is no corresponding json file for fallback, so we are skipping it for this entry - ); - await writeCacheEntry(key, value, Date.now(), ctx); - }) - ), - ...ctx.getShells(manifest).map( - (route) => limitConcurrentPrerenderContentHandling(async () => { - const key = routeToFilePath(route); - const value = await buildAppCacheValue( - join(ctx.publishDir, "server/app", key), - shouldUseAppPageKind - ); - await writeCacheEntry(key, value, Date.now(), ctx); - }) - ) - ]); - if (existsSync(join(ctx.publishDir, `server/app/_not-found.html`))) { - const lastModified = Date.now(); - const key = "/404"; - const value = await buildAppCacheValue( - join(ctx.publishDir, "server/app/_not-found"), - shouldUseAppPageKind - ); - await writeCacheEntry(key, value, lastModified, ctx); - } - } catch (error) { - ctx.failBuild("Failed assembling prerendered content for upload", error); - } - }); -}; -var copyFetchContent = async (ctx) => { - try { - const paths = await (0, import_fast_glob.glob)(["!(*.*)"], { - cwd: join(ctx.publishDir, "cache/fetch-cache"), - extglob: true - }); - await Promise.all( - paths.map(async (key) => { - const lastModified = Date.now() - 31536e6; - const path = join(ctx.publishDir, "cache/fetch-cache", key); - const value = await buildFetchCacheValue(path); - await writeCacheEntry(key, value, lastModified, ctx); - }) - ); - } catch (error) { - ctx.failBuild("Failed assembling fetch content for upload", error); - } -}; -export { - copyFetchContent, - copyPrerenderedContent -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/server.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/server.js deleted file mode 100644 index 3723ec1..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/server.js +++ /dev/null @@ -1,315 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - trace, - wrapTracer -} from "../../esm-chunks/chunk-5V5HA6YA.js"; -import { - require_out -} from "../../esm-chunks/chunk-YUXQHOYO.js"; -import { - require_semver -} from "../../esm-chunks/chunk-TVEBGDAB.js"; -import { - __toESM -} from "../../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/content/server.ts -import { existsSync } from "node:fs"; -import { - access, - cp, - mkdir, - readdir, - readFile, - readlink, - symlink, - writeFile -} from "node:fs/promises"; -import { createRequire } from "node:module"; -import { dirname, join, resolve, sep } from "node:path"; -import { join as posixJoin, sep as posixSep } from "node:path/posix"; -var import_fast_glob = __toESM(require_out(), 1); -var import_semver = __toESM(require_semver(), 1); -import { RUN_CONFIG_FILE } from "../../run/constants.js"; -var tracer = wrapTracer(trace.getTracer("Next runtime")); -var toPosixPath = (path) => path.split(sep).join(posixSep); -function isError(error) { - return error instanceof Error; -} -var copyNextServerCode = async (ctx) => { - await tracer.withActiveSpan("copyNextServerCode", async () => { - const reqServerFilesPath = join( - ctx.standaloneRootDir, - ctx.relativeAppDir, - ctx.requiredServerFiles.config.distDir, - "required-server-files.json" - ); - try { - await access(reqServerFilesPath); - } catch (error) { - if (isError(error) && error.code === "ENOENT") { - ctx.failBuild( - `Failed creating server handler. required-server-files.json file not found at expected location "${reqServerFilesPath}". Your repository setup is currently not yet supported.` - ); - } else { - throw error; - } - } - const reqServerFiles = JSON.parse( - await readFile(reqServerFilesPath, "utf-8") - ); - if (toPosixPath(ctx.distDir).replace(new RegExp(`^${ctx.relativeAppDir}/?`), "") !== reqServerFiles.config.distDir) { - reqServerFiles.config.distDir = ctx.nextDistDir; - await writeFile(reqServerFilesPath, JSON.stringify(reqServerFiles)); - } - await mkdir(ctx.serverHandlerDir, { recursive: true }); - await writeFile( - join(ctx.serverHandlerDir, RUN_CONFIG_FILE), - JSON.stringify({ - nextConfig: reqServerFiles.config, - // only enable setting up 'use cache' handler when Next.js supports CacheHandlerV2 as we don't have V1 compatible implementation - // see https://github.com/vercel/next.js/pull/76687 first released in v15.3.0-canary.13 - enableUseCacheHandler: ctx.nextVersion ? (0, import_semver.satisfies)(ctx.nextVersion, ">=15.3.0-canary.13", { - includePrerelease: true - }) : false - }), - "utf-8" - ); - const srcDir = join(ctx.standaloneDir, ctx.nextDistDir); - const nextFolder = toPosixPath(ctx.distDir) === toPosixPath(ctx.buildConfig.distDir) ? ctx.distDir : ctx.nextDistDir; - const destDir = join(ctx.serverHandlerDir, nextFolder); - const paths = await (0, import_fast_glob.default)( - [ - `*`, - `server/*`, - `server/chunks/**/*`, - `server/edge-chunks/**/*`, - `server/edge/**/*`, - `server/+(app|pages)/**/*.js` - ], - { - cwd: srcDir, - dot: true, - extglob: true - } - ); - await Promise.all( - paths.map(async (path) => { - const srcPath = join(srcDir, path); - const destPath = join(destDir, path); - if (path === "server/middleware-manifest.json") { - try { - await replaceMiddlewareManifest(srcPath, destPath); - } catch (error) { - throw new Error("Could not patch middleware manifest file", { cause: error }); - } - return; - } - if (path === "server/functions-config-manifest.json") { - try { - await replaceFunctionsConfigManifest(srcPath, destPath); - } catch (error) { - throw new Error("Could not patch functions config manifest file", { cause: error }); - } - return; - } - await cp(srcPath, destPath, { recursive: true, force: true }); - }) - ); - }); -}; -async function recreateNodeModuleSymlinks(src, dest, org) { - const dirents = await readdir(join(src, org || ""), { withFileTypes: true }); - await Promise.all( - dirents.map(async (dirent) => { - if (dirent.name.startsWith("@")) { - return recreateNodeModuleSymlinks(src, dest, dirent.name); - } - if (dirent.isSymbolicLink()) { - const symlinkSrc = join(dest, org || "", dirent.name); - const symlinkTarget = await readlink(join(src, org || "", dirent.name)); - const symlinkDest = join(dest, org || "", symlinkTarget); - if (existsSync(symlinkDest) && !existsSync(symlinkSrc)) { - if (org) { - await mkdir(join(dest, org), { recursive: true }); - } - await symlink(symlinkTarget, symlinkSrc); - } - } - }) - ); -} -var nextInternalModuleReplacements = [ - { - // standalone is loading expensive Telemetry module that is not actually used - // so this replace that module with lightweight no-op shim that doesn't load additional modules - // see https://github.com/vercel/next.js/pull/63574 that removed need for this shim - ongoing: false, - minVersion: "13.5.0-canary.0", - // perf released in https://github.com/vercel/next.js/releases/tag/v14.2.0-canary.43 - maxVersion: "14.2.0-canary.42", - nextModule: "next/dist/telemetry/storage.js", - shimModule: "./next-shims/telemetry-storage.cjs" - } -]; -function getPatchesToApply(nextVersion, patches = nextInternalModuleReplacements) { - return patches.filter((patch) => { - if ((0, import_semver.lt)(nextVersion, patch.minVersion)) { - return false; - } - if (patch.ongoing) { - if ((0, import_semver.prerelease)(nextVersion) || process.env.NETLIFY_NEXT_FORCE_APPLY_ONGOING_PATCHES) { - return true; - } - return (0, import_semver.lte)(nextVersion, patch.maxStableVersion); - } - return (0, import_semver.lte)(nextVersion, patch.maxVersion); - }); -} -async function patchNextModules(ctx, nextVersion, serverHandlerRequireResolve) { - const moduleReplacementsToApply = getPatchesToApply(nextVersion); - if (moduleReplacementsToApply.length !== 0) { - await Promise.all( - moduleReplacementsToApply.map(async ({ nextModule, shimModule }) => { - try { - const nextModulePath = serverHandlerRequireResolve(nextModule); - const shimModulePath = posixJoin(ctx.pluginDir, "dist", "build", "content", shimModule); - await cp(shimModulePath, nextModulePath, { force: true }); - } catch { - } - }) - ); - } -} -var copyNextDependencies = async (ctx) => { - await tracer.withActiveSpan("copyNextDependencies", async () => { - const entries = await readdir(ctx.standaloneDir); - const filter = ctx.constants.IS_LOCAL ? void 0 : nodeModulesFilter; - const promises = entries.map(async (entry) => { - if (entry === ctx.nextDistDir) { - return; - } - const src = join(ctx.standaloneDir, entry); - const dest = join(ctx.serverHandlerDir, entry); - await cp(src, dest, { - recursive: true, - verbatimSymlinks: true, - force: true, - filter - }); - if (entry === "node_modules") { - await recreateNodeModuleSymlinks(ctx.resolveFromSiteDir("node_modules"), dest); - } - }); - const rootSrcDir = join(ctx.standaloneRootDir, "node_modules"); - const rootDestDir = join(ctx.serverHandlerRootDir, "node_modules"); - if (existsSync(rootSrcDir) && ctx.standaloneRootDir !== ctx.standaloneDir) { - promises.push( - cp(rootSrcDir, rootDestDir, { recursive: true, verbatimSymlinks: true, filter }).then( - () => recreateNodeModuleSymlinks(resolve("node_modules"), rootDestDir) - ) - ); - } - await Promise.all(promises); - const serverHandlerRequire = createRequire(posixJoin(ctx.serverHandlerDir, ":internal:")); - if (ctx.nextVersion) { - await patchNextModules(ctx, ctx.nextVersion, serverHandlerRequire.resolve); - } - try { - const nextEntryAbsolutePath = serverHandlerRequire.resolve("next"); - const nextRequire = createRequire(nextEntryAbsolutePath); - nextRequire.resolve("styled-jsx"); - } catch { - throw new Error( - "node_modules are not installed correctly, if you are using pnpm please set the public hoist pattern to: `public-hoist-pattern[]=*`.\nRefer to your docs for more details: https://docs.netlify.com/integrations/frameworks/next-js/overview/#pnpm-support" - ); - } - }); -}; -var replaceMiddlewareManifest = async (sourcePath, destPath) => { - await mkdir(dirname(destPath), { recursive: true }); - const data = await readFile(sourcePath, "utf8"); - const manifest = JSON.parse(data); - const newManifest = { - ...manifest, - middleware: Object.fromEntries( - Object.entries(manifest.middleware).map(([key, edgeFunctionDefinition]) => { - return [ - key, - { - ...edgeFunctionDefinition, - matchers: edgeFunctionDefinition.matchers.map((matcher) => { - return { - ...matcher, - // matcher that won't match on anything - // this is meant to disable actually running middleware in the server handler, - // while still allowing next server to enable some middleware specific handling - // such as _next/data normalization ( https://github.com/vercel/next.js/blob/7bb72e508572237fe0d4aac5418546d4b4b3a363/packages/next/src/server/lib/router-utils/resolve-routes.ts#L395 ) - regexp: "(?!.*)" - }; - }) - } - ]; - }) - ) - }; - const newData = JSON.stringify(newManifest); - await writeFile(destPath, newData); -}; -var replaceFunctionsConfigManifest = async (sourcePath, destPath) => { - const data = await readFile(sourcePath, "utf8"); - const manifest = JSON.parse(data); - if (manifest?.functions?.["/_middleware"]?.matchers) { - const newManifest = { - ...manifest, - functions: { - ...manifest.functions, - "/_middleware": { - ...manifest.functions["/_middleware"], - matchers: manifest.functions["/_middleware"].matchers.map((matcher) => { - return { - ...matcher, - // matcher that won't match on anything - // this is meant to disable actually running middleware in the server handler, - // while still allowing next server to enable some middleware specific handling - // such as _next/data normalization ( https://github.com/vercel/next.js/blob/7bb72e508572237fe0d4aac5418546d4b4b3a363/packages/next/src/server/lib/router-utils/resolve-routes.ts#L395 ) - regexp: "(?!.*)" - }; - }) - } - } - }; - const newData = JSON.stringify(newManifest); - await writeFile(destPath, newData); - } else { - await cp(sourcePath, destPath, { recursive: true, force: true }); - } -}; -var verifyHandlerDirStructure = async (ctx) => { - const { nextConfig } = JSON.parse( - await readFile(join(ctx.serverHandlerDir, RUN_CONFIG_FILE), "utf-8") - ); - const expectedBuildIDPath = join(ctx.serverHandlerDir, nextConfig.distDir, "BUILD_ID"); - if (!existsSync(expectedBuildIDPath)) { - ctx.failBuild( - `Failed creating server handler. BUILD_ID file not found at expected location "${expectedBuildIDPath}".` - ); - } -}; -var nodeModulesFilter = async (sourcePath) => { - if (sourcePath.includes(".pnpm") && (sourcePath.includes("linuxmusl-x64") || sourcePath.includes("linux-x64-musl"))) { - return false; - } - return true; -}; -export { - copyNextDependencies, - copyNextServerCode, - getPatchesToApply, - verifyHandlerDirStructure -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/static.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/static.js deleted file mode 100644 index b341bc7..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/content/static.js +++ /dev/null @@ -1,125 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - trace, - wrapTracer -} from "../../esm-chunks/chunk-5V5HA6YA.js"; -import { - require_out -} from "../../esm-chunks/chunk-YUXQHOYO.js"; -import { - __toESM -} from "../../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/content/static.ts -import { existsSync } from "node:fs"; -import { cp, mkdir, readFile, rename, rm, writeFile } from "node:fs/promises"; -import { basename, join } from "node:path"; -var import_fast_glob = __toESM(require_out(), 1); -import { encodeBlobKey } from "../../shared/blobkey.js"; -import { verifyNetlifyForms } from "../verification.js"; -var tracer = wrapTracer(trace.getTracer("Next runtime")); -var copyStaticContent = async (ctx) => { - return tracer.withActiveSpan("copyStaticContent", async () => { - const srcDir = join(ctx.publishDir, "server/pages"); - const destDir = ctx.blobDir; - const paths = await (0, import_fast_glob.default)("**/*.+(html|json)", { - cwd: srcDir, - extglob: true - }); - const fallbacks = ctx.getFallbacks(await ctx.getPrerenderManifest()); - const fullyStaticPages = await ctx.getFullyStaticHtmlPages(); - try { - await mkdir(destDir, { recursive: true }); - await Promise.all( - paths.filter((path) => !path.endsWith(".json") && !paths.includes(`${path.slice(0, -5)}.json`)).map(async (path) => { - const html = await readFile(join(srcDir, path), "utf-8"); - verifyNetlifyForms(ctx, html); - const isFallback = fallbacks.includes(path.slice(0, -5)); - const isFullyStaticPage = !isFallback && fullyStaticPages.includes(path); - await writeFile( - join(destDir, await encodeBlobKey(path)), - JSON.stringify({ html, isFullyStaticPage }), - "utf-8" - ); - }) - ); - } catch (error) { - ctx.failBuild("Failed assembling static pages for upload", error); - } - }); -}; -var copyStaticAssets = async (ctx) => { - return tracer.withActiveSpan("copyStaticAssets", async (span) => { - try { - await rm(ctx.staticDir, { recursive: true, force: true }); - const { basePath } = await ctx.getRoutesManifest(); - if (existsSync(ctx.resolveFromSiteDir("public"))) { - await cp(ctx.resolveFromSiteDir("public"), join(ctx.staticDir, basePath), { - recursive: true - }); - } - if (existsSync(join(ctx.publishDir, "static"))) { - await cp(join(ctx.publishDir, "static"), join(ctx.staticDir, basePath, "_next/static"), { - recursive: true - }); - } - } catch (error) { - span.end(); - ctx.failBuild("Failed copying static assets", error); - } - }); -}; -var setHeadersConfig = async (ctx) => { - const { basePath } = ctx.buildConfig; - ctx.netlifyConfig.headers.push({ - for: `${basePath}/_next/static/*`, - values: { - "Cache-Control": "public, max-age=31536000, immutable" - } - }); -}; -var copyStaticExport = async (ctx) => { - await tracer.withActiveSpan("copyStaticExport", async () => { - if (!ctx.exportDetail?.outDirectory) { - ctx.failBuild("Export directory not found"); - } - try { - await rm(ctx.staticDir, { recursive: true, force: true }); - await cp(ctx.exportDetail.outDirectory, ctx.staticDir, { recursive: true }); - } catch (error) { - ctx.failBuild("Failed copying static export", error); - } - }); -}; -var publishStaticDir = async (ctx) => { - try { - await rm(ctx.tempPublishDir, { recursive: true, force: true }); - await mkdir(basename(ctx.tempPublishDir), { recursive: true }); - await rename(ctx.publishDir, ctx.tempPublishDir); - await rename(ctx.staticDir, ctx.publishDir); - } catch (error) { - ctx.failBuild("Failed publishing static content", error instanceof Error ? { error } : {}); - } -}; -var unpublishStaticDir = async (ctx) => { - try { - if (existsSync(ctx.tempPublishDir)) { - await rename(ctx.publishDir, ctx.staticDir); - await rename(ctx.tempPublishDir, ctx.publishDir); - } - } catch { - } -}; -export { - copyStaticAssets, - copyStaticContent, - copyStaticExport, - publishStaticDir, - setHeadersConfig, - unpublishStaticDir -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/functions/edge.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/functions/edge.js deleted file mode 100644 index 460d5c0..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/functions/edge.js +++ /dev/null @@ -1,657 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - require_out -} from "../../esm-chunks/chunk-YUXQHOYO.js"; -import { - __commonJS, - __toESM -} from "../../esm-chunks/chunk-6BT4RYQJ.js"; - -// node_modules/path-to-regexp/dist/index.js -var require_dist = __commonJS({ - "node_modules/path-to-regexp/dist/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.pathToRegexp = exports.tokensToRegexp = exports.regexpToFunction = exports.match = exports.tokensToFunction = exports.compile = exports.parse = void 0; - function lexer(str) { - var tokens = []; - var i = 0; - while (i < str.length) { - var char = str[i]; - if (char === "*" || char === "+" || char === "?") { - tokens.push({ type: "MODIFIER", index: i, value: str[i++] }); - continue; - } - if (char === "\\") { - tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] }); - continue; - } - if (char === "{") { - tokens.push({ type: "OPEN", index: i, value: str[i++] }); - continue; - } - if (char === "}") { - tokens.push({ type: "CLOSE", index: i, value: str[i++] }); - continue; - } - if (char === ":") { - var name = ""; - var j = i + 1; - while (j < str.length) { - var code = str.charCodeAt(j); - if ( - // `0-9` - code >= 48 && code <= 57 || // `A-Z` - code >= 65 && code <= 90 || // `a-z` - code >= 97 && code <= 122 || // `_` - code === 95 - ) { - name += str[j++]; - continue; - } - break; - } - if (!name) - throw new TypeError("Missing parameter name at ".concat(i)); - tokens.push({ type: "NAME", index: i, value: name }); - i = j; - continue; - } - if (char === "(") { - var count = 1; - var pattern = ""; - var j = i + 1; - if (str[j] === "?") { - throw new TypeError('Pattern cannot start with "?" at '.concat(j)); - } - while (j < str.length) { - if (str[j] === "\\") { - pattern += str[j++] + str[j++]; - continue; - } - if (str[j] === ")") { - count--; - if (count === 0) { - j++; - break; - } - } else if (str[j] === "(") { - count++; - if (str[j + 1] !== "?") { - throw new TypeError("Capturing groups are not allowed at ".concat(j)); - } - } - pattern += str[j++]; - } - if (count) - throw new TypeError("Unbalanced pattern at ".concat(i)); - if (!pattern) - throw new TypeError("Missing pattern at ".concat(i)); - tokens.push({ type: "PATTERN", index: i, value: pattern }); - i = j; - continue; - } - tokens.push({ type: "CHAR", index: i, value: str[i++] }); - } - tokens.push({ type: "END", index: i, value: "" }); - return tokens; - } - function parse(str, options) { - if (options === void 0) { - options = {}; - } - var tokens = lexer(str); - var _a = options.prefixes, prefixes = _a === void 0 ? "./" : _a, _b = options.delimiter, delimiter = _b === void 0 ? "/#?" : _b; - var result = []; - var key = 0; - var i = 0; - var path = ""; - var tryConsume = function(type) { - if (i < tokens.length && tokens[i].type === type) - return tokens[i++].value; - }; - var mustConsume = function(type) { - var value2 = tryConsume(type); - if (value2 !== void 0) - return value2; - var _a2 = tokens[i], nextType = _a2.type, index = _a2.index; - throw new TypeError("Unexpected ".concat(nextType, " at ").concat(index, ", expected ").concat(type)); - }; - var consumeText = function() { - var result2 = ""; - var value2; - while (value2 = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")) { - result2 += value2; - } - return result2; - }; - var isSafe = function(value2) { - for (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) { - var char2 = delimiter_1[_i]; - if (value2.indexOf(char2) > -1) - return true; - } - return false; - }; - var safePattern = function(prefix2) { - var prev = result[result.length - 1]; - var prevText = prefix2 || (prev && typeof prev === "string" ? prev : ""); - if (prev && !prevText) { - throw new TypeError('Must have text between two parameters, missing text after "'.concat(prev.name, '"')); - } - if (!prevText || isSafe(prevText)) - return "[^".concat(escapeString(delimiter), "]+?"); - return "(?:(?!".concat(escapeString(prevText), ")[^").concat(escapeString(delimiter), "])+?"); - }; - while (i < tokens.length) { - var char = tryConsume("CHAR"); - var name = tryConsume("NAME"); - var pattern = tryConsume("PATTERN"); - if (name || pattern) { - var prefix = char || ""; - if (prefixes.indexOf(prefix) === -1) { - path += prefix; - prefix = ""; - } - if (path) { - result.push(path); - path = ""; - } - result.push({ - name: name || key++, - prefix, - suffix: "", - pattern: pattern || safePattern(prefix), - modifier: tryConsume("MODIFIER") || "" - }); - continue; - } - var value = char || tryConsume("ESCAPED_CHAR"); - if (value) { - path += value; - continue; - } - if (path) { - result.push(path); - path = ""; - } - var open = tryConsume("OPEN"); - if (open) { - var prefix = consumeText(); - var name_1 = tryConsume("NAME") || ""; - var pattern_1 = tryConsume("PATTERN") || ""; - var suffix = consumeText(); - mustConsume("CLOSE"); - result.push({ - name: name_1 || (pattern_1 ? key++ : ""), - pattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1, - prefix, - suffix, - modifier: tryConsume("MODIFIER") || "" - }); - continue; - } - mustConsume("END"); - } - return result; - } - exports.parse = parse; - function compile(str, options) { - return tokensToFunction(parse(str, options), options); - } - exports.compile = compile; - function tokensToFunction(tokens, options) { - if (options === void 0) { - options = {}; - } - var reFlags = flags(options); - var _a = options.encode, encode = _a === void 0 ? function(x) { - return x; - } : _a, _b = options.validate, validate = _b === void 0 ? true : _b; - var matches = tokens.map(function(token) { - if (typeof token === "object") { - return new RegExp("^(?:".concat(token.pattern, ")$"), reFlags); - } - }); - return function(data) { - var path = ""; - for (var i = 0; i < tokens.length; i++) { - var token = tokens[i]; - if (typeof token === "string") { - path += token; - continue; - } - var value = data ? data[token.name] : void 0; - var optional = token.modifier === "?" || token.modifier === "*"; - var repeat = token.modifier === "*" || token.modifier === "+"; - if (Array.isArray(value)) { - if (!repeat) { - throw new TypeError('Expected "'.concat(token.name, '" to not repeat, but got an array')); - } - if (value.length === 0) { - if (optional) - continue; - throw new TypeError('Expected "'.concat(token.name, '" to not be empty')); - } - for (var j = 0; j < value.length; j++) { - var segment = encode(value[j], token); - if (validate && !matches[i].test(segment)) { - throw new TypeError('Expected all "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"')); - } - path += token.prefix + segment + token.suffix; - } - continue; - } - if (typeof value === "string" || typeof value === "number") { - var segment = encode(String(value), token); - if (validate && !matches[i].test(segment)) { - throw new TypeError('Expected "'.concat(token.name, '" to match "').concat(token.pattern, '", but got "').concat(segment, '"')); - } - path += token.prefix + segment + token.suffix; - continue; - } - if (optional) - continue; - var typeOfMessage = repeat ? "an array" : "a string"; - throw new TypeError('Expected "'.concat(token.name, '" to be ').concat(typeOfMessage)); - } - return path; - }; - } - exports.tokensToFunction = tokensToFunction; - function match(str, options) { - var keys = []; - var re = pathToRegexp2(str, keys, options); - return regexpToFunction(re, keys, options); - } - exports.match = match; - function regexpToFunction(re, keys, options) { - if (options === void 0) { - options = {}; - } - var _a = options.decode, decode = _a === void 0 ? function(x) { - return x; - } : _a; - return function(pathname) { - var m = re.exec(pathname); - if (!m) - return false; - var path = m[0], index = m.index; - var params = /* @__PURE__ */ Object.create(null); - var _loop_1 = function(i2) { - if (m[i2] === void 0) - return "continue"; - var key = keys[i2 - 1]; - if (key.modifier === "*" || key.modifier === "+") { - params[key.name] = m[i2].split(key.prefix + key.suffix).map(function(value) { - return decode(value, key); - }); - } else { - params[key.name] = decode(m[i2], key); - } - }; - for (var i = 1; i < m.length; i++) { - _loop_1(i); - } - return { path, index, params }; - }; - } - exports.regexpToFunction = regexpToFunction; - function escapeString(str) { - return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); - } - function flags(options) { - return options && options.sensitive ? "" : "i"; - } - function regexpToRegexp(path, keys) { - if (!keys) - return path; - var groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g; - var index = 0; - var execResult = groupsRegex.exec(path.source); - while (execResult) { - keys.push({ - // Use parenthesized substring match if available, index otherwise - name: execResult[1] || index++, - prefix: "", - suffix: "", - modifier: "", - pattern: "" - }); - execResult = groupsRegex.exec(path.source); - } - return path; - } - function arrayToRegexp(paths, keys, options) { - var parts = paths.map(function(path) { - return pathToRegexp2(path, keys, options).source; - }); - return new RegExp("(?:".concat(parts.join("|"), ")"), flags(options)); - } - function stringToRegexp(path, keys, options) { - return tokensToRegexp(parse(path, options), keys, options); - } - function tokensToRegexp(tokens, keys, options) { - if (options === void 0) { - options = {}; - } - var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function(x) { - return x; - } : _d, _e = options.delimiter, delimiter = _e === void 0 ? "/#?" : _e, _f = options.endsWith, endsWith = _f === void 0 ? "" : _f; - var endsWithRe = "[".concat(escapeString(endsWith), "]|$"); - var delimiterRe = "[".concat(escapeString(delimiter), "]"); - var route = start ? "^" : ""; - for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) { - var token = tokens_1[_i]; - if (typeof token === "string") { - route += escapeString(encode(token)); - } else { - var prefix = escapeString(encode(token.prefix)); - var suffix = escapeString(encode(token.suffix)); - if (token.pattern) { - if (keys) - keys.push(token); - if (prefix || suffix) { - if (token.modifier === "+" || token.modifier === "*") { - var mod = token.modifier === "*" ? "?" : ""; - route += "(?:".concat(prefix, "((?:").concat(token.pattern, ")(?:").concat(suffix).concat(prefix, "(?:").concat(token.pattern, "))*)").concat(suffix, ")").concat(mod); - } else { - route += "(?:".concat(prefix, "(").concat(token.pattern, ")").concat(suffix, ")").concat(token.modifier); - } - } else { - if (token.modifier === "+" || token.modifier === "*") { - throw new TypeError('Can not repeat "'.concat(token.name, '" without a prefix and suffix')); - } - route += "(".concat(token.pattern, ")").concat(token.modifier); - } - } else { - route += "(?:".concat(prefix).concat(suffix, ")").concat(token.modifier); - } - } - } - if (end) { - if (!strict) - route += "".concat(delimiterRe, "?"); - route += !options.endsWith ? "$" : "(?=".concat(endsWithRe, ")"); - } else { - var endToken = tokens[tokens.length - 1]; - var isEndDelimited = typeof endToken === "string" ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0; - if (!strict) { - route += "(?:".concat(delimiterRe, "(?=").concat(endsWithRe, "))?"); - } - if (!isEndDelimited) { - route += "(?=".concat(delimiterRe, "|").concat(endsWithRe, ")"); - } - } - return new RegExp(route, flags(options)); - } - exports.tokensToRegexp = tokensToRegexp; - function pathToRegexp2(path, keys, options) { - if (path instanceof RegExp) - return regexpToRegexp(path, keys); - if (Array.isArray(path)) - return arrayToRegexp(path, keys, options); - return stringToRegexp(path, keys, options); - } - exports.pathToRegexp = pathToRegexp2; - } -}); - -// src/build/functions/edge.ts -var import_fast_glob = __toESM(require_out(), 1); -var import_path_to_regexp = __toESM(require_dist(), 1); -import { cp, mkdir, readdir, readFile, rm, stat, writeFile } from "node:fs/promises"; -import { dirname, join, relative } from "node:path/posix"; -import { EDGE_HANDLER_NAME } from "../plugin-context.js"; -function nodeMiddlewareDefinitionHasMatcher(definition) { - return Array.isArray(definition.matchers); -} -var writeEdgeManifest = async (ctx, manifest) => { - await mkdir(ctx.edgeFunctionsDir, { recursive: true }); - await writeFile(join(ctx.edgeFunctionsDir, "manifest.json"), JSON.stringify(manifest, null, 2)); -}; -var copyRuntime = async (ctx, handlerDirectory) => { - const files = await (0, import_fast_glob.glob)("edge-runtime/**/*", { - cwd: ctx.pluginDir, - ignore: ["**/*.test.ts"], - dot: true - }); - await Promise.all( - files.map( - (path) => cp(join(ctx.pluginDir, path), join(handlerDirectory, path), { recursive: true }) - ) - ); -}; -var augmentMatchers = (matchers, ctx) => { - const i18NConfig = ctx.buildConfig.i18n; - if (!i18NConfig) { - return matchers; - } - return matchers.flatMap((matcher) => { - if (matcher.originalSource && matcher.locale !== false) { - return [ - matcher.regexp ? { - ...matcher, - // https://github.com/vercel/next.js/blob/5e236c9909a768dc93856fdfad53d4f4adc2db99/packages/next/src/build/analysis/get-page-static-info.ts#L332-L336 - // Next is producing pretty broad matcher for i18n locale. Presumably rest of their infrastructure protects this broad matcher - // from matching on non-locale paths. For us this becomes request entry point, so we need to narrow it down to just defined locales - // otherwise users might get unexpected matches on paths like `/api*` - regexp: matcher.regexp.replace(/\[\^\/\.]+/g, `(${i18NConfig.locales.join("|")})`) - } : matcher, - { - ...matcher, - regexp: (0, import_path_to_regexp.pathToRegexp)(matcher.originalSource).source - } - ]; - } - return matcher; - }); -}; -var writeHandlerFile = async (ctx, { matchers, name }) => { - const nextConfig = ctx.buildConfig; - const handlerName = getHandlerName({ name }); - const handlerDirectory = join(ctx.edgeFunctionsDir, handlerName); - const handlerRuntimeDirectory = join(handlerDirectory, "edge-runtime"); - await copyRuntime(ctx, handlerDirectory); - await writeFile(join(handlerRuntimeDirectory, "matchers.json"), JSON.stringify(matchers)); - const minimalNextConfig = { - basePath: nextConfig.basePath, - i18n: nextConfig.i18n, - trailingSlash: nextConfig.trailingSlash, - skipMiddlewareUrlNormalize: nextConfig.skipProxyUrlNormalize ?? nextConfig.skipMiddlewareUrlNormalize - }; - await writeFile( - join(handlerRuntimeDirectory, "next.config.json"), - JSON.stringify(minimalNextConfig) - ); - const htmlRewriterWasm = await readFile( - join( - ctx.pluginDir, - "edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter_bg.wasm" - ) - ); - await writeFile( - join(handlerDirectory, `${handlerName}.js`), - ` - import { init as htmlRewriterInit } from './edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts' - import { handleMiddleware } from './edge-runtime/middleware.ts'; - import handler from './server/${name}.js'; - - await htmlRewriterInit({ module_or_path: Uint8Array.from(${JSON.stringify([ - ...htmlRewriterWasm - ])}) }); - - export default (req, context) => handleMiddleware(req, context, handler); - ` - ); -}; -var copyHandlerDependenciesForEdgeMiddleware = async (ctx, { name, env, files, wasm }) => { - const srcDir = join(ctx.standaloneDir, ctx.nextDistDir); - const destDir = join(ctx.edgeFunctionsDir, getHandlerName({ name })); - const edgeRuntimeDir = join(ctx.pluginDir, "edge-runtime"); - const shimPath = join(edgeRuntimeDir, "shim/edge.js"); - const shim = await readFile(shimPath, "utf8"); - const parts = [shim]; - const outputFile = join(destDir, `server/${name}.js`); - if (env) { - for (const [key, value] of Object.entries(env)) { - parts.push(`process.env.${key} = '${value}';`); - } - } - if (wasm?.length) { - for (const wasmChunk of wasm ?? []) { - const data = await readFile(join(srcDir, wasmChunk.filePath)); - parts.push(`const ${wasmChunk.name} = Uint8Array.from(${JSON.stringify([...data])})`); - } - } - for (const file of files) { - const entrypoint = await readFile(join(srcDir, file), "utf8"); - parts.push(`;// Concatenated file: ${file} -`, entrypoint); - } - parts.push( - `const middlewareEntryKey = Object.keys(_ENTRIES).find(entryKey => entryKey.startsWith("middleware_${name}"));`, - // turbopack entries are promises so we await here to get actual entry - // non-turbopack entries are already resolved, so await does not change anything - `export default await _ENTRIES[middlewareEntryKey].default;` - ); - await mkdir(dirname(outputFile), { recursive: true }); - await writeFile(outputFile, parts.join("\n")); -}; -var NODE_MIDDLEWARE_NAME = "node-middleware"; -var copyHandlerDependenciesForNodeMiddleware = async (ctx) => { - const name = NODE_MIDDLEWARE_NAME; - const srcDir = join(ctx.standaloneDir, ctx.nextDistDir); - const destDir = join(ctx.edgeFunctionsDir, getHandlerName({ name })); - const edgeRuntimeDir = join(ctx.pluginDir, "edge-runtime"); - const shimPath = join(edgeRuntimeDir, "shim/node.js"); - const shim = await readFile(shimPath, "utf8"); - const parts = [shim]; - const entry = "server/middleware.js"; - const nft = `${entry}.nft.json`; - const nftFilesPath = join(ctx.publishDir, nft); - const nftManifest = JSON.parse(await readFile(nftFilesPath, "utf8")); - const files = nftManifest.files.map((file) => join("server", file)); - files.push(entry); - const { maxParentDirectoriesPath, unsupportedDotNodeModules } = files.reduce( - (acc, file) => { - let dirsUp = 0; - let parentDirectoriesPath = ""; - for (const part of file.split("/")) { - if (part === "..") { - dirsUp += 1; - parentDirectoriesPath += "../"; - } else { - break; - } - } - if (file.endsWith(".node")) { - acc.unsupportedDotNodeModules.push(join(srcDir, file)); - } - if (dirsUp > acc.maxDirsUp) { - return { - ...acc, - maxDirsUp: dirsUp, - maxParentDirectoriesPath: parentDirectoriesPath - }; - } - return acc; - }, - { maxDirsUp: 0, maxParentDirectoriesPath: "", unsupportedDotNodeModules: [] } - ); - if (unsupportedDotNodeModules.length !== 0) { - throw new Error( - `Usage of unsupported C++ Addon(s) found in Node.js Middleware: -${unsupportedDotNodeModules.map((file) => `- ${file}`).join("\n")} - -Check https://docs.netlify.com/build/frameworks/framework-setup-guides/nextjs/overview/#limitations for more information.` - ); - } - const commonPrefix = relative(join(srcDir, maxParentDirectoriesPath), srcDir); - parts.push(`const virtualModules = new Map();`); - const handleFileOrDirectory = async (fileOrDir) => { - const srcPath = join(srcDir, fileOrDir); - const stats = await stat(srcPath); - if (stats.isDirectory()) { - const filesInDir = await readdir(srcPath); - for (const fileInDir of filesInDir) { - await handleFileOrDirectory(join(fileOrDir, fileInDir)); - } - } else { - const content = await readFile(srcPath, "utf8"); - parts.push( - `virtualModules.set(${JSON.stringify(join(commonPrefix, fileOrDir))}, ${JSON.stringify(content)});` - ); - } - }; - for (const file of files) { - await handleFileOrDirectory(file); - } - parts.push(`registerCJSModules(import.meta.url, virtualModules); - - const require = createRequire(import.meta.url); - const handlerMod = require("./${join(commonPrefix, entry)}"); - const handler = handlerMod.default || handlerMod; - - export default handler - `); - const outputFile = join(destDir, `server/${name}.js`); - await mkdir(dirname(outputFile), { recursive: true }); - await writeFile(outputFile, parts.join("\n")); -}; -var createEdgeHandler = async (ctx, definition) => { - await (definition.runtime === "edge" ? copyHandlerDependenciesForEdgeMiddleware(ctx, definition.functionDefinition) : copyHandlerDependenciesForNodeMiddleware(ctx)); - await writeHandlerFile(ctx, definition); -}; -var getHandlerName = ({ name }) => `${EDGE_HANDLER_NAME}-${name.replace(/\W/g, "-")}`; -var buildHandlerDefinition = (ctx, def) => { - return augmentMatchers(def.matchers, ctx).map((matcher) => ({ - function: getHandlerName({ name: def.name }), - name: "Next.js Middleware Handler", - pattern: matcher.regexp, - generator: `${ctx.pluginName}@${ctx.pluginVersion}` - })); -}; -var clearStaleEdgeHandlers = async (ctx) => { - await rm(ctx.edgeFunctionsDir, { recursive: true, force: true }); -}; -var createEdgeHandlers = async (ctx) => { - const nextManifest = await ctx.getMiddlewareManifest(); - const middlewareDefinitions = [ - ...Object.values(nextManifest.middleware) - ].map((edgeDefinition) => { - return { - runtime: "edge", - functionDefinition: edgeDefinition, - name: edgeDefinition.name, - matchers: edgeDefinition.matchers - }; - }); - const functionsConfigManifest = await ctx.getFunctionsConfigManifest(); - if (functionsConfigManifest?.functions?.["/_middleware"] && nodeMiddlewareDefinitionHasMatcher(functionsConfigManifest?.functions?.["/_middleware"])) { - middlewareDefinitions.push({ - runtime: "nodejs", - functionDefinition: functionsConfigManifest?.functions?.["/_middleware"], - name: NODE_MIDDLEWARE_NAME, - matchers: functionsConfigManifest?.functions?.["/_middleware"]?.matchers - }); - } - await Promise.all(middlewareDefinitions.map((def) => createEdgeHandler(ctx, def))); - const netlifyDefinitions = middlewareDefinitions.flatMap( - (def) => buildHandlerDefinition(ctx, def) - ); - const netlifyManifest = { - version: 1, - functions: netlifyDefinitions - }; - await writeEdgeManifest(ctx, netlifyManifest); -}; -export { - clearStaleEdgeHandlers, - createEdgeHandlers -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/functions/server.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/functions/server.js deleted file mode 100644 index c66681a..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/functions/server.js +++ /dev/null @@ -1,137 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - trace, - wrapTracer -} from "../../esm-chunks/chunk-5V5HA6YA.js"; -import { - require_out -} from "../../esm-chunks/chunk-YUXQHOYO.js"; -import { - __toESM -} from "../../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/functions/server.ts -import { cp, mkdir, readFile, rm, writeFile } from "node:fs/promises"; -import { join, relative } from "node:path"; -import { join as posixJoin } from "node:path/posix"; -var import_fast_glob = __toESM(require_out(), 1); -import { - copyNextDependencies, - copyNextServerCode, - verifyHandlerDirStructure -} from "../content/server.js"; -import { SERVER_HANDLER_NAME } from "../plugin-context.js"; -var tracer = wrapTracer(trace.getTracer("Next runtime")); -var copyHandlerDependencies = async (ctx) => { - await tracer.withActiveSpan("copyHandlerDependencies", async (span) => { - const promises = []; - const { included_files: includedFiles = [] } = ctx.netlifyConfig.functions?.["*"] || {}; - includedFiles.push( - posixJoin(ctx.relativeAppDir, ".env"), - posixJoin(ctx.relativeAppDir, ".env.production"), - posixJoin(ctx.relativeAppDir, ".env.local"), - posixJoin(ctx.relativeAppDir, ".env.production.local") - ); - span.setAttribute("next.includedFiles", includedFiles.join(",")); - const resolvedFiles = await Promise.all( - includedFiles.map((globPattern) => (0, import_fast_glob.glob)(globPattern, { cwd: process.cwd() })) - ); - for (const filePath of resolvedFiles.flat()) { - promises.push( - cp( - join(process.cwd(), filePath), - // the serverHandlerDir is aware of the dist dir. - // The distDir must not be the package path therefore we need to rely on the - // serverHandlerDir instead of the serverHandlerRootDir - // therefore we need to remove the package path from the filePath - join(ctx.serverHandlerDir, relative(ctx.relativeAppDir, filePath)), - { - recursive: true, - force: true - } - ) - ); - } - promises.push( - writeFile( - join(ctx.serverHandlerRuntimeModulesDir, "package.json"), - JSON.stringify({ type: "module" }) - ) - ); - const fileList = await (0, import_fast_glob.glob)("dist/**/*", { cwd: ctx.pluginDir }); - for (const filePath of fileList) { - promises.push( - cp(join(ctx.pluginDir, filePath), join(ctx.serverHandlerRuntimeModulesDir, filePath), { - recursive: true, - force: true - }) - ); - } - await Promise.all(promises); - }); -}; -var writeHandlerManifest = async (ctx) => { - await writeFile( - join(ctx.serverHandlerRootDir, `${SERVER_HANDLER_NAME}.json`), - JSON.stringify({ - config: { - name: "Next.js Server Handler", - generator: `${ctx.pluginName}@${ctx.pluginVersion}`, - nodeBundler: "none", - // the folders can vary in monorepos based on the folder structure of the user so we have to glob all - includedFiles: ["**"], - includedFilesBasePath: ctx.serverHandlerRootDir - }, - version: 1 - }), - "utf-8" - ); -}; -var applyTemplateVariables = (template, variables) => { - return Object.entries(variables).reduce((acc, [key, value]) => { - return acc.replaceAll(key, value); - }, template); -}; -var getHandlerFile = async (ctx) => { - const templatesDir = join(ctx.pluginDir, "dist/build/templates"); - const templateVariables = { - "{{useRegionalBlobs}}": ctx.useRegionalBlobs.toString() - }; - if (ctx.relativeAppDir.length !== 0) { - const template = await readFile(join(templatesDir, "handler-monorepo.tmpl.js"), "utf-8"); - templateVariables["{{cwd}}"] = posixJoin(ctx.lambdaWorkingDirectory); - templateVariables["{{nextServerHandler}}"] = posixJoin(ctx.nextServerHandler); - return applyTemplateVariables(template, templateVariables); - } - return applyTemplateVariables( - await readFile(join(templatesDir, "handler.tmpl.js"), "utf-8"), - templateVariables - ); -}; -var writeHandlerFile = async (ctx) => { - const handler = await getHandlerFile(ctx); - await writeFile(join(ctx.serverHandlerRootDir, `${SERVER_HANDLER_NAME}.mjs`), handler); -}; -var clearStaleServerHandlers = async (ctx) => { - await rm(ctx.serverFunctionsDir, { recursive: true, force: true }); -}; -var createServerHandler = async (ctx) => { - await tracer.withActiveSpan("createServerHandler", async () => { - await mkdir(join(ctx.serverHandlerRuntimeModulesDir), { recursive: true }); - await copyNextServerCode(ctx); - await copyNextDependencies(ctx); - await copyHandlerDependencies(ctx); - await writeHandlerManifest(ctx); - await writeHandlerFile(ctx); - await verifyHandlerDirStructure(ctx); - }); -}; -export { - clearStaleServerHandlers, - createServerHandler -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/image-cdn.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/image-cdn.js deleted file mode 100644 index 1858f8c..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/image-cdn.js +++ /dev/null @@ -1,1610 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - __commonJS, - __toESM -} from "../esm-chunks/chunk-6BT4RYQJ.js"; - -// node_modules/picomatch/lib/constants.js -var require_constants = __commonJS({ - "node_modules/picomatch/lib/constants.js"(exports, module) { - "use strict"; - var WIN_SLASH = "\\\\/"; - var WIN_NO_SLASH = `[^${WIN_SLASH}]`; - var DOT_LITERAL = "\\."; - var PLUS_LITERAL = "\\+"; - var QMARK_LITERAL = "\\?"; - var SLASH_LITERAL = "\\/"; - var ONE_CHAR = "(?=.)"; - var QMARK = "[^/]"; - var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; - var START_ANCHOR = `(?:^|${SLASH_LITERAL})`; - var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; - var NO_DOT = `(?!${DOT_LITERAL})`; - var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; - var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; - var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; - var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; - var STAR = `${QMARK}*?`; - var SEP = "/"; - var POSIX_CHARS = { - DOT_LITERAL, - PLUS_LITERAL, - QMARK_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - QMARK, - END_ANCHOR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK_NO_DOT, - STAR, - START_ANCHOR, - SEP - }; - var WINDOWS_CHARS = { - ...POSIX_CHARS, - SLASH_LITERAL: `[${WIN_SLASH}]`, - QMARK: WIN_NO_SLASH, - STAR: `${WIN_NO_SLASH}*?`, - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, - NO_DOT: `(?!${DOT_LITERAL})`, - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - QMARK_NO_DOT: `[^.${WIN_SLASH}]`, - START_ANCHOR: `(?:^|[${WIN_SLASH}])`, - END_ANCHOR: `(?:[${WIN_SLASH}]|$)`, - SEP: "\\" - }; - var POSIX_REGEX_SOURCE = { - alnum: "a-zA-Z0-9", - alpha: "a-zA-Z", - ascii: "\\x00-\\x7F", - blank: " \\t", - cntrl: "\\x00-\\x1F\\x7F", - digit: "0-9", - graph: "\\x21-\\x7E", - lower: "a-z", - print: "\\x20-\\x7E ", - punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~", - space: " \\t\\r\\n\\v\\f", - upper: "A-Z", - word: "A-Za-z0-9_", - xdigit: "A-Fa-f0-9" - }; - module.exports = { - MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, - // regular expressions - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, - // Replace globs with equivalent patterns to reduce parsing time. - REPLACEMENTS: { - __proto__: null, - "***": "*", - "**/**": "**", - "**/**/**": "**" - }, - // Digits - CHAR_0: 48, - /* 0 */ - CHAR_9: 57, - /* 9 */ - // Alphabet chars. - CHAR_UPPERCASE_A: 65, - /* A */ - CHAR_LOWERCASE_A: 97, - /* a */ - CHAR_UPPERCASE_Z: 90, - /* Z */ - CHAR_LOWERCASE_Z: 122, - /* z */ - CHAR_LEFT_PARENTHESES: 40, - /* ( */ - CHAR_RIGHT_PARENTHESES: 41, - /* ) */ - CHAR_ASTERISK: 42, - /* * */ - // Non-alphabetic chars. - CHAR_AMPERSAND: 38, - /* & */ - CHAR_AT: 64, - /* @ */ - CHAR_BACKWARD_SLASH: 92, - /* \ */ - CHAR_CARRIAGE_RETURN: 13, - /* \r */ - CHAR_CIRCUMFLEX_ACCENT: 94, - /* ^ */ - CHAR_COLON: 58, - /* : */ - CHAR_COMMA: 44, - /* , */ - CHAR_DOT: 46, - /* . */ - CHAR_DOUBLE_QUOTE: 34, - /* " */ - CHAR_EQUAL: 61, - /* = */ - CHAR_EXCLAMATION_MARK: 33, - /* ! */ - CHAR_FORM_FEED: 12, - /* \f */ - CHAR_FORWARD_SLASH: 47, - /* / */ - CHAR_GRAVE_ACCENT: 96, - /* ` */ - CHAR_HASH: 35, - /* # */ - CHAR_HYPHEN_MINUS: 45, - /* - */ - CHAR_LEFT_ANGLE_BRACKET: 60, - /* < */ - CHAR_LEFT_CURLY_BRACE: 123, - /* { */ - CHAR_LEFT_SQUARE_BRACKET: 91, - /* [ */ - CHAR_LINE_FEED: 10, - /* \n */ - CHAR_NO_BREAK_SPACE: 160, - /* \u00A0 */ - CHAR_PERCENT: 37, - /* % */ - CHAR_PLUS: 43, - /* + */ - CHAR_QUESTION_MARK: 63, - /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: 62, - /* > */ - CHAR_RIGHT_CURLY_BRACE: 125, - /* } */ - CHAR_RIGHT_SQUARE_BRACKET: 93, - /* ] */ - CHAR_SEMICOLON: 59, - /* ; */ - CHAR_SINGLE_QUOTE: 39, - /* ' */ - CHAR_SPACE: 32, - /* */ - CHAR_TAB: 9, - /* \t */ - CHAR_UNDERSCORE: 95, - /* _ */ - CHAR_VERTICAL_LINE: 124, - /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, - /* \uFEFF */ - /** - * Create EXTGLOB_CHARS - */ - extglobChars(chars) { - return { - "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` }, - "?": { type: "qmark", open: "(?:", close: ")?" }, - "+": { type: "plus", open: "(?:", close: ")+" }, - "*": { type: "star", open: "(?:", close: ")*" }, - "@": { type: "at", open: "(?:", close: ")" } - }; - }, - /** - * Create GLOB_CHARS - */ - globChars(win32) { - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; - } - }; - } -}); - -// node_modules/picomatch/lib/utils.js -var require_utils = __commonJS({ - "node_modules/picomatch/lib/utils.js"(exports) { - "use strict"; - var { - REGEX_BACKSLASH, - REGEX_REMOVE_BACKSLASH, - REGEX_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_GLOBAL - } = require_constants(); - exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str); - exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str); - exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); - exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/"); - exports.isWindows = () => { - if (typeof navigator !== "undefined" && navigator.platform) { - const platform = navigator.platform.toLowerCase(); - return platform === "win32" || platform === "windows"; - } - if (typeof process !== "undefined" && process.platform) { - return process.platform === "win32"; - } - return false; - }; - exports.removeBackslashes = (str) => { - return str.replace(REGEX_REMOVE_BACKSLASH, (match) => { - return match === "\\" ? "" : match; - }); - }; - exports.escapeLast = (input, char, lastIdx) => { - const idx = input.lastIndexOf(char, lastIdx); - if (idx === -1) return input; - if (input[idx - 1] === "\\") return exports.escapeLast(input, char, idx - 1); - return `${input.slice(0, idx)}\\${input.slice(idx)}`; - }; - exports.removePrefix = (input, state = {}) => { - let output = input; - if (output.startsWith("./")) { - output = output.slice(2); - state.prefix = "./"; - } - return output; - }; - exports.wrapOutput = (input, state = {}, options = {}) => { - const prepend = options.contains ? "" : "^"; - const append = options.contains ? "" : "$"; - let output = `${prepend}(?:${input})${append}`; - if (state.negated === true) { - output = `(?:^(?!${output}).*$)`; - } - return output; - }; - exports.basename = (path, { windows } = {}) => { - const segs = path.split(windows ? /[\\/]/ : "/"); - const last = segs[segs.length - 1]; - if (last === "") { - return segs[segs.length - 2]; - } - return last; - }; - } -}); - -// node_modules/picomatch/lib/scan.js -var require_scan = __commonJS({ - "node_modules/picomatch/lib/scan.js"(exports, module) { - "use strict"; - var utils = require_utils(); - var { - CHAR_ASTERISK, - /* * */ - CHAR_AT, - /* @ */ - CHAR_BACKWARD_SLASH, - /* \ */ - CHAR_COMMA, - /* , */ - CHAR_DOT, - /* . */ - CHAR_EXCLAMATION_MARK, - /* ! */ - CHAR_FORWARD_SLASH, - /* / */ - CHAR_LEFT_CURLY_BRACE, - /* { */ - CHAR_LEFT_PARENTHESES, - /* ( */ - CHAR_LEFT_SQUARE_BRACKET, - /* [ */ - CHAR_PLUS, - /* + */ - CHAR_QUESTION_MARK, - /* ? */ - CHAR_RIGHT_CURLY_BRACE, - /* } */ - CHAR_RIGHT_PARENTHESES, - /* ) */ - CHAR_RIGHT_SQUARE_BRACKET - /* ] */ - } = require_constants(); - var isPathSeparator = (code) => { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; - }; - var depth = (token) => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; - } - }; - var scan = (input, options) => { - const opts = options || {}; - const length = input.length - 1; - const scanToEnd = opts.parts === true || opts.scanToEnd === true; - const slashes = []; - const tokens = []; - const parts = []; - let str = input; - let index = -1; - let start = 0; - let lastIndex = 0; - let isBrace = false; - let isBracket = false; - let isGlob = false; - let isExtglob = false; - let isGlobstar = false; - let braceEscaped = false; - let backslashes = false; - let negated = false; - let negatedExtglob = false; - let finished = false; - let braces = 0; - let prev; - let code; - let token = { value: "", depth: 0, isGlob: false }; - const eos = () => index >= length; - const peek = () => str.charCodeAt(index + 1); - const advance = () => { - prev = code; - return str.charCodeAt(++index); - }; - while (index < length) { - code = advance(); - let next; - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - if (code === CHAR_LEFT_CURLY_BRACE) { - braceEscaped = true; - } - continue; - } - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { - braces++; - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (code === CHAR_LEFT_CURLY_BRACE) { - braces++; - continue; - } - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (braceEscaped !== true && code === CHAR_COMMA) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_RIGHT_CURLY_BRACE) { - braces--; - if (braces === 0) { - braceEscaped = false; - isBrace = token.isBrace = true; - finished = true; - break; - } - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_FORWARD_SLASH) { - slashes.push(index); - tokens.push(token); - token = { value: "", depth: 0, isGlob: false }; - if (finished === true) continue; - if (prev === CHAR_DOT && index === start + 1) { - start += 2; - continue; - } - lastIndex = index + 1; - continue; - } - if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; - finished = true; - if (code === CHAR_EXCLAMATION_MARK && index === start) { - negatedExtglob = true; - } - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - isGlob = token.isGlob = true; - finished = true; - break; - } - } - continue; - } - break; - } - } - if (code === CHAR_ASTERISK) { - if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_LEFT_SQUARE_BRACKET) { - while (eos() !== true && (next = advance())) { - if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; - finished = true; - break; - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; - start++; - continue; - } - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - finished = true; - break; - } - } - continue; - } - break; - } - if (isGlob === true) { - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - } - if (opts.noext === true) { - isExtglob = false; - isGlob = false; - } - let base = str; - let prefix = ""; - let glob = ""; - if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); - lastIndex -= start; - } - if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); - } else if (isGlob === true) { - base = ""; - glob = str; - } else { - base = str; - } - if (base && base !== "" && base !== "/" && base !== str) { - if (isPathSeparator(base.charCodeAt(base.length - 1))) { - base = base.slice(0, -1); - } - } - if (opts.unescape === true) { - if (glob) glob = utils.removeBackslashes(glob); - if (base && backslashes === true) { - base = utils.removeBackslashes(base); - } - } - const state = { - prefix, - input, - start, - base, - glob, - isBrace, - isBracket, - isGlob, - isExtglob, - isGlobstar, - negated, - negatedExtglob - }; - if (opts.tokens === true) { - state.maxDepth = 0; - if (!isPathSeparator(code)) { - tokens.push(token); - } - state.tokens = tokens; - } - if (opts.parts === true || opts.tokens === true) { - let prevIndex; - for (let idx = 0; idx < slashes.length; idx++) { - const n = prevIndex ? prevIndex + 1 : start; - const i = slashes[idx]; - const value = input.slice(n, i); - if (opts.tokens) { - if (idx === 0 && start !== 0) { - tokens[idx].isPrefix = true; - tokens[idx].value = prefix; - } else { - tokens[idx].value = value; - } - depth(tokens[idx]); - state.maxDepth += tokens[idx].depth; - } - if (idx !== 0 || value !== "") { - parts.push(value); - } - prevIndex = i; - } - if (prevIndex && prevIndex + 1 < input.length) { - const value = input.slice(prevIndex + 1); - parts.push(value); - if (opts.tokens) { - tokens[tokens.length - 1].value = value; - depth(tokens[tokens.length - 1]); - state.maxDepth += tokens[tokens.length - 1].depth; - } - } - state.slashes = slashes; - state.parts = parts; - } - return state; - }; - module.exports = scan; - } -}); - -// node_modules/picomatch/lib/parse.js -var require_parse = __commonJS({ - "node_modules/picomatch/lib/parse.js"(exports, module) { - "use strict"; - var constants = require_constants(); - var utils = require_utils(); - var { - MAX_LENGTH, - POSIX_REGEX_SOURCE, - REGEX_NON_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_BACKREF, - REPLACEMENTS - } = constants; - var expandRange = (args, options) => { - if (typeof options.expandRange === "function") { - return options.expandRange(...args, options); - } - args.sort(); - const value = `[${args.join("-")}]`; - try { - new RegExp(value); - } catch (ex) { - return args.map((v) => utils.escapeRegex(v)).join(".."); - } - return value; - }; - var syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; - }; - var parse = (input, options) => { - if (typeof input !== "string") { - throw new TypeError("Expected a string"); - } - input = REPLACEMENTS[input] || input; - const opts = { ...options }; - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - let len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - const bos = { type: "bos", value: "", output: opts.prepend || "" }; - const tokens = [bos]; - const capture = opts.capture ? "" : "?:"; - const PLATFORM_CHARS = constants.globChars(opts.windows); - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); - const { - DOT_LITERAL, - PLUS_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK, - QMARK_NO_DOT, - STAR, - START_ANCHOR - } = PLATFORM_CHARS; - const globstar = (opts2) => { - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const nodot = opts.dot ? "" : NO_DOT; - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; - let star = opts.bash === true ? globstar(opts) : STAR; - if (opts.capture) { - star = `(${star})`; - } - if (typeof opts.noext === "boolean") { - opts.noextglob = opts.noext; - } - const state = { - input, - index: -1, - start: 0, - dot: opts.dot === true, - consumed: "", - output: "", - prefix: "", - backtrack: false, - negated: false, - brackets: 0, - braces: 0, - parens: 0, - quotes: 0, - globstar: false, - tokens - }; - input = utils.removePrefix(input, state); - len = input.length; - const extglobs = []; - const braces = []; - const stack = []; - let prev = bos; - let value; - const eos = () => state.index === len - 1; - const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index] || ""; - const remaining = () => input.slice(state.index + 1); - const consume = (value2 = "", num = 0) => { - state.consumed += value2; - state.index += num; - }; - const append = (token) => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); - }; - const negate = () => { - let count = 1; - while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) { - advance(); - state.start++; - count++; - } - if (count % 2 === 0) { - return false; - } - state.negated = true; - state.start++; - return true; - }; - const increment = (type) => { - state[type]++; - stack.push(type); - }; - const decrement = (type) => { - state[type]--; - stack.pop(); - }; - const push = (tok) => { - if (prev.type === "globstar") { - const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"); - const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren"); - if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) { - state.output = state.output.slice(0, -prev.output.length); - prev.type = "star"; - prev.value = "*"; - prev.output = star; - state.output += prev.output; - } - } - if (extglobs.length && tok.type !== "paren") { - extglobs[extglobs.length - 1].inner += tok.value; - } - if (tok.value || tok.output) append(tok); - if (prev && prev.type === "text" && tok.type === "text") { - prev.output = (prev.output || prev.value) + tok.value; - prev.value += tok.value; - return; - } - tok.prev = prev; - tokens.push(tok); - prev = tok; - }; - const extglobOpen = (type, value2) => { - const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" }; - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? "(" : "") + token.open; - increment("parens"); - push({ type, value: value2, output: state.output ? "" : ONE_CHAR }); - push({ type: "paren", extglob: true, value: advance(), output }); - extglobs.push(token); - }; - const extglobClose = (token) => { - let output = token.close + (opts.capture ? ")" : ""); - let rest; - if (token.type === "negate") { - let extglobStar = star; - if (token.inner && token.inner.length > 1 && token.inner.includes("/")) { - extglobStar = globstar(opts); - } - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; - } - if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { - const expression = parse(rest, { ...options, fastpaths: false }).output; - output = token.close = `)${expression})${extglobStar})`; - } - if (token.prev.type === "bos") { - state.negatedExtglob = true; - } - } - push({ type: "paren", extglob: true, value, output }); - decrement("parens"); - }; - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { - let backslashes = false; - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { - if (first === "\\") { - backslashes = true; - return m; - } - if (first === "?") { - if (esc) { - return esc + first + (rest ? QMARK.repeat(rest.length) : ""); - } - if (index === 0) { - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ""); - } - return QMARK.repeat(chars.length); - } - if (first === ".") { - return DOT_LITERAL.repeat(chars.length); - } - if (first === "*") { - if (esc) { - return esc + first + (rest ? star : ""); - } - return star; - } - return esc ? m : `\\${m}`; - }); - if (backslashes === true) { - if (opts.unescape === true) { - output = output.replace(/\\/g, ""); - } else { - output = output.replace(/\\+/g, (m) => { - return m.length % 2 === 0 ? "\\\\" : m ? "\\" : ""; - }); - } - } - if (output === input && opts.contains === true) { - state.output = input; - return state; - } - state.output = utils.wrapOutput(output, state, options); - return state; - } - while (!eos()) { - value = advance(); - if (value === "\0") { - continue; - } - if (value === "\\") { - const next = peek(); - if (next === "/" && opts.bash !== true) { - continue; - } - if (next === "." || next === ";") { - continue; - } - if (!next) { - value += "\\"; - push({ type: "text", value }); - continue; - } - const match = /^\\+/.exec(remaining()); - let slashes = 0; - if (match && match[0].length > 2) { - slashes = match[0].length; - state.index += slashes; - if (slashes % 2 !== 0) { - value += "\\"; - } - } - if (opts.unescape === true) { - value = advance(); - } else { - value += advance(); - } - if (state.brackets === 0) { - push({ type: "text", value }); - continue; - } - } - if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) { - if (opts.posix !== false && value === ":") { - const inner = prev.value.slice(1); - if (inner.includes("[")) { - prev.posix = true; - if (inner.includes(":")) { - const idx = prev.value.lastIndexOf("["); - const pre = prev.value.slice(0, idx); - const rest2 = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE[rest2]; - if (posix) { - prev.value = pre + posix; - state.backtrack = true; - advance(); - if (!bos.output && tokens.indexOf(prev) === 1) { - bos.output = ONE_CHAR; - } - continue; - } - } - } - } - if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") { - value = `\\${value}`; - } - if (value === "]" && (prev.value === "[" || prev.value === "[^")) { - value = `\\${value}`; - } - if (opts.posix === true && value === "!" && prev.value === "[") { - value = "^"; - } - prev.value += value; - append({ value }); - continue; - } - if (state.quotes === 1 && value !== '"') { - value = utils.escapeRegex(value); - prev.value += value; - append({ value }); - continue; - } - if (value === '"') { - state.quotes = state.quotes === 1 ? 0 : 1; - if (opts.keepQuotes === true) { - push({ type: "text", value }); - } - continue; - } - if (value === "(") { - increment("parens"); - push({ type: "paren", value }); - continue; - } - if (value === ")") { - if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "(")); - } - const extglob = extglobs[extglobs.length - 1]; - if (extglob && state.parens === extglob.parens + 1) { - extglobClose(extglobs.pop()); - continue; - } - push({ type: "paren", value, output: state.parens ? ")" : "\\)" }); - decrement("parens"); - continue; - } - if (value === "[") { - if (opts.nobracket === true || !remaining().includes("]")) { - if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("closing", "]")); - } - value = `\\${value}`; - } else { - increment("brackets"); - } - push({ type: "bracket", value }); - continue; - } - if (value === "]") { - if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) { - push({ type: "text", value, output: `\\${value}` }); - continue; - } - if (state.brackets === 0) { - if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "[")); - } - push({ type: "text", value, output: `\\${value}` }); - continue; - } - decrement("brackets"); - const prevValue = prev.value.slice(1); - if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) { - value = `/${value}`; - } - prev.value += value; - append({ value }); - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { - continue; - } - const escaped = utils.escapeRegex(prev.value); - state.output = state.output.slice(0, -prev.value.length); - if (opts.literalBrackets === true) { - state.output += escaped; - prev.value = escaped; - continue; - } - prev.value = `(${capture}${escaped}|${prev.value})`; - state.output += prev.value; - continue; - } - if (value === "{" && opts.nobrace !== true) { - increment("braces"); - const open = { - type: "brace", - value, - output: "(", - outputIndex: state.output.length, - tokensIndex: state.tokens.length - }; - braces.push(open); - push(open); - continue; - } - if (value === "}") { - const brace = braces[braces.length - 1]; - if (opts.nobrace === true || !brace) { - push({ type: "text", value, output: value }); - continue; - } - let output = ")"; - if (brace.dots === true) { - const arr = tokens.slice(); - const range = []; - for (let i = arr.length - 1; i >= 0; i--) { - tokens.pop(); - if (arr[i].type === "brace") { - break; - } - if (arr[i].type !== "dots") { - range.unshift(arr[i].value); - } - } - output = expandRange(range, opts); - state.backtrack = true; - } - if (brace.comma !== true && brace.dots !== true) { - const out = state.output.slice(0, brace.outputIndex); - const toks = state.tokens.slice(brace.tokensIndex); - brace.value = brace.output = "\\{"; - value = output = "\\}"; - state.output = out; - for (const t of toks) { - state.output += t.output || t.value; - } - } - push({ type: "brace", value, output }); - decrement("braces"); - braces.pop(); - continue; - } - if (value === "|") { - if (extglobs.length > 0) { - extglobs[extglobs.length - 1].conditions++; - } - push({ type: "text", value }); - continue; - } - if (value === ",") { - let output = value; - const brace = braces[braces.length - 1]; - if (brace && stack[stack.length - 1] === "braces") { - brace.comma = true; - output = "|"; - } - push({ type: "comma", value, output }); - continue; - } - if (value === "/") { - if (prev.type === "dot" && state.index === state.start + 1) { - state.start = state.index + 1; - state.consumed = ""; - state.output = ""; - tokens.pop(); - prev = bos; - continue; - } - push({ type: "slash", value, output: SLASH_LITERAL }); - continue; - } - if (value === ".") { - if (state.braces > 0 && prev.type === "dot") { - if (prev.value === ".") prev.output = DOT_LITERAL; - const brace = braces[braces.length - 1]; - prev.type = "dots"; - prev.output += value; - prev.value += value; - brace.dots = true; - continue; - } - if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") { - push({ type: "text", value, output: DOT_LITERAL }); - continue; - } - push({ type: "dot", value, output: DOT_LITERAL }); - continue; - } - if (value === "?") { - const isGroup = prev && prev.value === "("; - if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("qmark", value); - continue; - } - if (prev && prev.type === "paren") { - const next = peek(); - let output = value; - if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) { - output = `\\${value}`; - } - push({ type: "text", value, output }); - continue; - } - if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) { - push({ type: "qmark", value, output: QMARK_NO_DOT }); - continue; - } - push({ type: "qmark", value, output: QMARK }); - continue; - } - if (value === "!") { - if (opts.noextglob !== true && peek() === "(") { - if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) { - extglobOpen("negate", value); - continue; - } - } - if (opts.nonegate !== true && state.index === 0) { - negate(); - continue; - } - } - if (value === "+") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("plus", value); - continue; - } - if (prev && prev.value === "(" || opts.regex === false) { - push({ type: "plus", value, output: PLUS_LITERAL }); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) { - push({ type: "plus", value }); - continue; - } - push({ type: "plus", value: PLUS_LITERAL }); - continue; - } - if (value === "@") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - push({ type: "at", extglob: true, value, output: "" }); - continue; - } - push({ type: "text", value }); - continue; - } - if (value !== "*") { - if (value === "$" || value === "^") { - value = `\\${value}`; - } - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); - if (match) { - value += match[0]; - state.index += match[0].length; - } - push({ type: "text", value }); - continue; - } - if (prev && (prev.type === "globstar" || prev.star === true)) { - prev.type = "star"; - prev.star = true; - prev.value += value; - prev.output = star; - state.backtrack = true; - state.globstar = true; - consume(value); - continue; - } - let rest = remaining(); - if (opts.noextglob !== true && /^\([^?]/.test(rest)) { - extglobOpen("star", value); - continue; - } - if (prev.type === "star") { - if (opts.noglobstar === true) { - consume(value); - continue; - } - const prior = prev.prev; - const before = prior.prev; - const isStart = prior.type === "slash" || prior.type === "bos"; - const afterStar = before && (before.type === "star" || before.type === "globstar"); - if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) { - push({ type: "star", value, output: "" }); - continue; - } - const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"); - const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren"); - if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) { - push({ type: "star", value, output: "" }); - continue; - } - while (rest.slice(0, 3) === "/**") { - const after = input[state.index + 4]; - if (after && after !== "/") { - break; - } - rest = rest.slice(3); - consume("/**", 3); - } - if (prior.type === "bos" && eos()) { - prev.type = "globstar"; - prev.value += value; - prev.output = globstar(opts); - state.output = prev.output; - state.globstar = true; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) { - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"); - prev.value += value; - state.globstar = true; - state.output += prior.output + prev.output; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") { - const end = rest[1] !== void 0 ? "|$" : ""; - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; - prev.value += value; - state.output += prior.output + prev.output; - state.globstar = true; - consume(value + advance()); - push({ type: "slash", value: "/", output: "" }); - continue; - } - if (prior.type === "bos" && rest[0] === "/") { - prev.type = "globstar"; - prev.value += value; - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; - state.output = prev.output; - state.globstar = true; - consume(value + advance()); - push({ type: "slash", value: "/", output: "" }); - continue; - } - state.output = state.output.slice(0, -prev.output.length); - prev.type = "globstar"; - prev.output = globstar(opts); - prev.value += value; - state.output += prev.output; - state.globstar = true; - consume(value); - continue; - } - const token = { type: "star", value, output: star }; - if (opts.bash === true) { - token.output = ".*?"; - if (prev.type === "bos" || prev.type === "slash") { - token.output = nodot + token.output; - } - push(token); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) { - token.output = value; - push(token); - continue; - } - if (state.index === state.start || prev.type === "slash" || prev.type === "dot") { - if (prev.type === "dot") { - state.output += NO_DOT_SLASH; - prev.output += NO_DOT_SLASH; - } else if (opts.dot === true) { - state.output += NO_DOTS_SLASH; - prev.output += NO_DOTS_SLASH; - } else { - state.output += nodot; - prev.output += nodot; - } - if (peek() !== "*") { - state.output += ONE_CHAR; - prev.output += ONE_CHAR; - } - } - push(token); - } - while (state.brackets > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]")); - state.output = utils.escapeLast(state.output, "["); - decrement("brackets"); - } - while (state.parens > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")")); - state.output = utils.escapeLast(state.output, "("); - decrement("parens"); - } - while (state.braces > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}")); - state.output = utils.escapeLast(state.output, "{"); - decrement("braces"); - } - if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) { - push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }); - } - if (state.backtrack === true) { - state.output = ""; - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; - if (token.suffix) { - state.output += token.suffix; - } - } - } - return state; - }; - parse.fastpaths = (input, options) => { - const opts = { ...options }; - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - const len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - input = REPLACEMENTS[input] || input; - const { - DOT_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOTS_SLASH, - STAR, - START_ANCHOR - } = constants.globChars(opts.windows); - const nodot = opts.dot ? NO_DOTS : NO_DOT; - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; - const capture = opts.capture ? "" : "?:"; - const state = { negated: false, prefix: "" }; - let star = opts.bash === true ? ".*?" : STAR; - if (opts.capture) { - star = `(${star})`; - } - const globstar = (opts2) => { - if (opts2.noglobstar === true) return star; - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const create = (str) => { - switch (str) { - case "*": - return `${nodot}${ONE_CHAR}${star}`; - case ".*": - return `${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*.*": - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*/*": - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; - case "**": - return nodot + globstar(opts); - case "**/*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - case "**/*.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "**/.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; - default: { - const match = /^(.*?)\.(\w+)$/.exec(str); - if (!match) return; - const source2 = create(match[1]); - if (!source2) return; - return source2 + DOT_LITERAL + match[2]; - } - } - }; - const output = utils.removePrefix(input, state); - let source = create(output); - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; - } - return source; - }; - module.exports = parse; - } -}); - -// node_modules/picomatch/lib/picomatch.js -var require_picomatch = __commonJS({ - "node_modules/picomatch/lib/picomatch.js"(exports, module) { - "use strict"; - var scan = require_scan(); - var parse = require_parse(); - var utils = require_utils(); - var constants = require_constants(); - var isObject = (val) => val && typeof val === "object" && !Array.isArray(val); - var picomatch = (glob, options, returnState = false) => { - if (Array.isArray(glob)) { - const fns = glob.map((input) => picomatch(input, options, returnState)); - const arrayMatcher = (str) => { - for (const isMatch of fns) { - const state2 = isMatch(str); - if (state2) return state2; - } - return false; - }; - return arrayMatcher; - } - const isState = isObject(glob) && glob.tokens && glob.input; - if (glob === "" || typeof glob !== "string" && !isState) { - throw new TypeError("Expected pattern to be a non-empty string"); - } - const opts = options || {}; - const posix = opts.windows; - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); - const state = regex.state; - delete regex.state; - let isIgnored = () => false; - if (opts.ignore) { - const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); - } - const matcher = (input, returnObject = false) => { - const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); - const result = { glob, state, regex, posix, input, output, match, isMatch }; - if (typeof opts.onResult === "function") { - opts.onResult(result); - } - if (isMatch === false) { - result.isMatch = false; - return returnObject ? result : false; - } - if (isIgnored(input)) { - if (typeof opts.onIgnore === "function") { - opts.onIgnore(result); - } - result.isMatch = false; - return returnObject ? result : false; - } - if (typeof opts.onMatch === "function") { - opts.onMatch(result); - } - return returnObject ? result : true; - }; - if (returnState) { - matcher.state = state; - } - return matcher; - }; - picomatch.test = (input, regex, options, { glob, posix } = {}) => { - if (typeof input !== "string") { - throw new TypeError("Expected input to be a string"); - } - if (input === "") { - return { isMatch: false, output: "" }; - } - const opts = options || {}; - const format = opts.format || (posix ? utils.toPosixSlashes : null); - let match = input === glob; - let output = match && format ? format(input) : input; - if (match === false) { - output = format ? format(input) : input; - match = output === glob; - } - if (match === false || opts.capture === true) { - if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); - } else { - match = regex.exec(output); - } - } - return { isMatch: Boolean(match), match, output }; - }; - picomatch.matchBase = (input, glob, options) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); - return regex.test(utils.basename(input)); - }; - picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options)); - return parse(pattern, { ...options, fastpaths: false }); - }; - picomatch.scan = (input, options) => scan(input, options); - picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return state.output; - } - const opts = options || {}; - const prepend = opts.contains ? "" : "^"; - const append = opts.contains ? "" : "$"; - let source = `${prepend}(?:${state.output})${append}`; - if (state && state.negated === true) { - source = `^(?!${source}).*$`; - } - const regex = picomatch.toRegex(source, options); - if (returnState === true) { - regex.state = state; - } - return regex; - }; - picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { - if (!input || typeof input !== "string") { - throw new TypeError("Expected a non-empty string"); - } - let parsed = { negated: false, fastpaths: true }; - if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) { - parsed.output = parse.fastpaths(input, options); - } - if (!parsed.output) { - parsed = parse(input, options); - } - return picomatch.compileRe(parsed, options, returnOutput, returnState); - }; - picomatch.toRegex = (source, options) => { - try { - const opts = options || {}; - return new RegExp(source, opts.flags || (opts.nocase ? "i" : "")); - } catch (err) { - if (options && options.debug === true) throw err; - return /$^/; - } - }; - picomatch.constants = constants; - module.exports = picomatch; - } -}); - -// node_modules/picomatch/index.js -var require_picomatch2 = __commonJS({ - "node_modules/picomatch/index.js"(exports, module) { - "use strict"; - var pico = require_picomatch(); - var utils = require_utils(); - function picomatch(glob, options, returnState = false) { - if (options && (options.windows === null || options.windows === void 0)) { - options = { ...options, windows: utils.isWindows() }; - } - return pico(glob, options, returnState); - } - Object.assign(picomatch, pico); - module.exports = picomatch; - } -}); - -// src/build/image-cdn.ts -var import_picomatch = __toESM(require_picomatch2(), 1); -function generateRegexFromPattern(pattern) { - return (0, import_picomatch.makeRe)(pattern).source; -} -var setImageConfig = async (ctx) => { - const { - images: { domains, remotePatterns, path: imageEndpointPath, loader: imageLoader } - } = await ctx.buildConfig; - if (imageLoader !== "default") { - return; - } - ctx.netlifyConfig.redirects.push( - { - from: imageEndpointPath, - // w and q are too short to be used as params with id-length rule - // but we are forced to do so because of the next/image loader decides on their names - // eslint-disable-next-line id-length - query: { url: ":url", w: ":width", q: ":quality" }, - to: "/.netlify/images?url=:url&w=:width&q=:quality", - status: 200 - }, - // when migrating from @netlify/plugin-nextjs@4 image redirect to ipx might be cached in the browser - { - from: "/_ipx/*", - // w and q are too short to be used as params with id-length rule - // but we are forced to do so because of the next/image loader decides on their names - // eslint-disable-next-line id-length - query: { url: ":url", w: ":width", q: ":quality" }, - to: "/.netlify/images?url=:url&w=:width&q=:quality", - status: 200 - } - ); - if (remotePatterns?.length !== 0 || domains?.length !== 0) { - ctx.netlifyConfig.images ||= { remote_images: [] }; - ctx.netlifyConfig.images.remote_images ||= []; - if (remotePatterns && remotePatterns.length !== 0) { - for (const remotePattern of remotePatterns) { - let { protocol, hostname, port, pathname } = remotePattern; - if (pathname) { - pathname = pathname.startsWith("/") ? pathname : `/${pathname}`; - } - const combinedRemotePattern = `${protocol ?? "http?(s)"}://${hostname}${port ? `:${port}` : ""}${pathname ?? "/**"}`; - try { - ctx.netlifyConfig.images.remote_images.push( - generateRegexFromPattern(combinedRemotePattern) - ); - } catch (error) { - ctx.failBuild( - `Failed to generate Image CDN remote image regex from Next.js remote pattern: ${JSON.stringify( - { remotePattern, combinedRemotePattern }, - null, - 2 - )}`, - error - ); - } - } - } - if (domains && domains.length !== 0) { - for (const domain of domains) { - const patternFromDomain = `http?(s)://${domain}/**`; - try { - ctx.netlifyConfig.images.remote_images.push(generateRegexFromPattern(patternFromDomain)); - } catch (error) { - ctx.failBuild( - `Failed to generate Image CDN remote image regex from Next.js domain: ${JSON.stringify( - { domain, patternFromDomain }, - null, - 2 - )}`, - error - ); - } - } - } - } -}; -export { - setImageConfig -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/plugin-context.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/plugin-context.js deleted file mode 100644 index ce2fa1b..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/plugin-context.js +++ /dev/null @@ -1,362 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - require_semver -} from "../esm-chunks/chunk-TVEBGDAB.js"; -import { - __toESM -} from "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/plugin-context.ts -var import_semver = __toESM(require_semver(), 1); -import { existsSync, readFileSync } from "node:fs"; -import { readFile } from "node:fs/promises"; -import { createRequire } from "node:module"; -import { join, relative, resolve } from "node:path"; -import { join as posixJoin, relative as posixRelative } from "node:path/posix"; -import { fileURLToPath } from "node:url"; -var MODULE_DIR = fileURLToPath(new URL(".", import.meta.url)); -var PLUGIN_DIR = join(MODULE_DIR, "../.."); -var DEFAULT_PUBLISH_DIR = ".next"; -var SERVER_HANDLER_NAME = "___netlify-server-handler"; -var EDGE_HANDLER_NAME = "___netlify-edge-handler"; -var PluginContext = class { - constants; - featureFlags; - netlifyConfig; - pluginName; - pluginVersion; - utils; - packageJSON; - /** Absolute path of the next runtime plugin directory */ - pluginDir = PLUGIN_DIR; - get relPublishDir() { - return this.constants.PUBLISH_DIR ?? join(this.constants.PACKAGE_PATH || "", DEFAULT_PUBLISH_DIR); - } - /** Temporary directory for stashing the build output */ - get tempPublishDir() { - return this.resolveFromPackagePath(".netlify/.next"); - } - /** Absolute path of the publish directory */ - get publishDir() { - return resolve(this.relPublishDir); - } - /** - * Relative package path in non monorepo setups this is an empty string - * This path is provided by Next.js RequiredServerFiles manifest - * @example '' - * @example 'apps/my-app' - */ - get relativeAppDir() { - return this.requiredServerFiles.relativeAppDir ?? ""; - } - /** - * The working directory inside the lambda that is used for monorepos to execute the serverless function - */ - get lambdaWorkingDirectory() { - return join("/var/task", this.distDirParent); - } - /** - * Retrieves the root of the `.next/standalone` directory - */ - get standaloneRootDir() { - return join(this.publishDir, "standalone"); - } - /** - * The resolved relative next dist directory defaults to `.next`, - * but can be configured through the next.config.js. For monorepos this will include the packagePath - * If we need just the plain dist dir use the `nextDistDir` - */ - get distDir() { - const dir = this.buildConfig.distDir ?? DEFAULT_PUBLISH_DIR; - return relative(process.cwd(), resolve(this.relativeAppDir, dir)); - } - /** Represents the parent directory of the .next folder or custom distDir */ - get distDirParent() { - return join(this.distDir, ".."); - } - /** The `.next` folder or what the custom dist dir is set to */ - get nextDistDir() { - return relative(this.distDirParent, this.distDir); - } - /** Retrieves the `.next/standalone/` directory monorepo aware */ - get standaloneDir() { - return join(this.standaloneRootDir, this.distDirParent); - } - /** - * Absolute path of the directory that is published and deployed to the Netlify CDN - * Will be swapped with the publish directory - * `.netlify/static` - */ - get staticDir() { - return this.resolveFromPackagePath(".netlify/static"); - } - /** - * Absolute path of the directory that will be deployed to the blob store - * region aware: `.netlify/deploy/v1/blobs/deploy` - * default: `.netlify/blobs/deploy` - */ - get blobDir() { - if (this.useRegionalBlobs) { - return this.resolveFromPackagePath(".netlify/deploy/v1/blobs/deploy"); - } - return this.resolveFromPackagePath(".netlify/blobs/deploy"); - } - get buildVersion() { - return this.constants.NETLIFY_BUILD_VERSION || "v0.0.0"; - } - get useRegionalBlobs() { - const REQUIRED_BUILD_VERSION = ">=29.41.5"; - return (0, import_semver.satisfies)(this.buildVersion, REQUIRED_BUILD_VERSION, { includePrerelease: true }); - } - /** - * Absolute path of the directory containing the files for the serverless lambda function - * `.netlify/functions-internal` - */ - get serverFunctionsDir() { - return this.resolveFromPackagePath(".netlify/functions-internal"); - } - /** Absolute path of the server handler */ - get serverHandlerRootDir() { - return join(this.serverFunctionsDir, SERVER_HANDLER_NAME); - } - get serverHandlerDir() { - if (this.relativeAppDir.length === 0) { - return this.serverHandlerRootDir; - } - return join(this.serverHandlerRootDir, this.distDirParent); - } - get serverHandlerRuntimeModulesDir() { - return join(this.serverHandlerDir, ".netlify"); - } - get nextServerHandler() { - if (this.relativeAppDir.length !== 0) { - return join(this.lambdaWorkingDirectory, ".netlify/dist/run/handlers/server.js"); - } - return "./.netlify/dist/run/handlers/server.js"; - } - /** - * Absolute path of the directory containing the files for deno edge functions - * `.netlify/edge-functions` - */ - get edgeFunctionsDir() { - return this.resolveFromPackagePath(".netlify/edge-functions"); - } - /** Absolute path of the edge handler */ - get edgeHandlerDir() { - return join(this.edgeFunctionsDir, EDGE_HANDLER_NAME); - } - /** Absolute path to the skew protection config */ - get skewProtectionConfigPath() { - return this.resolveFromPackagePath(".netlify/v1/skew-protection.json"); - } - constructor(options) { - this.constants = options.constants; - this.featureFlags = options.featureFlags; - this.netlifyConfig = options.netlifyConfig; - this.packageJSON = JSON.parse(readFileSync(join(PLUGIN_DIR, "package.json"), "utf-8")); - this.pluginName = this.packageJSON.name; - this.pluginVersion = this.packageJSON.version; - this.utils = options.utils; - } - /** Resolves a path correctly with mono repository awareness for .netlify directories mainly */ - resolveFromPackagePath(...args) { - return resolve(this.constants.PACKAGE_PATH || "", ...args); - } - /** Resolves a path correctly from site directory */ - resolveFromSiteDir(...args) { - return resolve(this.requiredServerFiles.appDir, ...args); - } - /** Get the next prerender-manifest.json */ - async getPrerenderManifest() { - return JSON.parse(await readFile(join(this.publishDir, "prerender-manifest.json"), "utf-8")); - } - /** - * Uses various heuristics to try to find the .next dir. - * Works by looking for BUILD_ID, so requires the site to have been built - */ - findDotNext() { - for (const dir of [ - // The publish directory - this.publishDir, - // In the root - resolve(DEFAULT_PUBLISH_DIR), - // The sibling of the publish directory - resolve(this.publishDir, "..", DEFAULT_PUBLISH_DIR), - // In the package dir - resolve(this.constants.PACKAGE_PATH || "", DEFAULT_PUBLISH_DIR) - ]) { - if (existsSync(join(dir, "BUILD_ID"))) { - return dir; - } - } - return false; - } - /** - * Get Next.js middleware config from the build output - */ - async getMiddlewareManifest() { - return JSON.parse( - await readFile(join(this.publishDir, "server/middleware-manifest.json"), "utf-8") - ); - } - /** - * Get Next.js Functions Config Manifest config if it exists from the build output - */ - async getFunctionsConfigManifest() { - const functionsConfigManifestPath = join( - this.publishDir, - "server/functions-config-manifest.json" - ); - if (existsSync(functionsConfigManifestPath)) { - return JSON.parse(await readFile(functionsConfigManifestPath, "utf-8")); - } - return null; - } - // don't make private as it is handy inside testing to override the config - _requiredServerFiles = null; - /** Get RequiredServerFiles manifest from build output **/ - get requiredServerFiles() { - if (!this._requiredServerFiles) { - let requiredServerFilesJson = join(this.publishDir, "required-server-files.json"); - if (!existsSync(requiredServerFilesJson)) { - const dotNext = this.findDotNext(); - if (dotNext) { - requiredServerFilesJson = join(dotNext, "required-server-files.json"); - } - } - this._requiredServerFiles = JSON.parse( - readFileSync(requiredServerFilesJson, "utf-8") - ); - } - return this._requiredServerFiles; - } - #exportDetail = null; - /** Get metadata when output = export */ - get exportDetail() { - if (this.buildConfig.output !== "export") { - return null; - } - if (!this.#exportDetail) { - const detailFile = join( - this.requiredServerFiles.appDir, - this.buildConfig.distDir, - "export-detail.json" - ); - if (!existsSync(detailFile)) { - return null; - } - try { - this.#exportDetail = JSON.parse(readFileSync(detailFile, "utf-8")); - } catch { - } - } - return this.#exportDetail; - } - /** Get Next Config from build output **/ - get buildConfig() { - return this.requiredServerFiles.config; - } - /** - * Get Next.js routes manifest from the build output - */ - async getRoutesManifest() { - return JSON.parse(await readFile(join(this.publishDir, "routes-manifest.json"), "utf-8")); - } - #nextVersion = void 0; - /** - * Get Next.js version that was used to build the site - */ - get nextVersion() { - if (this.#nextVersion === void 0) { - try { - const serverHandlerRequire = createRequire(posixJoin(this.standaloneRootDir, ":internal:")); - const { version } = serverHandlerRequire("next/package.json"); - this.#nextVersion = version; - } catch { - this.#nextVersion = null; - } - } - return this.#nextVersion; - } - #fallbacks = null; - /** - * Get an array of localized fallback routes for Pages Router - * - * Example return value for non-i18n site: `['blog/[slug]']` - * - * Example return value for i18n site: `['en/blog/[slug]', 'fr/blog/[slug]']` - */ - getFallbacks(prerenderManifest) { - if (!this.#fallbacks) { - const locales = this.buildConfig.i18n?.locales ?? [""]; - this.#fallbacks = Object.entries(prerenderManifest.dynamicRoutes).reduce( - (fallbacks, [route, meta]) => { - if (typeof meta.fallback === "string" && meta.renderingMode !== "PARTIALLY_STATIC") { - for (const locale of locales) { - const localizedRoute = posixJoin(locale, route.replace(/^\/+/g, "")); - fallbacks.push(localizedRoute); - } - } - return fallbacks; - }, - [] - ); - } - return this.#fallbacks; - } - #fullyStaticHtmlPages = null; - /** - * Get an array of fully static pages router pages (no `getServerSideProps` or `getStaticProps`). - * Those are being served as-is without involving CacheHandler, so we need to keep track of them - * to make sure we apply permanent caching headers for responses that use them. - */ - async getFullyStaticHtmlPages() { - if (!this.#fullyStaticHtmlPages) { - const pagesManifest = JSON.parse( - await readFile(join(this.publishDir, "server/pages-manifest.json"), "utf-8") - ); - this.#fullyStaticHtmlPages = Object.values(pagesManifest).filter( - (filePath) => ( - // Limit handling to pages router files (App Router pages should not be included in pages-manifest.json - // as they have their own app-paths-manifest.json) - filePath.startsWith("pages/") && // Fully static pages will have entries in the pages-manifest.json pointing to .html files. - // Pages with data fetching exports will point to .js files. - filePath.endsWith(".html") - ) - ).map((filePath) => posixRelative("pages", filePath)); - } - return this.#fullyStaticHtmlPages; - } - #shells = null; - /** - * Get an array of static shells for App Router's PPR dynamic routes - */ - getShells(prerenderManifest) { - if (!this.#shells) { - this.#shells = Object.entries(prerenderManifest.dynamicRoutes).reduce( - (shells, [route, meta]) => { - if (typeof meta.fallback === "string" && meta.renderingMode === "PARTIALLY_STATIC") { - shells.push(route); - } - return shells; - }, - [] - ); - } - return this.#shells; - } - /** Fails a build with a message and an optional error */ - failBuild(message, error) { - return this.utils.build.failBuild(message, error instanceof Error ? { error } : void 0); - } -}; -export { - EDGE_HANDLER_NAME, - PluginContext, - SERVER_HANDLER_NAME -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/skew-protection.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/skew-protection.js deleted file mode 100644 index 6ac69db..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/skew-protection.js +++ /dev/null @@ -1,106 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/skew-protection.ts -import { mkdir, writeFile } from "node:fs/promises"; -import { dirname } from "node:path"; -var EnabledOrDisabledReason = /* @__PURE__ */ ((EnabledOrDisabledReason2) => { - EnabledOrDisabledReason2["OPT_OUT_DEFAULT"] = "off-default"; - EnabledOrDisabledReason2["OPT_OUT_NO_VALID_DEPLOY_ID"] = "off-no-valid-deploy-id"; - EnabledOrDisabledReason2["OPT_OUT_NO_VALID_DEPLOY_ID_ENV_VAR"] = "off-no-valid-deploy-id-env-var"; - EnabledOrDisabledReason2["OPT_IN_FF"] = "on-ff"; - EnabledOrDisabledReason2["OPT_IN_ENV_VAR"] = "on-env-var"; - EnabledOrDisabledReason2["OPT_OUT_ENV_VAR"] = "off-env-var"; - return EnabledOrDisabledReason2; -})(EnabledOrDisabledReason || {}); -var optInOptions = /* @__PURE__ */ new Set([ - "on-ff" /* OPT_IN_FF */, - "on-env-var" /* OPT_IN_ENV_VAR */ -]); -var skewProtectionConfig = { - patterns: [".*"], - sources: [ - { - type: "cookie", - name: "__vdpl" - }, - { - type: "header", - name: "X-Deployment-Id" - }, - { - type: "query", - name: "dpl" - } - ] -}; -function shouldEnableSkewProtection(ctx) { - let enabledOrDisabledReason = "off-default" /* OPT_OUT_DEFAULT */; - if (process.env.NETLIFY_NEXT_SKEW_PROTECTION === "true" || process.env.NETLIFY_NEXT_SKEW_PROTECTION === "1") { - enabledOrDisabledReason = "on-env-var" /* OPT_IN_ENV_VAR */; - } else if (process.env.NETLIFY_NEXT_SKEW_PROTECTION === "false" || process.env.NETLIFY_NEXT_SKEW_PROTECTION === "0") { - return { - enabled: false, - enabledOrDisabledReason: "off-env-var" /* OPT_OUT_ENV_VAR */ - }; - } else if (ctx.featureFlags?.["next-runtime-skew-protection"]) { - enabledOrDisabledReason = "on-ff" /* OPT_IN_FF */; - } else { - return { - enabled: false, - enabledOrDisabledReason: "off-default" /* OPT_OUT_DEFAULT */ - }; - } - if ((!process.env.DEPLOY_ID || process.env.DEPLOY_ID === "0") && optInOptions.has(enabledOrDisabledReason)) { - return { - enabled: false, - enabledOrDisabledReason: enabledOrDisabledReason === "on-env-var" /* OPT_IN_ENV_VAR */ && ctx.constants.IS_LOCAL ? ( - // this case is singled out to provide visible feedback to users that env var has no effect - "off-no-valid-deploy-id-env-var" /* OPT_OUT_NO_VALID_DEPLOY_ID_ENV_VAR */ - ) : ( - // this is silent disablement to avoid spam logs for users opted in via feature flag - // that don't explicitly opt in via env var - "off-no-valid-deploy-id" /* OPT_OUT_NO_VALID_DEPLOY_ID */ - ) - }; - } - return { - enabled: optInOptions.has(enabledOrDisabledReason), - enabledOrDisabledReason - }; -} -var setSkewProtection = async (ctx, span) => { - const { enabled, enabledOrDisabledReason } = shouldEnableSkewProtection(ctx); - span.setAttribute("skewProtection", enabledOrDisabledReason); - if (!enabled) { - if (enabledOrDisabledReason === "off-no-valid-deploy-id-env-var" /* OPT_OUT_NO_VALID_DEPLOY_ID_ENV_VAR */) { - console.warn( - `NETLIFY_NEXT_SKEW_PROTECTION environment variable is set to ${process.env.NETLIFY_NEXT_SKEW_PROTECTION}, but skew protection is currently unavailable for CLI deploys. Skew protection will not be enabled.` - ); - } - return; - } - if (enabledOrDisabledReason === "on-env-var" /* OPT_IN_ENV_VAR */) { - console.log( - `Setting up Next.js Skew Protection due to NETLIFY_NEXT_SKEW_PROTECTION=${process.env.NETLIFY_NEXT_SKEW_PROTECTION} environment variable.` - ); - } else { - console.log("Setting up Next.js Skew Protection."); - } - process.env.NEXT_DEPLOYMENT_ID = process.env.DEPLOY_ID; - await mkdir(dirname(ctx.skewProtectionConfigPath), { - recursive: true - }); - await writeFile(ctx.skewProtectionConfigPath, JSON.stringify(skewProtectionConfig)); -}; -export { - EnabledOrDisabledReason, - setSkewProtection, - shouldEnableSkewProtection, - skewProtectionConfig -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/templates/handler-monorepo.tmpl.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/templates/handler-monorepo.tmpl.js deleted file mode 100644 index 04a2dc3..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/templates/handler-monorepo.tmpl.js +++ /dev/null @@ -1,52 +0,0 @@ -import { - createRequestContext, - runWithRequestContext, -} from '{{cwd}}/.netlify/dist/run/handlers/request-context.cjs' -import { getTracer, withActiveSpan } from '{{cwd}}/.netlify/dist/run/handlers/tracer.cjs' - -process.chdir('{{cwd}}') - -// Set feature flag for regional blobs -process.env.USE_REGIONAL_BLOBS = '{{useRegionalBlobs}}' - -let cachedHandler -export default async function (req, context) { - const requestContext = createRequestContext(req, context) - const tracer = getTracer() - - const handlerResponse = await runWithRequestContext(requestContext, () => { - return withActiveSpan(tracer, 'Next.js Server Handler', async (span) => { - span?.setAttributes({ - 'account.id': context.account.id, - 'deploy.id': context.deploy.id, - 'request.id': context.requestId, - 'site.id': context.site.id, - 'http.method': req.method, - 'http.target': req.url, - isBackgroundRevalidation: requestContext.isBackgroundRevalidation, - monorepo: true, - cwd: '{{cwd}}', - }) - if (!cachedHandler) { - const { default: handler } = await import('{{nextServerHandler}}') - cachedHandler = handler - } - const response = await cachedHandler(req, context, span, requestContext) - span?.setAttributes({ - 'http.status_code': response.status, - }) - return response - }) - }) - - if (requestContext.serverTiming) { - handlerResponse.headers.set('server-timing', requestContext.serverTiming) - } - - return handlerResponse -} - -export const config = { - path: '/*', - preferStatic: true, -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/templates/handler.tmpl.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/templates/handler.tmpl.js deleted file mode 100644 index f85d0bc..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/templates/handler.tmpl.js +++ /dev/null @@ -1,46 +0,0 @@ -import { - createRequestContext, - runWithRequestContext, -} from './.netlify/dist/run/handlers/request-context.cjs' -import serverHandler from './.netlify/dist/run/handlers/server.js' -import { getTracer, withActiveSpan } from './.netlify/dist/run/handlers/tracer.cjs' - -// Set feature flag for regional blobs -process.env.USE_REGIONAL_BLOBS = '{{useRegionalBlobs}}' - -export default async function handler(req, context) { - const requestContext = createRequestContext(req, context) - const tracer = getTracer() - - const handlerResponse = await runWithRequestContext(requestContext, () => { - return withActiveSpan(tracer, 'Next.js Server Handler', async (span) => { - span?.setAttributes({ - 'account.id': context.account.id, - 'deploy.id': context.deploy.id, - 'request.id': context.requestId, - 'site.id': context.site.id, - 'http.method': req.method, - 'http.target': req.url, - isBackgroundRevalidation: requestContext.isBackgroundRevalidation, - monorepo: false, - cwd: process.cwd(), - }) - const response = await serverHandler(req, context, span, requestContext) - span?.setAttributes({ - 'http.status_code': response.status, - }) - return response - }) - }) - - if (requestContext.serverTiming) { - handlerResponse.headers.set('server-timing', requestContext.serverTiming) - } - - return handlerResponse -} - -export const config = { - path: '/*', - preferStatic: true, -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/verification.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/verification.js deleted file mode 100644 index 39c0952..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/build/verification.js +++ /dev/null @@ -1,117 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - require_out -} from "../esm-chunks/chunk-YUXQHOYO.js"; -import { - require_semver -} from "../esm-chunks/chunk-TVEBGDAB.js"; -import { - __toESM -} from "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/build/verification.ts -var import_fast_glob = __toESM(require_out(), 1); -var import_semver = __toESM(require_semver(), 1); -import { existsSync } from "node:fs"; -import { readFile } from "node:fs/promises"; -import { join } from "node:path"; -import { ApiRouteType, getAPIRoutesConfigs } from "./advanced-api-routes.js"; -var SUPPORTED_NEXT_VERSIONS = ">=13.5.0"; -var verifications = /* @__PURE__ */ new Set(); -function verifyPublishDir(ctx) { - if (!existsSync(ctx.publishDir)) { - ctx.failBuild( - `Your publish directory was not found at: ${ctx.publishDir}. Please check your build settings` - ); - } - if (ctx.publishDir === ctx.resolveFromPackagePath("")) { - ctx.failBuild( - `Your publish directory cannot be the same as the base directory of your site. Please check your build settings` - ); - } - try { - ctx.buildConfig; - } catch { - ctx.failBuild( - "Your publish directory does not contain expected Next.js build output. Please check your build settings" - ); - } - if (ctx.buildConfig.output === "standalone" || ctx.buildConfig.output === void 0) { - if (!existsSync(join(ctx.publishDir, "BUILD_ID"))) { - ctx.failBuild( - "Your publish directory does not contain expected Next.js build output. Please check your build settings" - ); - } - if (!existsSync(ctx.standaloneRootDir)) { - ctx.failBuild( - `Your publish directory does not contain expected Next.js build output. Please make sure you are using Next.js version (${SUPPORTED_NEXT_VERSIONS})` - ); - } - if (ctx.nextVersion && !(0, import_semver.satisfies)(ctx.nextVersion, SUPPORTED_NEXT_VERSIONS, { includePrerelease: true })) { - ctx.failBuild( - `@netlify/plugin-nextjs@5 requires Next.js version ${SUPPORTED_NEXT_VERSIONS}, but found ${ctx.nextVersion}. Please upgrade your project's Next.js version.` - ); - } - } - if (ctx.buildConfig.output === "export") { - if (!ctx.exportDetail?.success) { - ctx.failBuild(`Your export failed to build. Please check your build settings`); - } - if (!existsSync(ctx.exportDetail?.outDirectory)) { - ctx.failBuild( - `Your export directory was not found at: ${ctx.exportDetail?.outDirectory}. Please check your build settings` - ); - } - } -} -async function verifyAdvancedAPIRoutes(ctx) { - const apiRoutesConfigs = await getAPIRoutesConfigs(ctx); - const unsupportedAPIRoutes = apiRoutesConfigs.filter((apiRouteConfig) => { - return apiRouteConfig.config.type === ApiRouteType.BACKGROUND || apiRouteConfig.config.type === ApiRouteType.SCHEDULED; - }); - if (unsupportedAPIRoutes.length !== 0) { - ctx.failBuild( - `@netlify/plugin-nextjs@5 does not support advanced API routes. The following API routes should be migrated to Netlify background or scheduled functions: -${unsupportedAPIRoutes.map((apiRouteConfig) => ` - ${apiRouteConfig.apiRoute} (type: "${apiRouteConfig.config.type}")`).join("\n")} - -Refer to https://ntl.fyi/next-scheduled-bg-function-migration as migration example.` - ); - } -} -var formDetectionRegex = /]*?\s(netlify|data-netlify)[=>\s]/; -async function verifyNetlifyFormsWorkaround(ctx) { - const srcDir = ctx.resolveFromSiteDir("public"); - const paths = await (0, import_fast_glob.glob)("**/*.html", { - cwd: srcDir, - dot: true - }); - try { - for (const path of paths) { - const html = await readFile(join(srcDir, path), "utf-8"); - if (formDetectionRegex.test(html)) { - verifications.add("netlifyFormsWorkaround"); - return; - } - } - } catch (error) { - ctx.failBuild("Failed verifying public files", error); - } -} -function verifyNetlifyForms(ctx, html) { - if (process.env.NETLIFY_NEXT_VERIFY_FORMS !== "0" && process.env.NETLIFY_NEXT_VERIFY_FORMS?.toUpperCase() !== "FALSE" && !verifications.has("netlifyFormsWorkaround") && formDetectionRegex.test(html)) { - ctx.failBuild( - "@netlify/plugin-nextjs@5 requires migration steps to support Netlify Forms. Refer to https://ntl.fyi/next-runtime-forms-migration for migration example." - ); - } -} -export { - verifyAdvancedAPIRoutes, - verifyNetlifyForms, - verifyNetlifyFormsWorkaround, - verifyPublishDir -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-5V5HA6YA.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-5V5HA6YA.js deleted file mode 100644 index 9607e6b..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-5V5HA6YA.js +++ /dev/null @@ -1,832 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - - -// node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js -var _globalThis = typeof globalThis === "object" ? globalThis : global; - -// node_modules/@opentelemetry/api/build/esm/version.js -var VERSION = "1.8.0"; - -// node_modules/@opentelemetry/api/build/esm/internal/semver.js -var re = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/; -function _makeCompatibilityCheck(ownVersion) { - var acceptedVersions = /* @__PURE__ */ new Set([ownVersion]); - var rejectedVersions = /* @__PURE__ */ new Set(); - var myVersionMatch = ownVersion.match(re); - if (!myVersionMatch) { - return function() { - return false; - }; - } - var ownVersionParsed = { - major: +myVersionMatch[1], - minor: +myVersionMatch[2], - patch: +myVersionMatch[3], - prerelease: myVersionMatch[4] - }; - if (ownVersionParsed.prerelease != null) { - return function isExactmatch(globalVersion) { - return globalVersion === ownVersion; - }; - } - function _reject(v) { - rejectedVersions.add(v); - return false; - } - function _accept(v) { - acceptedVersions.add(v); - return true; - } - return function isCompatible2(globalVersion) { - if (acceptedVersions.has(globalVersion)) { - return true; - } - if (rejectedVersions.has(globalVersion)) { - return false; - } - var globalVersionMatch = globalVersion.match(re); - if (!globalVersionMatch) { - return _reject(globalVersion); - } - var globalVersionParsed = { - major: +globalVersionMatch[1], - minor: +globalVersionMatch[2], - patch: +globalVersionMatch[3], - prerelease: globalVersionMatch[4] - }; - if (globalVersionParsed.prerelease != null) { - return _reject(globalVersion); - } - if (ownVersionParsed.major !== globalVersionParsed.major) { - return _reject(globalVersion); - } - if (ownVersionParsed.major === 0) { - if (ownVersionParsed.minor === globalVersionParsed.minor && ownVersionParsed.patch <= globalVersionParsed.patch) { - return _accept(globalVersion); - } - return _reject(globalVersion); - } - if (ownVersionParsed.minor <= globalVersionParsed.minor) { - return _accept(globalVersion); - } - return _reject(globalVersion); - }; -} -var isCompatible = _makeCompatibilityCheck(VERSION); - -// node_modules/@opentelemetry/api/build/esm/internal/global-utils.js -var major = VERSION.split(".")[0]; -var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for("opentelemetry.js.api." + major); -var _global = _globalThis; -function registerGlobal(type, instance, diag, allowOverride) { - var _a; - if (allowOverride === void 0) { - allowOverride = false; - } - var api = _global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== void 0 ? _a : { - version: VERSION - }; - if (!allowOverride && api[type]) { - var err = new Error("@opentelemetry/api: Attempted duplicate registration of API: " + type); - diag.error(err.stack || err.message); - return false; - } - if (api.version !== VERSION) { - var err = new Error("@opentelemetry/api: Registration of version v" + api.version + " for " + type + " does not match previously registered API v" + VERSION); - diag.error(err.stack || err.message); - return false; - } - api[type] = instance; - diag.debug("@opentelemetry/api: Registered a global for " + type + " v" + VERSION + "."); - return true; -} -function getGlobal(type) { - var _a, _b; - var globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === void 0 ? void 0 : _a.version; - if (!globalVersion || !isCompatible(globalVersion)) { - return; - } - return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === void 0 ? void 0 : _b[type]; -} -function unregisterGlobal(type, diag) { - diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + VERSION + "."); - var api = _global[GLOBAL_OPENTELEMETRY_API_KEY]; - if (api) { - delete api[type]; - } -} - -// node_modules/@opentelemetry/api/build/esm/context/context.js -function createContextKey(description) { - return Symbol.for(description); -} -var BaseContext = ( - /** @class */ - /* @__PURE__ */ (function() { - function BaseContext2(parentContext) { - var self = this; - self._currentContext = parentContext ? new Map(parentContext) : /* @__PURE__ */ new Map(); - self.getValue = function(key) { - return self._currentContext.get(key); - }; - self.setValue = function(key, value) { - var context2 = new BaseContext2(self._currentContext); - context2._currentContext.set(key, value); - return context2; - }; - self.deleteValue = function(key) { - var context2 = new BaseContext2(self._currentContext); - context2._currentContext.delete(key); - return context2; - }; - } - return BaseContext2; - })() -); -var ROOT_CONTEXT = new BaseContext(); - -// node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js -var __read = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var NoopContextManager = ( - /** @class */ - (function() { - function NoopContextManager2() { - } - NoopContextManager2.prototype.active = function() { - return ROOT_CONTEXT; - }; - NoopContextManager2.prototype.with = function(_context, fn, thisArg) { - var args = []; - for (var _i = 3; _i < arguments.length; _i++) { - args[_i - 3] = arguments[_i]; - } - return fn.call.apply(fn, __spreadArray([thisArg], __read(args), false)); - }; - NoopContextManager2.prototype.bind = function(_context, target) { - return target; - }; - NoopContextManager2.prototype.enable = function() { - return this; - }; - NoopContextManager2.prototype.disable = function() { - return this; - }; - return NoopContextManager2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js -var __read2 = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray2 = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var DiagComponentLogger = ( - /** @class */ - (function() { - function DiagComponentLogger2(props) { - this._namespace = props.namespace || "DiagComponentLogger"; - } - DiagComponentLogger2.prototype.debug = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("debug", this._namespace, args); - }; - DiagComponentLogger2.prototype.error = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("error", this._namespace, args); - }; - DiagComponentLogger2.prototype.info = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("info", this._namespace, args); - }; - DiagComponentLogger2.prototype.warn = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("warn", this._namespace, args); - }; - DiagComponentLogger2.prototype.verbose = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("verbose", this._namespace, args); - }; - return DiagComponentLogger2; - })() -); -function logProxy(funcName, namespace, args) { - var logger = getGlobal("diag"); - if (!logger) { - return; - } - args.unshift(namespace); - return logger[funcName].apply(logger, __spreadArray2([], __read2(args), false)); -} - -// node_modules/@opentelemetry/api/build/esm/diag/types.js -var DiagLogLevel; -(function(DiagLogLevel2) { - DiagLogLevel2[DiagLogLevel2["NONE"] = 0] = "NONE"; - DiagLogLevel2[DiagLogLevel2["ERROR"] = 30] = "ERROR"; - DiagLogLevel2[DiagLogLevel2["WARN"] = 50] = "WARN"; - DiagLogLevel2[DiagLogLevel2["INFO"] = 60] = "INFO"; - DiagLogLevel2[DiagLogLevel2["DEBUG"] = 70] = "DEBUG"; - DiagLogLevel2[DiagLogLevel2["VERBOSE"] = 80] = "VERBOSE"; - DiagLogLevel2[DiagLogLevel2["ALL"] = 9999] = "ALL"; -})(DiagLogLevel || (DiagLogLevel = {})); - -// node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js -function createLogLevelDiagLogger(maxLevel, logger) { - if (maxLevel < DiagLogLevel.NONE) { - maxLevel = DiagLogLevel.NONE; - } else if (maxLevel > DiagLogLevel.ALL) { - maxLevel = DiagLogLevel.ALL; - } - logger = logger || {}; - function _filterFunc(funcName, theLevel) { - var theFunc = logger[funcName]; - if (typeof theFunc === "function" && maxLevel >= theLevel) { - return theFunc.bind(logger); - } - return function() { - }; - } - return { - error: _filterFunc("error", DiagLogLevel.ERROR), - warn: _filterFunc("warn", DiagLogLevel.WARN), - info: _filterFunc("info", DiagLogLevel.INFO), - debug: _filterFunc("debug", DiagLogLevel.DEBUG), - verbose: _filterFunc("verbose", DiagLogLevel.VERBOSE) - }; -} - -// node_modules/@opentelemetry/api/build/esm/api/diag.js -var __read3 = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray3 = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var API_NAME = "diag"; -var DiagAPI = ( - /** @class */ - (function() { - function DiagAPI2() { - function _logProxy(funcName) { - return function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var logger = getGlobal("diag"); - if (!logger) - return; - return logger[funcName].apply(logger, __spreadArray3([], __read3(args), false)); - }; - } - var self = this; - var setLogger = function(logger, optionsOrLogLevel) { - var _a, _b, _c; - if (optionsOrLogLevel === void 0) { - optionsOrLogLevel = { logLevel: DiagLogLevel.INFO }; - } - if (logger === self) { - var err = new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation"); - self.error((_a = err.stack) !== null && _a !== void 0 ? _a : err.message); - return false; - } - if (typeof optionsOrLogLevel === "number") { - optionsOrLogLevel = { - logLevel: optionsOrLogLevel - }; - } - var oldLogger = getGlobal("diag"); - var newLogger = createLogLevelDiagLogger((_b = optionsOrLogLevel.logLevel) !== null && _b !== void 0 ? _b : DiagLogLevel.INFO, logger); - if (oldLogger && !optionsOrLogLevel.suppressOverrideMessage) { - var stack = (_c = new Error().stack) !== null && _c !== void 0 ? _c : ""; - oldLogger.warn("Current logger will be overwritten from " + stack); - newLogger.warn("Current logger will overwrite one already registered from " + stack); - } - return registerGlobal("diag", newLogger, self, true); - }; - self.setLogger = setLogger; - self.disable = function() { - unregisterGlobal(API_NAME, self); - }; - self.createComponentLogger = function(options) { - return new DiagComponentLogger(options); - }; - self.verbose = _logProxy("verbose"); - self.debug = _logProxy("debug"); - self.info = _logProxy("info"); - self.warn = _logProxy("warn"); - self.error = _logProxy("error"); - } - DiagAPI2.instance = function() { - if (!this._instance) { - this._instance = new DiagAPI2(); - } - return this._instance; - }; - return DiagAPI2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/api/context.js -var __read4 = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray4 = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var API_NAME2 = "context"; -var NOOP_CONTEXT_MANAGER = new NoopContextManager(); -var ContextAPI = ( - /** @class */ - (function() { - function ContextAPI2() { - } - ContextAPI2.getInstance = function() { - if (!this._instance) { - this._instance = new ContextAPI2(); - } - return this._instance; - }; - ContextAPI2.prototype.setGlobalContextManager = function(contextManager) { - return registerGlobal(API_NAME2, contextManager, DiagAPI.instance()); - }; - ContextAPI2.prototype.active = function() { - return this._getContextManager().active(); - }; - ContextAPI2.prototype.with = function(context2, fn, thisArg) { - var _a; - var args = []; - for (var _i = 3; _i < arguments.length; _i++) { - args[_i - 3] = arguments[_i]; - } - return (_a = this._getContextManager()).with.apply(_a, __spreadArray4([context2, fn, thisArg], __read4(args), false)); - }; - ContextAPI2.prototype.bind = function(context2, target) { - return this._getContextManager().bind(context2, target); - }; - ContextAPI2.prototype._getContextManager = function() { - return getGlobal(API_NAME2) || NOOP_CONTEXT_MANAGER; - }; - ContextAPI2.prototype.disable = function() { - this._getContextManager().disable(); - unregisterGlobal(API_NAME2, DiagAPI.instance()); - }; - return ContextAPI2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js -var TraceFlags; -(function(TraceFlags2) { - TraceFlags2[TraceFlags2["NONE"] = 0] = "NONE"; - TraceFlags2[TraceFlags2["SAMPLED"] = 1] = "SAMPLED"; -})(TraceFlags || (TraceFlags = {})); - -// node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js -var INVALID_SPANID = "0000000000000000"; -var INVALID_TRACEID = "00000000000000000000000000000000"; -var INVALID_SPAN_CONTEXT = { - traceId: INVALID_TRACEID, - spanId: INVALID_SPANID, - traceFlags: TraceFlags.NONE -}; - -// node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js -var NonRecordingSpan = ( - /** @class */ - (function() { - function NonRecordingSpan2(_spanContext) { - if (_spanContext === void 0) { - _spanContext = INVALID_SPAN_CONTEXT; - } - this._spanContext = _spanContext; - } - NonRecordingSpan2.prototype.spanContext = function() { - return this._spanContext; - }; - NonRecordingSpan2.prototype.setAttribute = function(_key, _value) { - return this; - }; - NonRecordingSpan2.prototype.setAttributes = function(_attributes) { - return this; - }; - NonRecordingSpan2.prototype.addEvent = function(_name, _attributes) { - return this; - }; - NonRecordingSpan2.prototype.setStatus = function(_status) { - return this; - }; - NonRecordingSpan2.prototype.updateName = function(_name) { - return this; - }; - NonRecordingSpan2.prototype.end = function(_endTime) { - }; - NonRecordingSpan2.prototype.isRecording = function() { - return false; - }; - NonRecordingSpan2.prototype.recordException = function(_exception, _time) { - }; - return NonRecordingSpan2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/trace/context-utils.js -var SPAN_KEY = createContextKey("OpenTelemetry Context Key SPAN"); -function getSpan(context2) { - return context2.getValue(SPAN_KEY) || void 0; -} -function getActiveSpan() { - return getSpan(ContextAPI.getInstance().active()); -} -function setSpan(context2, span) { - return context2.setValue(SPAN_KEY, span); -} -function deleteSpan(context2) { - return context2.deleteValue(SPAN_KEY); -} -function setSpanContext(context2, spanContext) { - return setSpan(context2, new NonRecordingSpan(spanContext)); -} -function getSpanContext(context2) { - var _a; - return (_a = getSpan(context2)) === null || _a === void 0 ? void 0 : _a.spanContext(); -} - -// node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js -var VALID_TRACEID_REGEX = /^([0-9a-f]{32})$/i; -var VALID_SPANID_REGEX = /^[0-9a-f]{16}$/i; -function isValidTraceId(traceId) { - return VALID_TRACEID_REGEX.test(traceId) && traceId !== INVALID_TRACEID; -} -function isValidSpanId(spanId) { - return VALID_SPANID_REGEX.test(spanId) && spanId !== INVALID_SPANID; -} -function isSpanContextValid(spanContext) { - return isValidTraceId(spanContext.traceId) && isValidSpanId(spanContext.spanId); -} -function wrapSpanContext(spanContext) { - return new NonRecordingSpan(spanContext); -} - -// node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js -var contextApi = ContextAPI.getInstance(); -var NoopTracer = ( - /** @class */ - (function() { - function NoopTracer2() { - } - NoopTracer2.prototype.startSpan = function(name, options, context2) { - if (context2 === void 0) { - context2 = contextApi.active(); - } - var root = Boolean(options === null || options === void 0 ? void 0 : options.root); - if (root) { - return new NonRecordingSpan(); - } - var parentFromContext = context2 && getSpanContext(context2); - if (isSpanContext(parentFromContext) && isSpanContextValid(parentFromContext)) { - return new NonRecordingSpan(parentFromContext); - } else { - return new NonRecordingSpan(); - } - }; - NoopTracer2.prototype.startActiveSpan = function(name, arg2, arg3, arg4) { - var opts; - var ctx; - var fn; - if (arguments.length < 2) { - return; - } else if (arguments.length === 2) { - fn = arg2; - } else if (arguments.length === 3) { - opts = arg2; - fn = arg3; - } else { - opts = arg2; - ctx = arg3; - fn = arg4; - } - var parentContext = ctx !== null && ctx !== void 0 ? ctx : contextApi.active(); - var span = this.startSpan(name, opts, parentContext); - var contextWithSpanSet = setSpan(parentContext, span); - return contextApi.with(contextWithSpanSet, fn, void 0, span); - }; - return NoopTracer2; - })() -); -function isSpanContext(spanContext) { - return typeof spanContext === "object" && typeof spanContext["spanId"] === "string" && typeof spanContext["traceId"] === "string" && typeof spanContext["traceFlags"] === "number"; -} - -// node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js -var NOOP_TRACER = new NoopTracer(); -var ProxyTracer = ( - /** @class */ - (function() { - function ProxyTracer2(_provider, name, version, options) { - this._provider = _provider; - this.name = name; - this.version = version; - this.options = options; - } - ProxyTracer2.prototype.startSpan = function(name, options, context2) { - return this._getTracer().startSpan(name, options, context2); - }; - ProxyTracer2.prototype.startActiveSpan = function(_name, _options, _context, _fn) { - var tracer = this._getTracer(); - return Reflect.apply(tracer.startActiveSpan, tracer, arguments); - }; - ProxyTracer2.prototype._getTracer = function() { - if (this._delegate) { - return this._delegate; - } - var tracer = this._provider.getDelegateTracer(this.name, this.version, this.options); - if (!tracer) { - return NOOP_TRACER; - } - this._delegate = tracer; - return this._delegate; - }; - return ProxyTracer2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js -var NoopTracerProvider = ( - /** @class */ - (function() { - function NoopTracerProvider2() { - } - NoopTracerProvider2.prototype.getTracer = function(_name, _version, _options) { - return new NoopTracer(); - }; - return NoopTracerProvider2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js -var NOOP_TRACER_PROVIDER = new NoopTracerProvider(); -var ProxyTracerProvider = ( - /** @class */ - (function() { - function ProxyTracerProvider2() { - } - ProxyTracerProvider2.prototype.getTracer = function(name, version, options) { - var _a; - return (_a = this.getDelegateTracer(name, version, options)) !== null && _a !== void 0 ? _a : new ProxyTracer(this, name, version, options); - }; - ProxyTracerProvider2.prototype.getDelegate = function() { - var _a; - return (_a = this._delegate) !== null && _a !== void 0 ? _a : NOOP_TRACER_PROVIDER; - }; - ProxyTracerProvider2.prototype.setDelegate = function(delegate) { - this._delegate = delegate; - }; - ProxyTracerProvider2.prototype.getDelegateTracer = function(name, version, options) { - var _a; - return (_a = this._delegate) === null || _a === void 0 ? void 0 : _a.getTracer(name, version, options); - }; - return ProxyTracerProvider2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/api/trace.js -var API_NAME3 = "trace"; -var TraceAPI = ( - /** @class */ - (function() { - function TraceAPI2() { - this._proxyTracerProvider = new ProxyTracerProvider(); - this.wrapSpanContext = wrapSpanContext; - this.isSpanContextValid = isSpanContextValid; - this.deleteSpan = deleteSpan; - this.getSpan = getSpan; - this.getActiveSpan = getActiveSpan; - this.getSpanContext = getSpanContext; - this.setSpan = setSpan; - this.setSpanContext = setSpanContext; - } - TraceAPI2.getInstance = function() { - if (!this._instance) { - this._instance = new TraceAPI2(); - } - return this._instance; - }; - TraceAPI2.prototype.setGlobalTracerProvider = function(provider) { - var success = registerGlobal(API_NAME3, this._proxyTracerProvider, DiagAPI.instance()); - if (success) { - this._proxyTracerProvider.setDelegate(provider); - } - return success; - }; - TraceAPI2.prototype.getTracerProvider = function() { - return getGlobal(API_NAME3) || this._proxyTracerProvider; - }; - TraceAPI2.prototype.getTracer = function(name, version) { - return this.getTracerProvider().getTracer(name, version); - }; - TraceAPI2.prototype.disable = function() { - unregisterGlobal(API_NAME3, DiagAPI.instance()); - this._proxyTracerProvider = new ProxyTracerProvider(); - }; - return TraceAPI2; - })() -); - -// node_modules/@opentelemetry/api/build/esm/trace-api.js -var trace = TraceAPI.getInstance(); - -// node_modules/@opentelemetry/api/build/esm/trace/status.js -var SpanStatusCode; -(function(SpanStatusCode2) { - SpanStatusCode2[SpanStatusCode2["UNSET"] = 0] = "UNSET"; - SpanStatusCode2[SpanStatusCode2["OK"] = 1] = "OK"; - SpanStatusCode2[SpanStatusCode2["ERROR"] = 2] = "ERROR"; -})(SpanStatusCode || (SpanStatusCode = {})); - -// node_modules/@opentelemetry/api/build/esm/context-api.js -var context = ContextAPI.getInstance(); - -// node_modules/@opentelemetry/api/build/esm/experimental/trace/SugaredTracer.js -var defaultOnException = function(e, span) { - span.recordException(e); - span.setStatus({ - code: SpanStatusCode.ERROR - }); -}; -function wrapTracer(tracer) { - return new SugaredTracer(tracer); -} -var SugaredTracer = ( - /** @class */ - (function() { - function SugaredTracer2(tracer) { - this._tracer = tracer; - this.startSpan = tracer.startSpan.bind(this._tracer); - this.startActiveSpan = tracer.startActiveSpan.bind(this._tracer); - } - SugaredTracer2.prototype.withActiveSpan = function(name, arg2, arg3, arg4) { - var _a = massageParams(arg2, arg3, arg4), opts = _a.opts, ctx = _a.ctx, fn = _a.fn; - return this._tracer.startActiveSpan(name, opts, ctx, function(span) { - return handleFn(span, opts, fn); - }); - }; - SugaredTracer2.prototype.withSpan = function(name, arg2, arg3, arg4) { - var _a = massageParams(arg2, arg3, arg4), opts = _a.opts, ctx = _a.ctx, fn = _a.fn; - var span = this._tracer.startSpan(name, opts, ctx); - return handleFn(span, opts, fn); - }; - return SugaredTracer2; - })() -); -function massageParams(arg, arg2, arg3) { - var opts; - var ctx; - var fn; - if (!arg2 && !arg3) { - fn = arg; - } else if (!arg3) { - opts = arg; - fn = arg2; - } else { - opts = arg; - ctx = arg2; - fn = arg3; - } - opts = opts !== null && opts !== void 0 ? opts : {}; - ctx = ctx !== null && ctx !== void 0 ? ctx : context.active(); - return { opts, ctx, fn }; -} -function handleFn(span, opts, fn) { - var _a; - var onException = (_a = opts.onException) !== null && _a !== void 0 ? _a : defaultOnException; - var errorHandler = function(e) { - onException(e, span); - span.end(); - throw e; - }; - try { - var ret = fn(span); - if (typeof (ret === null || ret === void 0 ? void 0 : ret.then) === "function") { - return ret.then(function(val) { - span.end(); - return val; - }, errorHandler); - } - span.end(); - return ret; - } catch (e) { - throw errorHandler(e); - } -} - -export { - trace, - wrapTracer -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-6BT4RYQJ.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-6BT4RYQJ.js deleted file mode 100644 index ff27bf1..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-6BT4RYQJ.js +++ /dev/null @@ -1,43 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { - get: (a, b) => (typeof require !== "undefined" ? require : a)[b] -}) : x)(function(x) { - if (typeof require !== "undefined") return require.apply(this, arguments); - throw Error('Dynamic require of "' + x + '" is not supported'); -}); -var __commonJS = (cb, mod) => function __require2() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); - -export { - __require, - __commonJS, - __toESM -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-TVEBGDAB.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-TVEBGDAB.js deleted file mode 100644 index f9f9ad1..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-TVEBGDAB.js +++ /dev/null @@ -1,1943 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - __commonJS -} from "./chunk-6BT4RYQJ.js"; - -// node_modules/semver/internal/constants.js -var require_constants = __commonJS({ - "node_modules/semver/internal/constants.js"(exports, module) { - "use strict"; - var SEMVER_SPEC_VERSION = "2.0.0"; - var MAX_LENGTH = 256; - var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ - 9007199254740991; - var MAX_SAFE_COMPONENT_LENGTH = 16; - var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6; - var RELEASE_TYPES = [ - "major", - "premajor", - "minor", - "preminor", - "patch", - "prepatch", - "prerelease" - ]; - module.exports = { - MAX_LENGTH, - MAX_SAFE_COMPONENT_LENGTH, - MAX_SAFE_BUILD_LENGTH, - MAX_SAFE_INTEGER, - RELEASE_TYPES, - SEMVER_SPEC_VERSION, - FLAG_INCLUDE_PRERELEASE: 1, - FLAG_LOOSE: 2 - }; - } -}); - -// node_modules/semver/internal/debug.js -var require_debug = __commonJS({ - "node_modules/semver/internal/debug.js"(exports, module) { - "use strict"; - var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { - }; - module.exports = debug; - } -}); - -// node_modules/semver/internal/re.js -var require_re = __commonJS({ - "node_modules/semver/internal/re.js"(exports, module) { - "use strict"; - var { - MAX_SAFE_COMPONENT_LENGTH, - MAX_SAFE_BUILD_LENGTH, - MAX_LENGTH - } = require_constants(); - var debug = require_debug(); - exports = module.exports = {}; - var re = exports.re = []; - var safeRe = exports.safeRe = []; - var src = exports.src = []; - var safeSrc = exports.safeSrc = []; - var t = exports.t = {}; - var R = 0; - var LETTERDASHNUMBER = "[a-zA-Z0-9-]"; - var safeRegexReplacements = [ - ["\\s", 1], - ["\\d", MAX_LENGTH], - [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH] - ]; - var makeSafeRegex = (value) => { - for (const [token, max] of safeRegexReplacements) { - value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`); - } - return value; - }; - var createToken = (name, value, isGlobal) => { - const safe = makeSafeRegex(value); - const index = R++; - debug(name, index, value); - t[name] = index; - src[index] = value; - safeSrc[index] = safe; - re[index] = new RegExp(value, isGlobal ? "g" : void 0); - safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0); - }; - createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); - createToken("NUMERICIDENTIFIERLOOSE", "\\d+"); - createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`); - createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`); - createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`); - createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`); - createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`); - createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); - createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); - createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`); - createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); - createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); - createToken("FULL", `^${src[t.FULLPLAIN]}$`); - createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); - createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`); - createToken("GTLT", "((?:<|>)?=?)"); - createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); - createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); - createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`); - createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); - createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`); - createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`); - createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`); - createToken("COERCERTL", src[t.COERCE], true); - createToken("COERCERTLFULL", src[t.COERCEFULL], true); - createToken("LONETILDE", "(?:~>?)"); - createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true); - exports.tildeTrimReplace = "$1~"; - createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); - createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("LONECARET", "(?:\\^)"); - createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true); - exports.caretTrimReplace = "$1^"; - createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); - createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); - createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); - createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); - createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); - exports.comparatorTrimReplace = "$1$2$3"; - createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`); - createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`); - createToken("STAR", "(<|>)?=?\\s*\\*"); - createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); - createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); - } -}); - -// node_modules/semver/internal/parse-options.js -var require_parse_options = __commonJS({ - "node_modules/semver/internal/parse-options.js"(exports, module) { - "use strict"; - var looseOption = Object.freeze({ loose: true }); - var emptyOpts = Object.freeze({}); - var parseOptions = (options) => { - if (!options) { - return emptyOpts; - } - if (typeof options !== "object") { - return looseOption; - } - return options; - }; - module.exports = parseOptions; - } -}); - -// node_modules/semver/internal/identifiers.js -var require_identifiers = __commonJS({ - "node_modules/semver/internal/identifiers.js"(exports, module) { - "use strict"; - var numeric = /^[0-9]+$/; - var compareIdentifiers = (a, b) => { - if (typeof a === "number" && typeof b === "number") { - return a === b ? 0 : a < b ? -1 : 1; - } - const anum = numeric.test(a); - const bnum = numeric.test(b); - if (anum && bnum) { - a = +a; - b = +b; - } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; - }; - var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); - module.exports = { - compareIdentifiers, - rcompareIdentifiers - }; - } -}); - -// node_modules/semver/classes/semver.js -var require_semver = __commonJS({ - "node_modules/semver/classes/semver.js"(exports, module) { - "use strict"; - var debug = require_debug(); - var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants(); - var { safeRe: re, t } = require_re(); - var parseOptions = require_parse_options(); - var { compareIdentifiers } = require_identifiers(); - var SemVer = class _SemVer { - constructor(version, options) { - options = parseOptions(options); - if (version instanceof _SemVer) { - if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { - return version; - } else { - version = version.version; - } - } else if (typeof version !== "string") { - throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`); - } - if (version.length > MAX_LENGTH) { - throw new TypeError( - `version is longer than ${MAX_LENGTH} characters` - ); - } - debug("SemVer", version, options); - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); - if (!m) { - throw new TypeError(`Invalid Version: ${version}`); - } - this.raw = version; - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError("Invalid major version"); - } - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError("Invalid minor version"); - } - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError("Invalid patch version"); - } - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split(".").map((id) => { - if (/^[0-9]+$/.test(id)) { - const num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - return id; - }); - } - this.build = m[5] ? m[5].split(".") : []; - this.format(); - } - format() { - this.version = `${this.major}.${this.minor}.${this.patch}`; - if (this.prerelease.length) { - this.version += `-${this.prerelease.join(".")}`; - } - return this.version; - } - toString() { - return this.version; - } - compare(other) { - debug("SemVer.compare", this.version, this.options, other); - if (!(other instanceof _SemVer)) { - if (typeof other === "string" && other === this.version) { - return 0; - } - other = new _SemVer(other, this.options); - } - if (other.version === this.version) { - return 0; - } - return this.compareMain(other) || this.comparePre(other); - } - compareMain(other) { - if (!(other instanceof _SemVer)) { - other = new _SemVer(other, this.options); - } - if (this.major < other.major) { - return -1; - } - if (this.major > other.major) { - return 1; - } - if (this.minor < other.minor) { - return -1; - } - if (this.minor > other.minor) { - return 1; - } - if (this.patch < other.patch) { - return -1; - } - if (this.patch > other.patch) { - return 1; - } - return 0; - } - comparePre(other) { - if (!(other instanceof _SemVer)) { - other = new _SemVer(other, this.options); - } - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - let i = 0; - do { - const a = this.prerelease[i]; - const b = other.prerelease[i]; - debug("prerelease compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - compareBuild(other) { - if (!(other instanceof _SemVer)) { - other = new _SemVer(other, this.options); - } - let i = 0; - do { - const a = this.build[i]; - const b = other.build[i]; - debug("build compare", i, a, b); - if (a === void 0 && b === void 0) { - return 0; - } else if (b === void 0) { - return 1; - } else if (a === void 0) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); - } - // preminor will bump the version up to the next minor release, and immediately - // down to pre-release. premajor and prepatch work the same way. - inc(release, identifier, identifierBase) { - if (release.startsWith("pre")) { - if (!identifier && identifierBase === false) { - throw new Error("invalid increment argument: identifier is empty"); - } - if (identifier) { - const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); - if (!match || match[1] !== identifier) { - throw new Error(`invalid identifier: ${identifier}`); - } - } - } - switch (release) { - case "premajor": - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc("pre", identifier, identifierBase); - break; - case "preminor": - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc("pre", identifier, identifierBase); - break; - case "prepatch": - this.prerelease.length = 0; - this.inc("patch", identifier, identifierBase); - this.inc("pre", identifier, identifierBase); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - case "prerelease": - if (this.prerelease.length === 0) { - this.inc("patch", identifier, identifierBase); - } - this.inc("pre", identifier, identifierBase); - break; - case "release": - if (this.prerelease.length === 0) { - throw new Error(`version ${this.raw} is not a prerelease`); - } - this.prerelease.length = 0; - break; - case "major": - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case "minor": - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - this.patch = 0; - this.prerelease = []; - break; - case "patch": - if (this.prerelease.length === 0) { - this.patch++; - } - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. - case "pre": { - const base = Number(identifierBase) ? 1 : 0; - if (this.prerelease.length === 0) { - this.prerelease = [base]; - } else { - let i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === "number") { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) { - if (identifier === this.prerelease.join(".") && identifierBase === false) { - throw new Error("invalid increment argument: identifier already exists"); - } - this.prerelease.push(base); - } - } - if (identifier) { - let prerelease = [identifier, base]; - if (identifierBase === false) { - prerelease = [identifier]; - } - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { - this.prerelease = prerelease; - } - } else { - this.prerelease = prerelease; - } - } - break; - } - default: - throw new Error(`invalid increment argument: ${release}`); - } - this.raw = this.format(); - if (this.build.length) { - this.raw += `+${this.build.join(".")}`; - } - return this; - } - }; - module.exports = SemVer; - } -}); - -// node_modules/semver/functions/parse.js -var require_parse = __commonJS({ - "node_modules/semver/functions/parse.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var parse = (version, options, throwErrors = false) => { - if (version instanceof SemVer) { - return version; - } - try { - return new SemVer(version, options); - } catch (er) { - if (!throwErrors) { - return null; - } - throw er; - } - }; - module.exports = parse; - } -}); - -// node_modules/semver/functions/valid.js -var require_valid = __commonJS({ - "node_modules/semver/functions/valid.js"(exports, module) { - "use strict"; - var parse = require_parse(); - var valid = (version, options) => { - const v = parse(version, options); - return v ? v.version : null; - }; - module.exports = valid; - } -}); - -// node_modules/semver/functions/clean.js -var require_clean = __commonJS({ - "node_modules/semver/functions/clean.js"(exports, module) { - "use strict"; - var parse = require_parse(); - var clean = (version, options) => { - const s = parse(version.trim().replace(/^[=v]+/, ""), options); - return s ? s.version : null; - }; - module.exports = clean; - } -}); - -// node_modules/semver/functions/inc.js -var require_inc = __commonJS({ - "node_modules/semver/functions/inc.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var inc = (version, release, options, identifier, identifierBase) => { - if (typeof options === "string") { - identifierBase = identifier; - identifier = options; - options = void 0; - } - try { - return new SemVer( - version instanceof SemVer ? version.version : version, - options - ).inc(release, identifier, identifierBase).version; - } catch (er) { - return null; - } - }; - module.exports = inc; - } -}); - -// node_modules/semver/functions/diff.js -var require_diff = __commonJS({ - "node_modules/semver/functions/diff.js"(exports, module) { - "use strict"; - var parse = require_parse(); - var diff = (version1, version2) => { - const v1 = parse(version1, null, true); - const v2 = parse(version2, null, true); - const comparison = v1.compare(v2); - if (comparison === 0) { - return null; - } - const v1Higher = comparison > 0; - const highVersion = v1Higher ? v1 : v2; - const lowVersion = v1Higher ? v2 : v1; - const highHasPre = !!highVersion.prerelease.length; - const lowHasPre = !!lowVersion.prerelease.length; - if (lowHasPre && !highHasPre) { - if (!lowVersion.patch && !lowVersion.minor) { - return "major"; - } - if (lowVersion.compareMain(highVersion) === 0) { - if (lowVersion.minor && !lowVersion.patch) { - return "minor"; - } - return "patch"; - } - } - const prefix = highHasPre ? "pre" : ""; - if (v1.major !== v2.major) { - return prefix + "major"; - } - if (v1.minor !== v2.minor) { - return prefix + "minor"; - } - if (v1.patch !== v2.patch) { - return prefix + "patch"; - } - return "prerelease"; - }; - module.exports = diff; - } -}); - -// node_modules/semver/functions/major.js -var require_major = __commonJS({ - "node_modules/semver/functions/major.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var major = (a, loose) => new SemVer(a, loose).major; - module.exports = major; - } -}); - -// node_modules/semver/functions/minor.js -var require_minor = __commonJS({ - "node_modules/semver/functions/minor.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var minor = (a, loose) => new SemVer(a, loose).minor; - module.exports = minor; - } -}); - -// node_modules/semver/functions/patch.js -var require_patch = __commonJS({ - "node_modules/semver/functions/patch.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var patch = (a, loose) => new SemVer(a, loose).patch; - module.exports = patch; - } -}); - -// node_modules/semver/functions/prerelease.js -var require_prerelease = __commonJS({ - "node_modules/semver/functions/prerelease.js"(exports, module) { - "use strict"; - var parse = require_parse(); - var prerelease = (version, options) => { - const parsed = parse(version, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; - }; - module.exports = prerelease; - } -}); - -// node_modules/semver/functions/compare.js -var require_compare = __commonJS({ - "node_modules/semver/functions/compare.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); - module.exports = compare; - } -}); - -// node_modules/semver/functions/rcompare.js -var require_rcompare = __commonJS({ - "node_modules/semver/functions/rcompare.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var rcompare = (a, b, loose) => compare(b, a, loose); - module.exports = rcompare; - } -}); - -// node_modules/semver/functions/compare-loose.js -var require_compare_loose = __commonJS({ - "node_modules/semver/functions/compare-loose.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var compareLoose = (a, b) => compare(a, b, true); - module.exports = compareLoose; - } -}); - -// node_modules/semver/functions/compare-build.js -var require_compare_build = __commonJS({ - "node_modules/semver/functions/compare-build.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var compareBuild = (a, b, loose) => { - const versionA = new SemVer(a, loose); - const versionB = new SemVer(b, loose); - return versionA.compare(versionB) || versionA.compareBuild(versionB); - }; - module.exports = compareBuild; - } -}); - -// node_modules/semver/functions/sort.js -var require_sort = __commonJS({ - "node_modules/semver/functions/sort.js"(exports, module) { - "use strict"; - var compareBuild = require_compare_build(); - var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)); - module.exports = sort; - } -}); - -// node_modules/semver/functions/rsort.js -var require_rsort = __commonJS({ - "node_modules/semver/functions/rsort.js"(exports, module) { - "use strict"; - var compareBuild = require_compare_build(); - var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)); - module.exports = rsort; - } -}); - -// node_modules/semver/functions/gt.js -var require_gt = __commonJS({ - "node_modules/semver/functions/gt.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var gt = (a, b, loose) => compare(a, b, loose) > 0; - module.exports = gt; - } -}); - -// node_modules/semver/functions/lt.js -var require_lt = __commonJS({ - "node_modules/semver/functions/lt.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var lt = (a, b, loose) => compare(a, b, loose) < 0; - module.exports = lt; - } -}); - -// node_modules/semver/functions/eq.js -var require_eq = __commonJS({ - "node_modules/semver/functions/eq.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var eq = (a, b, loose) => compare(a, b, loose) === 0; - module.exports = eq; - } -}); - -// node_modules/semver/functions/neq.js -var require_neq = __commonJS({ - "node_modules/semver/functions/neq.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var neq = (a, b, loose) => compare(a, b, loose) !== 0; - module.exports = neq; - } -}); - -// node_modules/semver/functions/gte.js -var require_gte = __commonJS({ - "node_modules/semver/functions/gte.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var gte = (a, b, loose) => compare(a, b, loose) >= 0; - module.exports = gte; - } -}); - -// node_modules/semver/functions/lte.js -var require_lte = __commonJS({ - "node_modules/semver/functions/lte.js"(exports, module) { - "use strict"; - var compare = require_compare(); - var lte = (a, b, loose) => compare(a, b, loose) <= 0; - module.exports = lte; - } -}); - -// node_modules/semver/functions/cmp.js -var require_cmp = __commonJS({ - "node_modules/semver/functions/cmp.js"(exports, module) { - "use strict"; - var eq = require_eq(); - var neq = require_neq(); - var gt = require_gt(); - var gte = require_gte(); - var lt = require_lt(); - var lte = require_lte(); - var cmp = (a, op, b, loose) => { - switch (op) { - case "===": - if (typeof a === "object") { - a = a.version; - } - if (typeof b === "object") { - b = b.version; - } - return a === b; - case "!==": - if (typeof a === "object") { - a = a.version; - } - if (typeof b === "object") { - b = b.version; - } - return a !== b; - case "": - case "=": - case "==": - return eq(a, b, loose); - case "!=": - return neq(a, b, loose); - case ">": - return gt(a, b, loose); - case ">=": - return gte(a, b, loose); - case "<": - return lt(a, b, loose); - case "<=": - return lte(a, b, loose); - default: - throw new TypeError(`Invalid operator: ${op}`); - } - }; - module.exports = cmp; - } -}); - -// node_modules/semver/functions/coerce.js -var require_coerce = __commonJS({ - "node_modules/semver/functions/coerce.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var parse = require_parse(); - var { safeRe: re, t } = require_re(); - var coerce = (version, options) => { - if (version instanceof SemVer) { - return version; - } - if (typeof version === "number") { - version = String(version); - } - if (typeof version !== "string") { - return null; - } - options = options || {}; - let match = null; - if (!options.rtl) { - match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); - } else { - const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]; - let next; - while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; - } - coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length; - } - coerceRtlRegex.lastIndex = -1; - } - if (match === null) { - return null; - } - const major = match[2]; - const minor = match[3] || "0"; - const patch = match[4] || "0"; - const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ""; - const build = options.includePrerelease && match[6] ? `+${match[6]}` : ""; - return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options); - }; - module.exports = coerce; - } -}); - -// node_modules/semver/internal/lrucache.js -var require_lrucache = __commonJS({ - "node_modules/semver/internal/lrucache.js"(exports, module) { - "use strict"; - var LRUCache = class { - constructor() { - this.max = 1e3; - this.map = /* @__PURE__ */ new Map(); - } - get(key) { - const value = this.map.get(key); - if (value === void 0) { - return void 0; - } else { - this.map.delete(key); - this.map.set(key, value); - return value; - } - } - delete(key) { - return this.map.delete(key); - } - set(key, value) { - const deleted = this.delete(key); - if (!deleted && value !== void 0) { - if (this.map.size >= this.max) { - const firstKey = this.map.keys().next().value; - this.delete(firstKey); - } - this.map.set(key, value); - } - return this; - } - }; - module.exports = LRUCache; - } -}); - -// node_modules/semver/classes/range.js -var require_range = __commonJS({ - "node_modules/semver/classes/range.js"(exports, module) { - "use strict"; - var SPACE_CHARACTERS = /\s+/g; - var Range = class _Range { - constructor(range, options) { - options = parseOptions(options); - if (range instanceof _Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new _Range(range.raw, options); - } - } - if (range instanceof Comparator) { - this.raw = range.value; - this.set = [[range]]; - this.formatted = void 0; - return this; - } - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; - this.raw = range.trim().replace(SPACE_CHARACTERS, " "); - this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); - if (!this.set.length) { - throw new TypeError(`Invalid SemVer Range: ${this.raw}`); - } - if (this.set.length > 1) { - const first = this.set[0]; - this.set = this.set.filter((c) => !isNullSet(c[0])); - if (this.set.length === 0) { - this.set = [first]; - } else if (this.set.length > 1) { - for (const c of this.set) { - if (c.length === 1 && isAny(c[0])) { - this.set = [c]; - break; - } - } - } - } - this.formatted = void 0; - } - get range() { - if (this.formatted === void 0) { - this.formatted = ""; - for (let i = 0; i < this.set.length; i++) { - if (i > 0) { - this.formatted += "||"; - } - const comps = this.set[i]; - for (let k = 0; k < comps.length; k++) { - if (k > 0) { - this.formatted += " "; - } - this.formatted += comps[k].toString().trim(); - } - } - } - return this.formatted; - } - format() { - return this.range; - } - toString() { - return this.range; - } - parseRange(range) { - const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); - const memoKey = memoOpts + ":" + range; - const cached = cache.get(memoKey); - if (cached) { - return cached; - } - const loose = this.options.loose; - const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); - debug("hyphen replace", range); - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug("comparator trim", range); - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); - debug("tilde trim", range); - range = range.replace(re[t.CARETTRIM], caretTrimReplace); - debug("caret trim", range); - let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); - if (loose) { - rangeList = rangeList.filter((comp) => { - debug("loose invalid filter", comp, this.options); - return !!comp.match(re[t.COMPARATORLOOSE]); - }); - } - debug("range list", rangeList); - const rangeMap = /* @__PURE__ */ new Map(); - const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); - for (const comp of comparators) { - if (isNullSet(comp)) { - return [comp]; - } - rangeMap.set(comp.value, comp); - } - if (rangeMap.size > 1 && rangeMap.has("")) { - rangeMap.delete(""); - } - const result = [...rangeMap.values()]; - cache.set(memoKey, result); - return result; - } - intersects(range, options) { - if (!(range instanceof _Range)) { - throw new TypeError("a Range is required"); - } - return this.set.some((thisComparators) => { - return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { - return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { - return rangeComparators.every((rangeComparator) => { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); - } - // if ANY of the sets match ALL of its comparators, then pass - test(version) { - if (!version) { - return false; - } - if (typeof version === "string") { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - for (let i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version, this.options)) { - return true; - } - } - return false; - } - }; - module.exports = Range; - var LRU = require_lrucache(); - var cache = new LRU(); - var parseOptions = require_parse_options(); - var Comparator = require_comparator(); - var debug = require_debug(); - var SemVer = require_semver(); - var { - safeRe: re, - t, - comparatorTrimReplace, - tildeTrimReplace, - caretTrimReplace - } = require_re(); - var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants(); - var isNullSet = (c) => c.value === "<0.0.0-0"; - var isAny = (c) => c.value === ""; - var isSatisfiable = (comparators, options) => { - let result = true; - const remainingComparators = comparators.slice(); - let testComparator = remainingComparators.pop(); - while (result && remainingComparators.length) { - result = remainingComparators.every((otherComparator) => { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); - } - return result; - }; - var parseComparator = (comp, options) => { - comp = comp.replace(re[t.BUILD], ""); - debug("comp", comp, options); - comp = replaceCarets(comp, options); - debug("caret", comp); - comp = replaceTildes(comp, options); - debug("tildes", comp); - comp = replaceXRanges(comp, options); - debug("xrange", comp); - comp = replaceStars(comp, options); - debug("stars", comp); - return comp; - }; - var isX = (id) => !id || id.toLowerCase() === "x" || id === "*"; - var replaceTildes = (comp, options) => { - return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" "); - }; - var replaceTilde = (comp, options) => { - const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, (_, M, m, p, pr) => { - debug("tilde", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0 <${+M + 1}.0.0-0`; - } else if (isX(p)) { - ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; - } else if (pr) { - debug("replaceTilde pr", pr); - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; - } - debug("tilde return", ret); - return ret; - }); - }; - var replaceCarets = (comp, options) => { - return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" "); - }; - var replaceCaret = (comp, options) => { - debug("caret", comp, options); - const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - const z = options.includePrerelease ? "-0" : ""; - return comp.replace(r, (_, M, m, p, pr) => { - debug("caret", comp, _, M, m, p, pr); - let ret; - if (isX(M)) { - ret = ""; - } else if (isX(m)) { - ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; - } else if (isX(p)) { - if (M === "0") { - ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; - } else { - ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; - } - } else if (pr) { - debug("replaceCaret pr", pr); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; - } - } else { - debug("no pr"); - if (M === "0") { - if (m === "0") { - ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; - } else { - ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; - } - } else { - ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; - } - } - debug("caret return", ret); - return ret; - }); - }; - var replaceXRanges = (comp, options) => { - debug("replaceXRanges", comp, options); - return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" "); - }; - var replaceXRange = (comp, options) => { - comp = comp.trim(); - const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; - return comp.replace(r, (ret, gtlt, M, m, p, pr) => { - debug("xRange", comp, ret, gtlt, M, m, p, pr); - const xM = isX(M); - const xm = xM || isX(m); - const xp = xm || isX(p); - const anyX = xp; - if (gtlt === "=" && anyX) { - gtlt = ""; - } - pr = options.includePrerelease ? "-0" : ""; - if (xM) { - if (gtlt === ">" || gtlt === "<") { - ret = "<0.0.0-0"; - } else { - ret = "*"; - } - } else if (gtlt && anyX) { - if (xm) { - m = 0; - } - p = 0; - if (gtlt === ">") { - gtlt = ">="; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === "<=") { - gtlt = "<"; - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - if (gtlt === "<") { - pr = "-0"; - } - ret = `${gtlt + M}.${m}.${p}${pr}`; - } else if (xm) { - ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; - } else if (xp) { - ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; - } - debug("xRange return", ret); - return ret; - }); - }; - var replaceStars = (comp, options) => { - debug("replaceStars", comp, options); - return comp.trim().replace(re[t.STAR], ""); - }; - var replaceGTE0 = (comp, options) => { - debug("replaceGTE0", comp, options); - return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); - }; - var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => { - if (isX(fM)) { - from = ""; - } else if (isX(fm)) { - from = `>=${fM}.0.0${incPr ? "-0" : ""}`; - } else if (isX(fp)) { - from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; - } else if (fpr) { - from = `>=${from}`; - } else { - from = `>=${from}${incPr ? "-0" : ""}`; - } - if (isX(tM)) { - to = ""; - } else if (isX(tm)) { - to = `<${+tM + 1}.0.0-0`; - } else if (isX(tp)) { - to = `<${tM}.${+tm + 1}.0-0`; - } else if (tpr) { - to = `<=${tM}.${tm}.${tp}-${tpr}`; - } else if (incPr) { - to = `<${tM}.${tm}.${+tp + 1}-0`; - } else { - to = `<=${to}`; - } - return `${from} ${to}`.trim(); - }; - var testSet = (set, version, options) => { - for (let i = 0; i < set.length; i++) { - if (!set[i].test(version)) { - return false; - } - } - if (version.prerelease.length && !options.includePrerelease) { - for (let i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === Comparator.ANY) { - continue; - } - if (set[i].semver.prerelease.length > 0) { - const allowed = set[i].semver; - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } - return false; - } - return true; - }; - } -}); - -// node_modules/semver/classes/comparator.js -var require_comparator = __commonJS({ - "node_modules/semver/classes/comparator.js"(exports, module) { - "use strict"; - var ANY = Symbol("SemVer ANY"); - var Comparator = class _Comparator { - static get ANY() { - return ANY; - } - constructor(comp, options) { - options = parseOptions(options); - if (comp instanceof _Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - comp = comp.trim().split(/\s+/).join(" "); - debug("comparator", comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - if (this.semver === ANY) { - this.value = ""; - } else { - this.value = this.operator + this.semver.version; - } - debug("comp", this); - } - parse(comp) { - const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - const m = comp.match(r); - if (!m) { - throw new TypeError(`Invalid comparator: ${comp}`); - } - this.operator = m[1] !== void 0 ? m[1] : ""; - if (this.operator === "=") { - this.operator = ""; - } - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } - } - toString() { - return this.value; - } - test(version) { - debug("Comparator.test", version, this.options.loose); - if (this.semver === ANY || version === ANY) { - return true; - } - if (typeof version === "string") { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - return cmp(version, this.operator, this.semver, this.options); - } - intersects(comp, options) { - if (!(comp instanceof _Comparator)) { - throw new TypeError("a Comparator is required"); - } - if (this.operator === "") { - if (this.value === "") { - return true; - } - return new Range(comp.value, options).test(this.value); - } else if (comp.operator === "") { - if (comp.value === "") { - return true; - } - return new Range(this.value, options).test(comp.semver); - } - options = parseOptions(options); - if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) { - return false; - } - if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) { - return false; - } - if (this.operator.startsWith(">") && comp.operator.startsWith(">")) { - return true; - } - if (this.operator.startsWith("<") && comp.operator.startsWith("<")) { - return true; - } - if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) { - return true; - } - if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) { - return true; - } - if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) { - return true; - } - return false; - } - }; - module.exports = Comparator; - var parseOptions = require_parse_options(); - var { safeRe: re, t } = require_re(); - var cmp = require_cmp(); - var debug = require_debug(); - var SemVer = require_semver(); - var Range = require_range(); - } -}); - -// node_modules/semver/functions/satisfies.js -var require_satisfies = __commonJS({ - "node_modules/semver/functions/satisfies.js"(exports, module) { - "use strict"; - var Range = require_range(); - var satisfies = (version, range, options) => { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - return range.test(version); - }; - module.exports = satisfies; - } -}); - -// node_modules/semver/ranges/to-comparators.js -var require_to_comparators = __commonJS({ - "node_modules/semver/ranges/to-comparators.js"(exports, module) { - "use strict"; - var Range = require_range(); - var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); - module.exports = toComparators; - } -}); - -// node_modules/semver/ranges/max-satisfying.js -var require_max_satisfying = __commonJS({ - "node_modules/semver/ranges/max-satisfying.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var Range = require_range(); - var maxSatisfying = (versions, range, options) => { - let max = null; - let maxSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!max || maxSV.compare(v) === -1) { - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; - }; - module.exports = maxSatisfying; - } -}); - -// node_modules/semver/ranges/min-satisfying.js -var require_min_satisfying = __commonJS({ - "node_modules/semver/ranges/min-satisfying.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var Range = require_range(); - var minSatisfying = (versions, range, options) => { - let min = null; - let minSV = null; - let rangeObj = null; - try { - rangeObj = new Range(range, options); - } catch (er) { - return null; - } - versions.forEach((v) => { - if (rangeObj.test(v)) { - if (!min || minSV.compare(v) === 1) { - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; - }; - module.exports = minSatisfying; - } -}); - -// node_modules/semver/ranges/min-version.js -var require_min_version = __commonJS({ - "node_modules/semver/ranges/min-version.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var Range = require_range(); - var gt = require_gt(); - var minVersion = (range, loose) => { - range = new Range(range, loose); - let minver = new SemVer("0.0.0"); - if (range.test(minver)) { - return minver; - } - minver = new SemVer("0.0.0-0"); - if (range.test(minver)) { - return minver; - } - minver = null; - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let setMin = null; - comparators.forEach((comparator) => { - const compver = new SemVer(comparator.semver.version); - switch (comparator.operator) { - case ">": - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - compver.raw = compver.format(); - /* fallthrough */ - case "": - case ">=": - if (!setMin || gt(compver, setMin)) { - setMin = compver; - } - break; - case "<": - case "<=": - break; - /* istanbul ignore next */ - default: - throw new Error(`Unexpected operation: ${comparator.operator}`); - } - }); - if (setMin && (!minver || gt(minver, setMin))) { - minver = setMin; - } - } - if (minver && range.test(minver)) { - return minver; - } - return null; - }; - module.exports = minVersion; - } -}); - -// node_modules/semver/ranges/valid.js -var require_valid2 = __commonJS({ - "node_modules/semver/ranges/valid.js"(exports, module) { - "use strict"; - var Range = require_range(); - var validRange = (range, options) => { - try { - return new Range(range, options).range || "*"; - } catch (er) { - return null; - } - }; - module.exports = validRange; - } -}); - -// node_modules/semver/ranges/outside.js -var require_outside = __commonJS({ - "node_modules/semver/ranges/outside.js"(exports, module) { - "use strict"; - var SemVer = require_semver(); - var Comparator = require_comparator(); - var { ANY } = Comparator; - var Range = require_range(); - var satisfies = require_satisfies(); - var gt = require_gt(); - var lt = require_lt(); - var lte = require_lte(); - var gte = require_gte(); - var outside = (version, range, hilo, options) => { - version = new SemVer(version, options); - range = new Range(range, options); - let gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case ">": - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = ">"; - ecomp = ">="; - break; - case "<": - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = "<"; - ecomp = "<="; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - if (satisfies(version, range, options)) { - return false; - } - for (let i = 0; i < range.set.length; ++i) { - const comparators = range.set[i]; - let high = null; - let low = null; - comparators.forEach((comparator) => { - if (comparator.semver === ANY) { - comparator = new Comparator(">=0.0.0"); - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); - if (high.operator === comp || high.operator === ecomp) { - return false; - } - if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; - }; - module.exports = outside; - } -}); - -// node_modules/semver/ranges/gtr.js -var require_gtr = __commonJS({ - "node_modules/semver/ranges/gtr.js"(exports, module) { - "use strict"; - var outside = require_outside(); - var gtr = (version, range, options) => outside(version, range, ">", options); - module.exports = gtr; - } -}); - -// node_modules/semver/ranges/ltr.js -var require_ltr = __commonJS({ - "node_modules/semver/ranges/ltr.js"(exports, module) { - "use strict"; - var outside = require_outside(); - var ltr = (version, range, options) => outside(version, range, "<", options); - module.exports = ltr; - } -}); - -// node_modules/semver/ranges/intersects.js -var require_intersects = __commonJS({ - "node_modules/semver/ranges/intersects.js"(exports, module) { - "use strict"; - var Range = require_range(); - var intersects = (r1, r2, options) => { - r1 = new Range(r1, options); - r2 = new Range(r2, options); - return r1.intersects(r2, options); - }; - module.exports = intersects; - } -}); - -// node_modules/semver/ranges/simplify.js -var require_simplify = __commonJS({ - "node_modules/semver/ranges/simplify.js"(exports, module) { - "use strict"; - var satisfies = require_satisfies(); - var compare = require_compare(); - module.exports = (versions, range, options) => { - const set = []; - let first = null; - let prev = null; - const v = versions.sort((a, b) => compare(a, b, options)); - for (const version of v) { - const included = satisfies(version, range, options); - if (included) { - prev = version; - if (!first) { - first = version; - } - } else { - if (prev) { - set.push([first, prev]); - } - prev = null; - first = null; - } - } - if (first) { - set.push([first, null]); - } - const ranges = []; - for (const [min, max] of set) { - if (min === max) { - ranges.push(min); - } else if (!max && min === v[0]) { - ranges.push("*"); - } else if (!max) { - ranges.push(`>=${min}`); - } else if (min === v[0]) { - ranges.push(`<=${max}`); - } else { - ranges.push(`${min} - ${max}`); - } - } - const simplified = ranges.join(" || "); - const original = typeof range.raw === "string" ? range.raw : String(range); - return simplified.length < original.length ? simplified : range; - }; - } -}); - -// node_modules/semver/ranges/subset.js -var require_subset = __commonJS({ - "node_modules/semver/ranges/subset.js"(exports, module) { - "use strict"; - var Range = require_range(); - var Comparator = require_comparator(); - var { ANY } = Comparator; - var satisfies = require_satisfies(); - var compare = require_compare(); - var subset = (sub, dom, options = {}) => { - if (sub === dom) { - return true; - } - sub = new Range(sub, options); - dom = new Range(dom, options); - let sawNonNull = false; - OUTER: for (const simpleSub of sub.set) { - for (const simpleDom of dom.set) { - const isSub = simpleSubset(simpleSub, simpleDom, options); - sawNonNull = sawNonNull || isSub !== null; - if (isSub) { - continue OUTER; - } - } - if (sawNonNull) { - return false; - } - } - return true; - }; - var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")]; - var minimumVersion = [new Comparator(">=0.0.0")]; - var simpleSubset = (sub, dom, options) => { - if (sub === dom) { - return true; - } - if (sub.length === 1 && sub[0].semver === ANY) { - if (dom.length === 1 && dom[0].semver === ANY) { - return true; - } else if (options.includePrerelease) { - sub = minimumVersionWithPreRelease; - } else { - sub = minimumVersion; - } - } - if (dom.length === 1 && dom[0].semver === ANY) { - if (options.includePrerelease) { - return true; - } else { - dom = minimumVersion; - } - } - const eqSet = /* @__PURE__ */ new Set(); - let gt, lt; - for (const c of sub) { - if (c.operator === ">" || c.operator === ">=") { - gt = higherGT(gt, c, options); - } else if (c.operator === "<" || c.operator === "<=") { - lt = lowerLT(lt, c, options); - } else { - eqSet.add(c.semver); - } - } - if (eqSet.size > 1) { - return null; - } - let gtltComp; - if (gt && lt) { - gtltComp = compare(gt.semver, lt.semver, options); - if (gtltComp > 0) { - return null; - } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) { - return null; - } - } - for (const eq of eqSet) { - if (gt && !satisfies(eq, String(gt), options)) { - return null; - } - if (lt && !satisfies(eq, String(lt), options)) { - return null; - } - for (const c of dom) { - if (!satisfies(eq, String(c), options)) { - return false; - } - } - return true; - } - let higher, lower; - let hasDomLT, hasDomGT; - let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; - let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false; - if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { - needDomLTPre = false; - } - for (const c of dom) { - hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">="; - hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<="; - if (gt) { - if (needDomGTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { - needDomGTPre = false; - } - } - if (c.operator === ">" || c.operator === ">=") { - higher = higherGT(gt, c, options); - if (higher === c && higher !== gt) { - return false; - } - } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) { - return false; - } - } - if (lt) { - if (needDomLTPre) { - if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) { - needDomLTPre = false; - } - } - if (c.operator === "<" || c.operator === "<=") { - lower = lowerLT(lt, c, options); - if (lower === c && lower !== lt) { - return false; - } - } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) { - return false; - } - } - if (!c.operator && (lt || gt) && gtltComp !== 0) { - return false; - } - } - if (gt && hasDomLT && !lt && gtltComp !== 0) { - return false; - } - if (lt && hasDomGT && !gt && gtltComp !== 0) { - return false; - } - if (needDomGTPre || needDomLTPre) { - return false; - } - return true; - }; - var higherGT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a; - }; - var lowerLT = (a, b, options) => { - if (!a) { - return b; - } - const comp = compare(a.semver, b.semver, options); - return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a; - }; - module.exports = subset; - } -}); - -// node_modules/semver/index.js -var require_semver2 = __commonJS({ - "node_modules/semver/index.js"(exports, module) { - "use strict"; - var internalRe = require_re(); - var constants = require_constants(); - var SemVer = require_semver(); - var identifiers = require_identifiers(); - var parse = require_parse(); - var valid = require_valid(); - var clean = require_clean(); - var inc = require_inc(); - var diff = require_diff(); - var major = require_major(); - var minor = require_minor(); - var patch = require_patch(); - var prerelease = require_prerelease(); - var compare = require_compare(); - var rcompare = require_rcompare(); - var compareLoose = require_compare_loose(); - var compareBuild = require_compare_build(); - var sort = require_sort(); - var rsort = require_rsort(); - var gt = require_gt(); - var lt = require_lt(); - var eq = require_eq(); - var neq = require_neq(); - var gte = require_gte(); - var lte = require_lte(); - var cmp = require_cmp(); - var coerce = require_coerce(); - var Comparator = require_comparator(); - var Range = require_range(); - var satisfies = require_satisfies(); - var toComparators = require_to_comparators(); - var maxSatisfying = require_max_satisfying(); - var minSatisfying = require_min_satisfying(); - var minVersion = require_min_version(); - var validRange = require_valid2(); - var outside = require_outside(); - var gtr = require_gtr(); - var ltr = require_ltr(); - var intersects = require_intersects(); - var simplifyRange = require_simplify(); - var subset = require_subset(); - module.exports = { - parse, - valid, - clean, - inc, - diff, - major, - minor, - patch, - prerelease, - compare, - rcompare, - compareLoose, - compareBuild, - sort, - rsort, - gt, - lt, - eq, - neq, - gte, - lte, - cmp, - coerce, - Comparator, - Range, - satisfies, - toComparators, - maxSatisfying, - minSatisfying, - minVersion, - validRange, - outside, - gtr, - ltr, - intersects, - simplifyRange, - subset, - SemVer, - re: internalRe.re, - src: internalRe.src, - tokens: internalRe.t, - SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, - RELEASE_TYPES: constants.RELEASE_TYPES, - compareIdentifiers: identifiers.compareIdentifiers, - rcompareIdentifiers: identifiers.rcompareIdentifiers - }; - } -}); - -export { - require_semver2 as require_semver -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-YUXQHOYO.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-YUXQHOYO.js deleted file mode 100644 index 6b67e68..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/esm-chunks/chunk-YUXQHOYO.js +++ /dev/null @@ -1,5530 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - __commonJS, - __require -} from "./chunk-6BT4RYQJ.js"; - -// node_modules/fast-glob/out/utils/array.js -var require_array = __commonJS({ - "node_modules/fast-glob/out/utils/array.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.splitWhen = exports.flatten = void 0; - function flatten(items) { - return items.reduce((collection, item) => [].concat(collection, item), []); - } - exports.flatten = flatten; - function splitWhen(items, predicate) { - const result = [[]]; - let groupIndex = 0; - for (const item of items) { - if (predicate(item)) { - groupIndex++; - result[groupIndex] = []; - } else { - result[groupIndex].push(item); - } - } - return result; - } - exports.splitWhen = splitWhen; - } -}); - -// node_modules/fast-glob/out/utils/errno.js -var require_errno = __commonJS({ - "node_modules/fast-glob/out/utils/errno.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isEnoentCodeError = void 0; - function isEnoentCodeError(error) { - return error.code === "ENOENT"; - } - exports.isEnoentCodeError = isEnoentCodeError; - } -}); - -// node_modules/fast-glob/out/utils/fs.js -var require_fs = __commonJS({ - "node_modules/fast-glob/out/utils/fs.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createDirentFromStats = void 0; - var DirentFromStats = class { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - }; - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - exports.createDirentFromStats = createDirentFromStats; - } -}); - -// node_modules/fast-glob/out/utils/path.js -var require_path = __commonJS({ - "node_modules/fast-glob/out/utils/path.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.convertPosixPathToPattern = exports.convertWindowsPathToPattern = exports.convertPathToPattern = exports.escapePosixPath = exports.escapeWindowsPath = exports.escape = exports.removeLeadingDotSegment = exports.makeAbsolute = exports.unixify = void 0; - var os = __require("os"); - var path = __require("path"); - var IS_WINDOWS_PLATFORM = os.platform() === "win32"; - var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; - var POSIX_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g; - var WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()[\]{}]|^!|[!+@](?=\())/g; - var DOS_DEVICE_PATH_RE = /^\\\\([.?])/; - var WINDOWS_BACKSLASHES_RE = /\\(?![!()+@[\]{}])/g; - function unixify(filepath) { - return filepath.replace(/\\/g, "/"); - } - exports.unixify = unixify; - function makeAbsolute(cwd, filepath) { - return path.resolve(cwd, filepath); - } - exports.makeAbsolute = makeAbsolute; - function removeLeadingDotSegment(entry) { - if (entry.charAt(0) === ".") { - const secondCharactery = entry.charAt(1); - if (secondCharactery === "/" || secondCharactery === "\\") { - return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); - } - } - return entry; - } - exports.removeLeadingDotSegment = removeLeadingDotSegment; - exports.escape = IS_WINDOWS_PLATFORM ? escapeWindowsPath : escapePosixPath; - function escapeWindowsPath(pattern) { - return pattern.replace(WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2"); - } - exports.escapeWindowsPath = escapeWindowsPath; - function escapePosixPath(pattern) { - return pattern.replace(POSIX_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2"); - } - exports.escapePosixPath = escapePosixPath; - exports.convertPathToPattern = IS_WINDOWS_PLATFORM ? convertWindowsPathToPattern : convertPosixPathToPattern; - function convertWindowsPathToPattern(filepath) { - return escapeWindowsPath(filepath).replace(DOS_DEVICE_PATH_RE, "//$1").replace(WINDOWS_BACKSLASHES_RE, "/"); - } - exports.convertWindowsPathToPattern = convertWindowsPathToPattern; - function convertPosixPathToPattern(filepath) { - return escapePosixPath(filepath); - } - exports.convertPosixPathToPattern = convertPosixPathToPattern; - } -}); - -// node_modules/is-extglob/index.js -var require_is_extglob = __commonJS({ - "node_modules/is-extglob/index.js"(exports, module) { - module.exports = function isExtglob(str) { - if (typeof str !== "string" || str === "") { - return false; - } - var match; - while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) { - if (match[2]) return true; - str = str.slice(match.index + match[0].length); - } - return false; - }; - } -}); - -// node_modules/is-glob/index.js -var require_is_glob = __commonJS({ - "node_modules/is-glob/index.js"(exports, module) { - var isExtglob = require_is_extglob(); - var chars = { "{": "}", "(": ")", "[": "]" }; - var strictCheck = function(str) { - if (str[0] === "!") { - return true; - } - var index = 0; - var pipeIndex = -2; - var closeSquareIndex = -2; - var closeCurlyIndex = -2; - var closeParenIndex = -2; - var backSlashIndex = -2; - while (index < str.length) { - if (str[index] === "*") { - return true; - } - if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) { - return true; - } - if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") { - if (closeSquareIndex < index) { - closeSquareIndex = str.indexOf("]", index); - } - if (closeSquareIndex > index) { - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { - return true; - } - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { - return true; - } - } - } - if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") { - closeCurlyIndex = str.indexOf("}", index); - if (closeCurlyIndex > index) { - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) { - return true; - } - } - } - if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") { - closeParenIndex = str.indexOf(")", index); - if (closeParenIndex > index) { - backSlashIndex = str.indexOf("\\", index); - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { - return true; - } - } - } - if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") { - if (pipeIndex < index) { - pipeIndex = str.indexOf("|", index); - } - if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") { - closeParenIndex = str.indexOf(")", pipeIndex); - if (closeParenIndex > pipeIndex) { - backSlashIndex = str.indexOf("\\", pipeIndex); - if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { - return true; - } - } - } - } - if (str[index] === "\\") { - var open = str[index + 1]; - index += 2; - var close = chars[open]; - if (close) { - var n = str.indexOf(close, index); - if (n !== -1) { - index = n + 1; - } - } - if (str[index] === "!") { - return true; - } - } else { - index++; - } - } - return false; - }; - var relaxedCheck = function(str) { - if (str[0] === "!") { - return true; - } - var index = 0; - while (index < str.length) { - if (/[*?{}()[\]]/.test(str[index])) { - return true; - } - if (str[index] === "\\") { - var open = str[index + 1]; - index += 2; - var close = chars[open]; - if (close) { - var n = str.indexOf(close, index); - if (n !== -1) { - index = n + 1; - } - } - if (str[index] === "!") { - return true; - } - } else { - index++; - } - } - return false; - }; - module.exports = function isGlob(str, options) { - if (typeof str !== "string" || str === "") { - return false; - } - if (isExtglob(str)) { - return true; - } - var check = strictCheck; - if (options && options.strict === false) { - check = relaxedCheck; - } - return check(str); - }; - } -}); - -// node_modules/fast-glob/node_modules/glob-parent/index.js -var require_glob_parent = __commonJS({ - "node_modules/fast-glob/node_modules/glob-parent/index.js"(exports, module) { - "use strict"; - var isGlob = require_is_glob(); - var pathPosixDirname = __require("path").posix.dirname; - var isWin32 = __require("os").platform() === "win32"; - var slash = "/"; - var backslash = /\\/g; - var enclosure = /[\{\[].*[\}\]]$/; - var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; - var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; - module.exports = function globParent(str, opts) { - var options = Object.assign({ flipBackslashes: true }, opts); - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { - str = str.replace(backslash, slash); - } - if (enclosure.test(str)) { - str += slash; - } - str += "a"; - do { - str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); - return str.replace(escaped, "$1"); - }; - } -}); - -// node_modules/braces/lib/utils.js -var require_utils = __commonJS({ - "node_modules/braces/lib/utils.js"(exports) { - "use strict"; - exports.isInteger = (num) => { - if (typeof num === "number") { - return Number.isInteger(num); - } - if (typeof num === "string" && num.trim() !== "") { - return Number.isInteger(Number(num)); - } - return false; - }; - exports.find = (node, type) => node.nodes.find((node2) => node2.type === type); - exports.exceedsLimit = (min, max, step = 1, limit) => { - if (limit === false) return false; - if (!exports.isInteger(min) || !exports.isInteger(max)) return false; - return (Number(max) - Number(min)) / Number(step) >= limit; - }; - exports.escapeNode = (block, n = 0, type) => { - const node = block.nodes[n]; - if (!node) return; - if (type && node.type === type || node.type === "open" || node.type === "close") { - if (node.escaped !== true) { - node.value = "\\" + node.value; - node.escaped = true; - } - } - }; - exports.encloseBrace = (node) => { - if (node.type !== "brace") return false; - if (node.commas >> 0 + node.ranges >> 0 === 0) { - node.invalid = true; - return true; - } - return false; - }; - exports.isInvalidBrace = (block) => { - if (block.type !== "brace") return false; - if (block.invalid === true || block.dollar) return true; - if (block.commas >> 0 + block.ranges >> 0 === 0) { - block.invalid = true; - return true; - } - if (block.open !== true || block.close !== true) { - block.invalid = true; - return true; - } - return false; - }; - exports.isOpenOrClose = (node) => { - if (node.type === "open" || node.type === "close") { - return true; - } - return node.open === true || node.close === true; - }; - exports.reduce = (nodes) => nodes.reduce((acc, node) => { - if (node.type === "text") acc.push(node.value); - if (node.type === "range") node.type = "text"; - return acc; - }, []); - exports.flatten = (...args) => { - const result = []; - const flat = (arr) => { - for (let i = 0; i < arr.length; i++) { - const ele = arr[i]; - if (Array.isArray(ele)) { - flat(ele); - continue; - } - if (ele !== void 0) { - result.push(ele); - } - } - return result; - }; - flat(args); - return result; - }; - } -}); - -// node_modules/braces/lib/stringify.js -var require_stringify = __commonJS({ - "node_modules/braces/lib/stringify.js"(exports, module) { - "use strict"; - var utils = require_utils(); - module.exports = (ast, options = {}) => { - const stringify = (node, parent = {}) => { - const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); - const invalidNode = node.invalid === true && options.escapeInvalid === true; - let output = ""; - if (node.value) { - if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { - return "\\" + node.value; - } - return node.value; - } - if (node.value) { - return node.value; - } - if (node.nodes) { - for (const child of node.nodes) { - output += stringify(child); - } - } - return output; - }; - return stringify(ast); - }; - } -}); - -// node_modules/is-number/index.js -var require_is_number = __commonJS({ - "node_modules/is-number/index.js"(exports, module) { - "use strict"; - module.exports = function(num) { - if (typeof num === "number") { - return num - num === 0; - } - if (typeof num === "string" && num.trim() !== "") { - return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); - } - return false; - }; - } -}); - -// node_modules/to-regex-range/index.js -var require_to_regex_range = __commonJS({ - "node_modules/to-regex-range/index.js"(exports, module) { - "use strict"; - var isNumber = require_is_number(); - var toRegexRange = (min, max, options) => { - if (isNumber(min) === false) { - throw new TypeError("toRegexRange: expected the first argument to be a number"); - } - if (max === void 0 || min === max) { - return String(min); - } - if (isNumber(max) === false) { - throw new TypeError("toRegexRange: expected the second argument to be a number."); - } - let opts = { relaxZeros: true, ...options }; - if (typeof opts.strictZeros === "boolean") { - opts.relaxZeros = opts.strictZeros === false; - } - let relax = String(opts.relaxZeros); - let shorthand = String(opts.shorthand); - let capture = String(opts.capture); - let wrap = String(opts.wrap); - let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap; - if (toRegexRange.cache.hasOwnProperty(cacheKey)) { - return toRegexRange.cache[cacheKey].result; - } - let a = Math.min(min, max); - let b = Math.max(min, max); - if (Math.abs(a - b) === 1) { - let result = min + "|" + max; - if (opts.capture) { - return `(${result})`; - } - if (opts.wrap === false) { - return result; - } - return `(?:${result})`; - } - let isPadded = hasPadding(min) || hasPadding(max); - let state = { min, max, a, b }; - let positives = []; - let negatives = []; - if (isPadded) { - state.isPadded = isPadded; - state.maxLen = String(state.max).length; - } - if (a < 0) { - let newMin = b < 0 ? Math.abs(b) : 1; - negatives = splitToPatterns(newMin, Math.abs(a), state, opts); - a = state.a = 0; - } - if (b >= 0) { - positives = splitToPatterns(a, b, state, opts); - } - state.negatives = negatives; - state.positives = positives; - state.result = collatePatterns(negatives, positives, opts); - if (opts.capture === true) { - state.result = `(${state.result})`; - } else if (opts.wrap !== false && positives.length + negatives.length > 1) { - state.result = `(?:${state.result})`; - } - toRegexRange.cache[cacheKey] = state; - return state.result; - }; - function collatePatterns(neg, pos, options) { - let onlyNegative = filterPatterns(neg, pos, "-", false, options) || []; - let onlyPositive = filterPatterns(pos, neg, "", false, options) || []; - let intersected = filterPatterns(neg, pos, "-?", true, options) || []; - let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); - return subpatterns.join("|"); - } - function splitToRanges(min, max) { - let nines = 1; - let zeros = 1; - let stop = countNines(min, nines); - let stops = /* @__PURE__ */ new Set([max]); - while (min <= stop && stop <= max) { - stops.add(stop); - nines += 1; - stop = countNines(min, nines); - } - stop = countZeros(max + 1, zeros) - 1; - while (min < stop && stop <= max) { - stops.add(stop); - zeros += 1; - stop = countZeros(max + 1, zeros) - 1; - } - stops = [...stops]; - stops.sort(compare); - return stops; - } - function rangeToPattern(start, stop, options) { - if (start === stop) { - return { pattern: start, count: [], digits: 0 }; - } - let zipped = zip(start, stop); - let digits = zipped.length; - let pattern = ""; - let count = 0; - for (let i = 0; i < digits; i++) { - let [startDigit, stopDigit] = zipped[i]; - if (startDigit === stopDigit) { - pattern += startDigit; - } else if (startDigit !== "0" || stopDigit !== "9") { - pattern += toCharacterClass(startDigit, stopDigit, options); - } else { - count++; - } - } - if (count) { - pattern += options.shorthand === true ? "\\d" : "[0-9]"; - } - return { pattern, count: [count], digits }; - } - function splitToPatterns(min, max, tok, options) { - let ranges = splitToRanges(min, max); - let tokens = []; - let start = min; - let prev; - for (let i = 0; i < ranges.length; i++) { - let max2 = ranges[i]; - let obj = rangeToPattern(String(start), String(max2), options); - let zeros = ""; - if (!tok.isPadded && prev && prev.pattern === obj.pattern) { - if (prev.count.length > 1) { - prev.count.pop(); - } - prev.count.push(obj.count[0]); - prev.string = prev.pattern + toQuantifier(prev.count); - start = max2 + 1; - continue; - } - if (tok.isPadded) { - zeros = padZeros(max2, tok, options); - } - obj.string = zeros + obj.pattern + toQuantifier(obj.count); - tokens.push(obj); - start = max2 + 1; - prev = obj; - } - return tokens; - } - function filterPatterns(arr, comparison, prefix, intersection, options) { - let result = []; - for (let ele of arr) { - let { string } = ele; - if (!intersection && !contains(comparison, "string", string)) { - result.push(prefix + string); - } - if (intersection && contains(comparison, "string", string)) { - result.push(prefix + string); - } - } - return result; - } - function zip(a, b) { - let arr = []; - for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]); - return arr; - } - function compare(a, b) { - return a > b ? 1 : b > a ? -1 : 0; - } - function contains(arr, key, val) { - return arr.some((ele) => ele[key] === val); - } - function countNines(min, len) { - return Number(String(min).slice(0, -len) + "9".repeat(len)); - } - function countZeros(integer, zeros) { - return integer - integer % Math.pow(10, zeros); - } - function toQuantifier(digits) { - let [start = 0, stop = ""] = digits; - if (stop || start > 1) { - return `{${start + (stop ? "," + stop : "")}}`; - } - return ""; - } - function toCharacterClass(a, b, options) { - return `[${a}${b - a === 1 ? "" : "-"}${b}]`; - } - function hasPadding(str) { - return /^-?(0+)\d/.test(str); - } - function padZeros(value, tok, options) { - if (!tok.isPadded) { - return value; - } - let diff = Math.abs(tok.maxLen - String(value).length); - let relax = options.relaxZeros !== false; - switch (diff) { - case 0: - return ""; - case 1: - return relax ? "0?" : "0"; - case 2: - return relax ? "0{0,2}" : "00"; - default: { - return relax ? `0{0,${diff}}` : `0{${diff}}`; - } - } - } - toRegexRange.cache = {}; - toRegexRange.clearCache = () => toRegexRange.cache = {}; - module.exports = toRegexRange; - } -}); - -// node_modules/fill-range/index.js -var require_fill_range = __commonJS({ - "node_modules/fill-range/index.js"(exports, module) { - "use strict"; - var util = __require("util"); - var toRegexRange = require_to_regex_range(); - var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - var transform = (toNumber) => { - return (value) => toNumber === true ? Number(value) : String(value); - }; - var isValidValue = (value) => { - return typeof value === "number" || typeof value === "string" && value !== ""; - }; - var isNumber = (num) => Number.isInteger(+num); - var zeros = (input) => { - let value = `${input}`; - let index = -1; - if (value[0] === "-") value = value.slice(1); - if (value === "0") return false; - while (value[++index] === "0") ; - return index > 0; - }; - var stringify = (start, end, options) => { - if (typeof start === "string" || typeof end === "string") { - return true; - } - return options.stringify === true; - }; - var pad = (input, maxLength, toNumber) => { - if (maxLength > 0) { - let dash = input[0] === "-" ? "-" : ""; - if (dash) input = input.slice(1); - input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0"); - } - if (toNumber === false) { - return String(input); - } - return input; - }; - var toMaxLen = (input, maxLength) => { - let negative = input[0] === "-" ? "-" : ""; - if (negative) { - input = input.slice(1); - maxLength--; - } - while (input.length < maxLength) input = "0" + input; - return negative ? "-" + input : input; - }; - var toSequence = (parts, options, maxLen) => { - parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - let prefix = options.capture ? "" : "?:"; - let positives = ""; - let negatives = ""; - let result; - if (parts.positives.length) { - positives = parts.positives.map((v) => toMaxLen(String(v), maxLen)).join("|"); - } - if (parts.negatives.length) { - negatives = `-(${prefix}${parts.negatives.map((v) => toMaxLen(String(v), maxLen)).join("|")})`; - } - if (positives && negatives) { - result = `${positives}|${negatives}`; - } else { - result = positives || negatives; - } - if (options.wrap) { - return `(${prefix}${result})`; - } - return result; - }; - var toRange = (a, b, isNumbers, options) => { - if (isNumbers) { - return toRegexRange(a, b, { wrap: false, ...options }); - } - let start = String.fromCharCode(a); - if (a === b) return start; - let stop = String.fromCharCode(b); - return `[${start}-${stop}]`; - }; - var toRegex = (start, end, options) => { - if (Array.isArray(start)) { - let wrap = options.wrap === true; - let prefix = options.capture ? "" : "?:"; - return wrap ? `(${prefix}${start.join("|")})` : start.join("|"); - } - return toRegexRange(start, end, options); - }; - var rangeError = (...args) => { - return new RangeError("Invalid range arguments: " + util.inspect(...args)); - }; - var invalidRange = (start, end, options) => { - if (options.strictRanges === true) throw rangeError([start, end]); - return []; - }; - var invalidStep = (step, options) => { - if (options.strictRanges === true) { - throw new TypeError(`Expected step "${step}" to be a number`); - } - return []; - }; - var fillNumbers = (start, end, step = 1, options = {}) => { - let a = Number(start); - let b = Number(end); - if (!Number.isInteger(a) || !Number.isInteger(b)) { - if (options.strictRanges === true) throw rangeError([start, end]); - return []; - } - if (a === 0) a = 0; - if (b === 0) b = 0; - let descending = a > b; - let startString = String(start); - let endString = String(end); - let stepString = String(step); - step = Math.max(Math.abs(step), 1); - let padded = zeros(startString) || zeros(endString) || zeros(stepString); - let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; - let toNumber = padded === false && stringify(start, end, options) === false; - let format = options.transform || transform(toNumber); - if (options.toRegex && step === 1) { - return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); - } - let parts = { negatives: [], positives: [] }; - let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num)); - let range = []; - let index = 0; - while (descending ? a >= b : a <= b) { - if (options.toRegex === true && step > 1) { - push(a); - } else { - range.push(pad(format(a, index), maxLen, toNumber)); - } - a = descending ? a - step : a + step; - index++; - } - if (options.toRegex === true) { - return step > 1 ? toSequence(parts, options, maxLen) : toRegex(range, null, { wrap: false, ...options }); - } - return range; - }; - var fillLetters = (start, end, step = 1, options = {}) => { - if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) { - return invalidRange(start, end, options); - } - let format = options.transform || ((val) => String.fromCharCode(val)); - let a = `${start}`.charCodeAt(0); - let b = `${end}`.charCodeAt(0); - let descending = a > b; - let min = Math.min(a, b); - let max = Math.max(a, b); - if (options.toRegex && step === 1) { - return toRange(min, max, false, options); - } - let range = []; - let index = 0; - while (descending ? a >= b : a <= b) { - range.push(format(a, index)); - a = descending ? a - step : a + step; - index++; - } - if (options.toRegex === true) { - return toRegex(range, null, { wrap: false, options }); - } - return range; - }; - var fill = (start, end, step, options = {}) => { - if (end == null && isValidValue(start)) { - return [start]; - } - if (!isValidValue(start) || !isValidValue(end)) { - return invalidRange(start, end, options); - } - if (typeof step === "function") { - return fill(start, end, 1, { transform: step }); - } - if (isObject(step)) { - return fill(start, end, 0, step); - } - let opts = { ...options }; - if (opts.capture === true) opts.wrap = true; - step = step || opts.step || 1; - if (!isNumber(step)) { - if (step != null && !isObject(step)) return invalidStep(step, opts); - return fill(start, end, 1, step); - } - if (isNumber(start) && isNumber(end)) { - return fillNumbers(start, end, step, opts); - } - return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); - }; - module.exports = fill; - } -}); - -// node_modules/braces/lib/compile.js -var require_compile = __commonJS({ - "node_modules/braces/lib/compile.js"(exports, module) { - "use strict"; - var fill = require_fill_range(); - var utils = require_utils(); - var compile = (ast, options = {}) => { - const walk = (node, parent = {}) => { - const invalidBlock = utils.isInvalidBrace(parent); - const invalidNode = node.invalid === true && options.escapeInvalid === true; - const invalid = invalidBlock === true || invalidNode === true; - const prefix = options.escapeInvalid === true ? "\\" : ""; - let output = ""; - if (node.isOpen === true) { - return prefix + node.value; - } - if (node.isClose === true) { - console.log("node.isClose", prefix, node.value); - return prefix + node.value; - } - if (node.type === "open") { - return invalid ? prefix + node.value : "("; - } - if (node.type === "close") { - return invalid ? prefix + node.value : ")"; - } - if (node.type === "comma") { - return node.prev.type === "comma" ? "" : invalid ? node.value : "|"; - } - if (node.value) { - return node.value; - } - if (node.nodes && node.ranges > 0) { - const args = utils.reduce(node.nodes); - const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true }); - if (range.length !== 0) { - return args.length > 1 && range.length > 1 ? `(${range})` : range; - } - } - if (node.nodes) { - for (const child of node.nodes) { - output += walk(child, node); - } - } - return output; - }; - return walk(ast); - }; - module.exports = compile; - } -}); - -// node_modules/braces/lib/expand.js -var require_expand = __commonJS({ - "node_modules/braces/lib/expand.js"(exports, module) { - "use strict"; - var fill = require_fill_range(); - var stringify = require_stringify(); - var utils = require_utils(); - var append = (queue = "", stash = "", enclose = false) => { - const result = []; - queue = [].concat(queue); - stash = [].concat(stash); - if (!stash.length) return queue; - if (!queue.length) { - return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash; - } - for (const item of queue) { - if (Array.isArray(item)) { - for (const value of item) { - result.push(append(value, stash, enclose)); - } - } else { - for (let ele of stash) { - if (enclose === true && typeof ele === "string") ele = `{${ele}}`; - result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele); - } - } - } - return utils.flatten(result); - }; - var expand = (ast, options = {}) => { - const rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit; - const walk = (node, parent = {}) => { - node.queue = []; - let p = parent; - let q = parent.queue; - while (p.type !== "brace" && p.type !== "root" && p.parent) { - p = p.parent; - q = p.queue; - } - if (node.invalid || node.dollar) { - q.push(append(q.pop(), stringify(node, options))); - return; - } - if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) { - q.push(append(q.pop(), ["{}"])); - return; - } - if (node.nodes && node.ranges > 0) { - const args = utils.reduce(node.nodes); - if (utils.exceedsLimit(...args, options.step, rangeLimit)) { - throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit."); - } - let range = fill(...args, options); - if (range.length === 0) { - range = stringify(node, options); - } - q.push(append(q.pop(), range)); - node.nodes = []; - return; - } - const enclose = utils.encloseBrace(node); - let queue = node.queue; - let block = node; - while (block.type !== "brace" && block.type !== "root" && block.parent) { - block = block.parent; - queue = block.queue; - } - for (let i = 0; i < node.nodes.length; i++) { - const child = node.nodes[i]; - if (child.type === "comma" && node.type === "brace") { - if (i === 1) queue.push(""); - queue.push(""); - continue; - } - if (child.type === "close") { - q.push(append(q.pop(), queue, enclose)); - continue; - } - if (child.value && child.type !== "open") { - queue.push(append(queue.pop(), child.value)); - continue; - } - if (child.nodes) { - walk(child, node); - } - } - return queue; - }; - return utils.flatten(walk(ast)); - }; - module.exports = expand; - } -}); - -// node_modules/braces/lib/constants.js -var require_constants = __commonJS({ - "node_modules/braces/lib/constants.js"(exports, module) { - "use strict"; - module.exports = { - MAX_LENGTH: 1e4, - // Digits - CHAR_0: "0", - /* 0 */ - CHAR_9: "9", - /* 9 */ - // Alphabet chars. - CHAR_UPPERCASE_A: "A", - /* A */ - CHAR_LOWERCASE_A: "a", - /* a */ - CHAR_UPPERCASE_Z: "Z", - /* Z */ - CHAR_LOWERCASE_Z: "z", - /* z */ - CHAR_LEFT_PARENTHESES: "(", - /* ( */ - CHAR_RIGHT_PARENTHESES: ")", - /* ) */ - CHAR_ASTERISK: "*", - /* * */ - // Non-alphabetic chars. - CHAR_AMPERSAND: "&", - /* & */ - CHAR_AT: "@", - /* @ */ - CHAR_BACKSLASH: "\\", - /* \ */ - CHAR_BACKTICK: "`", - /* ` */ - CHAR_CARRIAGE_RETURN: "\r", - /* \r */ - CHAR_CIRCUMFLEX_ACCENT: "^", - /* ^ */ - CHAR_COLON: ":", - /* : */ - CHAR_COMMA: ",", - /* , */ - CHAR_DOLLAR: "$", - /* . */ - CHAR_DOT: ".", - /* . */ - CHAR_DOUBLE_QUOTE: '"', - /* " */ - CHAR_EQUAL: "=", - /* = */ - CHAR_EXCLAMATION_MARK: "!", - /* ! */ - CHAR_FORM_FEED: "\f", - /* \f */ - CHAR_FORWARD_SLASH: "/", - /* / */ - CHAR_HASH: "#", - /* # */ - CHAR_HYPHEN_MINUS: "-", - /* - */ - CHAR_LEFT_ANGLE_BRACKET: "<", - /* < */ - CHAR_LEFT_CURLY_BRACE: "{", - /* { */ - CHAR_LEFT_SQUARE_BRACKET: "[", - /* [ */ - CHAR_LINE_FEED: "\n", - /* \n */ - CHAR_NO_BREAK_SPACE: "\xA0", - /* \u00A0 */ - CHAR_PERCENT: "%", - /* % */ - CHAR_PLUS: "+", - /* + */ - CHAR_QUESTION_MARK: "?", - /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: ">", - /* > */ - CHAR_RIGHT_CURLY_BRACE: "}", - /* } */ - CHAR_RIGHT_SQUARE_BRACKET: "]", - /* ] */ - CHAR_SEMICOLON: ";", - /* ; */ - CHAR_SINGLE_QUOTE: "'", - /* ' */ - CHAR_SPACE: " ", - /* */ - CHAR_TAB: " ", - /* \t */ - CHAR_UNDERSCORE: "_", - /* _ */ - CHAR_VERTICAL_LINE: "|", - /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF" - /* \uFEFF */ - }; - } -}); - -// node_modules/braces/lib/parse.js -var require_parse = __commonJS({ - "node_modules/braces/lib/parse.js"(exports, module) { - "use strict"; - var stringify = require_stringify(); - var { - MAX_LENGTH, - CHAR_BACKSLASH, - /* \ */ - CHAR_BACKTICK, - /* ` */ - CHAR_COMMA, - /* , */ - CHAR_DOT, - /* . */ - CHAR_LEFT_PARENTHESES, - /* ( */ - CHAR_RIGHT_PARENTHESES, - /* ) */ - CHAR_LEFT_CURLY_BRACE, - /* { */ - CHAR_RIGHT_CURLY_BRACE, - /* } */ - CHAR_LEFT_SQUARE_BRACKET, - /* [ */ - CHAR_RIGHT_SQUARE_BRACKET, - /* ] */ - CHAR_DOUBLE_QUOTE, - /* " */ - CHAR_SINGLE_QUOTE, - /* ' */ - CHAR_NO_BREAK_SPACE, - CHAR_ZERO_WIDTH_NOBREAK_SPACE - } = require_constants(); - var parse = (input, options = {}) => { - if (typeof input !== "string") { - throw new TypeError("Expected a string"); - } - const opts = options || {}; - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - if (input.length > max) { - throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); - } - const ast = { type: "root", input, nodes: [] }; - const stack = [ast]; - let block = ast; - let prev = ast; - let brackets = 0; - const length = input.length; - let index = 0; - let depth = 0; - let value; - const advance = () => input[index++]; - const push = (node) => { - if (node.type === "text" && prev.type === "dot") { - prev.type = "text"; - } - if (prev && prev.type === "text" && node.type === "text") { - prev.value += node.value; - return; - } - block.nodes.push(node); - node.parent = block; - node.prev = prev; - prev = node; - return node; - }; - push({ type: "bos" }); - while (index < length) { - block = stack[stack.length - 1]; - value = advance(); - if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { - continue; - } - if (value === CHAR_BACKSLASH) { - push({ type: "text", value: (options.keepEscaping ? value : "") + advance() }); - continue; - } - if (value === CHAR_RIGHT_SQUARE_BRACKET) { - push({ type: "text", value: "\\" + value }); - continue; - } - if (value === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - let next; - while (index < length && (next = advance())) { - value += next; - if (next === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - continue; - } - if (next === CHAR_BACKSLASH) { - value += advance(); - continue; - } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - brackets--; - if (brackets === 0) { - break; - } - } - } - push({ type: "text", value }); - continue; - } - if (value === CHAR_LEFT_PARENTHESES) { - block = push({ type: "paren", nodes: [] }); - stack.push(block); - push({ type: "text", value }); - continue; - } - if (value === CHAR_RIGHT_PARENTHESES) { - if (block.type !== "paren") { - push({ type: "text", value }); - continue; - } - block = stack.pop(); - push({ type: "text", value }); - block = stack[stack.length - 1]; - continue; - } - if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { - const open = value; - let next; - if (options.keepQuotes !== true) { - value = ""; - } - while (index < length && (next = advance())) { - if (next === CHAR_BACKSLASH) { - value += next + advance(); - continue; - } - if (next === open) { - if (options.keepQuotes === true) value += next; - break; - } - value += next; - } - push({ type: "text", value }); - continue; - } - if (value === CHAR_LEFT_CURLY_BRACE) { - depth++; - const dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true; - const brace = { - type: "brace", - open: true, - close: false, - dollar, - depth, - commas: 0, - ranges: 0, - nodes: [] - }; - block = push(brace); - stack.push(block); - push({ type: "open", value }); - continue; - } - if (value === CHAR_RIGHT_CURLY_BRACE) { - if (block.type !== "brace") { - push({ type: "text", value }); - continue; - } - const type = "close"; - block = stack.pop(); - block.close = true; - push({ type, value }); - depth--; - block = stack[stack.length - 1]; - continue; - } - if (value === CHAR_COMMA && depth > 0) { - if (block.ranges > 0) { - block.ranges = 0; - const open = block.nodes.shift(); - block.nodes = [open, { type: "text", value: stringify(block) }]; - } - push({ type: "comma", value }); - block.commas++; - continue; - } - if (value === CHAR_DOT && depth > 0 && block.commas === 0) { - const siblings = block.nodes; - if (depth === 0 || siblings.length === 0) { - push({ type: "text", value }); - continue; - } - if (prev.type === "dot") { - block.range = []; - prev.value += value; - prev.type = "range"; - if (block.nodes.length !== 3 && block.nodes.length !== 5) { - block.invalid = true; - block.ranges = 0; - prev.type = "text"; - continue; - } - block.ranges++; - block.args = []; - continue; - } - if (prev.type === "range") { - siblings.pop(); - const before = siblings[siblings.length - 1]; - before.value += prev.value + value; - prev = before; - block.ranges--; - continue; - } - push({ type: "dot", value }); - continue; - } - push({ type: "text", value }); - } - do { - block = stack.pop(); - if (block.type !== "root") { - block.nodes.forEach((node) => { - if (!node.nodes) { - if (node.type === "open") node.isOpen = true; - if (node.type === "close") node.isClose = true; - if (!node.nodes) node.type = "text"; - node.invalid = true; - } - }); - const parent = stack[stack.length - 1]; - const index2 = parent.nodes.indexOf(block); - parent.nodes.splice(index2, 1, ...block.nodes); - } - } while (stack.length > 0); - push({ type: "eos" }); - return ast; - }; - module.exports = parse; - } -}); - -// node_modules/braces/index.js -var require_braces = __commonJS({ - "node_modules/braces/index.js"(exports, module) { - "use strict"; - var stringify = require_stringify(); - var compile = require_compile(); - var expand = require_expand(); - var parse = require_parse(); - var braces = (input, options = {}) => { - let output = []; - if (Array.isArray(input)) { - for (const pattern of input) { - const result = braces.create(pattern, options); - if (Array.isArray(result)) { - output.push(...result); - } else { - output.push(result); - } - } - } else { - output = [].concat(braces.create(input, options)); - } - if (options && options.expand === true && options.nodupes === true) { - output = [...new Set(output)]; - } - return output; - }; - braces.parse = (input, options = {}) => parse(input, options); - braces.stringify = (input, options = {}) => { - if (typeof input === "string") { - return stringify(braces.parse(input, options), options); - } - return stringify(input, options); - }; - braces.compile = (input, options = {}) => { - if (typeof input === "string") { - input = braces.parse(input, options); - } - return compile(input, options); - }; - braces.expand = (input, options = {}) => { - if (typeof input === "string") { - input = braces.parse(input, options); - } - let result = expand(input, options); - if (options.noempty === true) { - result = result.filter(Boolean); - } - if (options.nodupes === true) { - result = [...new Set(result)]; - } - return result; - }; - braces.create = (input, options = {}) => { - if (input === "" || input.length < 3) { - return [input]; - } - return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options); - }; - module.exports = braces; - } -}); - -// node_modules/micromatch/node_modules/picomatch/lib/constants.js -var require_constants2 = __commonJS({ - "node_modules/micromatch/node_modules/picomatch/lib/constants.js"(exports, module) { - "use strict"; - var path = __require("path"); - var WIN_SLASH = "\\\\/"; - var WIN_NO_SLASH = `[^${WIN_SLASH}]`; - var DOT_LITERAL = "\\."; - var PLUS_LITERAL = "\\+"; - var QMARK_LITERAL = "\\?"; - var SLASH_LITERAL = "\\/"; - var ONE_CHAR = "(?=.)"; - var QMARK = "[^/]"; - var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; - var START_ANCHOR = `(?:^|${SLASH_LITERAL})`; - var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; - var NO_DOT = `(?!${DOT_LITERAL})`; - var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; - var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; - var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; - var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; - var STAR = `${QMARK}*?`; - var POSIX_CHARS = { - DOT_LITERAL, - PLUS_LITERAL, - QMARK_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - QMARK, - END_ANCHOR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK_NO_DOT, - STAR, - START_ANCHOR - }; - var WINDOWS_CHARS = { - ...POSIX_CHARS, - SLASH_LITERAL: `[${WIN_SLASH}]`, - QMARK: WIN_NO_SLASH, - STAR: `${WIN_NO_SLASH}*?`, - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, - NO_DOT: `(?!${DOT_LITERAL})`, - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - QMARK_NO_DOT: `[^.${WIN_SLASH}]`, - START_ANCHOR: `(?:^|[${WIN_SLASH}])`, - END_ANCHOR: `(?:[${WIN_SLASH}]|$)` - }; - var POSIX_REGEX_SOURCE = { - alnum: "a-zA-Z0-9", - alpha: "a-zA-Z", - ascii: "\\x00-\\x7F", - blank: " \\t", - cntrl: "\\x00-\\x1F\\x7F", - digit: "0-9", - graph: "\\x21-\\x7E", - lower: "a-z", - print: "\\x20-\\x7E ", - punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~", - space: " \\t\\r\\n\\v\\f", - upper: "A-Z", - word: "A-Za-z0-9_", - xdigit: "A-Fa-f0-9" - }; - module.exports = { - MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, - // regular expressions - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, - // Replace globs with equivalent patterns to reduce parsing time. - REPLACEMENTS: { - "***": "*", - "**/**": "**", - "**/**/**": "**" - }, - // Digits - CHAR_0: 48, - /* 0 */ - CHAR_9: 57, - /* 9 */ - // Alphabet chars. - CHAR_UPPERCASE_A: 65, - /* A */ - CHAR_LOWERCASE_A: 97, - /* a */ - CHAR_UPPERCASE_Z: 90, - /* Z */ - CHAR_LOWERCASE_Z: 122, - /* z */ - CHAR_LEFT_PARENTHESES: 40, - /* ( */ - CHAR_RIGHT_PARENTHESES: 41, - /* ) */ - CHAR_ASTERISK: 42, - /* * */ - // Non-alphabetic chars. - CHAR_AMPERSAND: 38, - /* & */ - CHAR_AT: 64, - /* @ */ - CHAR_BACKWARD_SLASH: 92, - /* \ */ - CHAR_CARRIAGE_RETURN: 13, - /* \r */ - CHAR_CIRCUMFLEX_ACCENT: 94, - /* ^ */ - CHAR_COLON: 58, - /* : */ - CHAR_COMMA: 44, - /* , */ - CHAR_DOT: 46, - /* . */ - CHAR_DOUBLE_QUOTE: 34, - /* " */ - CHAR_EQUAL: 61, - /* = */ - CHAR_EXCLAMATION_MARK: 33, - /* ! */ - CHAR_FORM_FEED: 12, - /* \f */ - CHAR_FORWARD_SLASH: 47, - /* / */ - CHAR_GRAVE_ACCENT: 96, - /* ` */ - CHAR_HASH: 35, - /* # */ - CHAR_HYPHEN_MINUS: 45, - /* - */ - CHAR_LEFT_ANGLE_BRACKET: 60, - /* < */ - CHAR_LEFT_CURLY_BRACE: 123, - /* { */ - CHAR_LEFT_SQUARE_BRACKET: 91, - /* [ */ - CHAR_LINE_FEED: 10, - /* \n */ - CHAR_NO_BREAK_SPACE: 160, - /* \u00A0 */ - CHAR_PERCENT: 37, - /* % */ - CHAR_PLUS: 43, - /* + */ - CHAR_QUESTION_MARK: 63, - /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: 62, - /* > */ - CHAR_RIGHT_CURLY_BRACE: 125, - /* } */ - CHAR_RIGHT_SQUARE_BRACKET: 93, - /* ] */ - CHAR_SEMICOLON: 59, - /* ; */ - CHAR_SINGLE_QUOTE: 39, - /* ' */ - CHAR_SPACE: 32, - /* */ - CHAR_TAB: 9, - /* \t */ - CHAR_UNDERSCORE: 95, - /* _ */ - CHAR_VERTICAL_LINE: 124, - /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, - /* \uFEFF */ - SEP: path.sep, - /** - * Create EXTGLOB_CHARS - */ - extglobChars(chars) { - return { - "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` }, - "?": { type: "qmark", open: "(?:", close: ")?" }, - "+": { type: "plus", open: "(?:", close: ")+" }, - "*": { type: "star", open: "(?:", close: ")*" }, - "@": { type: "at", open: "(?:", close: ")" } - }; - }, - /** - * Create GLOB_CHARS - */ - globChars(win32) { - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; - } - }; - } -}); - -// node_modules/micromatch/node_modules/picomatch/lib/utils.js -var require_utils2 = __commonJS({ - "node_modules/micromatch/node_modules/picomatch/lib/utils.js"(exports) { - "use strict"; - var path = __require("path"); - var win32 = process.platform === "win32"; - var { - REGEX_BACKSLASH, - REGEX_REMOVE_BACKSLASH, - REGEX_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_GLOBAL - } = require_constants2(); - exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str); - exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str); - exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); - exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/"); - exports.removeBackslashes = (str) => { - return str.replace(REGEX_REMOVE_BACKSLASH, (match) => { - return match === "\\" ? "" : match; - }); - }; - exports.supportsLookbehinds = () => { - const segs = process.version.slice(1).split(".").map(Number); - if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) { - return true; - } - return false; - }; - exports.isWindows = (options) => { - if (options && typeof options.windows === "boolean") { - return options.windows; - } - return win32 === true || path.sep === "\\"; - }; - exports.escapeLast = (input, char, lastIdx) => { - const idx = input.lastIndexOf(char, lastIdx); - if (idx === -1) return input; - if (input[idx - 1] === "\\") return exports.escapeLast(input, char, idx - 1); - return `${input.slice(0, idx)}\\${input.slice(idx)}`; - }; - exports.removePrefix = (input, state = {}) => { - let output = input; - if (output.startsWith("./")) { - output = output.slice(2); - state.prefix = "./"; - } - return output; - }; - exports.wrapOutput = (input, state = {}, options = {}) => { - const prepend = options.contains ? "" : "^"; - const append = options.contains ? "" : "$"; - let output = `${prepend}(?:${input})${append}`; - if (state.negated === true) { - output = `(?:^(?!${output}).*$)`; - } - return output; - }; - } -}); - -// node_modules/micromatch/node_modules/picomatch/lib/scan.js -var require_scan = __commonJS({ - "node_modules/micromatch/node_modules/picomatch/lib/scan.js"(exports, module) { - "use strict"; - var utils = require_utils2(); - var { - CHAR_ASTERISK, - /* * */ - CHAR_AT, - /* @ */ - CHAR_BACKWARD_SLASH, - /* \ */ - CHAR_COMMA, - /* , */ - CHAR_DOT, - /* . */ - CHAR_EXCLAMATION_MARK, - /* ! */ - CHAR_FORWARD_SLASH, - /* / */ - CHAR_LEFT_CURLY_BRACE, - /* { */ - CHAR_LEFT_PARENTHESES, - /* ( */ - CHAR_LEFT_SQUARE_BRACKET, - /* [ */ - CHAR_PLUS, - /* + */ - CHAR_QUESTION_MARK, - /* ? */ - CHAR_RIGHT_CURLY_BRACE, - /* } */ - CHAR_RIGHT_PARENTHESES, - /* ) */ - CHAR_RIGHT_SQUARE_BRACKET - /* ] */ - } = require_constants2(); - var isPathSeparator = (code) => { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; - }; - var depth = (token) => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; - } - }; - var scan = (input, options) => { - const opts = options || {}; - const length = input.length - 1; - const scanToEnd = opts.parts === true || opts.scanToEnd === true; - const slashes = []; - const tokens = []; - const parts = []; - let str = input; - let index = -1; - let start = 0; - let lastIndex = 0; - let isBrace = false; - let isBracket = false; - let isGlob = false; - let isExtglob = false; - let isGlobstar = false; - let braceEscaped = false; - let backslashes = false; - let negated = false; - let negatedExtglob = false; - let finished = false; - let braces = 0; - let prev; - let code; - let token = { value: "", depth: 0, isGlob: false }; - const eos = () => index >= length; - const peek = () => str.charCodeAt(index + 1); - const advance = () => { - prev = code; - return str.charCodeAt(++index); - }; - while (index < length) { - code = advance(); - let next; - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - if (code === CHAR_LEFT_CURLY_BRACE) { - braceEscaped = true; - } - continue; - } - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { - braces++; - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (code === CHAR_LEFT_CURLY_BRACE) { - braces++; - continue; - } - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (braceEscaped !== true && code === CHAR_COMMA) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_RIGHT_CURLY_BRACE) { - braces--; - if (braces === 0) { - braceEscaped = false; - isBrace = token.isBrace = true; - finished = true; - break; - } - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_FORWARD_SLASH) { - slashes.push(index); - tokens.push(token); - token = { value: "", depth: 0, isGlob: false }; - if (finished === true) continue; - if (prev === CHAR_DOT && index === start + 1) { - start += 2; - continue; - } - lastIndex = index + 1; - continue; - } - if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; - finished = true; - if (code === CHAR_EXCLAMATION_MARK && index === start) { - negatedExtglob = true; - } - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - isGlob = token.isGlob = true; - finished = true; - break; - } - } - continue; - } - break; - } - } - if (code === CHAR_ASTERISK) { - if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - if (code === CHAR_LEFT_SQUARE_BRACKET) { - while (eos() !== true && (next = advance())) { - if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; - finished = true; - break; - } - } - if (scanToEnd === true) { - continue; - } - break; - } - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; - start++; - continue; - } - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - if (code === CHAR_RIGHT_PARENTHESES) { - finished = true; - break; - } - } - continue; - } - break; - } - if (isGlob === true) { - finished = true; - if (scanToEnd === true) { - continue; - } - break; - } - } - if (opts.noext === true) { - isExtglob = false; - isGlob = false; - } - let base = str; - let prefix = ""; - let glob = ""; - if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); - lastIndex -= start; - } - if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); - } else if (isGlob === true) { - base = ""; - glob = str; - } else { - base = str; - } - if (base && base !== "" && base !== "/" && base !== str) { - if (isPathSeparator(base.charCodeAt(base.length - 1))) { - base = base.slice(0, -1); - } - } - if (opts.unescape === true) { - if (glob) glob = utils.removeBackslashes(glob); - if (base && backslashes === true) { - base = utils.removeBackslashes(base); - } - } - const state = { - prefix, - input, - start, - base, - glob, - isBrace, - isBracket, - isGlob, - isExtglob, - isGlobstar, - negated, - negatedExtglob - }; - if (opts.tokens === true) { - state.maxDepth = 0; - if (!isPathSeparator(code)) { - tokens.push(token); - } - state.tokens = tokens; - } - if (opts.parts === true || opts.tokens === true) { - let prevIndex; - for (let idx = 0; idx < slashes.length; idx++) { - const n = prevIndex ? prevIndex + 1 : start; - const i = slashes[idx]; - const value = input.slice(n, i); - if (opts.tokens) { - if (idx === 0 && start !== 0) { - tokens[idx].isPrefix = true; - tokens[idx].value = prefix; - } else { - tokens[idx].value = value; - } - depth(tokens[idx]); - state.maxDepth += tokens[idx].depth; - } - if (idx !== 0 || value !== "") { - parts.push(value); - } - prevIndex = i; - } - if (prevIndex && prevIndex + 1 < input.length) { - const value = input.slice(prevIndex + 1); - parts.push(value); - if (opts.tokens) { - tokens[tokens.length - 1].value = value; - depth(tokens[tokens.length - 1]); - state.maxDepth += tokens[tokens.length - 1].depth; - } - } - state.slashes = slashes; - state.parts = parts; - } - return state; - }; - module.exports = scan; - } -}); - -// node_modules/micromatch/node_modules/picomatch/lib/parse.js -var require_parse2 = __commonJS({ - "node_modules/micromatch/node_modules/picomatch/lib/parse.js"(exports, module) { - "use strict"; - var constants = require_constants2(); - var utils = require_utils2(); - var { - MAX_LENGTH, - POSIX_REGEX_SOURCE, - REGEX_NON_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_BACKREF, - REPLACEMENTS - } = constants; - var expandRange = (args, options) => { - if (typeof options.expandRange === "function") { - return options.expandRange(...args, options); - } - args.sort(); - const value = `[${args.join("-")}]`; - try { - new RegExp(value); - } catch (ex) { - return args.map((v) => utils.escapeRegex(v)).join(".."); - } - return value; - }; - var syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; - }; - var parse = (input, options) => { - if (typeof input !== "string") { - throw new TypeError("Expected a string"); - } - input = REPLACEMENTS[input] || input; - const opts = { ...options }; - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - let len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - const bos = { type: "bos", value: "", output: opts.prepend || "" }; - const tokens = [bos]; - const capture = opts.capture ? "" : "?:"; - const win32 = utils.isWindows(options); - const PLATFORM_CHARS = constants.globChars(win32); - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); - const { - DOT_LITERAL, - PLUS_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK, - QMARK_NO_DOT, - STAR, - START_ANCHOR - } = PLATFORM_CHARS; - const globstar = (opts2) => { - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const nodot = opts.dot ? "" : NO_DOT; - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; - let star = opts.bash === true ? globstar(opts) : STAR; - if (opts.capture) { - star = `(${star})`; - } - if (typeof opts.noext === "boolean") { - opts.noextglob = opts.noext; - } - const state = { - input, - index: -1, - start: 0, - dot: opts.dot === true, - consumed: "", - output: "", - prefix: "", - backtrack: false, - negated: false, - brackets: 0, - braces: 0, - parens: 0, - quotes: 0, - globstar: false, - tokens - }; - input = utils.removePrefix(input, state); - len = input.length; - const extglobs = []; - const braces = []; - const stack = []; - let prev = bos; - let value; - const eos = () => state.index === len - 1; - const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index] || ""; - const remaining = () => input.slice(state.index + 1); - const consume = (value2 = "", num = 0) => { - state.consumed += value2; - state.index += num; - }; - const append = (token) => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); - }; - const negate = () => { - let count = 1; - while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) { - advance(); - state.start++; - count++; - } - if (count % 2 === 0) { - return false; - } - state.negated = true; - state.start++; - return true; - }; - const increment = (type) => { - state[type]++; - stack.push(type); - }; - const decrement = (type) => { - state[type]--; - stack.pop(); - }; - const push = (tok) => { - if (prev.type === "globstar") { - const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"); - const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren"); - if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) { - state.output = state.output.slice(0, -prev.output.length); - prev.type = "star"; - prev.value = "*"; - prev.output = star; - state.output += prev.output; - } - } - if (extglobs.length && tok.type !== "paren") { - extglobs[extglobs.length - 1].inner += tok.value; - } - if (tok.value || tok.output) append(tok); - if (prev && prev.type === "text" && tok.type === "text") { - prev.value += tok.value; - prev.output = (prev.output || "") + tok.value; - return; - } - tok.prev = prev; - tokens.push(tok); - prev = tok; - }; - const extglobOpen = (type, value2) => { - const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" }; - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? "(" : "") + token.open; - increment("parens"); - push({ type, value: value2, output: state.output ? "" : ONE_CHAR }); - push({ type: "paren", extglob: true, value: advance(), output }); - extglobs.push(token); - }; - const extglobClose = (token) => { - let output = token.close + (opts.capture ? ")" : ""); - let rest; - if (token.type === "negate") { - let extglobStar = star; - if (token.inner && token.inner.length > 1 && token.inner.includes("/")) { - extglobStar = globstar(opts); - } - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; - } - if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { - const expression = parse(rest, { ...options, fastpaths: false }).output; - output = token.close = `)${expression})${extglobStar})`; - } - if (token.prev.type === "bos") { - state.negatedExtglob = true; - } - } - push({ type: "paren", extglob: true, value, output }); - decrement("parens"); - }; - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { - let backslashes = false; - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { - if (first === "\\") { - backslashes = true; - return m; - } - if (first === "?") { - if (esc) { - return esc + first + (rest ? QMARK.repeat(rest.length) : ""); - } - if (index === 0) { - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ""); - } - return QMARK.repeat(chars.length); - } - if (first === ".") { - return DOT_LITERAL.repeat(chars.length); - } - if (first === "*") { - if (esc) { - return esc + first + (rest ? star : ""); - } - return star; - } - return esc ? m : `\\${m}`; - }); - if (backslashes === true) { - if (opts.unescape === true) { - output = output.replace(/\\/g, ""); - } else { - output = output.replace(/\\+/g, (m) => { - return m.length % 2 === 0 ? "\\\\" : m ? "\\" : ""; - }); - } - } - if (output === input && opts.contains === true) { - state.output = input; - return state; - } - state.output = utils.wrapOutput(output, state, options); - return state; - } - while (!eos()) { - value = advance(); - if (value === "\0") { - continue; - } - if (value === "\\") { - const next = peek(); - if (next === "/" && opts.bash !== true) { - continue; - } - if (next === "." || next === ";") { - continue; - } - if (!next) { - value += "\\"; - push({ type: "text", value }); - continue; - } - const match = /^\\+/.exec(remaining()); - let slashes = 0; - if (match && match[0].length > 2) { - slashes = match[0].length; - state.index += slashes; - if (slashes % 2 !== 0) { - value += "\\"; - } - } - if (opts.unescape === true) { - value = advance(); - } else { - value += advance(); - } - if (state.brackets === 0) { - push({ type: "text", value }); - continue; - } - } - if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) { - if (opts.posix !== false && value === ":") { - const inner = prev.value.slice(1); - if (inner.includes("[")) { - prev.posix = true; - if (inner.includes(":")) { - const idx = prev.value.lastIndexOf("["); - const pre = prev.value.slice(0, idx); - const rest2 = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE[rest2]; - if (posix) { - prev.value = pre + posix; - state.backtrack = true; - advance(); - if (!bos.output && tokens.indexOf(prev) === 1) { - bos.output = ONE_CHAR; - } - continue; - } - } - } - } - if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") { - value = `\\${value}`; - } - if (value === "]" && (prev.value === "[" || prev.value === "[^")) { - value = `\\${value}`; - } - if (opts.posix === true && value === "!" && prev.value === "[") { - value = "^"; - } - prev.value += value; - append({ value }); - continue; - } - if (state.quotes === 1 && value !== '"') { - value = utils.escapeRegex(value); - prev.value += value; - append({ value }); - continue; - } - if (value === '"') { - state.quotes = state.quotes === 1 ? 0 : 1; - if (opts.keepQuotes === true) { - push({ type: "text", value }); - } - continue; - } - if (value === "(") { - increment("parens"); - push({ type: "paren", value }); - continue; - } - if (value === ")") { - if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "(")); - } - const extglob = extglobs[extglobs.length - 1]; - if (extglob && state.parens === extglob.parens + 1) { - extglobClose(extglobs.pop()); - continue; - } - push({ type: "paren", value, output: state.parens ? ")" : "\\)" }); - decrement("parens"); - continue; - } - if (value === "[") { - if (opts.nobracket === true || !remaining().includes("]")) { - if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("closing", "]")); - } - value = `\\${value}`; - } else { - increment("brackets"); - } - push({ type: "bracket", value }); - continue; - } - if (value === "]") { - if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) { - push({ type: "text", value, output: `\\${value}` }); - continue; - } - if (state.brackets === 0) { - if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "[")); - } - push({ type: "text", value, output: `\\${value}` }); - continue; - } - decrement("brackets"); - const prevValue = prev.value.slice(1); - if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) { - value = `/${value}`; - } - prev.value += value; - append({ value }); - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { - continue; - } - const escaped = utils.escapeRegex(prev.value); - state.output = state.output.slice(0, -prev.value.length); - if (opts.literalBrackets === true) { - state.output += escaped; - prev.value = escaped; - continue; - } - prev.value = `(${capture}${escaped}|${prev.value})`; - state.output += prev.value; - continue; - } - if (value === "{" && opts.nobrace !== true) { - increment("braces"); - const open = { - type: "brace", - value, - output: "(", - outputIndex: state.output.length, - tokensIndex: state.tokens.length - }; - braces.push(open); - push(open); - continue; - } - if (value === "}") { - const brace = braces[braces.length - 1]; - if (opts.nobrace === true || !brace) { - push({ type: "text", value, output: value }); - continue; - } - let output = ")"; - if (brace.dots === true) { - const arr = tokens.slice(); - const range = []; - for (let i = arr.length - 1; i >= 0; i--) { - tokens.pop(); - if (arr[i].type === "brace") { - break; - } - if (arr[i].type !== "dots") { - range.unshift(arr[i].value); - } - } - output = expandRange(range, opts); - state.backtrack = true; - } - if (brace.comma !== true && brace.dots !== true) { - const out = state.output.slice(0, brace.outputIndex); - const toks = state.tokens.slice(brace.tokensIndex); - brace.value = brace.output = "\\{"; - value = output = "\\}"; - state.output = out; - for (const t of toks) { - state.output += t.output || t.value; - } - } - push({ type: "brace", value, output }); - decrement("braces"); - braces.pop(); - continue; - } - if (value === "|") { - if (extglobs.length > 0) { - extglobs[extglobs.length - 1].conditions++; - } - push({ type: "text", value }); - continue; - } - if (value === ",") { - let output = value; - const brace = braces[braces.length - 1]; - if (brace && stack[stack.length - 1] === "braces") { - brace.comma = true; - output = "|"; - } - push({ type: "comma", value, output }); - continue; - } - if (value === "/") { - if (prev.type === "dot" && state.index === state.start + 1) { - state.start = state.index + 1; - state.consumed = ""; - state.output = ""; - tokens.pop(); - prev = bos; - continue; - } - push({ type: "slash", value, output: SLASH_LITERAL }); - continue; - } - if (value === ".") { - if (state.braces > 0 && prev.type === "dot") { - if (prev.value === ".") prev.output = DOT_LITERAL; - const brace = braces[braces.length - 1]; - prev.type = "dots"; - prev.output += value; - prev.value += value; - brace.dots = true; - continue; - } - if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") { - push({ type: "text", value, output: DOT_LITERAL }); - continue; - } - push({ type: "dot", value, output: DOT_LITERAL }); - continue; - } - if (value === "?") { - const isGroup = prev && prev.value === "("; - if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("qmark", value); - continue; - } - if (prev && prev.type === "paren") { - const next = peek(); - let output = value; - if (next === "<" && !utils.supportsLookbehinds()) { - throw new Error("Node.js v10 or higher is required for regex lookbehinds"); - } - if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) { - output = `\\${value}`; - } - push({ type: "text", value, output }); - continue; - } - if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) { - push({ type: "qmark", value, output: QMARK_NO_DOT }); - continue; - } - push({ type: "qmark", value, output: QMARK }); - continue; - } - if (value === "!") { - if (opts.noextglob !== true && peek() === "(") { - if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) { - extglobOpen("negate", value); - continue; - } - } - if (opts.nonegate !== true && state.index === 0) { - negate(); - continue; - } - } - if (value === "+") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - extglobOpen("plus", value); - continue; - } - if (prev && prev.value === "(" || opts.regex === false) { - push({ type: "plus", value, output: PLUS_LITERAL }); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) { - push({ type: "plus", value }); - continue; - } - push({ type: "plus", value: PLUS_LITERAL }); - continue; - } - if (value === "@") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - push({ type: "at", extglob: true, value, output: "" }); - continue; - } - push({ type: "text", value }); - continue; - } - if (value !== "*") { - if (value === "$" || value === "^") { - value = `\\${value}`; - } - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); - if (match) { - value += match[0]; - state.index += match[0].length; - } - push({ type: "text", value }); - continue; - } - if (prev && (prev.type === "globstar" || prev.star === true)) { - prev.type = "star"; - prev.star = true; - prev.value += value; - prev.output = star; - state.backtrack = true; - state.globstar = true; - consume(value); - continue; - } - let rest = remaining(); - if (opts.noextglob !== true && /^\([^?]/.test(rest)) { - extglobOpen("star", value); - continue; - } - if (prev.type === "star") { - if (opts.noglobstar === true) { - consume(value); - continue; - } - const prior = prev.prev; - const before = prior.prev; - const isStart = prior.type === "slash" || prior.type === "bos"; - const afterStar = before && (before.type === "star" || before.type === "globstar"); - if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) { - push({ type: "star", value, output: "" }); - continue; - } - const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"); - const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren"); - if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) { - push({ type: "star", value, output: "" }); - continue; - } - while (rest.slice(0, 3) === "/**") { - const after = input[state.index + 4]; - if (after && after !== "/") { - break; - } - rest = rest.slice(3); - consume("/**", 3); - } - if (prior.type === "bos" && eos()) { - prev.type = "globstar"; - prev.value += value; - prev.output = globstar(opts); - state.output = prev.output; - state.globstar = true; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) { - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"); - prev.value += value; - state.globstar = true; - state.output += prior.output + prev.output; - consume(value); - continue; - } - if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") { - const end = rest[1] !== void 0 ? "|$" : ""; - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = "globstar"; - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; - prev.value += value; - state.output += prior.output + prev.output; - state.globstar = true; - consume(value + advance()); - push({ type: "slash", value: "/", output: "" }); - continue; - } - if (prior.type === "bos" && rest[0] === "/") { - prev.type = "globstar"; - prev.value += value; - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; - state.output = prev.output; - state.globstar = true; - consume(value + advance()); - push({ type: "slash", value: "/", output: "" }); - continue; - } - state.output = state.output.slice(0, -prev.output.length); - prev.type = "globstar"; - prev.output = globstar(opts); - prev.value += value; - state.output += prev.output; - state.globstar = true; - consume(value); - continue; - } - const token = { type: "star", value, output: star }; - if (opts.bash === true) { - token.output = ".*?"; - if (prev.type === "bos" || prev.type === "slash") { - token.output = nodot + token.output; - } - push(token); - continue; - } - if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) { - token.output = value; - push(token); - continue; - } - if (state.index === state.start || prev.type === "slash" || prev.type === "dot") { - if (prev.type === "dot") { - state.output += NO_DOT_SLASH; - prev.output += NO_DOT_SLASH; - } else if (opts.dot === true) { - state.output += NO_DOTS_SLASH; - prev.output += NO_DOTS_SLASH; - } else { - state.output += nodot; - prev.output += nodot; - } - if (peek() !== "*") { - state.output += ONE_CHAR; - prev.output += ONE_CHAR; - } - } - push(token); - } - while (state.brackets > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]")); - state.output = utils.escapeLast(state.output, "["); - decrement("brackets"); - } - while (state.parens > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")")); - state.output = utils.escapeLast(state.output, "("); - decrement("parens"); - } - while (state.braces > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}")); - state.output = utils.escapeLast(state.output, "{"); - decrement("braces"); - } - if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) { - push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }); - } - if (state.backtrack === true) { - state.output = ""; - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; - if (token.suffix) { - state.output += token.suffix; - } - } - } - return state; - }; - parse.fastpaths = (input, options) => { - const opts = { ...options }; - const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - const len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - input = REPLACEMENTS[input] || input; - const win32 = utils.isWindows(options); - const { - DOT_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOTS_SLASH, - STAR, - START_ANCHOR - } = constants.globChars(win32); - const nodot = opts.dot ? NO_DOTS : NO_DOT; - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; - const capture = opts.capture ? "" : "?:"; - const state = { negated: false, prefix: "" }; - let star = opts.bash === true ? ".*?" : STAR; - if (opts.capture) { - star = `(${star})`; - } - const globstar = (opts2) => { - if (opts2.noglobstar === true) return star; - return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - const create = (str) => { - switch (str) { - case "*": - return `${nodot}${ONE_CHAR}${star}`; - case ".*": - return `${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*.*": - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "*/*": - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; - case "**": - return nodot + globstar(opts); - case "**/*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - case "**/*.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - case "**/.*": - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; - default: { - const match = /^(.*?)\.(\w+)$/.exec(str); - if (!match) return; - const source2 = create(match[1]); - if (!source2) return; - return source2 + DOT_LITERAL + match[2]; - } - } - }; - const output = utils.removePrefix(input, state); - let source = create(output); - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; - } - return source; - }; - module.exports = parse; - } -}); - -// node_modules/micromatch/node_modules/picomatch/lib/picomatch.js -var require_picomatch = __commonJS({ - "node_modules/micromatch/node_modules/picomatch/lib/picomatch.js"(exports, module) { - "use strict"; - var path = __require("path"); - var scan = require_scan(); - var parse = require_parse2(); - var utils = require_utils2(); - var constants = require_constants2(); - var isObject = (val) => val && typeof val === "object" && !Array.isArray(val); - var picomatch = (glob, options, returnState = false) => { - if (Array.isArray(glob)) { - const fns = glob.map((input) => picomatch(input, options, returnState)); - const arrayMatcher = (str) => { - for (const isMatch of fns) { - const state2 = isMatch(str); - if (state2) return state2; - } - return false; - }; - return arrayMatcher; - } - const isState = isObject(glob) && glob.tokens && glob.input; - if (glob === "" || typeof glob !== "string" && !isState) { - throw new TypeError("Expected pattern to be a non-empty string"); - } - const opts = options || {}; - const posix = utils.isWindows(options); - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); - const state = regex.state; - delete regex.state; - let isIgnored = () => false; - if (opts.ignore) { - const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); - } - const matcher = (input, returnObject = false) => { - const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); - const result = { glob, state, regex, posix, input, output, match, isMatch }; - if (typeof opts.onResult === "function") { - opts.onResult(result); - } - if (isMatch === false) { - result.isMatch = false; - return returnObject ? result : false; - } - if (isIgnored(input)) { - if (typeof opts.onIgnore === "function") { - opts.onIgnore(result); - } - result.isMatch = false; - return returnObject ? result : false; - } - if (typeof opts.onMatch === "function") { - opts.onMatch(result); - } - return returnObject ? result : true; - }; - if (returnState) { - matcher.state = state; - } - return matcher; - }; - picomatch.test = (input, regex, options, { glob, posix } = {}) => { - if (typeof input !== "string") { - throw new TypeError("Expected input to be a string"); - } - if (input === "") { - return { isMatch: false, output: "" }; - } - const opts = options || {}; - const format = opts.format || (posix ? utils.toPosixSlashes : null); - let match = input === glob; - let output = match && format ? format(input) : input; - if (match === false) { - output = format ? format(input) : input; - match = output === glob; - } - if (match === false || opts.capture === true) { - if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); - } else { - match = regex.exec(output); - } - } - return { isMatch: Boolean(match), match, output }; - }; - picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); - return regex.test(path.basename(input)); - }; - picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options)); - return parse(pattern, { ...options, fastpaths: false }); - }; - picomatch.scan = (input, options) => scan(input, options); - picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return state.output; - } - const opts = options || {}; - const prepend = opts.contains ? "" : "^"; - const append = opts.contains ? "" : "$"; - let source = `${prepend}(?:${state.output})${append}`; - if (state && state.negated === true) { - source = `^(?!${source}).*$`; - } - const regex = picomatch.toRegex(source, options); - if (returnState === true) { - regex.state = state; - } - return regex; - }; - picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { - if (!input || typeof input !== "string") { - throw new TypeError("Expected a non-empty string"); - } - let parsed = { negated: false, fastpaths: true }; - if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) { - parsed.output = parse.fastpaths(input, options); - } - if (!parsed.output) { - parsed = parse(input, options); - } - return picomatch.compileRe(parsed, options, returnOutput, returnState); - }; - picomatch.toRegex = (source, options) => { - try { - const opts = options || {}; - return new RegExp(source, opts.flags || (opts.nocase ? "i" : "")); - } catch (err) { - if (options && options.debug === true) throw err; - return /$^/; - } - }; - picomatch.constants = constants; - module.exports = picomatch; - } -}); - -// node_modules/micromatch/node_modules/picomatch/index.js -var require_picomatch2 = __commonJS({ - "node_modules/micromatch/node_modules/picomatch/index.js"(exports, module) { - "use strict"; - module.exports = require_picomatch(); - } -}); - -// node_modules/micromatch/index.js -var require_micromatch = __commonJS({ - "node_modules/micromatch/index.js"(exports, module) { - "use strict"; - var util = __require("util"); - var braces = require_braces(); - var picomatch = require_picomatch2(); - var utils = require_utils2(); - var isEmptyString = (v) => v === "" || v === "./"; - var hasBraces = (v) => { - const index = v.indexOf("{"); - return index > -1 && v.indexOf("}", index) > -1; - }; - var micromatch = (list, patterns, options) => { - patterns = [].concat(patterns); - list = [].concat(list); - let omit = /* @__PURE__ */ new Set(); - let keep = /* @__PURE__ */ new Set(); - let items = /* @__PURE__ */ new Set(); - let negatives = 0; - let onResult = (state) => { - items.add(state.output); - if (options && options.onResult) { - options.onResult(state); - } - }; - for (let i = 0; i < patterns.length; i++) { - let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true); - let negated = isMatch.state.negated || isMatch.state.negatedExtglob; - if (negated) negatives++; - for (let item of list) { - let matched = isMatch(item, true); - let match = negated ? !matched.isMatch : matched.isMatch; - if (!match) continue; - if (negated) { - omit.add(matched.output); - } else { - omit.delete(matched.output); - keep.add(matched.output); - } - } - } - let result = negatives === patterns.length ? [...items] : [...keep]; - let matches = result.filter((item) => !omit.has(item)); - if (options && matches.length === 0) { - if (options.failglob === true) { - throw new Error(`No matches found for "${patterns.join(", ")}"`); - } - if (options.nonull === true || options.nullglob === true) { - return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns; - } - } - return matches; - }; - micromatch.match = micromatch; - micromatch.matcher = (pattern, options) => picomatch(pattern, options); - micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - micromatch.any = micromatch.isMatch; - micromatch.not = (list, patterns, options = {}) => { - patterns = [].concat(patterns).map(String); - let result = /* @__PURE__ */ new Set(); - let items = []; - let onResult = (state) => { - if (options.onResult) options.onResult(state); - items.push(state.output); - }; - let matches = new Set(micromatch(list, patterns, { ...options, onResult })); - for (let item of items) { - if (!matches.has(item)) { - result.add(item); - } - } - return [...result]; - }; - micromatch.contains = (str, pattern, options) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); - } - if (Array.isArray(pattern)) { - return pattern.some((p) => micromatch.contains(str, p, options)); - } - if (typeof pattern === "string") { - if (isEmptyString(str) || isEmptyString(pattern)) { - return false; - } - if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) { - return true; - } - } - return micromatch.isMatch(str, pattern, { ...options, contains: true }); - }; - micromatch.matchKeys = (obj, patterns, options) => { - if (!utils.isObject(obj)) { - throw new TypeError("Expected the first argument to be an object"); - } - let keys = micromatch(Object.keys(obj), patterns, options); - let res = {}; - for (let key of keys) res[key] = obj[key]; - return res; - }; - micromatch.some = (list, patterns, options) => { - let items = [].concat(list); - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (items.some((item) => isMatch(item))) { - return true; - } - } - return false; - }; - micromatch.every = (list, patterns, options) => { - let items = [].concat(list); - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch(String(pattern), options); - if (!items.every((item) => isMatch(item))) { - return false; - } - } - return true; - }; - micromatch.all = (str, patterns, options) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); - } - return [].concat(patterns).every((p) => picomatch(p, options)(str)); - }; - micromatch.capture = (glob, input, options) => { - let posix = utils.isWindows(options); - let regex = picomatch.makeRe(String(glob), { ...options, capture: true }); - let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); - if (match) { - return match.slice(1).map((v) => v === void 0 ? "" : v); - } - }; - micromatch.makeRe = (...args) => picomatch.makeRe(...args); - micromatch.scan = (...args) => picomatch.scan(...args); - micromatch.parse = (patterns, options) => { - let res = []; - for (let pattern of [].concat(patterns || [])) { - for (let str of braces(String(pattern), options)) { - res.push(picomatch.parse(str, options)); - } - } - return res; - }; - micromatch.braces = (pattern, options) => { - if (typeof pattern !== "string") throw new TypeError("Expected a string"); - if (options && options.nobrace === true || !hasBraces(pattern)) { - return [pattern]; - } - return braces(pattern, options); - }; - micromatch.braceExpand = (pattern, options) => { - if (typeof pattern !== "string") throw new TypeError("Expected a string"); - return micromatch.braces(pattern, { ...options, expand: true }); - }; - micromatch.hasBraces = hasBraces; - module.exports = micromatch; - } -}); - -// node_modules/fast-glob/out/utils/pattern.js -var require_pattern = __commonJS({ - "node_modules/fast-glob/out/utils/pattern.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isAbsolute = exports.partitionAbsoluteAndRelative = exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0; - var path = __require("path"); - var globParent = require_glob_parent(); - var micromatch = require_micromatch(); - var GLOBSTAR = "**"; - var ESCAPE_SYMBOL = "\\"; - var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; - var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/; - var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/; - var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/; - var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./; - var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g; - function isStaticPattern(pattern, options = {}) { - return !isDynamicPattern(pattern, options); - } - exports.isStaticPattern = isStaticPattern; - function isDynamicPattern(pattern, options = {}) { - if (pattern === "") { - return false; - } - if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { - return true; - } - if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { - return true; - } - if (options.braceExpansion !== false && hasBraceExpansion(pattern)) { - return true; - } - return false; - } - exports.isDynamicPattern = isDynamicPattern; - function hasBraceExpansion(pattern) { - const openingBraceIndex = pattern.indexOf("{"); - if (openingBraceIndex === -1) { - return false; - } - const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1); - if (closingBraceIndex === -1) { - return false; - } - const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex); - return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent); - } - function convertToPositivePattern(pattern) { - return isNegativePattern(pattern) ? pattern.slice(1) : pattern; - } - exports.convertToPositivePattern = convertToPositivePattern; - function convertToNegativePattern(pattern) { - return "!" + pattern; - } - exports.convertToNegativePattern = convertToNegativePattern; - function isNegativePattern(pattern) { - return pattern.startsWith("!") && pattern[1] !== "("; - } - exports.isNegativePattern = isNegativePattern; - function isPositivePattern(pattern) { - return !isNegativePattern(pattern); - } - exports.isPositivePattern = isPositivePattern; - function getNegativePatterns(patterns) { - return patterns.filter(isNegativePattern); - } - exports.getNegativePatterns = getNegativePatterns; - function getPositivePatterns(patterns) { - return patterns.filter(isPositivePattern); - } - exports.getPositivePatterns = getPositivePatterns; - function getPatternsInsideCurrentDirectory(patterns) { - return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern)); - } - exports.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory; - function getPatternsOutsideCurrentDirectory(patterns) { - return patterns.filter(isPatternRelatedToParentDirectory); - } - exports.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory; - function isPatternRelatedToParentDirectory(pattern) { - return pattern.startsWith("..") || pattern.startsWith("./.."); - } - exports.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory; - function getBaseDirectory(pattern) { - return globParent(pattern, { flipBackslashes: false }); - } - exports.getBaseDirectory = getBaseDirectory; - function hasGlobStar(pattern) { - return pattern.includes(GLOBSTAR); - } - exports.hasGlobStar = hasGlobStar; - function endsWithSlashGlobStar(pattern) { - return pattern.endsWith("/" + GLOBSTAR); - } - exports.endsWithSlashGlobStar = endsWithSlashGlobStar; - function isAffectDepthOfReadingPattern(pattern) { - const basename = path.basename(pattern); - return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); - } - exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; - function expandPatternsWithBraceExpansion(patterns) { - return patterns.reduce((collection, pattern) => { - return collection.concat(expandBraceExpansion(pattern)); - }, []); - } - exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; - function expandBraceExpansion(pattern) { - const patterns = micromatch.braces(pattern, { expand: true, nodupes: true, keepEscaping: true }); - patterns.sort((a, b) => a.length - b.length); - return patterns.filter((pattern2) => pattern2 !== ""); - } - exports.expandBraceExpansion = expandBraceExpansion; - function getPatternParts(pattern, options) { - let { parts } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true })); - if (parts.length === 0) { - parts = [pattern]; - } - if (parts[0].startsWith("/")) { - parts[0] = parts[0].slice(1); - parts.unshift(""); - } - return parts; - } - exports.getPatternParts = getPatternParts; - function makeRe(pattern, options) { - return micromatch.makeRe(pattern, options); - } - exports.makeRe = makeRe; - function convertPatternsToRe(patterns, options) { - return patterns.map((pattern) => makeRe(pattern, options)); - } - exports.convertPatternsToRe = convertPatternsToRe; - function matchAny(entry, patternsRe) { - return patternsRe.some((patternRe) => patternRe.test(entry)); - } - exports.matchAny = matchAny; - function removeDuplicateSlashes(pattern) { - return pattern.replace(DOUBLE_SLASH_RE, "/"); - } - exports.removeDuplicateSlashes = removeDuplicateSlashes; - function partitionAbsoluteAndRelative(patterns) { - const absolute = []; - const relative = []; - for (const pattern of patterns) { - if (isAbsolute(pattern)) { - absolute.push(pattern); - } else { - relative.push(pattern); - } - } - return [absolute, relative]; - } - exports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative; - function isAbsolute(pattern) { - return path.isAbsolute(pattern); - } - exports.isAbsolute = isAbsolute; - } -}); - -// node_modules/merge2/index.js -var require_merge2 = __commonJS({ - "node_modules/merge2/index.js"(exports, module) { - "use strict"; - var Stream = __require("stream"); - var PassThrough = Stream.PassThrough; - var slice = Array.prototype.slice; - module.exports = merge2; - function merge2() { - const streamsQueue = []; - const args = slice.call(arguments); - let merging = false; - let options = args[args.length - 1]; - if (options && !Array.isArray(options) && options.pipe == null) { - args.pop(); - } else { - options = {}; - } - const doEnd = options.end !== false; - const doPipeError = options.pipeError === true; - if (options.objectMode == null) { - options.objectMode = true; - } - if (options.highWaterMark == null) { - options.highWaterMark = 64 * 1024; - } - const mergedStream = PassThrough(options); - function addStream() { - for (let i = 0, len = arguments.length; i < len; i++) { - streamsQueue.push(pauseStreams(arguments[i], options)); - } - mergeStream(); - return this; - } - function mergeStream() { - if (merging) { - return; - } - merging = true; - let streams = streamsQueue.shift(); - if (!streams) { - process.nextTick(endStream); - return; - } - if (!Array.isArray(streams)) { - streams = [streams]; - } - let pipesCount = streams.length + 1; - function next() { - if (--pipesCount > 0) { - return; - } - merging = false; - mergeStream(); - } - function pipe(stream) { - function onend() { - stream.removeListener("merge2UnpipeEnd", onend); - stream.removeListener("end", onend); - if (doPipeError) { - stream.removeListener("error", onerror); - } - next(); - } - function onerror(err) { - mergedStream.emit("error", err); - } - if (stream._readableState.endEmitted) { - return next(); - } - stream.on("merge2UnpipeEnd", onend); - stream.on("end", onend); - if (doPipeError) { - stream.on("error", onerror); - } - stream.pipe(mergedStream, { end: false }); - stream.resume(); - } - for (let i = 0; i < streams.length; i++) { - pipe(streams[i]); - } - next(); - } - function endStream() { - merging = false; - mergedStream.emit("queueDrain"); - if (doEnd) { - mergedStream.end(); - } - } - mergedStream.setMaxListeners(0); - mergedStream.add = addStream; - mergedStream.on("unpipe", function(stream) { - stream.emit("merge2UnpipeEnd"); - }); - if (args.length) { - addStream.apply(null, args); - } - return mergedStream; - } - function pauseStreams(streams, options) { - if (!Array.isArray(streams)) { - if (!streams._readableState && streams.pipe) { - streams = streams.pipe(PassThrough(options)); - } - if (!streams._readableState || !streams.pause || !streams.pipe) { - throw new Error("Only readable stream can be merged."); - } - streams.pause(); - } else { - for (let i = 0, len = streams.length; i < len; i++) { - streams[i] = pauseStreams(streams[i], options); - } - } - return streams; - } - } -}); - -// node_modules/fast-glob/out/utils/stream.js -var require_stream = __commonJS({ - "node_modules/fast-glob/out/utils/stream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.merge = void 0; - var merge2 = require_merge2(); - function merge(streams) { - const mergedStream = merge2(streams); - streams.forEach((stream) => { - stream.once("error", (error) => mergedStream.emit("error", error)); - }); - mergedStream.once("close", () => propagateCloseEventToSources(streams)); - mergedStream.once("end", () => propagateCloseEventToSources(streams)); - return mergedStream; - } - exports.merge = merge; - function propagateCloseEventToSources(streams) { - streams.forEach((stream) => stream.emit("close")); - } - } -}); - -// node_modules/fast-glob/out/utils/string.js -var require_string = __commonJS({ - "node_modules/fast-glob/out/utils/string.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.isEmpty = exports.isString = void 0; - function isString(input) { - return typeof input === "string"; - } - exports.isString = isString; - function isEmpty(input) { - return input === ""; - } - exports.isEmpty = isEmpty; - } -}); - -// node_modules/fast-glob/out/utils/index.js -var require_utils3 = __commonJS({ - "node_modules/fast-glob/out/utils/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; - var array = require_array(); - exports.array = array; - var errno = require_errno(); - exports.errno = errno; - var fs = require_fs(); - exports.fs = fs; - var path = require_path(); - exports.path = path; - var pattern = require_pattern(); - exports.pattern = pattern; - var stream = require_stream(); - exports.stream = stream; - var string = require_string(); - exports.string = string; - } -}); - -// node_modules/fast-glob/out/managers/tasks.js -var require_tasks = __commonJS({ - "node_modules/fast-glob/out/managers/tasks.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0; - var utils = require_utils3(); - function generate(input, settings) { - const patterns = processPatterns(input, settings); - const ignore = processPatterns(settings.ignore, settings); - const positivePatterns = getPositivePatterns(patterns); - const negativePatterns = getNegativePatternsAsPositive(patterns, ignore); - const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings)); - const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings)); - const staticTasks = convertPatternsToTasks( - staticPatterns, - negativePatterns, - /* dynamic */ - false - ); - const dynamicTasks = convertPatternsToTasks( - dynamicPatterns, - negativePatterns, - /* dynamic */ - true - ); - return staticTasks.concat(dynamicTasks); - } - exports.generate = generate; - function processPatterns(input, settings) { - let patterns = input; - if (settings.braceExpansion) { - patterns = utils.pattern.expandPatternsWithBraceExpansion(patterns); - } - if (settings.baseNameMatch) { - patterns = patterns.map((pattern) => pattern.includes("/") ? pattern : `**/${pattern}`); - } - return patterns.map((pattern) => utils.pattern.removeDuplicateSlashes(pattern)); - } - function convertPatternsToTasks(positive, negative, dynamic) { - const tasks = []; - const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive); - const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive); - const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory); - const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory); - tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic)); - if ("." in insideCurrentDirectoryGroup) { - tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic)); - } else { - tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic)); - } - return tasks; - } - exports.convertPatternsToTasks = convertPatternsToTasks; - function getPositivePatterns(patterns) { - return utils.pattern.getPositivePatterns(patterns); - } - exports.getPositivePatterns = getPositivePatterns; - function getNegativePatternsAsPositive(patterns, ignore) { - const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore); - const positive = negative.map(utils.pattern.convertToPositivePattern); - return positive; - } - exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive; - function groupPatternsByBaseDirectory(patterns) { - const group = {}; - return patterns.reduce((collection, pattern) => { - const base = utils.pattern.getBaseDirectory(pattern); - if (base in collection) { - collection[base].push(pattern); - } else { - collection[base] = [pattern]; - } - return collection; - }, group); - } - exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; - function convertPatternGroupsToTasks(positive, negative, dynamic) { - return Object.keys(positive).map((base) => { - return convertPatternGroupToTask(base, positive[base], negative, dynamic); - }); - } - exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks; - function convertPatternGroupToTask(base, positive, negative, dynamic) { - return { - dynamic, - positive, - negative, - base, - patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern)) - }; - } - exports.convertPatternGroupToTask = convertPatternGroupToTask; - } -}); - -// node_modules/@nodelib/fs.stat/out/providers/async.js -var require_async = __commonJS({ - "node_modules/@nodelib/fs.stat/out/providers/async.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.read = void 0; - function read(path, settings, callback) { - settings.fs.lstat(path, (lstatError, lstat) => { - if (lstatError !== null) { - callFailureCallback(callback, lstatError); - return; - } - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - callSuccessCallback(callback, lstat); - return; - } - settings.fs.stat(path, (statError, stat) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - callFailureCallback(callback, statError); - return; - } - callSuccessCallback(callback, lstat); - return; - } - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - callSuccessCallback(callback, stat); - }); - }); - } - exports.read = read; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, result) { - callback(null, result); - } - } -}); - -// node_modules/@nodelib/fs.stat/out/providers/sync.js -var require_sync = __commonJS({ - "node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.read = void 0; - function read(path, settings) { - const lstat = settings.fs.lstatSync(path); - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return lstat; - } - try { - const stat = settings.fs.statSync(path); - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - return stat; - } catch (error) { - if (!settings.throwErrorOnBrokenSymbolicLink) { - return lstat; - } - throw error; - } - } - exports.read = read; - } -}); - -// node_modules/@nodelib/fs.stat/out/adapters/fs.js -var require_fs2 = __commonJS({ - "node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; - var fs = __require("fs"); - exports.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync - }; - function createFileSystemAdapter(fsMethods) { - if (fsMethods === void 0) { - return exports.FILE_SYSTEM_ADAPTER; - } - return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); - } - exports.createFileSystemAdapter = createFileSystemAdapter; - } -}); - -// node_modules/@nodelib/fs.stat/out/settings.js -var require_settings = __commonJS({ - "node_modules/@nodelib/fs.stat/out/settings.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var fs = require_fs2(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports.default = Settings; - } -}); - -// node_modules/@nodelib/fs.stat/out/index.js -var require_out = __commonJS({ - "node_modules/@nodelib/fs.stat/out/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.statSync = exports.stat = exports.Settings = void 0; - var async = require_async(); - var sync = require_sync(); - var settings_1 = require_settings(); - exports.Settings = settings_1.default; - function stat(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path, getSettings(), optionsOrSettingsOrCallback); - return; - } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - exports.stat = stat; - function statSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); - } - exports.statSync = statSync; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); - -// node_modules/queue-microtask/index.js -var require_queue_microtask = __commonJS({ - "node_modules/queue-microtask/index.js"(exports, module) { - var promise; - module.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => { - throw err; - }, 0)); - } -}); - -// node_modules/run-parallel/index.js -var require_run_parallel = __commonJS({ - "node_modules/run-parallel/index.js"(exports, module) { - module.exports = runParallel; - var queueMicrotask2 = require_queue_microtask(); - function runParallel(tasks, cb) { - let results, pending, keys; - let isSync = true; - if (Array.isArray(tasks)) { - results = []; - pending = tasks.length; - } else { - keys = Object.keys(tasks); - results = {}; - pending = keys.length; - } - function done(err) { - function end() { - if (cb) cb(err, results); - cb = null; - } - if (isSync) queueMicrotask2(end); - else end(); - } - function each(i, err, result) { - results[i] = result; - if (--pending === 0 || err) { - done(err); - } - } - if (!pending) { - done(null); - } else if (keys) { - keys.forEach(function(key) { - tasks[key](function(err, result) { - each(key, err, result); - }); - }); - } else { - tasks.forEach(function(task, i) { - task(function(err, result) { - each(i, err, result); - }); - }); - } - isSync = false; - } - } -}); - -// node_modules/@nodelib/fs.scandir/out/constants.js -var require_constants3 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/constants.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0; - var NODE_PROCESS_VERSION_PARTS = process.versions.node.split("."); - if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) { - throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`); - } - var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); - var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); - var SUPPORTED_MAJOR_VERSION = 10; - var SUPPORTED_MINOR_VERSION = 10; - var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; - var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; - exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; - } -}); - -// node_modules/@nodelib/fs.scandir/out/utils/fs.js -var require_fs3 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createDirentFromStats = void 0; - var DirentFromStats = class { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - }; - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - exports.createDirentFromStats = createDirentFromStats; - } -}); - -// node_modules/@nodelib/fs.scandir/out/utils/index.js -var require_utils4 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.fs = void 0; - var fs = require_fs3(); - exports.fs = fs; - } -}); - -// node_modules/@nodelib/fs.scandir/out/providers/common.js -var require_common = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.joinPathSegments = void 0; - function joinPathSegments(a, b, separator) { - if (a.endsWith(separator)) { - return a + b; - } - return a + separator + b; - } - exports.joinPathSegments = joinPathSegments; - } -}); - -// node_modules/@nodelib/fs.scandir/out/providers/async.js -var require_async2 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; - var fsStat = require_out(); - var rpl = require_run_parallel(); - var constants_1 = require_constants3(); - var utils = require_utils4(); - var common = require_common(); - function read(directory, settings, callback) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - readdirWithFileTypes(directory, settings, callback); - return; - } - readdir(directory, settings, callback); - } - exports.read = read; - function readdirWithFileTypes(directory, settings, callback) { - settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => { - if (readdirError !== null) { - callFailureCallback(callback, readdirError); - return; - } - const entries = dirents.map((dirent) => ({ - dirent, - name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) - })); - if (!settings.followSymbolicLinks) { - callSuccessCallback(callback, entries); - return; - } - const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings)); - rpl(tasks, (rplError, rplEntries) => { - if (rplError !== null) { - callFailureCallback(callback, rplError); - return; - } - callSuccessCallback(callback, rplEntries); - }); - }); - } - exports.readdirWithFileTypes = readdirWithFileTypes; - function makeRplTaskEntry(entry, settings) { - return (done) => { - if (!entry.dirent.isSymbolicLink()) { - done(null, entry); - return; - } - settings.fs.stat(entry.path, (statError, stats) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - done(statError); - return; - } - done(null, entry); - return; - } - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - done(null, entry); - }); - }; - } - function readdir(directory, settings, callback) { - settings.fs.readdir(directory, (readdirError, names) => { - if (readdirError !== null) { - callFailureCallback(callback, readdirError); - return; - } - const tasks = names.map((name) => { - const path = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); - return (done) => { - fsStat.stat(path, settings.fsStatSettings, (error, stats) => { - if (error !== null) { - done(error); - return; - } - const entry = { - name, - path, - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - done(null, entry); - }); - }; - }); - rpl(tasks, (rplError, entries) => { - if (rplError !== null) { - callFailureCallback(callback, rplError); - return; - } - callSuccessCallback(callback, entries); - }); - }); - } - exports.readdir = readdir; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, result) { - callback(null, result); - } - } -}); - -// node_modules/@nodelib/fs.scandir/out/providers/sync.js -var require_sync2 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; - var fsStat = require_out(); - var constants_1 = require_constants3(); - var utils = require_utils4(); - var common = require_common(); - function read(directory, settings) { - if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings); - } - return readdir(directory, settings); - } - exports.read = read; - function readdirWithFileTypes(directory, settings) { - const dirents = settings.fs.readdirSync(directory, { withFileTypes: true }); - return dirents.map((dirent) => { - const entry = { - dirent, - name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) - }; - if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { - try { - const stats = settings.fs.statSync(entry.path); - entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); - } catch (error) { - if (settings.throwErrorOnBrokenSymbolicLink) { - throw error; - } - } - } - return entry; - }); - } - exports.readdirWithFileTypes = readdirWithFileTypes; - function readdir(directory, settings) { - const names = settings.fs.readdirSync(directory); - return names.map((name) => { - const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); - const stats = fsStat.statSync(entryPath, settings.fsStatSettings); - const entry = { - name, - path: entryPath, - dirent: utils.fs.createDirentFromStats(name, stats) - }; - if (settings.stats) { - entry.stats = stats; - } - return entry; - }); - } - exports.readdir = readdir; - } -}); - -// node_modules/@nodelib/fs.scandir/out/adapters/fs.js -var require_fs4 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; - var fs = __require("fs"); - exports.FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - stat: fs.stat, - lstatSync: fs.lstatSync, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync - }; - function createFileSystemAdapter(fsMethods) { - if (fsMethods === void 0) { - return exports.FILE_SYSTEM_ADAPTER; - } - return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); - } - exports.createFileSystemAdapter = createFileSystemAdapter; - } -}); - -// node_modules/@nodelib/fs.scandir/out/settings.js -var require_settings2 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/settings.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var path = __require("path"); - var fsStat = require_out(); - var fs = require_fs4(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.stats = this._getValue(this._options.stats, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - this.fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this.followSymbolicLinks, - fs: this.fs, - throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports.default = Settings; - } -}); - -// node_modules/@nodelib/fs.scandir/out/index.js -var require_out2 = __commonJS({ - "node_modules/@nodelib/fs.scandir/out/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Settings = exports.scandirSync = exports.scandir = void 0; - var async = require_async2(); - var sync = require_sync2(); - var settings_1 = require_settings2(); - exports.Settings = settings_1.default; - function scandir(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path, getSettings(), optionsOrSettingsOrCallback); - return; - } - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - exports.scandir = scandir; - function scandirSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); - } - exports.scandirSync = scandirSync; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); - -// node_modules/reusify/reusify.js -var require_reusify = __commonJS({ - "node_modules/reusify/reusify.js"(exports, module) { - "use strict"; - function reusify(Constructor) { - var head = new Constructor(); - var tail = head; - function get() { - var current = head; - if (current.next) { - head = current.next; - } else { - head = new Constructor(); - tail = head; - } - current.next = null; - return current; - } - function release(obj) { - tail.next = obj; - tail = obj; - } - return { - get, - release - }; - } - module.exports = reusify; - } -}); - -// node_modules/fastq/queue.js -var require_queue = __commonJS({ - "node_modules/fastq/queue.js"(exports, module) { - "use strict"; - var reusify = require_reusify(); - function fastqueue(context, worker, concurrency) { - if (typeof context === "function") { - concurrency = worker; - worker = context; - context = null; - } - if (concurrency < 1) { - throw new Error("fastqueue concurrency must be greater than 1"); - } - var cache = reusify(Task); - var queueHead = null; - var queueTail = null; - var _running = 0; - var errorHandler = null; - var self = { - push, - drain: noop, - saturated: noop, - pause, - paused: false, - concurrency, - running, - resume, - idle, - length, - getQueue, - unshift, - empty: noop, - kill, - killAndDrain, - error - }; - return self; - function running() { - return _running; - } - function pause() { - self.paused = true; - } - function length() { - var current = queueHead; - var counter = 0; - while (current) { - current = current.next; - counter++; - } - return counter; - } - function getQueue() { - var current = queueHead; - var tasks = []; - while (current) { - tasks.push(current.value); - current = current.next; - } - return tasks; - } - function resume() { - if (!self.paused) return; - self.paused = false; - for (var i = 0; i < self.concurrency; i++) { - _running++; - release(); - } - } - function idle() { - return _running === 0 && self.length() === 0; - } - function push(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - current.errorHandler = errorHandler; - if (_running === self.concurrency || self.paused) { - if (queueTail) { - queueTail.next = current; - queueTail = current; - } else { - queueHead = current; - queueTail = current; - self.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - function unshift(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - if (_running === self.concurrency || self.paused) { - if (queueHead) { - current.next = queueHead; - queueHead = current; - } else { - queueHead = current; - queueTail = current; - self.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - function release(holder) { - if (holder) { - cache.release(holder); - } - var next = queueHead; - if (next) { - if (!self.paused) { - if (queueTail === queueHead) { - queueTail = null; - } - queueHead = next.next; - next.next = null; - worker.call(context, next.value, next.worked); - if (queueTail === null) { - self.empty(); - } - } else { - _running--; - } - } else if (--_running === 0) { - self.drain(); - } - } - function kill() { - queueHead = null; - queueTail = null; - self.drain = noop; - } - function killAndDrain() { - queueHead = null; - queueTail = null; - self.drain(); - self.drain = noop; - } - function error(handler) { - errorHandler = handler; - } - } - function noop() { - } - function Task() { - this.value = null; - this.callback = noop; - this.next = null; - this.release = noop; - this.context = null; - this.errorHandler = null; - var self = this; - this.worked = function worked(err, result) { - var callback = self.callback; - var errorHandler = self.errorHandler; - var val = self.value; - self.value = null; - self.callback = noop; - if (self.errorHandler) { - errorHandler(err, val); - } - callback.call(self.context, err, result); - self.release(self); - }; - } - function queueAsPromised(context, worker, concurrency) { - if (typeof context === "function") { - concurrency = worker; - worker = context; - context = null; - } - function asyncWrapper(arg, cb) { - worker.call(this, arg).then(function(res) { - cb(null, res); - }, cb); - } - var queue = fastqueue(context, asyncWrapper, concurrency); - var pushCb = queue.push; - var unshiftCb = queue.unshift; - queue.push = push; - queue.unshift = unshift; - queue.drained = drained; - return queue; - function push(value) { - var p = new Promise(function(resolve, reject) { - pushCb(value, function(err, result) { - if (err) { - reject(err); - return; - } - resolve(result); - }); - }); - p.catch(noop); - return p; - } - function unshift(value) { - var p = new Promise(function(resolve, reject) { - unshiftCb(value, function(err, result) { - if (err) { - reject(err); - return; - } - resolve(result); - }); - }); - p.catch(noop); - return p; - } - function drained() { - if (queue.idle()) { - return new Promise(function(resolve) { - resolve(); - }); - } - var previousDrain = queue.drain; - var p = new Promise(function(resolve) { - queue.drain = function() { - previousDrain(); - resolve(); - }; - }); - return p; - } - } - module.exports = fastqueue; - module.exports.promise = queueAsPromised; - } -}); - -// node_modules/@nodelib/fs.walk/out/readers/common.js -var require_common2 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/readers/common.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0; - function isFatalError(settings, error) { - if (settings.errorFilter === null) { - return true; - } - return !settings.errorFilter(error); - } - exports.isFatalError = isFatalError; - function isAppliedFilter(filter, value) { - return filter === null || filter(value); - } - exports.isAppliedFilter = isAppliedFilter; - function replacePathSegmentSeparator(filepath, separator) { - return filepath.split(/[/\\]/).join(separator); - } - exports.replacePathSegmentSeparator = replacePathSegmentSeparator; - function joinPathSegments(a, b, separator) { - if (a === "") { - return b; - } - if (a.endsWith(separator)) { - return a + b; - } - return a + separator + b; - } - exports.joinPathSegments = joinPathSegments; - } -}); - -// node_modules/@nodelib/fs.walk/out/readers/reader.js -var require_reader = __commonJS({ - "node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var common = require_common2(); - var Reader = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); - } - }; - exports.default = Reader; - } -}); - -// node_modules/@nodelib/fs.walk/out/readers/async.js -var require_async3 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/readers/async.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var events_1 = __require("events"); - var fsScandir = require_out2(); - var fastq = require_queue(); - var common = require_common2(); - var reader_1 = require_reader(); - var AsyncReader = class extends reader_1.default { - constructor(_root, _settings) { - super(_root, _settings); - this._settings = _settings; - this._scandir = fsScandir.scandir; - this._emitter = new events_1.EventEmitter(); - this._queue = fastq(this._worker.bind(this), this._settings.concurrency); - this._isFatalError = false; - this._isDestroyed = false; - this._queue.drain = () => { - if (!this._isFatalError) { - this._emitter.emit("end"); - } - }; - } - read() { - this._isFatalError = false; - this._isDestroyed = false; - setImmediate(() => { - this._pushToQueue(this._root, this._settings.basePath); - }); - return this._emitter; - } - get isDestroyed() { - return this._isDestroyed; - } - destroy() { - if (this._isDestroyed) { - throw new Error("The reader is already destroyed"); - } - this._isDestroyed = true; - this._queue.killAndDrain(); - } - onEntry(callback) { - this._emitter.on("entry", callback); - } - onError(callback) { - this._emitter.once("error", callback); - } - onEnd(callback) { - this._emitter.once("end", callback); - } - _pushToQueue(directory, base) { - const queueItem = { directory, base }; - this._queue.push(queueItem, (error) => { - if (error !== null) { - this._handleError(error); - } - }); - } - _worker(item, done) { - this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { - if (error !== null) { - done(error, void 0); - return; - } - for (const entry of entries) { - this._handleEntry(entry, item.base); - } - done(null, void 0); - }); - } - _handleError(error) { - if (this._isDestroyed || !common.isFatalError(this._settings, error)) { - return; - } - this._isFatalError = true; - this._isDestroyed = true; - this._emitter.emit("error", error); - } - _handleEntry(entry, base) { - if (this._isDestroyed || this._isFatalError) { - return; - } - const fullpath = entry.path; - if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._emitEntry(entry); - } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); - } - } - _emitEntry(entry) { - this._emitter.emit("entry", entry); - } - }; - exports.default = AsyncReader; - } -}); - -// node_modules/@nodelib/fs.walk/out/providers/async.js -var require_async4 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/providers/async.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var async_1 = require_async3(); - var AsyncProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._storage = []; - } - read(callback) { - this._reader.onError((error) => { - callFailureCallback(callback, error); - }); - this._reader.onEntry((entry) => { - this._storage.push(entry); - }); - this._reader.onEnd(() => { - callSuccessCallback(callback, this._storage); - }); - this._reader.read(); - } - }; - exports.default = AsyncProvider; - function callFailureCallback(callback, error) { - callback(error); - } - function callSuccessCallback(callback, entries) { - callback(null, entries); - } - } -}); - -// node_modules/@nodelib/fs.walk/out/providers/stream.js -var require_stream2 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var stream_1 = __require("stream"); - var async_1 = require_async3(); - var StreamProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async_1.default(this._root, this._settings); - this._stream = new stream_1.Readable({ - objectMode: true, - read: () => { - }, - destroy: () => { - if (!this._reader.isDestroyed) { - this._reader.destroy(); - } - } - }); - } - read() { - this._reader.onError((error) => { - this._stream.emit("error", error); - }); - this._reader.onEntry((entry) => { - this._stream.push(entry); - }); - this._reader.onEnd(() => { - this._stream.push(null); - }); - this._reader.read(); - return this._stream; - } - }; - exports.default = StreamProvider; - } -}); - -// node_modules/@nodelib/fs.walk/out/readers/sync.js -var require_sync3 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var fsScandir = require_out2(); - var common = require_common2(); - var reader_1 = require_reader(); - var SyncReader = class extends reader_1.default { - constructor() { - super(...arguments); - this._scandir = fsScandir.scandirSync; - this._storage = []; - this._queue = /* @__PURE__ */ new Set(); - } - read() { - this._pushToQueue(this._root, this._settings.basePath); - this._handleQueue(); - return this._storage; - } - _pushToQueue(directory, base) { - this._queue.add({ directory, base }); - } - _handleQueue() { - for (const item of this._queue.values()) { - this._handleDirectory(item.directory, item.base); - } - } - _handleDirectory(directory, base) { - try { - const entries = this._scandir(directory, this._settings.fsScandirSettings); - for (const entry of entries) { - this._handleEntry(entry, base); - } - } catch (error) { - this._handleError(error); - } - } - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; - } - throw error; - } - _handleEntry(entry, base) { - const fullpath = entry.path; - if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._pushToStorage(entry); - } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); - } - } - _pushToStorage(entry) { - this._storage.push(entry); - } - }; - exports.default = SyncReader; - } -}); - -// node_modules/@nodelib/fs.walk/out/providers/sync.js -var require_sync4 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var sync_1 = require_sync3(); - var SyncProvider = class { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new sync_1.default(this._root, this._settings); - } - read() { - return this._reader.read(); - } - }; - exports.default = SyncProvider; - } -}); - -// node_modules/@nodelib/fs.walk/out/settings.js -var require_settings3 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/settings.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var path = __require("path"); - var fsScandir = require_out2(); - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.basePath = this._getValue(this._options.basePath, void 0); - this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); - this.deepFilter = this._getValue(this._options.deepFilter, null); - this.entryFilter = this._getValue(this._options.entryFilter, null); - this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep); - this.fsScandirSettings = new fsScandir.Settings({ - followSymbolicLinks: this._options.followSymbolicLinks, - fs: this._options.fs, - pathSegmentSeparator: this._options.pathSegmentSeparator, - stats: this._options.stats, - throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink - }); - } - _getValue(option, value) { - return option !== null && option !== void 0 ? option : value; - } - }; - exports.default = Settings; - } -}); - -// node_modules/@nodelib/fs.walk/out/index.js -var require_out3 = __commonJS({ - "node_modules/@nodelib/fs.walk/out/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0; - var async_1 = require_async4(); - var stream_1 = require_stream2(); - var sync_1 = require_sync4(); - var settings_1 = require_settings3(); - exports.Settings = settings_1.default; - function walk(directory, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === "function") { - new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); - return; - } - new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); - } - exports.walk = walk; - function walkSync(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new sync_1.default(directory, settings); - return provider.read(); - } - exports.walkSync = walkSync; - function walkStream(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new stream_1.default(directory, settings); - return provider.read(); - } - exports.walkStream = walkStream; - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings_1.default) { - return settingsOrOptions; - } - return new settings_1.default(settingsOrOptions); - } - } -}); - -// node_modules/fast-glob/out/readers/reader.js -var require_reader2 = __commonJS({ - "node_modules/fast-glob/out/readers/reader.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var path = __require("path"); - var fsStat = require_out(); - var utils = require_utils3(); - var Reader = class { - constructor(_settings) { - this._settings = _settings; - this._fsStatSettings = new fsStat.Settings({ - followSymbolicLink: this._settings.followSymbolicLinks, - fs: this._settings.fs, - throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks - }); - } - _getFullEntryPath(filepath) { - return path.resolve(this._settings.cwd, filepath); - } - _makeEntry(stats, pattern) { - const entry = { - name: pattern, - path: pattern, - dirent: utils.fs.createDirentFromStats(pattern, stats) - }; - if (this._settings.stats) { - entry.stats = stats; - } - return entry; - } - _isFatalError(error) { - return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; - } - }; - exports.default = Reader; - } -}); - -// node_modules/fast-glob/out/readers/stream.js -var require_stream3 = __commonJS({ - "node_modules/fast-glob/out/readers/stream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var stream_1 = __require("stream"); - var fsStat = require_out(); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var ReaderStream = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkStream = fsWalk.walkStream; - this._stat = fsStat.stat; - } - dynamic(root, options) { - return this._walkStream(root, options); - } - static(patterns, options) { - const filepaths = patterns.map(this._getFullEntryPath, this); - const stream = new stream_1.PassThrough({ objectMode: true }); - stream._write = (index, _enc, done) => { - return this._getEntry(filepaths[index], patterns[index], options).then((entry) => { - if (entry !== null && options.entryFilter(entry)) { - stream.push(entry); - } - if (index === filepaths.length - 1) { - stream.end(); - } - done(); - }).catch(done); - }; - for (let i = 0; i < filepaths.length; i++) { - stream.write(i); - } - return stream; - } - _getEntry(filepath, pattern, options) { - return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => { - if (options.errorFilter(error)) { - return null; - } - throw error; - }); - } - _getStat(filepath) { - return new Promise((resolve, reject) => { - this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve(stats) : reject(error); - }); - }); - } - }; - exports.default = ReaderStream; - } -}); - -// node_modules/fast-glob/out/readers/async.js -var require_async5 = __commonJS({ - "node_modules/fast-glob/out/readers/async.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var stream_1 = require_stream3(); - var ReaderAsync = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkAsync = fsWalk.walk; - this._readerStream = new stream_1.default(this._settings); - } - dynamic(root, options) { - return new Promise((resolve, reject) => { - this._walkAsync(root, options, (error, entries) => { - if (error === null) { - resolve(entries); - } else { - reject(error); - } - }); - }); - } - async static(patterns, options) { - const entries = []; - const stream = this._readerStream.static(patterns, options); - return new Promise((resolve, reject) => { - stream.once("error", reject); - stream.on("data", (entry) => entries.push(entry)); - stream.once("end", () => resolve(entries)); - }); - } - }; - exports.default = ReaderAsync; - } -}); - -// node_modules/fast-glob/out/providers/matchers/matcher.js -var require_matcher = __commonJS({ - "node_modules/fast-glob/out/providers/matchers/matcher.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var utils = require_utils3(); - var Matcher = class { - constructor(_patterns, _settings, _micromatchOptions) { - this._patterns = _patterns; - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this._storage = []; - this._fillStorage(); - } - _fillStorage() { - for (const pattern of this._patterns) { - const segments = this._getPatternSegments(pattern); - const sections = this._splitSegmentsIntoSections(segments); - this._storage.push({ - complete: sections.length <= 1, - pattern, - segments, - sections - }); - } - } - _getPatternSegments(pattern) { - const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions); - return parts.map((part) => { - const dynamic = utils.pattern.isDynamicPattern(part, this._settings); - if (!dynamic) { - return { - dynamic: false, - pattern: part - }; - } - return { - dynamic: true, - pattern: part, - patternRe: utils.pattern.makeRe(part, this._micromatchOptions) - }; - }); - } - _splitSegmentsIntoSections(segments) { - return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern)); - } - }; - exports.default = Matcher; - } -}); - -// node_modules/fast-glob/out/providers/matchers/partial.js -var require_partial = __commonJS({ - "node_modules/fast-glob/out/providers/matchers/partial.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var matcher_1 = require_matcher(); - var PartialMatcher = class extends matcher_1.default { - match(filepath) { - const parts = filepath.split("/"); - const levels = parts.length; - const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels); - for (const pattern of patterns) { - const section = pattern.sections[0]; - if (!pattern.complete && levels > section.length) { - return true; - } - const match = parts.every((part, index) => { - const segment = pattern.segments[index]; - if (segment.dynamic && segment.patternRe.test(part)) { - return true; - } - if (!segment.dynamic && segment.pattern === part) { - return true; - } - return false; - }); - if (match) { - return true; - } - } - return false; - } - }; - exports.default = PartialMatcher; - } -}); - -// node_modules/fast-glob/out/providers/filters/deep.js -var require_deep = __commonJS({ - "node_modules/fast-glob/out/providers/filters/deep.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var utils = require_utils3(); - var partial_1 = require_partial(); - var DeepFilter = class { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - } - getFilter(basePath, positive, negative) { - const matcher = this._getMatcher(positive); - const negativeRe = this._getNegativePatternsRe(negative); - return (entry) => this._filter(basePath, entry, matcher, negativeRe); - } - _getMatcher(patterns) { - return new partial_1.default(patterns, this._settings, this._micromatchOptions); - } - _getNegativePatternsRe(patterns) { - const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern); - return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); - } - _filter(basePath, entry, matcher, negativeRe) { - if (this._isSkippedByDeep(basePath, entry.path)) { - return false; - } - if (this._isSkippedSymbolicLink(entry)) { - return false; - } - const filepath = utils.path.removeLeadingDotSegment(entry.path); - if (this._isSkippedByPositivePatterns(filepath, matcher)) { - return false; - } - return this._isSkippedByNegativePatterns(filepath, negativeRe); - } - _isSkippedByDeep(basePath, entryPath) { - if (this._settings.deep === Infinity) { - return false; - } - return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; - } - _getEntryLevel(basePath, entryPath) { - const entryPathDepth = entryPath.split("/").length; - if (basePath === "") { - return entryPathDepth; - } - const basePathDepth = basePath.split("/").length; - return entryPathDepth - basePathDepth; - } - _isSkippedSymbolicLink(entry) { - return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); - } - _isSkippedByPositivePatterns(entryPath, matcher) { - return !this._settings.baseNameMatch && !matcher.match(entryPath); - } - _isSkippedByNegativePatterns(entryPath, patternsRe) { - return !utils.pattern.matchAny(entryPath, patternsRe); - } - }; - exports.default = DeepFilter; - } -}); - -// node_modules/fast-glob/out/providers/filters/entry.js -var require_entry = __commonJS({ - "node_modules/fast-glob/out/providers/filters/entry.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var utils = require_utils3(); - var EntryFilter = class { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this.index = /* @__PURE__ */ new Map(); - } - getFilter(positive, negative) { - const [absoluteNegative, relativeNegative] = utils.pattern.partitionAbsoluteAndRelative(negative); - const patterns = { - positive: { - all: utils.pattern.convertPatternsToRe(positive, this._micromatchOptions) - }, - negative: { - absolute: utils.pattern.convertPatternsToRe(absoluteNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })), - relative: utils.pattern.convertPatternsToRe(relativeNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })) - } - }; - return (entry) => this._filter(entry, patterns); - } - _filter(entry, patterns) { - const filepath = utils.path.removeLeadingDotSegment(entry.path); - if (this._settings.unique && this._isDuplicateEntry(filepath)) { - return false; - } - if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { - return false; - } - const isMatched = this._isMatchToPatternsSet(filepath, patterns, entry.dirent.isDirectory()); - if (this._settings.unique && isMatched) { - this._createIndexRecord(filepath); - } - return isMatched; - } - _isDuplicateEntry(filepath) { - return this.index.has(filepath); - } - _createIndexRecord(filepath) { - this.index.set(filepath, void 0); - } - _onlyFileFilter(entry) { - return this._settings.onlyFiles && !entry.dirent.isFile(); - } - _onlyDirectoryFilter(entry) { - return this._settings.onlyDirectories && !entry.dirent.isDirectory(); - } - _isMatchToPatternsSet(filepath, patterns, isDirectory) { - const isMatched = this._isMatchToPatterns(filepath, patterns.positive.all, isDirectory); - if (!isMatched) { - return false; - } - const isMatchedByRelativeNegative = this._isMatchToPatterns(filepath, patterns.negative.relative, isDirectory); - if (isMatchedByRelativeNegative) { - return false; - } - const isMatchedByAbsoluteNegative = this._isMatchToAbsoluteNegative(filepath, patterns.negative.absolute, isDirectory); - if (isMatchedByAbsoluteNegative) { - return false; - } - return true; - } - _isMatchToAbsoluteNegative(filepath, patternsRe, isDirectory) { - if (patternsRe.length === 0) { - return false; - } - const fullpath = utils.path.makeAbsolute(this._settings.cwd, filepath); - return this._isMatchToPatterns(fullpath, patternsRe, isDirectory); - } - _isMatchToPatterns(filepath, patternsRe, isDirectory) { - if (patternsRe.length === 0) { - return false; - } - const isMatched = utils.pattern.matchAny(filepath, patternsRe); - if (!isMatched && isDirectory) { - return utils.pattern.matchAny(filepath + "/", patternsRe); - } - return isMatched; - } - }; - exports.default = EntryFilter; - } -}); - -// node_modules/fast-glob/out/providers/filters/error.js -var require_error = __commonJS({ - "node_modules/fast-glob/out/providers/filters/error.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var utils = require_utils3(); - var ErrorFilter = class { - constructor(_settings) { - this._settings = _settings; - } - getFilter() { - return (error) => this._isNonFatalError(error); - } - _isNonFatalError(error) { - return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors; - } - }; - exports.default = ErrorFilter; - } -}); - -// node_modules/fast-glob/out/providers/transformers/entry.js -var require_entry2 = __commonJS({ - "node_modules/fast-glob/out/providers/transformers/entry.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var utils = require_utils3(); - var EntryTransformer = class { - constructor(_settings) { - this._settings = _settings; - } - getTransformer() { - return (entry) => this._transform(entry); - } - _transform(entry) { - let filepath = entry.path; - if (this._settings.absolute) { - filepath = utils.path.makeAbsolute(this._settings.cwd, filepath); - filepath = utils.path.unixify(filepath); - } - if (this._settings.markDirectories && entry.dirent.isDirectory()) { - filepath += "/"; - } - if (!this._settings.objectMode) { - return filepath; - } - return Object.assign(Object.assign({}, entry), { path: filepath }); - } - }; - exports.default = EntryTransformer; - } -}); - -// node_modules/fast-glob/out/providers/provider.js -var require_provider = __commonJS({ - "node_modules/fast-glob/out/providers/provider.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var path = __require("path"); - var deep_1 = require_deep(); - var entry_1 = require_entry(); - var error_1 = require_error(); - var entry_2 = require_entry2(); - var Provider = class { - constructor(_settings) { - this._settings = _settings; - this.errorFilter = new error_1.default(this._settings); - this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); - this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); - this.entryTransformer = new entry_2.default(this._settings); - } - _getRootDirectory(task) { - return path.resolve(this._settings.cwd, task.base); - } - _getReaderOptions(task) { - const basePath = task.base === "." ? "" : task.base; - return { - basePath, - pathSegmentSeparator: "/", - concurrency: this._settings.concurrency, - deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), - entryFilter: this.entryFilter.getFilter(task.positive, task.negative), - errorFilter: this.errorFilter.getFilter(), - followSymbolicLinks: this._settings.followSymbolicLinks, - fs: this._settings.fs, - stats: this._settings.stats, - throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, - transform: this.entryTransformer.getTransformer() - }; - } - _getMicromatchOptions() { - return { - dot: this._settings.dot, - matchBase: this._settings.baseNameMatch, - nobrace: !this._settings.braceExpansion, - nocase: !this._settings.caseSensitiveMatch, - noext: !this._settings.extglob, - noglobstar: !this._settings.globstar, - posix: true, - strictSlashes: false - }; - } - }; - exports.default = Provider; - } -}); - -// node_modules/fast-glob/out/providers/async.js -var require_async6 = __commonJS({ - "node_modules/fast-glob/out/providers/async.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var async_1 = require_async5(); - var provider_1 = require_provider(); - var ProviderAsync = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new async_1.default(this._settings); - } - async read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = await this.api(root, task, options); - return entries.map((entry) => options.transform(entry)); - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports.default = ProviderAsync; - } -}); - -// node_modules/fast-glob/out/providers/stream.js -var require_stream4 = __commonJS({ - "node_modules/fast-glob/out/providers/stream.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var stream_1 = __require("stream"); - var stream_2 = require_stream3(); - var provider_1 = require_provider(); - var ProviderStream = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new stream_2.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const source = this.api(root, task, options); - const destination = new stream_1.Readable({ objectMode: true, read: () => { - } }); - source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options.transform(entry))).once("end", () => destination.emit("end")); - destination.once("close", () => source.destroy()); - return destination; - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports.default = ProviderStream; - } -}); - -// node_modules/fast-glob/out/readers/sync.js -var require_sync5 = __commonJS({ - "node_modules/fast-glob/out/readers/sync.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var fsStat = require_out(); - var fsWalk = require_out3(); - var reader_1 = require_reader2(); - var ReaderSync = class extends reader_1.default { - constructor() { - super(...arguments); - this._walkSync = fsWalk.walkSync; - this._statSync = fsStat.statSync; - } - dynamic(root, options) { - return this._walkSync(root, options); - } - static(patterns, options) { - const entries = []; - for (const pattern of patterns) { - const filepath = this._getFullEntryPath(pattern); - const entry = this._getEntry(filepath, pattern, options); - if (entry === null || !options.entryFilter(entry)) { - continue; - } - entries.push(entry); - } - return entries; - } - _getEntry(filepath, pattern, options) { - try { - const stats = this._getStat(filepath); - return this._makeEntry(stats, pattern); - } catch (error) { - if (options.errorFilter(error)) { - return null; - } - throw error; - } - } - _getStat(filepath) { - return this._statSync(filepath, this._fsStatSettings); - } - }; - exports.default = ReaderSync; - } -}); - -// node_modules/fast-glob/out/providers/sync.js -var require_sync6 = __commonJS({ - "node_modules/fast-glob/out/providers/sync.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var sync_1 = require_sync5(); - var provider_1 = require_provider(); - var ProviderSync = class extends provider_1.default { - constructor() { - super(...arguments); - this._reader = new sync_1.default(this._settings); - } - read(task) { - const root = this._getRootDirectory(task); - const options = this._getReaderOptions(task); - const entries = this.api(root, task, options); - return entries.map(options.transform); - } - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - return this._reader.static(task.patterns, options); - } - }; - exports.default = ProviderSync; - } -}); - -// node_modules/fast-glob/out/settings.js -var require_settings4 = __commonJS({ - "node_modules/fast-glob/out/settings.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; - var fs = __require("fs"); - var os = __require("os"); - var CPU_COUNT = Math.max(os.cpus().length, 1); - exports.DEFAULT_FILE_SYSTEM_ADAPTER = { - lstat: fs.lstat, - lstatSync: fs.lstatSync, - stat: fs.stat, - statSync: fs.statSync, - readdir: fs.readdir, - readdirSync: fs.readdirSync - }; - var Settings = class { - constructor(_options = {}) { - this._options = _options; - this.absolute = this._getValue(this._options.absolute, false); - this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); - this.braceExpansion = this._getValue(this._options.braceExpansion, true); - this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); - this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); - this.cwd = this._getValue(this._options.cwd, process.cwd()); - this.deep = this._getValue(this._options.deep, Infinity); - this.dot = this._getValue(this._options.dot, false); - this.extglob = this._getValue(this._options.extglob, true); - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); - this.fs = this._getFileSystemMethods(this._options.fs); - this.globstar = this._getValue(this._options.globstar, true); - this.ignore = this._getValue(this._options.ignore, []); - this.markDirectories = this._getValue(this._options.markDirectories, false); - this.objectMode = this._getValue(this._options.objectMode, false); - this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); - this.onlyFiles = this._getValue(this._options.onlyFiles, true); - this.stats = this._getValue(this._options.stats, false); - this.suppressErrors = this._getValue(this._options.suppressErrors, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); - this.unique = this._getValue(this._options.unique, true); - if (this.onlyDirectories) { - this.onlyFiles = false; - } - if (this.stats) { - this.objectMode = true; - } - this.ignore = [].concat(this.ignore); - } - _getValue(option, value) { - return option === void 0 ? value : option; - } - _getFileSystemMethods(methods = {}) { - return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods); - } - }; - exports.default = Settings; - } -}); - -// node_modules/fast-glob/out/index.js -var require_out4 = __commonJS({ - "node_modules/fast-glob/out/index.js"(exports, module) { - "use strict"; - var taskManager = require_tasks(); - var async_1 = require_async6(); - var stream_1 = require_stream4(); - var sync_1 = require_sync6(); - var settings_1 = require_settings4(); - var utils = require_utils3(); - async function FastGlob(source, options) { - assertPatternsInput(source); - const works = getWorks(source, async_1.default, options); - const result = await Promise.all(works); - return utils.array.flatten(result); - } - (function(FastGlob2) { - FastGlob2.glob = FastGlob2; - FastGlob2.globSync = sync; - FastGlob2.globStream = stream; - FastGlob2.async = FastGlob2; - function sync(source, options) { - assertPatternsInput(source); - const works = getWorks(source, sync_1.default, options); - return utils.array.flatten(works); - } - FastGlob2.sync = sync; - function stream(source, options) { - assertPatternsInput(source); - const works = getWorks(source, stream_1.default, options); - return utils.stream.merge(works); - } - FastGlob2.stream = stream; - function generateTasks(source, options) { - assertPatternsInput(source); - const patterns = [].concat(source); - const settings = new settings_1.default(options); - return taskManager.generate(patterns, settings); - } - FastGlob2.generateTasks = generateTasks; - function isDynamicPattern(source, options) { - assertPatternsInput(source); - const settings = new settings_1.default(options); - return utils.pattern.isDynamicPattern(source, settings); - } - FastGlob2.isDynamicPattern = isDynamicPattern; - function escapePath(source) { - assertPatternsInput(source); - return utils.path.escape(source); - } - FastGlob2.escapePath = escapePath; - function convertPathToPattern(source) { - assertPatternsInput(source); - return utils.path.convertPathToPattern(source); - } - FastGlob2.convertPathToPattern = convertPathToPattern; - let posix; - (function(posix2) { - function escapePath2(source) { - assertPatternsInput(source); - return utils.path.escapePosixPath(source); - } - posix2.escapePath = escapePath2; - function convertPathToPattern2(source) { - assertPatternsInput(source); - return utils.path.convertPosixPathToPattern(source); - } - posix2.convertPathToPattern = convertPathToPattern2; - })(posix = FastGlob2.posix || (FastGlob2.posix = {})); - let win32; - (function(win322) { - function escapePath2(source) { - assertPatternsInput(source); - return utils.path.escapeWindowsPath(source); - } - win322.escapePath = escapePath2; - function convertPathToPattern2(source) { - assertPatternsInput(source); - return utils.path.convertWindowsPathToPattern(source); - } - win322.convertPathToPattern = convertPathToPattern2; - })(win32 = FastGlob2.win32 || (FastGlob2.win32 = {})); - })(FastGlob || (FastGlob = {})); - function getWorks(source, _Provider, options) { - const patterns = [].concat(source); - const settings = new settings_1.default(options); - const tasks = taskManager.generate(patterns, settings); - const provider = new _Provider(settings); - return tasks.map(provider.read, provider); - } - function assertPatternsInput(input) { - const source = [].concat(input); - const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); - if (!isValidSource) { - throw new TypeError("Patterns must be a string (non empty) or an array of strings"); - } - } - module.exports = FastGlob; - } -}); - -export { - require_out4 as require_out -}; -/*! Bundled license information: - -is-extglob/index.js: - (*! - * is-extglob - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - *) - -is-glob/index.js: - (*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - *) - -is-number/index.js: - (*! - * is-number - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - *) - -to-regex-range/index.js: - (*! - * to-regex-range - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - *) - -fill-range/index.js: - (*! - * fill-range - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - *) - -queue-microtask/index.js: - (*! queue-microtask. MIT License. Feross Aboukhadijeh *) - -run-parallel/index.js: - (*! run-parallel. MIT License. Feross Aboukhadijeh *) -*/ diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/index.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/index.js deleted file mode 100644 index 4faeddf..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/index.js +++ /dev/null @@ -1,131 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - trace, - wrapTracer -} from "./esm-chunks/chunk-5V5HA6YA.js"; -import "./esm-chunks/chunk-6BT4RYQJ.js"; - -// src/index.ts -import { rm } from "fs/promises"; -import { restoreBuildCache, saveBuildCache } from "./build/cache.js"; -import { copyPrerenderedContent } from "./build/content/prerendered.js"; -import { - copyStaticAssets, - copyStaticContent, - copyStaticExport, - publishStaticDir, - setHeadersConfig, - unpublishStaticDir -} from "./build/content/static.js"; -import { clearStaleEdgeHandlers, createEdgeHandlers } from "./build/functions/edge.js"; -import { clearStaleServerHandlers, createServerHandler } from "./build/functions/server.js"; -import { setImageConfig } from "./build/image-cdn.js"; -import { PluginContext } from "./build/plugin-context.js"; -import { setSkewProtection } from "./build/skew-protection.js"; -import { - verifyAdvancedAPIRoutes, - verifyNetlifyFormsWorkaround, - verifyPublishDir -} from "./build/verification.js"; -var skipPlugin = process.env.NETLIFY_NEXT_PLUGIN_SKIP === "true" || process.env.NETLIFY_NEXT_PLUGIN_SKIP === "1"; -var skipText = "Skipping Next.js plugin due to NETLIFY_NEXT_PLUGIN_SKIP environment variable."; -var tracer = wrapTracer(trace.getTracer("Next.js runtime")); -var onPreDev = async (options) => { - if (skipPlugin) { - console.warn(skipText); - return; - } - await tracer.withActiveSpan("onPreDev", async () => { - const context = new PluginContext(options); - await rm(context.blobDir, { recursive: true, force: true }); - }); -}; -var onPreBuild = async (options) => { - if (skipPlugin) { - console.warn(skipText); - return; - } - await tracer.withActiveSpan("onPreBuild", async (span) => { - process.env.NEXT_PRIVATE_STANDALONE = "true"; - const ctx = new PluginContext(options); - if (options.constants.IS_LOCAL) { - await clearStaleServerHandlers(ctx); - await clearStaleEdgeHandlers(ctx); - } else { - await restoreBuildCache(ctx); - } - await setSkewProtection(ctx, span); - }); -}; -var onBuild = async (options) => { - if (skipPlugin) { - console.warn(skipText); - return; - } - await tracer.withActiveSpan("onBuild", async (span) => { - const ctx = new PluginContext(options); - verifyPublishDir(ctx); - span.setAttribute("next.buildConfig", JSON.stringify(ctx.buildConfig)); - if (!options.constants.IS_LOCAL) { - await saveBuildCache(ctx); - } - if (ctx.buildConfig.output === "export") { - return Promise.all([copyStaticExport(ctx), setHeadersConfig(ctx), setImageConfig(ctx)]); - } - await verifyAdvancedAPIRoutes(ctx); - await verifyNetlifyFormsWorkaround(ctx); - await Promise.all([ - copyStaticAssets(ctx), - copyStaticContent(ctx), - copyPrerenderedContent(ctx), - createServerHandler(ctx), - createEdgeHandlers(ctx), - setHeadersConfig(ctx), - setImageConfig(ctx) - ]); - }); -}; -var onPostBuild = async (options) => { - if (skipPlugin) { - console.warn(skipText); - return; - } - await tracer.withActiveSpan("onPostBuild", async () => { - await publishStaticDir(new PluginContext(options)); - }); -}; -var onSuccess = async () => { - if (skipPlugin) { - console.warn(skipText); - return; - } - await tracer.withActiveSpan("onSuccess", async () => { - const prewarm = [process.env.DEPLOY_URL, process.env.DEPLOY_PRIME_URL, process.env.URL].filter( - // If running locally then the deploy ID is a placeholder value. Filtering for `https://0--` removes it. - (url) => Boolean(url && !url.startsWith("https://0--")) - ); - await Promise.allSettled(prewarm.map((url) => fetch(url))); - }); -}; -var onEnd = async (options) => { - if (skipPlugin) { - console.warn(skipText); - return; - } - await tracer.withActiveSpan("onEnd", async () => { - await unpublishStaticDir(new PluginContext(options)); - }); -}; -export { - onBuild, - onEnd, - onPostBuild, - onPreBuild, - onPreDev, - onSuccess -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/config.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/config.js deleted file mode 100644 index b6fcd6c..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/config.js +++ /dev/null @@ -1,38 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/run/config.ts -import { existsSync } from "node:fs"; -import { readFile } from "node:fs/promises"; -import { join, resolve } from "node:path"; -import { PLUGIN_DIR, RUN_CONFIG_FILE } from "./constants.js"; -import { setInMemoryCacheMaxSizeFromNextConfig } from "./storage/storage.cjs"; -var getRunConfig = async () => { - return JSON.parse(await readFile(resolve(PLUGIN_DIR, RUN_CONFIG_FILE), "utf-8")); -}; -var setRunConfig = (config) => { - const cacheHandler = join(PLUGIN_DIR, ".netlify/dist/run/handlers/cache.cjs"); - if (!existsSync(cacheHandler)) { - throw new Error(`Cache handler not found at ${cacheHandler}`); - } - config.experimental = { - ...config.experimental, - // Before Next.js 14.1.0 path to the cache handler was in experimental section, see NextConfigForMultipleVersions type - incrementalCacheHandlerPath: cacheHandler - }; - config.cacheHandler = cacheHandler; - setInMemoryCacheMaxSizeFromNextConfig( - config.cacheMaxMemorySize ?? config.experimental?.isrMemoryCacheSize - ); - process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(config); - return config; -}; -export { - getRunConfig, - setRunConfig -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/constants.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/constants.js deleted file mode 100644 index 8fb918f..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/constants.js +++ /dev/null @@ -1,19 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/run/constants.ts -import { resolve } from "node:path"; -import { fileURLToPath } from "node:url"; -var MODULE_DIR = fileURLToPath(new URL(".", import.meta.url)); -var PLUGIN_DIR = resolve(`${MODULE_DIR}../../..`); -var RUN_CONFIG_FILE = "run-config.json"; -export { - MODULE_DIR, - PLUGIN_DIR, - RUN_CONFIG_FILE -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/cache.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/cache.cjs deleted file mode 100644 index 59f4d14..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/cache.cjs +++ /dev/null @@ -1,394 +0,0 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/handlers/cache.cts -var cache_exports = {}; -__export(cache_exports, { - NetlifyCacheHandler: () => NetlifyCacheHandler, - default: () => cache_default -}); -module.exports = __toCommonJS(cache_exports); -var import_node_buffer = require("node:buffer"); -var import_node_path = require("node:path"); -var import_posix = require("node:path/posix"); -var import_constants = require("next/dist/lib/constants.js"); -var import_cache_types = require("../../shared/cache-types.cjs"); -var import_storage = require("../storage/storage.cjs"); -var import_request_context = require("./request-context.cjs"); -var import_tags_handler = require("./tags-handler.cjs"); -var import_tracer = require("./tracer.cjs"); -var memoizedPrerenderManifest; -var NetlifyCacheHandler = class { - options; - revalidatedTags; - cacheStore; - tracer = (0, import_tracer.getTracer)(); - constructor(options) { - this.options = options; - this.revalidatedTags = options.revalidatedTags; - this.cacheStore = (0, import_storage.getMemoizedKeyValueStoreBackedByRegionalBlobStore)({ consistency: "strong" }); - } - getTTL(blob) { - if (blob.value?.kind === "FETCH" || blob.value?.kind === "ROUTE" || blob.value?.kind === "APP_ROUTE" || blob.value?.kind === "PAGE" || blob.value?.kind === "PAGES" || blob.value?.kind === "APP_PAGE") { - const { revalidate } = blob.value; - if (typeof revalidate === "number") { - const revalidateAfter = revalidate * 1e3 + blob.lastModified; - return (revalidateAfter - Date.now()) / 1e3; - } - if (revalidate === false) { - return "PERMANENT"; - } - } - return "NOT SET"; - } - captureResponseCacheLastModified(cacheValue, key, getCacheKeySpan) { - if (cacheValue.value?.kind === "FETCH") { - return; - } - const requestContext = (0, import_request_context.getRequestContext)(); - if (!requestContext) { - (0, import_tracer.recordWarning)(new Error("CacheHandler was called without a request context"), getCacheKeySpan); - return; - } - if (requestContext.responseCacheKey && requestContext.responseCacheKey !== key) { - requestContext.responseCacheGetLastModified = void 0; - (0, import_tracer.recordWarning)( - new Error( - `Multiple response cache keys used in single request: ["${requestContext.responseCacheKey}, "${key}"]` - ), - getCacheKeySpan - ); - return; - } - requestContext.responseCacheKey = key; - if (cacheValue.lastModified) { - requestContext.responseCacheGetLastModified = cacheValue.lastModified; - } - } - captureRouteRevalidateAndRemoveFromObject(cacheValue) { - const { revalidate, ...restOfRouteValue } = cacheValue; - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext) { - requestContext.routeHandlerRevalidate = revalidate; - } - return restOfRouteValue; - } - captureCacheTags(cacheValue, key) { - const requestContext = (0, import_request_context.getRequestContext)(); - if (!requestContext) { - return; - } - if (requestContext.responseCacheTags) { - return; - } - if (!cacheValue) { - const cacheTags = [`_N_T_${key === "/index" ? "/" : encodeURI(key)}`]; - requestContext.responseCacheTags = cacheTags; - return; - } - if (cacheValue.kind === "PAGE" || cacheValue.kind === "PAGES" || cacheValue.kind === "APP_PAGE" || cacheValue.kind === "ROUTE" || cacheValue.kind === "APP_ROUTE") { - if (cacheValue.headers?.[import_constants.NEXT_CACHE_TAGS_HEADER]) { - const cacheTags = cacheValue.headers[import_constants.NEXT_CACHE_TAGS_HEADER].split(/,|%2c/gi); - requestContext.responseCacheTags = cacheTags; - } else if ((cacheValue.kind === "PAGE" || cacheValue.kind === "PAGES") && typeof cacheValue.pageData === "object") { - const cacheTags = [`_N_T_${key === "/index" ? "/" : encodeURI(key)}`]; - requestContext.responseCacheTags = cacheTags; - } - } - } - async getPrerenderManifest(serverDistDir) { - if (memoizedPrerenderManifest) { - return memoizedPrerenderManifest; - } - const prerenderManifestPath = (0, import_node_path.join)(serverDistDir, "..", "prerender-manifest.json"); - try { - const { loadManifest } = await import("next/dist/server/load-manifest.external.js"); - memoizedPrerenderManifest = loadManifest(prerenderManifestPath); - } catch { - const { loadManifest } = await import("next/dist/server/load-manifest.js"); - memoizedPrerenderManifest = loadManifest(prerenderManifestPath); - } - return memoizedPrerenderManifest; - } - async injectEntryToPrerenderManifest(key, { revalidate, cacheControl }) { - if (this.options.serverDistDir && (typeof revalidate === "number" || revalidate === false || typeof cacheControl !== "undefined")) { - try { - const prerenderManifest = await this.getPrerenderManifest(this.options.serverDistDir); - if (typeof cacheControl !== "undefined") { - try { - const { SharedCacheControls } = await import( - // @ts-expect-error supporting multiple next version, this module is not resolvable with currently used dev dependency - // eslint-disable-next-line import/no-unresolved, n/no-missing-import - "next/dist/server/lib/incremental-cache/shared-cache-controls.external.js" - ); - const sharedCacheControls = new SharedCacheControls(prerenderManifest); - sharedCacheControls.set(key, cacheControl); - } catch { - const { SharedCacheControls } = await import( - // @ts-expect-error supporting multiple next version, this module is not resolvable with currently used dev dependency - // eslint-disable-next-line import/no-unresolved, n/no-missing-import - "next/dist/server/lib/incremental-cache/shared-cache-controls.js" - ); - const sharedCacheControls = new SharedCacheControls(prerenderManifest); - sharedCacheControls.set(key, cacheControl); - } - } else if (typeof revalidate === "number" || revalidate === false) { - try { - const { normalizePagePath } = await import("next/dist/shared/lib/page-path/normalize-page-path.js"); - prerenderManifest.routes[key] = { - experimentalPPR: void 0, - dataRoute: (0, import_posix.join)("/_next/data", `${normalizePagePath(key)}.json`), - srcRoute: null, - // FIXME: provide actual source route, however, when dynamically appending it doesn't really matter - initialRevalidateSeconds: revalidate, - // Pages routes do not have a prefetch data route. - prefetchDataRoute: void 0 - }; - } catch { - const { SharedRevalidateTimings } = await import("next/dist/server/lib/incremental-cache/shared-revalidate-timings.js"); - const sharedRevalidateTimings = new SharedRevalidateTimings(prerenderManifest); - sharedRevalidateTimings.set(key, revalidate); - } - } - } catch { - } - } - } - async get(...args) { - return (0, import_tracer.withActiveSpan)(this.tracer, "get cache key", async (span) => { - const [key, context = {}] = args; - (0, import_request_context.getLogger)().debug(`[NetlifyCacheHandler.get]: ${key}`); - span?.setAttributes({ key }); - const blob = await this.cacheStore.get(key, "blobStore.get"); - if (!blob) { - span?.addEvent("Cache miss", { key }); - return null; - } - const ttl = this.getTTL(blob); - if ((0, import_request_context.getRequestContext)()?.isBackgroundRevalidation && typeof ttl === "number" && ttl < 0) { - span?.addEvent("Discarding stale entry due to SWR background revalidation request", { - key, - ttl - }); - (0, import_request_context.getLogger)().withFields({ - ttl, - key - }).debug( - `[NetlifyCacheHandler.get] Discarding stale entry due to SWR background revalidation request: ${key}` - ); - return null; - } - const { stale: staleByTags, expired: expiredByTags } = await this.checkCacheEntryStaleByTags( - blob, - context.tags, - context.softTags - ); - if (expiredByTags) { - span?.addEvent("Expired", { expiredByTags, key, ttl }); - return null; - } - this.captureResponseCacheLastModified(blob, key, span); - if (staleByTags) { - span?.addEvent("Stale", { staleByTags, key, ttl }); - blob.lastModified = -1; - } - const isDataRequest = Boolean(context.fetchUrl); - if (!isDataRequest) { - this.captureCacheTags(blob.value, key); - } - switch (blob.value?.kind) { - case "FETCH": - span?.addEvent("FETCH", { - lastModified: blob.lastModified, - revalidate: context.revalidate, - ttl - }); - return { - lastModified: blob.lastModified, - value: blob.value - }; - case "ROUTE": - case "APP_ROUTE": { - span?.addEvent(blob.value?.kind, { - lastModified: blob.lastModified, - status: blob.value.status, - revalidate: blob.value.revalidate, - ttl - }); - const valueWithoutRevalidate = this.captureRouteRevalidateAndRemoveFromObject(blob.value); - return { - lastModified: blob.lastModified, - value: { - ...valueWithoutRevalidate, - body: import_node_buffer.Buffer.from(valueWithoutRevalidate.body, "base64") - } - }; - } - case "PAGE": - case "PAGES": { - const { revalidate, ...restOfPageValue } = blob.value; - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext) { - requestContext.pageHandlerRevalidate = revalidate; - } - span?.addEvent(blob.value?.kind, { lastModified: blob.lastModified, revalidate, ttl }); - await this.injectEntryToPrerenderManifest(key, blob.value); - return { - lastModified: blob.lastModified, - value: restOfPageValue - }; - } - case "APP_PAGE": { - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext && blob.value?.kind === "APP_PAGE") { - requestContext.isCacheableAppPage = true; - } - const { revalidate, rscData, segmentData, ...restOfPageValue } = blob.value; - span?.addEvent(blob.value?.kind, { lastModified: blob.lastModified, revalidate, ttl }); - await this.injectEntryToPrerenderManifest(key, blob.value); - return { - lastModified: blob.lastModified, - value: { - ...restOfPageValue, - rscData: rscData ? import_node_buffer.Buffer.from(rscData, "base64") : void 0, - segmentData: segmentData ? new Map( - Object.entries(segmentData).map(([segmentPath, base64EncodedSegment]) => [ - segmentPath, - import_node_buffer.Buffer.from(base64EncodedSegment, "base64") - ]) - ) : void 0 - } - }; - } - default: - span?.recordException(new Error(`Unknown cache entry kind: ${blob.value?.kind}`)); - } - return null; - }); - } - transformToStorableObject(data, context) { - if (!data) { - return null; - } - if ((0, import_cache_types.isCachedRouteValue)(data)) { - return { - ...data, - revalidate: context.revalidate ?? context.cacheControl?.revalidate, - cacheControl: context.cacheControl, - body: data.body.toString("base64") - }; - } - if ((0, import_cache_types.isCachedPageValue)(data)) { - return { - ...data, - revalidate: context.revalidate ?? context.cacheControl?.revalidate, - cacheControl: context.cacheControl - }; - } - if (data?.kind === "APP_PAGE") { - return { - ...data, - revalidate: context.revalidate ?? context.cacheControl?.revalidate, - cacheControl: context.cacheControl, - rscData: data.rscData?.toString("base64"), - segmentData: data.segmentData ? Object.fromEntries( - [...data.segmentData.entries()].map(([segmentPath, base64EncodedSegment]) => [ - segmentPath, - base64EncodedSegment.toString("base64") - ]) - ) : void 0 - }; - } - return data; - } - async set(...args) { - return (0, import_tracer.withActiveSpan)(this.tracer, "set cache key", async (span) => { - const [key, data, context] = args; - const lastModified = Date.now(); - span?.setAttributes({ key, lastModified }); - (0, import_request_context.getLogger)().debug(`[NetlifyCacheHandler.set]: ${key}`); - const value = this.transformToStorableObject(data, context); - const isDataReq = Boolean(context.fetchUrl); - if (!isDataReq) { - this.captureCacheTags(value, key); - } - await this.cacheStore.set(key, { lastModified, value }, "blobStore.set"); - if (data?.kind === "APP_PAGE") { - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext) { - requestContext.isCacheableAppPage = true; - } - } - if (!data && !isDataReq || data?.kind === "PAGE" || data?.kind === "PAGES") { - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext?.didPagesRouterOnDemandRevalidate) { - const tag = `_N_T_${key === "/index" ? "/" : encodeURI(key)}`; - requestContext?.trackBackgroundWork((0, import_tags_handler.purgeEdgeCache)(tag)); - } - } - }); - } - async revalidateTag(tagOrTags, durations) { - return (0, import_tags_handler.markTagsAsStaleAndPurgeEdgeCache)(tagOrTags, durations); - } - resetRequestCache() { - } - /** - * Checks if a cache entry is stale through on demand revalidated tags - */ - checkCacheEntryStaleByTags(cacheEntry, tags = [], softTags = []) { - let cacheTags = []; - if (cacheEntry.value?.kind === "FETCH") { - cacheTags = [...tags, ...softTags]; - } else if (cacheEntry.value?.kind === "PAGE" || cacheEntry.value?.kind === "PAGES" || cacheEntry.value?.kind === "APP_PAGE" || cacheEntry.value?.kind === "ROUTE" || cacheEntry.value?.kind === "APP_ROUTE") { - cacheTags = cacheEntry.value.headers?.[import_constants.NEXT_CACHE_TAGS_HEADER]?.split(/,|%2c/gi) || []; - } else { - return { - stale: false, - expired: false - }; - } - if (this.revalidatedTags && this.revalidatedTags.length !== 0) { - for (const tag of this.revalidatedTags) { - if (cacheTags.includes(tag)) { - return { - stale: true, - expired: true - }; - } - } - } - return (0, import_tags_handler.isAnyTagStaleOrExpired)(cacheTags, cacheEntry.lastModified); - } -}; -var cache_default = NetlifyCacheHandler; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - NetlifyCacheHandler -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/request-context.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/request-context.cjs deleted file mode 100644 index 0f6b3a0..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/request-context.cjs +++ /dev/null @@ -1,158 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/handlers/request-context.cts -var request_context_exports = {}; -__export(request_context_exports, { - createRequestContext: () => createRequestContext, - getLogger: () => getLogger, - getRequestContext: () => getRequestContext, - runWithRequestContext: () => runWithRequestContext -}); -module.exports = __toCommonJS(request_context_exports); -var import_node_async_hooks = require("node:async_hooks"); - -// node_modules/@netlify/functions/dist/internal.js -var import_process = require("process"); -var systemLogTag = "__nfSystemLog"; -var serializeError = (error) => { - const cause = error?.cause instanceof Error ? serializeError(error.cause) : error.cause; - return { - error: error.message, - error_cause: cause, - error_stack: error.stack - }; -}; -var LogLevel = /* @__PURE__ */ ((LogLevel2) => { - LogLevel2[LogLevel2["Debug"] = 1] = "Debug"; - LogLevel2[LogLevel2["Log"] = 2] = "Log"; - LogLevel2[LogLevel2["Error"] = 3] = "Error"; - return LogLevel2; -})(LogLevel || {}); -var SystemLogger = class _SystemLogger { - fields; - logLevel; - constructor(fields = {}, logLevel = 2) { - this.fields = fields; - this.logLevel = logLevel; - } - doLog(logger, message) { - if (import_process.env.NETLIFY_DEV && !import_process.env.NETLIFY_ENABLE_SYSTEM_LOGGING) { - return; - } - logger(systemLogTag, JSON.stringify({ msg: message, fields: this.fields })); - } - log(message) { - if (this.logLevel > 2) { - return; - } - this.doLog(console.log, message); - } - debug(message) { - if (this.logLevel > 1) { - return; - } - this.doLog(console.debug, message); - } - error(message) { - if (this.logLevel > 3) { - return; - } - this.doLog(console.error, message); - } - withLogLevel(level) { - return new _SystemLogger(this.fields, level); - } - withFields(fields) { - return new _SystemLogger( - { - ...this.fields, - ...fields - }, - this.logLevel - ); - } - withError(error) { - const fields = error instanceof Error ? serializeError(error) : { error }; - return this.withFields(fields); - } -}; -var systemLogger = new SystemLogger(); - -// src/run/handlers/request-context.cts -var REQUEST_CONTEXT_GLOBAL_KEY = Symbol.for("nf-request-context-async-local-storage"); -var REQUEST_COUNTER_KEY = Symbol.for("nf-request-counter"); -var extendedGlobalThis = globalThis; -function getFallbackRequestID() { - const requestNumber = extendedGlobalThis[REQUEST_COUNTER_KEY] ?? 0; - extendedGlobalThis[REQUEST_COUNTER_KEY] = requestNumber + 1; - return `#${requestNumber}`; -} -function createRequestContext(request, context) { - const backgroundWorkPromises = []; - const isDebugRequest = request?.headers.has("x-nf-debug-logging") || request?.headers.has("x-next-debug-logging"); - const logger = systemLogger.withLogLevel(isDebugRequest ? LogLevel.Debug : LogLevel.Log); - const isBackgroundRevalidation = request?.headers.get("netlify-invocation-source") === "background-revalidation"; - if (isBackgroundRevalidation) { - logger.debug("[NetlifyNextRuntime] Background revalidation request"); - } - return { - isBackgroundRevalidation, - captureServerTiming: request?.headers.has("x-next-debug-logging") ?? false, - trackBackgroundWork: (promise) => { - if (context?.waitUntil) { - context.waitUntil(promise); - } else { - backgroundWorkPromises.push(promise); - } - }, - get backgroundWorkPromise() { - return Promise.allSettled(backgroundWorkPromises); - }, - logger, - requestID: request?.headers.get("x-nf-request-id") ?? getFallbackRequestID() - }; -} -var requestContextAsyncLocalStorage; -function getRequestContextAsyncLocalStorage() { - if (requestContextAsyncLocalStorage) { - return requestContextAsyncLocalStorage; - } - if (extendedGlobalThis[REQUEST_CONTEXT_GLOBAL_KEY]) { - return extendedGlobalThis[REQUEST_CONTEXT_GLOBAL_KEY]; - } - const storage = new import_node_async_hooks.AsyncLocalStorage(); - requestContextAsyncLocalStorage = storage; - extendedGlobalThis[REQUEST_CONTEXT_GLOBAL_KEY] = storage; - return storage; -} -var getRequestContext = () => getRequestContextAsyncLocalStorage().getStore(); -function runWithRequestContext(requestContext, fn) { - return getRequestContextAsyncLocalStorage().run(requestContext, fn); -} -function getLogger() { - return getRequestContext()?.logger ?? systemLogger; -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - createRequestContext, - getLogger, - getRequestContext, - runWithRequestContext -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/server.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/server.js deleted file mode 100644 index a0a51e8..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/server.js +++ /dev/null @@ -1,3228 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import { - __commonJS, - __toESM -} from "../../esm-chunks/chunk-6BT4RYQJ.js"; - -// node_modules/node-inspect-extracted/dist/inspect.js -var require_inspect = __commonJS({ - "node_modules/node-inspect-extracted/dist/inspect.js"(exports, module) { - !(function(t, e) { - "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.util = e() : t.util = e(); - })(exports, (function() { - return (() => { - "use strict"; - var t = { 794: (t2, e2) => { - function r2(t3, e3) { - for (var r3 = 0; r3 < e3.length; r3++) { - var n2 = e3[r3]; - n2.enumerable = n2.enumerable || false, n2.configurable = true, "value" in n2 && (n2.writable = true), Object.defineProperty(t3, n2.key, n2); - } - } - var n = (function() { - function t3() { - !(function(t4, e4) { - if (!(t4 instanceof e4)) throw new TypeError("Cannot call a class as a function"); - })(this, t3); - } - var e3, n2; - return e3 = t3, n2 = [{ key: "hexSlice", value: function() { - var t4 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, e4 = arguments.length > 1 ? arguments[1] : void 0; - return Array.prototype.map.call(this.slice(t4, e4), (function(t5) { - return ("00" + t5.toString(16)).slice(-2); - })).join(""); - } }], n2 && r2(e3.prototype, n2), Object.defineProperty(e3, "prototype", { writable: false }), t3; - })(); - e2.l = n; - }, 618: (t2, e2, r2) => { - function n(t3) { - return (function(t4) { - if (Array.isArray(t4)) return c(t4); - })(t3) || (function(t4) { - if ("undefined" != typeof Symbol && null != t4[Symbol.iterator] || null != t4["@@iterator"]) return Array.from(t4); - })(t3) || a(t3) || (function() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - })(); - } - function o(t3) { - return o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) { - return typeof t4; - } : function(t4) { - return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4; - }, o(t3); - } - function i(t3, e3) { - var r3 = "undefined" != typeof Symbol && t3[Symbol.iterator] || t3["@@iterator"]; - if (!r3) { - if (Array.isArray(t3) || (r3 = a(t3)) || e3 && t3 && "number" == typeof t3.length) { - r3 && (t3 = r3); - var n2 = 0, o2 = function() { - }; - return { s: o2, n: function() { - return n2 >= t3.length ? { done: true } : { done: false, value: t3[n2++] }; - }, e: function(t4) { - throw t4; - }, f: o2 }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var i2, c2 = true, l2 = false; - return { s: function() { - r3 = r3.call(t3); - }, n: function() { - var t4 = r3.next(); - return c2 = t4.done, t4; - }, e: function(t4) { - l2 = true, i2 = t4; - }, f: function() { - try { - c2 || null == r3.return || r3.return(); - } finally { - if (l2) throw i2; - } - } }; - } - function a(t3, e3) { - if (t3) { - if ("string" == typeof t3) return c(t3, e3); - var r3 = Object.prototype.toString.call(t3).slice(8, -1); - return "Object" === r3 && t3.constructor && (r3 = t3.constructor.name), "Map" === r3 || "Set" === r3 ? Array.from(t3) : "Arguments" === r3 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r3) ? c(t3, e3) : void 0; - } - } - function c(t3, e3) { - (null == e3 || e3 > t3.length) && (e3 = t3.length); - for (var r3 = 0, n2 = new Array(e3); r3 < e3; r3++) n2[r3] = t3[r3]; - return n2; - } - function l(t3, e3) { - var r3 = Object.keys(t3); - if (Object.getOwnPropertySymbols) { - var n2 = Object.getOwnPropertySymbols(t3); - e3 && (n2 = n2.filter((function(e4) { - return Object.getOwnPropertyDescriptor(t3, e4).enumerable; - }))), r3.push.apply(r3, n2); - } - return r3; - } - function u(t3) { - for (var e3 = 1; e3 < arguments.length; e3++) { - var r3 = null != arguments[e3] ? arguments[e3] : {}; - e3 % 2 ? l(Object(r3), true).forEach((function(e4) { - f(t3, e4, r3[e4]); - })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t3, Object.getOwnPropertyDescriptors(r3)) : l(Object(r3)).forEach((function(e4) { - Object.defineProperty(t3, e4, Object.getOwnPropertyDescriptor(r3, e4)); - })); - } - return t3; - } - function f(t3, e3, r3) { - return e3 in t3 ? Object.defineProperty(t3, e3, { value: r3, enumerable: true, configurable: true, writable: true }) : t3[e3] = r3, t3; - } - var p, s, y = r2(459), g = y.internalBinding, d = y.Array, b = y.ArrayIsArray, h = y.ArrayPrototypeFilter, v = y.ArrayPrototypeForEach, m = y.ArrayPrototypePop, S = y.ArrayPrototypePush, P = y.ArrayPrototypePushApply, O = y.ArrayPrototypeSort, x = y.ArrayPrototypeUnshift, w = y.BigIntPrototypeValueOf, A = y.BooleanPrototypeValueOf, j = y.DatePrototypeGetTime, E = y.DatePrototypeToISOString, L = y.DatePrototypeToString, F = y.ErrorPrototypeToString, I = y.FunctionPrototypeCall, T = y.FunctionPrototypeToString, k = y.JSONStringify, R = y.MapPrototypeGetSize, _ = y.MapPrototypeEntries, z = y.MathFloor, M = y.MathMax, N = y.MathMin, B = y.MathRound, D = y.MathSqrt, C = y.MathTrunc, G = y.Number, W = y.NumberIsFinite, H = y.NumberIsNaN, V = y.NumberParseFloat, U = y.NumberParseInt, $ = y.NumberPrototypeValueOf, Z = y.Object, Y = y.ObjectAssign, K = y.ObjectCreate, q = y.ObjectDefineProperty, J = y.ObjectGetOwnPropertyDescriptor, Q = y.ObjectGetOwnPropertyNames, X = y.ObjectGetOwnPropertySymbols, tt = y.ObjectGetPrototypeOf, et = y.ObjectIs, rt = y.ObjectKeys, nt = y.ObjectPrototypeHasOwnProperty, ot = y.ObjectPrototypePropertyIsEnumerable, it = y.ObjectSeal, at = y.ObjectSetPrototypeOf, ct = y.ReflectOwnKeys, lt = y.RegExp, ut = y.RegExpPrototypeTest, ft = y.RegExpPrototypeToString, pt = y.SafeStringIterator, st = y.SafeMap, yt = y.SafeSet, gt = y.SetPrototypeGetSize, dt = y.SetPrototypeValues, bt = y.String, ht = y.StringPrototypeCharCodeAt, vt = y.StringPrototypeCodePointAt, mt = y.StringPrototypeIncludes, St = y.StringPrototypeNormalize, Pt = y.StringPrototypePadEnd, Ot = y.StringPrototypePadStart, xt = y.StringPrototypeRepeat, wt = y.StringPrototypeReplace, At = y.StringPrototypeSlice, jt = y.StringPrototypeSplit, Et = y.StringPrototypeToLowerCase, Lt = y.StringPrototypeTrim, Ft = y.StringPrototypeValueOf, It = y.SymbolPrototypeToString, Tt = y.SymbolPrototypeValueOf, kt = y.SymbolIterator, Rt = y.SymbolToStringTag, _t = y.TypedArrayPrototypeGetLength, zt = y.TypedArrayPrototypeGetSymbolToStringTag, Mt = y.Uint8Array, Nt = y.globalThis, Bt = y.uncurryThis, Dt = r2(493), Ct = Dt.getOwnNonIndexProperties, Gt = Dt.getPromiseDetails, Wt = Dt.getProxyDetails, Ht = Dt.kPending, Vt = Dt.kRejected, Ut = Dt.previewEntries, $t = Dt.getConstructorName, Zt = Dt.getExternalValue, Yt = Dt.propertyFilter, Kt = Yt.ALL_PROPERTIES, qt = Yt.ONLY_ENUMERABLE, Jt = Dt.Proxy, Qt = r2(719), Xt = Qt.customInspectSymbol, te = Qt.isError, ee = Qt.join, re = Qt.removeColors, ne = r2(962), oe = ne.codes.ERR_INVALID_ARG_TYPE, ie = ne.isStackOverflowError, ae = r2(715), ce = ae.isAsyncFunction, le = ae.isGeneratorFunction, ue = ae.isAnyArrayBuffer, fe = ae.isArrayBuffer, pe = ae.isArgumentsObject, se = ae.isBoxedPrimitive, ye = ae.isDataView, ge = ae.isExternal, de = ae.isMap, be = ae.isMapIterator, he = ae.isModuleNamespaceObject, ve = ae.isNativeError, me = ae.isPromise, Se = ae.isSet, Pe = ae.isSetIterator, Oe = ae.isWeakMap, xe = ae.isWeakSet, we = ae.isRegExp, Ae = ae.isDate, je = ae.isTypedArray, Ee = ae.isStringObject, Le = ae.isNumberObject, Fe = ae.isBooleanObject, Ie = ae.isBigIntObject, Te = r2(915), ke = r2(875).NativeModule, Re = r2(753), _e2 = Re.validateObject, ze = Re.validateString, Me = new yt(h(Q(Nt), (function(t3) { - return ut(/^[A-Z][a-zA-Z0-9]+$/, t3); - }))), Ne = function(t3) { - return void 0 === t3 && void 0 !== t3; - }, Be = it({ showHidden: false, depth: 2, colors: false, customInspect: true, showProxy: false, maxArrayLength: 100, maxStringLength: 1e4, breakLength: 80, compact: 3, sorted: false, getters: false, numericSeparator: false }), De = /[\x00-\x1f\x27\x5c\x7f-\x9f]|[\ud800-\udbff](?![\udc00-\udfff])|(?<~]))", "g"); - function Je(t3, e3) { - var r3 = { budget: {}, indentationLvl: 0, seen: [], currentDepth: 0, stylize: ir, showHidden: Be.showHidden, depth: Be.depth, colors: Be.colors, customInspect: Be.customInspect, showProxy: Be.showProxy, maxArrayLength: Be.maxArrayLength, maxStringLength: Be.maxStringLength, breakLength: Be.breakLength, compact: Be.compact, sorted: Be.sorted, getters: Be.getters, numericSeparator: Be.numericSeparator }; - if (arguments.length > 1) { - if (arguments.length > 2 && (void 0 !== arguments[2] && (r3.depth = arguments[2]), arguments.length > 3 && void 0 !== arguments[3] && (r3.colors = arguments[3])), "boolean" == typeof e3) r3.showHidden = e3; - else if (e3) for (var n2 = rt(e3), o2 = 0; o2 < n2.length; ++o2) { - var i2 = n2[o2]; - nt(Be, i2) || "stylize" === i2 ? r3[i2] = e3[i2] : void 0 === r3.userOptions && (r3.userOptions = e3); - } - } - return r3.colors && (r3.stylize = or), null === r3.maxArrayLength && (r3.maxArrayLength = 1 / 0), null === r3.maxStringLength && (r3.maxStringLength = 1 / 0), yr(r3, t3, 0); - } - Je.custom = Xt, q(Je, "defaultOptions", { get: function() { - return Be; - }, set: function(t3) { - return _e2(t3, "options"), Y(Be, t3); - } }); - var Qe = 39, Xe = 49; - function tr(t3, e3) { - q(Je.colors, e3, { get: function() { - return this[t3]; - }, set: function(e4) { - this[t3] = e4; - }, configurable: true, enumerable: false }); - } - function er(t3, e3) { - return -1 === e3 ? '"'.concat(t3, '"') : -2 === e3 ? "`".concat(t3, "`") : "'".concat(t3, "'"); - } - function rr(t3) { - var e3 = ht(t3); - return Ke.length > e3 ? Ke[e3] : "\\u".concat(e3.toString(16)); - } - function nr(t3) { - var e3 = De, r3 = Ce, n2 = 39; - if (mt(t3, "'") && (mt(t3, '"') ? mt(t3, "`") || mt(t3, "${") || (n2 = -2) : n2 = -1, 39 !== n2 && (e3 = Ge, r3 = We)), t3.length < 5e3 && !ut(e3, t3)) return er(t3, n2); - if (t3.length > 100) return er(t3 = wt(t3, r3, rr), n2); - for (var o2 = "", i2 = 0, a2 = 0; a2 < t3.length; a2++) { - var c2 = ht(t3, a2); - if (c2 === n2 || 92 === c2 || c2 < 32 || c2 > 126 && c2 < 160) o2 += i2 === a2 ? Ke[c2] : "".concat(At(t3, i2, a2)).concat(Ke[c2]), i2 = a2 + 1; - else if (c2 >= 55296 && c2 <= 57343) { - if (c2 <= 56319 && a2 + 1 < t3.length) { - var l2 = ht(t3, a2 + 1); - if (l2 >= 56320 && l2 <= 57343) { - a2++; - continue; - } - } - o2 += "".concat(At(t3, i2, a2), "\\u".concat(c2.toString(16))), i2 = a2 + 1; - } - } - return i2 !== t3.length && (o2 += At(t3, i2)), er(o2, n2); - } - function or(t3, e3) { - var r3 = Je.styles[e3]; - if (void 0 !== r3) { - var n2 = Je.colors[r3]; - if (void 0 !== n2) return "\x1B[".concat(n2[0], "m").concat(t3, "\x1B[").concat(n2[1], "m"); - } - return t3; - } - function ir(t3) { - return t3; - } - function ar() { - return []; - } - function cr(t3, e3) { - try { - return t3 instanceof e3; - } catch (t4) { - return false; - } - } - function lr(t3, e3, r3, n2) { - for (var o2, i2 = t3; t3 || Ne(t3); ) { - var a2 = J(t3, "constructor"); - if (void 0 !== a2 && "function" == typeof a2.value && "" !== a2.value.name && cr(i2, a2.value)) return void 0 === n2 || o2 === t3 && Me.has(a2.value.name) || ur(e3, i2, o2 || i2, r3, n2), a2.value.name; - t3 = tt(t3), void 0 === o2 && (o2 = t3); - } - if (null === o2) return null; - var c2 = $t(i2); - if (r3 > e3.depth && null !== e3.depth) return "".concat(c2, " "); - var l2 = lr(o2, e3, r3 + 1, n2); - return null === l2 ? "".concat(c2, " <").concat(Je(o2, u(u({}, e3), {}, { customInspect: false, depth: -1 })), ">") : "".concat(c2, " <").concat(l2, ">"); - } - function ur(t3, e3, r3, n2, o2) { - var a2, c2, l2 = 0; - do { - if (0 !== l2 || e3 === r3) { - if (null === (r3 = tt(r3))) return; - var u2 = J(r3, "constructor"); - if (void 0 !== u2 && "function" == typeof u2.value && Me.has(u2.value.name)) return; - } - 0 === l2 ? c2 = new yt() : v(a2, (function(t4) { - return c2.add(t4); - })), a2 = ct(r3), S(t3.seen, e3); - var f2, p2 = i(a2); - try { - for (p2.s(); !(f2 = p2.n()).done; ) { - var s2 = f2.value; - if (!("constructor" === s2 || nt(e3, s2) || 0 !== l2 && c2.has(s2))) { - var y2 = J(r3, s2); - if ("function" != typeof y2.value) { - var g2 = _r(t3, r3, n2, s2, 0, y2, e3); - t3.colors ? S(o2, "\x1B[2m".concat(g2, "\x1B[22m")) : S(o2, g2); - } - } - } - } catch (t4) { - p2.e(t4); - } finally { - p2.f(); - } - m(t3.seen); - } while (3 != ++l2); - } - function fr(t3, e3, r3) { - var n2 = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : ""; - return null === t3 ? "" !== e3 && r3 !== e3 ? "[".concat(r3).concat(n2, ": null prototype] [").concat(e3, "] ") : "[".concat(r3).concat(n2, ": null prototype] ") : "" !== e3 && t3 !== e3 ? "".concat(t3).concat(n2, " [").concat(e3, "] ") : "".concat(t3).concat(n2, " "); - } - function pr(t3, e3) { - var r3, n2 = X(t3); - if (e3) r3 = Q(t3), 0 !== n2.length && P(r3, n2); - else { - try { - r3 = rt(t3); - } catch (e4) { - Te(ve(e4) && "ReferenceError" === e4.name && he(t3)), r3 = Q(t3); - } - 0 !== n2.length && P(r3, h(n2, (function(e4) { - return ot(t3, e4); - }))); - } - return r3; - } - function sr(t3, e3, r3) { - var n2 = ""; - return null === e3 && (n2 = $t(t3)) === r3 && (n2 = "Object"), fr(e3, r3, n2); - } - function yr(t3, e3, r3, a2) { - if ("object" !== o(e3) && "function" != typeof e3 && !Ne(e3)) return mr(t3.stylize, e3, t3); - if (null === e3) return t3.stylize("null", "null"); - var c2 = e3, l2 = Wt(e3, !!t3.showProxy); - if (void 0 !== l2) { - if (t3.showProxy) return (function(t4, e4, r4) { - if (r4 > t4.depth && null !== t4.depth) return t4.stylize("Proxy [Array]", "special"); - r4 += 1, t4.indentationLvl += 2; - var n2 = [yr(t4, e4[0], r4), yr(t4, e4[1], r4)]; - return t4.indentationLvl -= 2, Mr(t4, n2, "", ["Proxy [", "]"], 2, r4); - })(t3, l2, r3); - e3 = l2; - } - if (t3.customInspect) { - var f2 = e3[Xt]; - if ("function" == typeof f2 && f2 !== Je && (!e3.constructor || e3.constructor.prototype !== e3)) { - var p2 = null === t3.depth ? null : t3.depth - r3, s2 = I(f2, c2, p2, (function(t4, e4) { - var r4 = u({ stylize: t4.stylize, showHidden: t4.showHidden, depth: t4.depth, colors: t4.colors, customInspect: t4.customInspect, showProxy: t4.showProxy, maxArrayLength: t4.maxArrayLength, maxStringLength: t4.maxStringLength, breakLength: t4.breakLength, compact: t4.compact, sorted: t4.sorted, getters: t4.getters, numericSeparator: t4.numericSeparator }, t4.userOptions); - if (e4) { - at(r4, null); - var n2, a3 = i(rt(r4)); - try { - for (a3.s(); !(n2 = a3.n()).done; ) { - var c3 = n2.value; - "object" !== o(r4[c3]) && "function" != typeof r4[c3] || null === r4[c3] || delete r4[c3]; - } - } catch (t5) { - a3.e(t5); - } finally { - a3.f(); - } - r4.stylize = at((function(e5, r5) { - var n3; - try { - n3 = "".concat(t4.stylize(e5, r5)); - } catch (t5) { - } - return "string" != typeof n3 ? e5 : n3; - }), null); - } - return r4; - })(t3, void 0 !== l2 || !(c2 instanceof Z)), Je); - if (s2 !== c2) return "string" != typeof s2 ? yr(t3, s2, r3) : s2.replace(/\n/g, "\n".concat(" ".repeat(t3.indentationLvl))); - } - } - if (t3.seen.includes(e3)) { - var g2 = 1; - return void 0 === t3.circular ? (t3.circular = new st(), t3.circular.set(e3, g2)) : void 0 === (g2 = t3.circular.get(e3)) && (g2 = t3.circular.size + 1, t3.circular.set(e3, g2)), t3.stylize("[Circular *".concat(g2, "]"), "special"); - } - return (function(t4, e4, r4, o2) { - var a3, c3; - t4.showHidden && (r4 <= t4.depth || null === t4.depth) && (c3 = []); - var l3 = lr(e4, t4, r4, c3); - void 0 !== c3 && 0 === c3.length && (c3 = void 0); - var u2 = e4[Rt]; - ("string" != typeof u2 || "" !== u2 && (t4.showHidden ? nt : ot)(e4, Rt)) && (u2 = ""); - var f3, p3, s3 = "", g3 = ar, d2 = true, h2 = 0, v2 = t4.showHidden ? Kt : qt, m2 = 0; - if (e4[kt] || null === l3) if (d2 = false, b(e4)) { - var S2 = "Array" !== l3 || "" !== u2 ? fr(l3, u2, "Array", "(".concat(e4.length, ")")) : ""; - if (a3 = Ct(e4, v2), f3 = ["".concat(S2, "["), "]"], 0 === e4.length && 0 === a3.length && void 0 === c3) return "".concat(f3[0], "]"); - m2 = 2, g3 = xr; - } else if (Se(e4)) { - var P2 = gt(e4), O2 = fr(l3, u2, "Set", "(".concat(P2, ")")); - if (a3 = pr(e4, t4.showHidden), g3 = null !== l3 ? Ar.bind(null, e4) : Ar.bind(null, dt(e4)), 0 === P2 && 0 === a3.length && void 0 === c3) return "".concat(O2, "{}"); - f3 = ["".concat(O2, "{"), "}"]; - } else if (de(e4)) { - var F2 = R(e4), I2 = fr(l3, u2, "Map", "(".concat(F2, ")")); - if (a3 = pr(e4, t4.showHidden), g3 = null !== l3 ? jr.bind(null, e4) : jr.bind(null, _(e4)), 0 === F2 && 0 === a3.length && void 0 === c3) return "".concat(I2, "{}"); - f3 = ["".concat(I2, "{"), "}"]; - } else if (je(e4)) { - a3 = Ct(e4, v2); - var k2 = e4, z2 = ""; - null === l3 && (z2 = zt(e4), k2 = new y[z2](e4)); - var M2 = _t(e4), B2 = fr(l3, u2, z2, "(".concat(M2, ")")); - if (f3 = ["".concat(B2, "["), "]"], 0 === e4.length && 0 === a3.length && !t4.showHidden) return "".concat(f3[0], "]"); - g3 = wr.bind(null, k2, M2), m2 = 2; - } else be(e4) ? (a3 = pr(e4, t4.showHidden), f3 = gr("Map", u2), g3 = kr.bind(null, f3)) : Pe(e4) ? (a3 = pr(e4, t4.showHidden), f3 = gr("Set", u2), g3 = kr.bind(null, f3)) : d2 = true; - if (d2) if (a3 = pr(e4, t4.showHidden), f3 = ["{", "}"], "Object" === l3) { - if (pe(e4) ? f3[0] = "[Arguments] {" : "" !== u2 && (f3[0] = "".concat(fr(l3, u2, "Object"), "{")), 0 === a3.length && void 0 === c3) return "".concat(f3[0], "}"); - } else if ("function" == typeof e4) { - if (s3 = (function(t5, e5, r5) { - var n2 = T(t5); - if (n2.startsWith("class") && n2.endsWith("}")) { - var o3 = n2.slice(5, -1), i2 = o3.indexOf("{"); - if (-1 !== i2 && (!o3.slice(0, i2).includes("(") || Ze.test(o3.replace(Ye)))) return (function(t6, e6, r6) { - var n3 = nt(t6, "name") && t6.name || "(anonymous)", o4 = "class ".concat(n3); - if ("Function" !== e6 && null !== e6 && (o4 += " [".concat(e6, "]")), "" !== r6 && e6 !== r6 && (o4 += " [".concat(r6, "]")), null !== e6) { - var i3 = tt(t6).name; - i3 && (o4 += " extends ".concat(i3)); - } else o4 += " extends [null prototype]"; - return "[".concat(o4, "]"); - })(t5, e5, r5); - } - var a4 = "Function"; - le(t5) && (a4 = "Generator".concat(a4)), ce(t5) && (a4 = "Async".concat(a4)); - var c4 = "[".concat(a4); - return null === e5 && (c4 += " (null prototype)"), "" === t5.name ? c4 += " (anonymous)" : c4 += ": ".concat(t5.name), c4 += "]", e5 !== a4 && null !== e5 && (c4 += " ".concat(e5)), "" !== r5 && e5 !== r5 && (c4 += " [".concat(r5, "]")), c4; - })(e4, l3, u2), 0 === a3.length && void 0 === c3) return t4.stylize(s3, "special"); - } else if (we(e4)) { - s3 = ft(null !== l3 ? e4 : new lt(e4)); - var D2 = fr(l3, u2, "RegExp"); - if ("RegExp " !== D2 && (s3 = "".concat(D2).concat(s3)), 0 === a3.length && void 0 === c3 || r4 > t4.depth && null !== t4.depth) return t4.stylize(s3, "regexp"); - } else if (Ae(e4)) { - s3 = H(j(e4)) ? L(e4) : E(e4); - var C2 = fr(l3, u2, "Date"); - if ("Date " !== C2 && (s3 = "".concat(C2).concat(s3)), 0 === a3.length && void 0 === c3) return t4.stylize(s3, "date"); - } else if (te(e4)) { - if (s3 = (function(t5, e5, r5, n2, o3) { - var a4 = null != t5.name ? bt(t5.name) : "Error", c4 = dr(t5); - (function(t6, e6, r6, n3) { - if (!t6.showHidden && 0 !== e6.length) for (var o4 = 0, i2 = ["name", "message", "stack"]; o4 < i2.length; o4++) { - var a5 = i2[o4], c5 = e6.indexOf(a5); - -1 !== c5 && n3.includes(r6[a5]) && e6.splice(c5, 1); - } - })(n2, o3, t5, c4), !("cause" in t5) || 0 !== o3.length && o3.includes("cause") || o3.push("cause"), c4 = (function(t6, e6, r6, n3) { - var o4 = r6.length; - if (null === e6 || r6.endsWith("Error") && t6.startsWith(r6) && (t6.length === o4 || ":" === t6[o4] || "\n" === t6[o4])) { - var i2 = "Error"; - if (null === e6) { - var a5 = t6.match(/^([A-Z][a-z_ A-Z0-9[\]()-]+)(?::|\n {4}at)/) || t6.match(/^([a-z_A-Z0-9-]*Error)$/); - o4 = (i2 = a5 && a5[1] || "").length, i2 = i2 || "Error"; - } - var c5 = fr(e6, n3, i2).slice(0, -1); - r6 !== c5 && (t6 = c5.includes(r6) ? 0 === o4 ? "".concat(c5, ": ").concat(t6) : "".concat(c5).concat(t6.slice(o4)) : "".concat(c5, " [").concat(r6, "]").concat(t6.slice(o4))); - } - return t6; - })(c4, e5, a4, r5); - var l4 = t5.message && c4.indexOf(t5.message) || -1; - -1 !== l4 && (l4 += t5.message.length); - var u3 = c4.indexOf("\n at", l4); - if (-1 === u3) c4 = "[".concat(c4, "]"); - else { - var f4 = c4.slice(0, u3), p4 = (function(t6, e6, r6) { - var n3 = r6.split("\n"); - if (e6.cause && te(e6.cause)) { - var o4 = dr(e6.cause), i2 = o4.indexOf("\n at"); - if (-1 !== i2) { - var a5 = (function(t7, e7) { - for (var r7 = 0; r7 < t7.length - 3; r7++) { - var n4 = e7.indexOf(t7[r7]); - if (-1 !== n4) { - var o5 = e7.length - n4; - if (o5 > 3) { - for (var i3 = 1, a6 = N(t7.length - r7, o5); a6 > i3 && t7[r7 + i3] === e7[n4 + i3]; ) i3++; - if (i3 > 3) return { len: i3, offset: r7 }; - } - } - } - return { len: 0, offset: 0 }; - })(n3, o4.slice(i2 + 1).split("\n")), c5 = a5.len, l5 = a5.offset; - if (c5 > 0) { - var u4 = c5 - 2, f5 = " ... ".concat(u4, " lines matching cause stack trace ..."); - n3.splice(l5 + 1, u4, t6.stylize(f5, "undefined")); - } - } - } - return n3; - })(n2, t5, c4.slice(u3 + 1)); - if (n2.colors) { - var s4, y2 = i(p4); - try { - for (y2.s(); !(s4 = y2.n()).done; ) { - var g4 = s4.value, d3 = g4.match(Ue); - if (null !== d3 && ke.exists(d3[1])) f4 += "\n".concat(n2.stylize(g4, "undefined")); - else { - var b2 = void 0; - f4 += "\n"; - for (var h3 = 0; null !== (b2 = $e.exec(g4)); ) f4 += g4.slice(h3, b2.index + 14), f4 += n2.stylize(b2[1], "module"), h3 = b2.index + b2[0].length; - f4 += 0 === h3 ? g4 : g4.slice(h3); - } - } - } catch (t6) { - y2.e(t6); - } finally { - y2.f(); - } - } else f4 += "\n".concat(p4.join("\n")); - c4 = f4; - } - if (0 !== n2.indentationLvl) { - var v3 = " ".repeat(n2.indentationLvl); - c4 = c4.replace(/\n/g, "\n".concat(v3)); - } - return c4; - })(e4, l3, u2, t4, a3), 0 === a3.length && void 0 === c3) return s3; - } else if (ue(e4)) { - var G2 = fr(l3, u2, fe(e4) ? "ArrayBuffer" : "SharedArrayBuffer"); - if (void 0 === o2) g3 = Or; - else if (0 === a3.length && void 0 === c3) return G2 + "{ byteLength: ".concat(hr(t4.stylize, e4.byteLength, false), " }"); - f3[0] = "".concat(G2, "{"), x(a3, "byteLength"); - } else if (ye(e4)) f3[0] = "".concat(fr(l3, u2, "DataView"), "{"), x(a3, "byteLength", "byteOffset", "buffer"); - else if (me(e4)) f3[0] = "".concat(fr(l3, u2, "Promise"), "{"), g3 = Rr; - else if (xe(e4)) f3[0] = "".concat(fr(l3, u2, "WeakSet"), "{"), g3 = t4.showHidden ? Ir : Fr; - else if (Oe(e4)) f3[0] = "".concat(fr(l3, u2, "WeakMap"), "{"), g3 = t4.showHidden ? Tr : Fr; - else if (he(e4)) f3[0] = "".concat(fr(l3, u2, "Module"), "{"), g3 = Sr.bind(null, a3); - else if (se(e4)) { - if (s3 = (function(t5, e5, r5, n2, o3) { - var i2, a4; - Le(t5) ? (i2 = $, a4 = "Number") : Ee(t5) ? (i2 = Ft, a4 = "String", r5.splice(0, t5.length)) : Fe(t5) ? (i2 = A, a4 = "Boolean") : Ie(t5) ? (i2 = w, a4 = "BigInt") : (i2 = Tt, a4 = "Symbol"); - var c4 = "[".concat(a4); - return a4 !== n2 && (c4 += null === n2 ? " (null prototype)" : " (".concat(n2, ")")), c4 += ": ".concat(mr(ir, i2(t5), e5), "]"), "" !== o3 && o3 !== n2 && (c4 += " [".concat(o3, "]")), 0 !== r5.length || e5.stylize === ir ? c4 : e5.stylize(c4, Et(a4)); - })(e4, t4, a3, l3, u2), 0 === a3.length && void 0 === c3) return s3; - } else { - if (0 === a3.length && void 0 === c3) { - if (ge(e4)) { - var W2 = Zt(e4).toString(16); - return t4.stylize("[External: ".concat(W2, "]"), "special"); - } - return "".concat(sr(e4, l3, u2), "{}"); - } - f3[0] = "".concat(sr(e4, l3, u2), "{"); - } - if (r4 > t4.depth && null !== t4.depth) { - var V2 = sr(e4, l3, u2).slice(0, -1); - return null !== l3 && (V2 = "[".concat(V2, "]")), t4.stylize(V2, "special"); - } - r4 += 1, t4.seen.push(e4), t4.currentDepth = r4; - var U2 = t4.indentationLvl; - try { - for (p3 = g3(t4, e4, r4), h2 = 0; h2 < a3.length; h2++) p3.push(_r(t4, e4, r4, a3[h2], m2)); - var Z2; - void 0 !== c3 && (Z2 = p3).push.apply(Z2, n(c3)); - } catch (r5) { - return (function(t5, e5, r6, n2) { - if (ie(e5)) return t5.seen.pop(), t5.indentationLvl = n2, t5.stylize("[".concat(r6, ": Inspection interrupted ") + "prematurely. Maximum call stack size exceeded.]", "special"); - Te.fail(e5.stack); - })(t4, r5, sr(e4, l3, u2).slice(0, -1), U2); - } - if (void 0 !== t4.circular) { - var Y2 = t4.circular.get(e4); - if (void 0 !== Y2) { - var K2 = t4.stylize(""), "special"); - true !== t4.compact ? s3 = "" === s3 ? K2 : "".concat(K2, " ").concat(s3) : f3[0] = "".concat(K2, " ").concat(f3[0]); - } - } - if (t4.seen.pop(), t4.sorted) { - var q2 = true === t4.sorted ? void 0 : t4.sorted; - if (0 === m2) p3 = p3.sort(q2); - else if (a3.length > 1) { - var J2, Q2 = p3.slice(p3.length - a3.length).sort(q2); - (J2 = p3).splice.apply(J2, [p3.length - a3.length, a3.length].concat(n(Q2))); - } - } - var X2 = Mr(t4, p3, s3, f3, m2, r4, e4), et2 = (t4.budget[t4.indentationLvl] || 0) + X2.length; - return t4.budget[t4.indentationLvl] = et2, et2 > Math.pow(2, 27) && (t4.depth = -1), X2; - })(t3, e3, r3, a2); - } - function gr(t3, e3) { - return e3 !== "".concat(t3, " Iterator") && ("" !== e3 && (e3 += "] ["), e3 += "".concat(t3, " Iterator")), ["[".concat(e3, "] {"), "}"]; - } - function dr(t3) { - return t3.stack ? bt(t3.stack) : F(t3); - } - function br(t3) { - for (var e3 = "", r3 = t3.length, n2 = t3.startsWith("-") ? 1 : 0; r3 >= n2 + 4; r3 -= 3) e3 = "_".concat(t3.slice(r3 - 3, r3)).concat(e3); - return r3 === t3.length ? t3 : "".concat(t3.slice(0, r3)).concat(e3); - } - function hr(t3, e3, r3) { - if (!r3) return et(e3, -0) ? t3("-0", "number") : t3("".concat(e3), "number"); - var n2 = C(e3), o2 = bt(n2); - return n2 === e3 ? !W(e3) || o2.includes("e") ? t3(o2, "number") : t3("".concat(br(o2)), "number") : H(e3) ? t3(o2, "number") : t3("".concat(br(o2), ".").concat((function(t4) { - for (var e4 = "", r4 = 0; r4 < t4.length - 3; r4 += 3) e4 += "".concat(t4.slice(r4, r4 + 3), "_"); - return 0 === r4 ? t4 : "".concat(e4).concat(t4.slice(r4)); - })(bt(e3).slice(o2.length + 1))), "number"); - } - function vr(t3, e3, r3) { - var n2 = bt(e3); - return t3("".concat(r3 ? br(n2) : n2, "n"), "bigint"); - } - function mr(t3, e3, r3) { - if ("string" == typeof e3) { - var n2 = ""; - if (e3.length > r3.maxStringLength) { - var o2 = e3.length - r3.maxStringLength; - e3 = e3.slice(0, r3.maxStringLength), n2 = "... ".concat(o2, " more character").concat(o2 > 1 ? "s" : ""); - } - return true !== r3.compact && e3.length > 16 && e3.length > r3.breakLength - r3.indentationLvl - 4 ? e3.split(/\n/).map((function(e4, r4, n3) { - return t3(nr(e4 + (r4 === n3.length - 1 ? "" : "\n")), "string"); - })).join(" +\n".concat(" ".repeat(r3.indentationLvl + 2))) + n2 : t3(nr(e3), "string") + n2; - } - return "number" == typeof e3 ? hr(t3, e3, r3.numericSeparator) : "bigint" == typeof e3 ? vr(t3, e3, r3.numericSeparator) : "boolean" == typeof e3 ? t3("".concat(e3), "boolean") : void 0 === e3 ? t3("undefined", "undefined") : t3(It(e3), "symbol"); - } - function Sr(t3, e3, r3, n2) { - for (var o2 = new d(t3.length), i2 = 0; i2 < t3.length; i2++) try { - o2[i2] = _r(e3, r3, n2, t3[i2], 0); - } catch (r4) { - Te(ve(r4) && "ReferenceError" === r4.name); - var a2 = f({}, t3[i2], ""); - o2[i2] = _r(e3, a2, n2, t3[i2], 0); - var c2 = o2[i2].lastIndexOf(" "); - o2[i2] = o2[i2].slice(0, c2 + 1) + e3.stylize("", "special"); - } - return t3.length = 0, o2; - } - function Pr(t3, e3, r3, n2, o2, i2) { - for (var a2 = rt(e3), c2 = i2; i2 < a2.length && o2.length < n2; i2++) { - var l2 = a2[i2], u2 = +l2; - if (u2 > Math.pow(2, 32) - 2) break; - if ("".concat(c2) !== l2) { - if (!Ve.test(l2)) break; - var f2 = u2 - c2, p2 = f2 > 1 ? "s" : "", s2 = "<".concat(f2, " empty item").concat(p2, ">"); - if (o2.push(t3.stylize(s2, "undefined")), c2 = u2, o2.length === n2) break; - } - o2.push(_r(t3, e3, r3, l2, 1)), c2++; - } - var y2 = e3.length - c2; - if (o2.length !== n2) { - if (y2 > 0) { - var g2 = y2 > 1 ? "s" : "", d2 = "<".concat(y2, " empty item").concat(g2, ">"); - o2.push(t3.stylize(d2, "undefined")); - } - } else y2 > 0 && o2.push("... ".concat(y2, " more item").concat(y2 > 1 ? "s" : "")); - return o2; - } - function Or(t3, e3) { - var n2; - try { - n2 = new Mt(e3); - } catch (e4) { - return [t3.stylize("(detached)", "special")]; - } - void 0 === p && (p = Bt(r2(794).l.prototype.hexSlice)); - var o2 = Lt(wt(p(n2, 0, N(t3.maxArrayLength, n2.length)), /(.{2})/g, "$1 ")), i2 = n2.length - t3.maxArrayLength; - return i2 > 0 && (o2 += " ... ".concat(i2, " more byte").concat(i2 > 1 ? "s" : "")), ["".concat(t3.stylize("[Uint8Contents]", "special"), ": <").concat(o2, ">")]; - } - function xr(t3, e3, r3) { - for (var n2 = e3.length, o2 = N(M(0, t3.maxArrayLength), n2), i2 = n2 - o2, a2 = [], c2 = 0; c2 < o2; c2++) { - if (!nt(e3, c2)) return Pr(t3, e3, r3, o2, a2, c2); - a2.push(_r(t3, e3, r3, c2, 1)); - } - return i2 > 0 && a2.push("... ".concat(i2, " more item").concat(i2 > 1 ? "s" : "")), a2; - } - function wr(t3, e3, r3, n2, o2) { - for (var i2 = N(M(0, r3.maxArrayLength), e3), a2 = t3.length - i2, c2 = new d(i2), l2 = t3.length > 0 && "number" == typeof t3[0] ? hr : vr, u2 = 0; u2 < i2; ++u2) c2[u2] = l2(r3.stylize, t3[u2], r3.numericSeparator); - if (a2 > 0 && (c2[i2] = "... ".concat(a2, " more item").concat(a2 > 1 ? "s" : "")), r3.showHidden) { - r3.indentationLvl += 2; - for (var f2 = 0, p2 = ["BYTES_PER_ELEMENT", "length", "byteLength", "byteOffset", "buffer"]; f2 < p2.length; f2++) { - var s2 = p2[f2], y2 = yr(r3, t3[s2], o2, true); - S(c2, "[".concat(s2, "]: ").concat(y2)); - } - r3.indentationLvl -= 2; - } - return c2; - } - function Ar(t3, e3, r3, n2) { - var o2 = []; - e3.indentationLvl += 2; - var a2, c2 = i(t3); - try { - for (c2.s(); !(a2 = c2.n()).done; ) { - var l2 = a2.value; - S(o2, yr(e3, l2, n2)); - } - } catch (t4) { - c2.e(t4); - } finally { - c2.f(); - } - return e3.indentationLvl -= 2, o2; - } - function jr(t3, e3, r3, n2) { - var o2 = []; - e3.indentationLvl += 2; - var a2, c2 = i(t3); - try { - for (c2.s(); !(a2 = c2.n()).done; ) { - var l2 = a2.value, u2 = l2[0], f2 = l2[1]; - o2.push("".concat(yr(e3, u2, n2), " => ").concat(yr(e3, f2, n2))); - } - } catch (t4) { - c2.e(t4); - } finally { - c2.f(); - } - return e3.indentationLvl -= 2, o2; - } - function Er(t3, e3, r3, n2) { - var o2 = M(t3.maxArrayLength, 0), i2 = N(o2, r3.length), a2 = new d(i2); - t3.indentationLvl += 2; - for (var c2 = 0; c2 < i2; c2++) a2[c2] = yr(t3, r3[c2], e3); - t3.indentationLvl -= 2, 0 !== n2 || t3.sorted || O(a2); - var l2 = r3.length - i2; - return l2 > 0 && S(a2, "... ".concat(l2, " more item").concat(l2 > 1 ? "s" : "")), a2; - } - function Lr(t3, e3, r3, n2) { - var o2 = M(t3.maxArrayLength, 0), i2 = r3.length / 2, a2 = i2 - o2, c2 = N(o2, i2), l2 = new d(c2), u2 = 0; - if (t3.indentationLvl += 2, 0 === n2) { - for (; u2 < c2; u2++) { - var f2 = 2 * u2; - l2[u2] = "".concat(yr(t3, r3[f2], e3), " => ").concat(yr(t3, r3[f2 + 1], e3)); - } - t3.sorted || (l2 = l2.sort()); - } else for (; u2 < c2; u2++) { - var p2 = 2 * u2, s2 = [yr(t3, r3[p2], e3), yr(t3, r3[p2 + 1], e3)]; - l2[u2] = Mr(t3, s2, "", ["[", "]"], 2, e3); - } - return t3.indentationLvl -= 2, a2 > 0 && l2.push("... ".concat(a2, " more item").concat(a2 > 1 ? "s" : "")), l2; - } - function Fr(t3) { - return [t3.stylize("", "special")]; - } - function Ir(t3, e3, r3) { - return Er(t3, r3, Ut(e3), 0); - } - function Tr(t3, e3, r3) { - return Lr(t3, r3, Ut(e3), 0); - } - function kr(t3, e3, r3, n2) { - var o2 = Ut(r3, true), i2 = o2[0]; - return o2[1] ? (t3[0] = t3[0].replace(/ Iterator] {$/, " Entries] {"), Lr(e3, n2, i2, 2)) : Er(e3, n2, i2, 1); - } - function Rr(t3, e3, r3) { - var n2, o2 = Gt(e3), i2 = o2[0], a2 = o2[1]; - if (i2 === Ht) n2 = [t3.stylize("", "special")]; - else { - t3.indentationLvl += 2; - var c2 = yr(t3, a2, r3); - t3.indentationLvl -= 2, n2 = [i2 === Vt ? "".concat(t3.stylize("", "special"), " ").concat(c2) : c2]; - } - return n2; - } - function _r(t3, e3, r3, n2, i2, a2) { - var c2, l2, u2 = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : e3, f2 = " "; - if (void 0 !== (a2 = a2 || J(e3, n2) || { value: e3[n2], enumerable: true }).value) { - var p2 = true !== t3.compact || 0 !== i2 ? 2 : 3; - t3.indentationLvl += p2, l2 = yr(t3, a2.value, r3), 3 === p2 && t3.breakLength < s(l2, t3.colors) && (f2 = "\n".concat(" ".repeat(t3.indentationLvl))), t3.indentationLvl -= p2; - } else if (void 0 !== a2.get) { - var y2 = void 0 !== a2.set ? "Getter/Setter" : "Getter", g2 = t3.stylize, d2 = "special"; - if (t3.getters && (true === t3.getters || "get" === t3.getters && void 0 === a2.set || "set" === t3.getters && void 0 !== a2.set)) try { - var b2 = I(a2.get, u2); - if (t3.indentationLvl += 2, null === b2) l2 = "".concat(g2("[".concat(y2, ":"), d2), " ").concat(g2("null", "null")).concat(g2("]", d2)); - else if ("object" === o(b2)) l2 = "".concat(g2("[".concat(y2, "]"), d2), " ").concat(yr(t3, b2, r3)); - else { - var h2 = mr(g2, b2, t3); - l2 = "".concat(g2("[".concat(y2, ":"), d2), " ").concat(h2).concat(g2("]", d2)); - } - t3.indentationLvl -= 2; - } catch (t4) { - var v2 = ""); - l2 = "".concat(g2("[".concat(y2, ":"), d2), " ").concat(v2).concat(g2("]", d2)); - } - else l2 = t3.stylize("[".concat(y2, "]"), d2); - } else l2 = void 0 !== a2.set ? t3.stylize("[Setter]", "special") : t3.stylize("undefined", "undefined"); - if (1 === i2) return l2; - if ("symbol" === o(n2)) { - var m2 = wt(It(n2), Ce, rr); - c2 = "[".concat(t3.stylize(m2, "symbol"), "]"); - } else if ("__proto__" === n2) c2 = "['__proto__']"; - else if (false === a2.enumerable) { - var S2 = wt(n2, Ce, rr); - c2 = "[".concat(S2, "]"); - } else c2 = ut(He, n2) ? t3.stylize(n2, "name") : t3.stylize(nr(n2), "string"); - return "".concat(c2, ":").concat(f2).concat(l2); - } - function zr(t3, e3, r3, n2) { - var o2 = e3.length + r3; - if (o2 + e3.length > t3.breakLength) return false; - for (var i2 = 0; i2 < e3.length; i2++) if (t3.colors ? o2 += re(e3[i2]).length : o2 += e3[i2].length, o2 > t3.breakLength) return false; - return "" === n2 || !mt(n2, "\n"); - } - function Mr(t3, e3, r3, n2, o2, i2, a2) { - if (true !== t3.compact) { - if ("number" == typeof t3.compact && t3.compact >= 1) { - var c2 = e3.length; - if (2 === o2 && c2 > 6 && (e3 = (function(t4, e4, r4) { - var n3 = 0, o3 = 0, i3 = 0, a3 = e4.length; - t4.maxArrayLength < e4.length && a3--; - for (var c3 = new d(a3); i3 < a3; i3++) { - var l3 = s(e4[i3], t4.colors); - c3[i3] = l3, n3 += l3 + 2, o3 < l3 && (o3 = l3); - } - var u3 = o3 + 2; - if (3 * u3 + t4.indentationLvl < t4.breakLength && (n3 / u3 > 5 || o3 <= 6)) { - var f3 = D(u3 - n3 / e4.length), p3 = M(u3 - 3 - f3, 1), y2 = N(B(D(2.5 * p3 * a3) / p3), z((t4.breakLength - t4.indentationLvl) / u3), 4 * t4.compact, 15); - if (y2 <= 1) return e4; - for (var g2 = [], b2 = [], h2 = 0; h2 < y2; h2++) { - for (var v2 = 0, m2 = h2; m2 < e4.length; m2 += y2) c3[m2] > v2 && (v2 = c3[m2]); - v2 += 2, b2[h2] = v2; - } - var P2 = Ot; - if (void 0 !== r4) { - for (var O2 = 0; O2 < e4.length; O2++) if ("number" != typeof r4[O2] && "bigint" != typeof r4[O2]) { - P2 = Pt; - break; - } - } - for (var x2 = 0; x2 < a3; x2 += y2) { - for (var w2 = N(x2 + y2, a3), A2 = "", j2 = x2; j2 < w2 - 1; j2++) { - var E2 = b2[j2 - x2] + e4[j2].length - c3[j2]; - A2 += P2("".concat(e4[j2], ", "), E2, " "); - } - if (P2 === Ot) { - var L2 = b2[j2 - x2] + e4[j2].length - c3[j2] - 2; - A2 += Ot(e4[j2], L2, " "); - } else A2 += e4[j2]; - S(g2, A2); - } - t4.maxArrayLength < e4.length && S(g2, e4[a3]), e4 = g2; - } - return e4; - })(t3, e3, a2)), t3.currentDepth - i2 < t3.compact && c2 === e3.length && zr(t3, e3, e3.length + t3.indentationLvl + n2[0].length + r3.length + 10, r3)) { - var l2 = ee(e3, ", "); - if (!l2.includes("\n")) return "".concat(r3 ? "".concat(r3, " ") : "").concat(n2[0], " ").concat(l2) + " ".concat(n2[1]); - } - } - var u2 = "\n".concat(xt(" ", t3.indentationLvl)); - return "".concat(r3 ? "".concat(r3, " ") : "").concat(n2[0]).concat(u2, " ") + "".concat(ee(e3, ",".concat(u2, " "))).concat(u2).concat(n2[1]); - } - if (zr(t3, e3, 0, r3)) return "".concat(n2[0]).concat(r3 ? " ".concat(r3) : "", " ").concat(ee(e3, ", "), " ") + n2[1]; - var f2 = xt(" ", t3.indentationLvl), p2 = "" === r3 && 1 === n2[0].length ? " " : "".concat(r3 ? " ".concat(r3) : "", "\n").concat(f2, " "); - return "".concat(n2[0]).concat(p2).concat(ee(e3, ",\n".concat(f2, " ")), " ").concat(n2[1]); - } - function Nr(t3) { - var e3 = Wt(t3, false); - if (void 0 !== e3 && (t3 = e3), "function" != typeof t3.toString) return true; - if (nt(t3, "toString")) return false; - var r3 = t3; - do { - r3 = tt(r3); - } while (!nt(r3, "toString")); - var n2 = J(r3, "constructor"); - return void 0 !== n2 && "function" == typeof n2.value && Me.has(n2.value.name); - } - Je.colors = Y(K(null), { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], blink: [5, 25], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29], doubleunderline: [21, 24], black: [30, Qe], red: [31, Qe], green: [32, Qe], yellow: [33, Qe], blue: [34, Qe], magenta: [35, Qe], cyan: [36, Qe], white: [37, Qe], bgBlack: [40, Xe], bgRed: [41, Xe], bgGreen: [42, Xe], bgYellow: [43, Xe], bgBlue: [44, Xe], bgMagenta: [45, Xe], bgCyan: [46, Xe], bgWhite: [47, Xe], framed: [51, 54], overlined: [53, 55], gray: [90, Qe], redBright: [91, Qe], greenBright: [92, Qe], yellowBright: [93, Qe], blueBright: [94, Qe], magentaBright: [95, Qe], cyanBright: [96, Qe], whiteBright: [97, Qe], bgGray: [100, Xe], bgRedBright: [101, Xe], bgGreenBright: [102, Xe], bgYellowBright: [103, Xe], bgBlueBright: [104, Xe], bgMagentaBright: [105, Xe], bgCyanBright: [106, Xe], bgWhiteBright: [107, Xe] }), tr("gray", "grey"), tr("gray", "blackBright"), tr("bgGray", "bgGrey"), tr("bgGray", "bgBlackBright"), tr("dim", "faint"), tr("strikethrough", "crossedout"), tr("strikethrough", "strikeThrough"), tr("strikethrough", "crossedOut"), tr("hidden", "conceal"), tr("inverse", "swapColors"), tr("inverse", "swapcolors"), tr("doubleunderline", "doubleUnderline"), Je.styles = Y(K(null), { special: "cyan", number: "yellow", bigint: "yellow", boolean: "yellow", undefined: "grey", null: "bold", string: "green", symbol: "green", date: "magenta", regexp: "red", module: "underline" }); - var Br, Dr = function(t3) { - return jt(t3.message, "\n", 1)[0]; - }; - function Cr(t3) { - try { - return k(t3); - } catch (t4) { - if (!Br) try { - var e3 = {}; - e3.a = e3, k(e3); - } catch (t5) { - Br = Dr(t5); - } - if ("TypeError" === t4.name && Dr(t4) === Br) return "[Circular]"; - throw t4; - } - } - function Gr(t3, e3) { - return hr(ir, t3, null != e3 && null != e3.numericSeparator ? e3.numericSeparator : Be.numericSeparator); - } - function Wr(t3, e3) { - return vr(ir, t3, null != e3 && null != e3.numericSeparator ? e3.numericSeparator : Be.numericSeparator); - } - function Hr(t3, e3) { - var r3 = e3[0], n2 = 0, i2 = "", a2 = ""; - if ("string" == typeof r3) { - if (1 === e3.length) return r3; - for (var c2, l2 = 0, f2 = 0; f2 < r3.length - 1; f2++) if (37 === ht(r3, f2)) { - var p2 = ht(r3, ++f2); - if (n2 + 1 !== e3.length) { - switch (p2) { - case 115: - var s2 = e3[++n2]; - c2 = "number" == typeof s2 ? Gr(s2, t3) : "bigint" == typeof s2 ? Wr(s2, t3) : "object" === o(s2) && null !== s2 && Nr(s2) ? Je(s2, u(u({}, t3), {}, { compact: 3, colors: false, depth: 0 })) : bt(s2); - break; - case 106: - c2 = Cr(e3[++n2]); - break; - case 100: - var y2 = e3[++n2]; - c2 = "bigint" == typeof y2 ? Wr(y2, t3) : "symbol" === o(y2) ? "NaN" : Gr(G(y2), t3); - break; - case 79: - c2 = Je(e3[++n2], t3); - break; - case 111: - c2 = Je(e3[++n2], u(u({}, t3), {}, { showHidden: true, showProxy: true, depth: 4 })); - break; - case 105: - var g2 = e3[++n2]; - c2 = "bigint" == typeof g2 ? Wr(g2, t3) : "symbol" === o(g2) ? "NaN" : Gr(U(g2), t3); - break; - case 102: - var d2 = e3[++n2]; - c2 = "symbol" === o(d2) ? "NaN" : Gr(V(d2), t3); - break; - case 99: - n2 += 1, c2 = ""; - break; - case 37: - i2 += At(r3, l2, f2), l2 = f2 + 1; - continue; - default: - continue; - } - l2 !== f2 - 1 && (i2 += At(r3, l2, f2 - 1)), i2 += c2, l2 = f2 + 1; - } else 37 === p2 && (i2 += At(r3, l2, f2), l2 = f2 + 1); - } - 0 !== l2 && (n2++, a2 = " ", l2 < r3.length && (i2 += At(r3, l2))); - } - for (; n2 < e3.length; ) { - var b2 = e3[n2]; - i2 += a2, i2 += "string" != typeof b2 ? Je(b2, t3) : b2, a2 = " ", n2++; - } - return i2; - } - if (g("config").hasIntl) { - var Vr = g("icu"); - s = function(t3) { - var e3 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], r3 = 0; - e3 && (t3 = Zr(t3)); - for (var n2 = 0; n2 < t3.length; n2++) { - var o2 = t3.charCodeAt(n2); - if (o2 >= 127) { - r3 += Vr.getStringWidth(t3.slice(n2).normalize("NFC")); - break; - } - r3 += o2 >= 32 ? 1 : 0; - } - return r3; - }; - } else { - s = function(t3) { - var e3 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], r3 = 0; - e3 && (t3 = Zr(t3)), t3 = St(t3, "NFC"); - var n2, o2 = i(new pt(t3)); - try { - for (o2.s(); !(n2 = o2.n()).done; ) { - var a2 = n2.value, c2 = vt(a2, 0); - Ur(c2) ? r3 += 2 : $r(c2) || r3++; - } - } catch (t4) { - o2.e(t4); - } finally { - o2.f(); - } - return r3; - }; - var Ur = function(t3) { - return t3 >= 4352 && (t3 <= 4447 || 9001 === t3 || 9002 === t3 || t3 >= 11904 && t3 <= 12871 && 12351 !== t3 || t3 >= 12880 && t3 <= 19903 || t3 >= 19968 && t3 <= 42182 || t3 >= 43360 && t3 <= 43388 || t3 >= 44032 && t3 <= 55203 || t3 >= 63744 && t3 <= 64255 || t3 >= 65040 && t3 <= 65049 || t3 >= 65072 && t3 <= 65131 || t3 >= 65281 && t3 <= 65376 || t3 >= 65504 && t3 <= 65510 || t3 >= 110592 && t3 <= 110593 || t3 >= 127488 && t3 <= 127569 || t3 >= 127744 && t3 <= 128591 || t3 >= 131072 && t3 <= 262141); - }, $r = function(t3) { - return t3 <= 31 || t3 >= 127 && t3 <= 159 || t3 >= 768 && t3 <= 879 || t3 >= 8203 && t3 <= 8207 || t3 >= 8400 && t3 <= 8447 || t3 >= 65024 && t3 <= 65039 || t3 >= 65056 && t3 <= 65071 || t3 >= 917760 && t3 <= 917999; - }; - } - function Zr(t3) { - return ze(t3, "str"), t3.replace(qe, ""); - } - t2.exports = { inspect: Je, format: function() { - for (var t3 = arguments.length, e3 = new Array(t3), r3 = 0; r3 < t3; r3++) e3[r3] = arguments[r3]; - return Hr(void 0, e3); - }, formatWithOptions: function(t3) { - if ("object" !== o(t3) || null === t3) throw new oe("inspectOptions", "object", t3); - for (var e3 = arguments.length, r3 = new Array(e3 > 1 ? e3 - 1 : 0), n2 = 1; n2 < e3; n2++) r3[n2 - 1] = arguments[n2]; - return Hr(t3, r3); - }, getStringWidth: s, inspectDefaultOptions: Be, stripVTControlCharacters: Zr, stylizeWithColor: or, stylizeWithHTML: function(t3, e3) { - var r3 = Je.styles[e3]; - return void 0 !== r3 ? '').concat(t3, "") : t3; - }, Proxy: Jt }; - }, 915: (t2) => { - t2.exports = function(t3) { - if (!t3) throw new Error("Assertion failed"); - }; - }, 875: (t2, e2) => { - e2.NativeModule = { exists: function(t3) { - return !t3.startsWith("/"); - } }; - }, 962: (t2, e2, r2) => { - function n(t3) { - return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) { - return typeof t4; - } : function(t4) { - return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4; - }, n(t3); - } - function o(t3, e3) { - (null == e3 || e3 > t3.length) && (e3 = t3.length); - for (var r3 = 0, n2 = new Array(e3); r3 < e3; r3++) n2[r3] = t3[r3]; - return n2; - } - var i, a, c = r2(459), l = c.ArrayIsArray, u = c.ArrayPrototypeIncludes, f = c.ArrayPrototypeIndexOf, p = c.ArrayPrototypeJoin, s = c.ArrayPrototypePop, y = c.ArrayPrototypePush, g = c.ArrayPrototypeSplice, d = c.ErrorCaptureStackTrace, b = c.ObjectDefineProperty, h = c.ReflectApply, v = c.RegExpPrototypeTest, m = c.SafeMap, S = c.StringPrototypeEndsWith, P = c.StringPrototypeIncludes, O = c.StringPrototypeSlice, x = c.StringPrototypeToLowerCase, w = new m(), A = {}, j = /^([A-Z][a-z0-9]*)+$/, E = ["string", "function", "number", "object", "Function", "Object", "boolean", "bigint", "symbol"], L = null; - function F() { - return L || (L = r2(618)), L; - } - var I = T((function(t3, e3, r3) { - (t3 = C(t3)).name = "".concat(e3, " [").concat(r3, "]"), t3.stack, delete t3.name; - })); - function T(t3) { - var e3 = "__node_internal_" + t3.name; - return b(t3, "name", { value: e3 }), t3; - } - function k(t3, e3, n2) { - var o2 = w.get(t3); - return void 0 === a && (a = r2(915)), a("function" == typeof o2), a(o2.length <= e3.length, "Code: ".concat(t3, "; The provided arguments length (").concat(e3.length, ") does not ") + "match the required ones (".concat(o2.length, ").")), h(o2, n2, e3); - } - var R, _, z, M, N, B, D, C = T((function(t3) { - return i = Error.stackTraceLimit, Error.stackTraceLimit = 1 / 0, d(t3), Error.stackTraceLimit = i, t3; - })); - t2.exports = { codes: A, hideStackFrames: T, isStackOverflowError: function(t3) { - if (void 0 === _) try { - !(function t4() { - t4(); - })(); - } catch (t4) { - _ = t4.message, R = t4.name; - } - return t3 && t3.name === R && t3.message === _; - } }, z = "ERR_INVALID_ARG_TYPE", M = function(t3, e3, r3) { - a("string" == typeof t3, "'name' must be a string"), l(e3) || (e3 = [e3]); - var i2 = "The "; - if (S(t3, " argument")) i2 += "".concat(t3, " "); - else { - var c2 = P(t3, ".") ? "property" : "argument"; - i2 += '"'.concat(t3, '" ').concat(c2, " "); - } - i2 += "must be "; - var d2, b2 = [], h2 = [], m2 = [], w2 = (function(t4, e4) { - var r4 = "undefined" != typeof Symbol && t4[Symbol.iterator] || t4["@@iterator"]; - if (!r4) { - if (Array.isArray(t4) || (r4 = (function(t5, e5) { - if (t5) { - if ("string" == typeof t5) return o(t5, e5); - var r5 = Object.prototype.toString.call(t5).slice(8, -1); - return "Object" === r5 && t5.constructor && (r5 = t5.constructor.name), "Map" === r5 || "Set" === r5 ? Array.from(t5) : "Arguments" === r5 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r5) ? o(t5, e5) : void 0; - } - })(t4)) || e4 && t4 && "number" == typeof t4.length) { - r4 && (t4 = r4); - var n2 = 0, i3 = function() { - }; - return { s: i3, n: function() { - return n2 >= t4.length ? { done: true } : { done: false, value: t4[n2++] }; - }, e: function(t5) { - throw t5; - }, f: i3 }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var a2, c3 = true, l2 = false; - return { s: function() { - r4 = r4.call(t4); - }, n: function() { - var t5 = r4.next(); - return c3 = t5.done, t5; - }, e: function(t5) { - l2 = true, a2 = t5; - }, f: function() { - try { - c3 || null == r4.return || r4.return(); - } finally { - if (l2) throw a2; - } - } }; - })(e3); - try { - for (w2.s(); !(d2 = w2.n()).done; ) { - var A2 = d2.value; - a("string" == typeof A2, "All expected entries have to be of type string"), u(E, A2) ? y(b2, x(A2)) : v(j, A2) ? y(h2, A2) : (a("object" !== A2, 'The value "object" should be written as "Object"'), y(m2, A2)); - } - } catch (t4) { - w2.e(t4); - } finally { - w2.f(); - } - if (h2.length > 0) { - var L2 = f(b2, "object"); - -1 !== L2 && (g(b2, L2, 1), y(h2, "Object")); - } - if (b2.length > 0) { - if (b2.length > 2) { - var I2 = s(b2); - i2 += "one of type ".concat(p(b2, ", "), ", or ").concat(I2); - } else i2 += 2 === b2.length ? "one of type ".concat(b2[0], " or ").concat(b2[1]) : "of type ".concat(b2[0]); - (h2.length > 0 || m2.length > 0) && (i2 += " or "); - } - if (h2.length > 0) { - if (h2.length > 2) { - var T2 = s(h2); - i2 += "an instance of ".concat(p(h2, ", "), ", or ").concat(T2); - } else i2 += "an instance of ".concat(h2[0]), 2 === h2.length && (i2 += " or ".concat(h2[1])); - m2.length > 0 && (i2 += " or "); - } - if (m2.length > 0) if (m2.length > 2) { - var k2 = s(m2); - i2 += "one of ".concat(p(m2, ", "), ", or ").concat(k2); - } else 2 === m2.length ? i2 += "one of ".concat(m2[0], " or ").concat(m2[1]) : (x(m2[0]) !== m2[0] && (i2 += "an "), i2 += "".concat(m2[0])); - if (null == r3) i2 += ". Received ".concat(r3); - else if ("function" == typeof r3 && r3.name) i2 += ". Received function ".concat(r3.name); - else if ("object" === n(r3)) if (r3.constructor && r3.constructor.name) i2 += ". Received an instance of ".concat(r3.constructor.name); - else { - var R2 = F().inspect(r3, { depth: -1 }); - i2 += ". Received ".concat(R2); - } - else { - var _2 = F().inspect(r3, { colors: false }); - _2.length > 25 && (_2 = "".concat(O(_2, 0, 25), "...")), i2 += ". Received type ".concat(n(r3), " (").concat(_2, ")"); - } - return i2; - }, N = TypeError, w.set(z, M), A[z] = (B = N, D = z, function() { - var t3 = Error.stackTraceLimit; - Error.stackTraceLimit = 0; - var e3 = new B(); - Error.stackTraceLimit = t3; - for (var r3 = arguments.length, n2 = new Array(r3), o2 = 0; o2 < r3; o2++) n2[o2] = arguments[o2]; - var i2 = k(D, n2, e3); - return b(e3, "message", { value: i2, enumerable: false, writable: true, configurable: true }), b(e3, "toString", { value: function() { - return "".concat(this.name, " [").concat(D, "]: ").concat(this.message); - }, enumerable: false, writable: true, configurable: true }), I(e3, B.name, D), e3.code = D, e3; - }); - }, 719: (t2) => { - var e2 = /\u001b\[\d\d?m/g; - t2.exports = { customInspectSymbol: Symbol.for("nodejs.util.inspect.custom"), isError: function(t3) { - return t3 instanceof Error; - }, join: Array.prototype.join.call.bind(Array.prototype.join), removeColors: function(t3) { - return String.prototype.replace.call(t3, e2, ""); - } }; - }, 715: (t2, e2, r2) => { - function n(t3) { - return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) { - return typeof t4; - } : function(t4) { - return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4; - }, n(t3); - } - var o = r2(493).getConstructorName; - function i(t3) { - for (var e3 = arguments.length, r3 = new Array(e3 > 1 ? e3 - 1 : 0), i2 = 1; i2 < e3; i2++) r3[i2 - 1] = arguments[i2]; - for (var a2 = 0, c2 = r3; a2 < c2.length; a2++) { - var l2 = c2[a2], u2 = globalThis[l2]; - if (u2 && t3 instanceof u2) return true; - } - for (; t3; ) { - if ("object" !== n(t3)) return false; - if (r3.indexOf(o(t3)) >= 0) return true; - t3 = Object.getPrototypeOf(t3); - } - return false; - } - function a(t3) { - return function(e3) { - if (!i(e3, t3.name)) return false; - try { - t3.prototype.valueOf.call(e3); - } catch (t4) { - return false; - } - return true; - }; - } - "object" !== ("undefined" == typeof globalThis ? "undefined" : n(globalThis)) && (Object.defineProperty(Object.prototype, "__magic__", { get: function() { - return this; - }, configurable: true }), __magic__.globalThis = __magic__, delete Object.prototype.__magic__); - var c = a(String), l = a(Number), u = a(Boolean), f = a(BigInt), p = a(Symbol); - t2.exports = { isAsyncFunction: function(t3) { - return "function" == typeof t3 && Function.prototype.toString.call(t3).startsWith("async"); - }, isGeneratorFunction: function(t3) { - return "function" == typeof t3 && Function.prototype.toString.call(t3).match(/^(async\s+)?function *\*/); - }, isAnyArrayBuffer: function(t3) { - return i(t3, "ArrayBuffer", "SharedArrayBuffer"); - }, isArrayBuffer: function(t3) { - return i(t3, "ArrayBuffer"); - }, isArgumentsObject: function(t3) { - if (null !== t3 && "object" === n(t3) && !Array.isArray(t3) && "number" == typeof t3.length && t3.length === (0 | t3.length) && t3.length >= 0) { - var e3 = Object.getOwnPropertyDescriptor(t3, "callee"); - return e3 && !e3.enumerable; - } - return false; - }, isBoxedPrimitive: function(t3) { - return l(t3) || c(t3) || u(t3) || f(t3) || p(t3); - }, isDataView: function(t3) { - return i(t3, "DataView"); - }, isExternal: function(t3) { - return "object" === n(t3) && Object.isFrozen(t3) && null == Object.getPrototypeOf(t3); - }, isMap: function(t3) { - if (!i(t3, "Map")) return false; - try { - t3.has(); - } catch (t4) { - return false; - } - return true; - }, isMapIterator: function(t3) { - return "[object Map Iterator]" === Object.prototype.toString.call(Object.getPrototypeOf(t3)); - }, isModuleNamespaceObject: function(t3) { - return t3 && "object" === n(t3) && "Module" === t3[Symbol.toStringTag]; - }, isNativeError: function(t3) { - return t3 instanceof Error && i(t3, "Error", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "AggregateError"); - }, isPromise: function(t3) { - return i(t3, "Promise"); - }, isSet: function(t3) { - if (!i(t3, "Set")) return false; - try { - t3.has(); - } catch (t4) { - return false; - } - return true; - }, isSetIterator: function(t3) { - return "[object Set Iterator]" === Object.prototype.toString.call(Object.getPrototypeOf(t3)); - }, isWeakMap: function(t3) { - return i(t3, "WeakMap"); - }, isWeakSet: function(t3) { - return i(t3, "WeakSet"); - }, isRegExp: function(t3) { - return i(t3, "RegExp"); - }, isDate: function(t3) { - if (i(t3, "Date")) try { - return Date.prototype.getTime.call(t3), true; - } catch (t4) { - } - return false; - }, isTypedArray: function(t3) { - return i(t3, "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "BigInt64Array", "BigUint64Array"); - }, isStringObject: c, isNumberObject: l, isBooleanObject: u, isBigIntObject: f, isSymbolObject: p }; - }, 753: (t2, e2, r2) => { - function n(t3) { - return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) { - return typeof t4; - } : function(t4) { - return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4; - }, n(t3); - } - var o = r2(459).ArrayIsArray, i = r2(962), a = i.hideStackFrames, c = i.codes.ERR_INVALID_ARG_TYPE, l = a((function(t3, e3, r3) { - var i2 = null == r3, a2 = !i2 && r3.allowArray, l2 = !i2 && r3.allowFunction; - if ((i2 || !r3.nullable) && null === t3 || !a2 && o(t3) || "object" !== n(t3) && (!l2 || "function" != typeof t3)) throw new c(e3, "Object", t3); - })); - t2.exports = { validateObject: l, validateString: function(t3, e3) { - if ("string" != typeof t3) throw new c(e3, "string", t3); - } }; - }, 459: (t2, e2, r2) => { - function n(t3) { - return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) { - return typeof t4; - } : function(t4) { - return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4; - }, n(t3); - } - function o(t3, e3) { - if ("function" != typeof e3 && null !== e3) throw new TypeError("Super expression must either be null or a function"); - t3.prototype = Object.create(e3 && e3.prototype, { constructor: { value: t3, writable: true, configurable: true } }), Object.defineProperty(t3, "prototype", { writable: false }), e3 && f(t3, e3); - } - function i(t3) { - var e3 = u(); - return function() { - var r3, n2 = p(t3); - if (e3) { - var o2 = p(this).constructor; - r3 = Reflect.construct(n2, arguments, o2); - } else r3 = n2.apply(this, arguments); - return a(this, r3); - }; - } - function a(t3, e3) { - if (e3 && ("object" === n(e3) || "function" == typeof e3)) return e3; - if (void 0 !== e3) throw new TypeError("Derived constructors may only return object or undefined"); - return (function(t4) { - if (void 0 === t4) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - return t4; - })(t3); - } - function c(t3) { - var e3 = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0; - return c = function(t4) { - if (null === t4 || (r3 = t4, -1 === Function.toString.call(r3).indexOf("[native code]"))) return t4; - var r3; - if ("function" != typeof t4) throw new TypeError("Super expression must either be null or a function"); - if (void 0 !== e3) { - if (e3.has(t4)) return e3.get(t4); - e3.set(t4, n2); - } - function n2() { - return l(t4, arguments, p(this).constructor); - } - return n2.prototype = Object.create(t4.prototype, { constructor: { value: n2, enumerable: false, writable: true, configurable: true } }), f(n2, t4); - }, c(t3); - } - function l(t3, e3, r3) { - return l = u() ? Reflect.construct : function(t4, e4, r4) { - var n2 = [null]; - n2.push.apply(n2, e4); - var o2 = new (Function.bind.apply(t4, n2))(); - return r4 && f(o2, r4.prototype), o2; - }, l.apply(null, arguments); - } - function u() { - if ("undefined" == typeof Reflect || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if ("function" == typeof Proxy) return true; - try { - return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() { - }))), true; - } catch (t3) { - return false; - } - } - function f(t3, e3) { - return f = Object.setPrototypeOf || function(t4, e4) { - return t4.__proto__ = e4, t4; - }, f(t3, e3); - } - function p(t3) { - return p = Object.setPrototypeOf ? Object.getPrototypeOf : function(t4) { - return t4.__proto__ || Object.getPrototypeOf(t4); - }, p(t3); - } - function s(t3, e3) { - if (!(t3 instanceof e3)) throw new TypeError("Cannot call a class as a function"); - } - function y(t3, e3) { - for (var r3 = 0; r3 < e3.length; r3++) { - var n2 = e3[r3]; - n2.enumerable = n2.enumerable || false, n2.configurable = true, "value" in n2 && (n2.writable = true), Object.defineProperty(t3, n2.key, n2); - } - } - function g(t3, e3, r3) { - return e3 && y(t3.prototype, e3), r3 && y(t3, r3), Object.defineProperty(t3, "prototype", { writable: false }), t3; - } - var d = function(t3, e3) { - var r3 = (function(r4) { - function n2(e4) { - s(this, n2), this._iterator = t3(e4); - } - return g(n2, [{ key: "next", value: function() { - return e3(this._iterator); - } }, { key: Symbol.iterator, value: function() { - return this; - } }]), n2; - })(); - return Object.setPrototypeOf(r3.prototype, null), Object.freeze(r3.prototype), Object.freeze(r3), r3; - }; - function b(t3, e3) { - return Function.prototype.call.bind(t3.prototype.__lookupGetter__(e3)); - } - function h(t3) { - return Function.prototype.call.bind(t3); - } - var v = function(t3, e3) { - Array.prototype.forEach.call(Reflect.ownKeys(t3), (function(r3) { - Reflect.getOwnPropertyDescriptor(e3, r3) || Reflect.defineProperty(e3, r3, Reflect.getOwnPropertyDescriptor(t3, r3)); - })); - }, m = function(t3, e3) { - if (Symbol.iterator in t3.prototype) { - var r3, n2 = new t3(); - Array.prototype.forEach.call(Reflect.ownKeys(t3.prototype), (function(o2) { - if (!Reflect.getOwnPropertyDescriptor(e3.prototype, o2)) { - var i2 = Reflect.getOwnPropertyDescriptor(t3.prototype, o2); - if ("function" == typeof i2.value && 0 === i2.value.length && Symbol.iterator in (Function.prototype.call.call(i2.value, n2) || {})) { - var a2 = h(i2.value); - null == r3 && (r3 = h(a2(n2).next)); - var c2 = d(a2, r3); - i2.value = function() { - return new c2(this); - }; - } - Reflect.defineProperty(e3.prototype, o2, i2); - } - })); - } else v(t3.prototype, e3.prototype); - return v(t3, e3), Object.setPrototypeOf(e3.prototype, null), Object.freeze(e3.prototype), Object.freeze(e3), e3; - }, S = Function.prototype.call.bind(String.prototype[Symbol.iterator]), P = Reflect.getPrototypeOf(S("")); - t2.exports = { makeSafe: m, internalBinding: function(t3) { - if ("config" === t3) return { hasIntl: false }; - throw new Error('unknown module: "'.concat(t3, '"')); - }, Array, ArrayIsArray: Array.isArray, ArrayPrototypeFilter: Function.prototype.call.bind(Array.prototype.filter), ArrayPrototypeForEach: Function.prototype.call.bind(Array.prototype.forEach), ArrayPrototypeIncludes: Function.prototype.call.bind(Array.prototype.includes), ArrayPrototypeIndexOf: Function.prototype.call.bind(Array.prototype.indexOf), ArrayPrototypeJoin: Function.prototype.call.bind(Array.prototype.join), ArrayPrototypePop: Function.prototype.call.bind(Array.prototype.pop), ArrayPrototypePush: Function.prototype.call.bind(Array.prototype.push), ArrayPrototypePushApply: Function.apply.bind(Array.prototype.push), ArrayPrototypeSort: Function.prototype.call.bind(Array.prototype.sort), ArrayPrototypeSplice: Function.prototype.call.bind(Array.prototype.slice), ArrayPrototypeUnshift: Function.prototype.call.bind(Array.prototype.unshift), BigIntPrototypeValueOf: Function.prototype.call.bind(BigInt.prototype.valueOf), BooleanPrototypeValueOf: Function.prototype.call.bind(Boolean.prototype.valueOf), DatePrototypeGetTime: Function.prototype.call.bind(Date.prototype.getTime), DatePrototypeToISOString: Function.prototype.call.bind(Date.prototype.toISOString), DatePrototypeToString: Function.prototype.call.bind(Date.prototype.toString), ErrorCaptureStackTrace: function(t3) { - var e3 = new Error().stack; - t3.stack = e3.replace(/.*\n.*/, "$1"); - }, ErrorPrototypeToString: Function.prototype.call.bind(Error.prototype.toString), FunctionPrototypeCall: Function.prototype.call.bind(Function.prototype.call), FunctionPrototypeToString: Function.prototype.call.bind(Function.prototype.toString), globalThis: "undefined" == typeof globalThis ? r2.g : globalThis, JSONStringify: JSON.stringify, MapPrototypeGetSize: b(Map, "size"), MapPrototypeEntries: Function.prototype.call.bind(Map.prototype.entries), MathFloor: Math.floor, MathMax: Math.max, MathMin: Math.min, MathRound: Math.round, MathSqrt: Math.sqrt, MathTrunc: Math.trunc, Number, NumberIsFinite: Number.isFinite, NumberIsNaN: Number.isNaN, NumberParseFloat: Number.parseFloat, NumberParseInt: Number.parseInt, NumberPrototypeValueOf: Function.prototype.call.bind(Number.prototype.valueOf), Object, ObjectAssign: Object.assign, ObjectCreate: Object.create, ObjectDefineProperty: Object.defineProperty, ObjectGetOwnPropertyDescriptor: Object.getOwnPropertyDescriptor, ObjectGetOwnPropertyNames: Object.getOwnPropertyNames, ObjectGetOwnPropertySymbols: Object.getOwnPropertySymbols, ObjectGetPrototypeOf: Object.getPrototypeOf, ObjectIs: Object.is, ObjectKeys: Object.keys, ObjectPrototypeHasOwnProperty: Function.prototype.call.bind(Object.prototype.hasOwnProperty), ObjectPrototypePropertyIsEnumerable: Function.prototype.call.bind(Object.prototype.propertyIsEnumerable), ObjectSeal: Object.seal, ObjectSetPrototypeOf: Object.setPrototypeOf, ReflectApply: Reflect.apply, ReflectOwnKeys: Reflect.ownKeys, RegExp, RegExpPrototypeTest: Function.prototype.call.bind(RegExp.prototype.test), RegExpPrototypeToString: Function.prototype.call.bind(RegExp.prototype.toString), SafeStringIterator: d(S, Function.prototype.call.bind(P.next)), SafeMap: m(Map, (function(t3) { - o(r3, t3); - var e3 = i(r3); - function r3(t4) { - return s(this, r3), e3.call(this, t4); - } - return g(r3); - })(c(Map))), SafeSet: m(Set, (function(t3) { - o(r3, t3); - var e3 = i(r3); - function r3(t4) { - return s(this, r3), e3.call(this, t4); - } - return g(r3); - })(c(Set))), SetPrototypeGetSize: b(Set, "size"), SetPrototypeValues: Function.prototype.call.bind(Set.prototype.values), String, StringPrototypeCharCodeAt: Function.prototype.call.bind(String.prototype.charCodeAt), StringPrototypeCodePointAt: Function.prototype.call.bind(String.prototype.codePointAt), StringPrototypeEndsWith: Function.prototype.call.bind(String.prototype.endsWith), StringPrototypeIncludes: Function.prototype.call.bind(String.prototype.includes), StringPrototypeNormalize: Function.prototype.call.bind(String.prototype.normalize), StringPrototypePadEnd: Function.prototype.call.bind(String.prototype.padEnd), StringPrototypePadStart: Function.prototype.call.bind(String.prototype.padStart), StringPrototypeRepeat: Function.prototype.call.bind(String.prototype.repeat), StringPrototypeReplace: Function.prototype.call.bind(String.prototype.replace), StringPrototypeSlice: Function.prototype.call.bind(String.prototype.slice), StringPrototypeSplit: Function.prototype.call.bind(String.prototype.split), StringPrototypeToLowerCase: Function.prototype.call.bind(String.prototype.toLowerCase), StringPrototypeTrim: Function.prototype.call.bind(String.prototype.trim), StringPrototypeValueOf: Function.prototype.call.bind(String.prototype.valueOf), SymbolPrototypeToString: Function.prototype.call.bind(Symbol.prototype.toString), SymbolPrototypeValueOf: Function.prototype.call.bind(Symbol.prototype.valueOf), SymbolIterator: Symbol.iterator, SymbolFor: Symbol.for, SymbolToStringTag: Symbol.toStringTag, TypedArrayPrototypeGetLength: ("length", function(t3) { - return t3.constructor.prototype.__lookupGetter__("length").call(t3); - }), Uint8Array, uncurryThis: h }; - }, 906: (t2) => { - function e2(t3, e3) { - for (var r3 = 0; r3 < e3.length; r3++) { - var n2 = e3[r3]; - n2.enumerable = n2.enumerable || false, n2.configurable = true, "value" in n2 && (n2.writable = true), Object.defineProperty(t3, n2.key, n2); - } - } - var r2 = /* @__PURE__ */ new WeakMap(), n = (function() { - function t3(e3, n3) { - !(function(t4, e4) { - if (!(t4 instanceof e4)) throw new TypeError("Cannot call a class as a function"); - })(this, t3); - var o2 = new Proxy(e3, n3); - return r2.set(o2, [e3, n3]), o2; - } - var n2, o; - return n2 = t3, o = [{ key: "getProxyDetails", value: function(t4) { - var e3 = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n3 = r2.get(t4); - if (n3) return e3 ? n3 : n3[0]; - } }], null, o && e2(n2, o), Object.defineProperty(n2, "prototype", { writable: false }), t3; - })(); - t2.exports = { getProxyDetails: n.getProxyDetails.bind(n), Proxy: n }; - }, 493: (t2, e2, r2) => { - function n(t3) { - return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) { - return typeof t4; - } : function(t4) { - return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4; - }, n(t3); - } - function o(t3, e3) { - var r3 = "undefined" != typeof Symbol && t3[Symbol.iterator] || t3["@@iterator"]; - if (!r3) { - if (Array.isArray(t3) || (r3 = a(t3)) || e3 && t3 && "number" == typeof t3.length) { - r3 && (t3 = r3); - var n2 = 0, o2 = function() { - }; - return { s: o2, n: function() { - return n2 >= t3.length ? { done: true } : { done: false, value: t3[n2++] }; - }, e: function(t4) { - throw t4; - }, f: o2 }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var i2, c2 = true, l2 = false; - return { s: function() { - r3 = r3.call(t3); - }, n: function() { - var t4 = r3.next(); - return c2 = t4.done, t4; - }, e: function(t4) { - l2 = true, i2 = t4; - }, f: function() { - try { - c2 || null == r3.return || r3.return(); - } finally { - if (l2) throw i2; - } - } }; - } - function i(t3, e3) { - return (function(t4) { - if (Array.isArray(t4)) return t4; - })(t3) || (function(t4, e4) { - var r3 = null == t4 ? null : "undefined" != typeof Symbol && t4[Symbol.iterator] || t4["@@iterator"]; - if (null != r3) { - var n2, o2, i2 = [], a2 = true, c2 = false; - try { - for (r3 = r3.call(t4); !(a2 = (n2 = r3.next()).done) && (i2.push(n2.value), !e4 || i2.length !== e4); a2 = true) ; - } catch (t5) { - c2 = true, o2 = t5; - } finally { - try { - a2 || null == r3.return || r3.return(); - } finally { - if (c2) throw o2; - } - } - return i2; - } - })(t3, e3) || a(t3, e3) || (function() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - })(); - } - function a(t3, e3) { - if (t3) { - if ("string" == typeof t3) return c(t3, e3); - var r3 = Object.prototype.toString.call(t3).slice(8, -1); - return "Object" === r3 && t3.constructor && (r3 = t3.constructor.name), "Map" === r3 || "Set" === r3 ? Array.from(t3) : "Arguments" === r3 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r3) ? c(t3, e3) : void 0; - } - } - function c(t3, e3) { - (null == e3 || e3 > t3.length) && (e3 = t3.length); - for (var r3 = 0, n2 = new Array(e3); r3 < e3; r3++) n2[r3] = t3[r3]; - return n2; - } - var l = r2(906), u = Symbol("kPending"), f = Symbol("kRejected"); - t2.exports = { getOwnNonIndexProperties: function(t3) { - for (var e3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 2, r3 = Object.getOwnPropertyDescriptors(t3), n2 = [], a2 = 0, c2 = Object.entries(r3); a2 < c2.length; a2++) { - var l2 = i(c2[a2], 2), u2 = l2[0], f2 = l2[1]; - if (!/^(0|[1-9][0-9]*)$/.test(u2) || parseInt(u2, 10) >= Math.pow(2, 32) - 1) { - if (2 === e3 && !f2.enumerable) continue; - n2.push(u2); - } - } - var p, s = o(Object.getOwnPropertySymbols(t3)); - try { - for (s.s(); !(p = s.n()).done; ) { - var y = p.value, g = Object.getOwnPropertyDescriptor(t3, y); - (2 !== e3 || g.enumerable) && n2.push(y); - } - } catch (t4) { - s.e(t4); - } finally { - s.f(); - } - return n2; - }, getPromiseDetails: function() { - return [u, void 0]; - }, getProxyDetails: l.getProxyDetails, Proxy: l.Proxy, kPending: u, kRejected: f, previewEntries: function(t3) { - return [[], false]; - }, getConstructorName: function(t3) { - if (!t3 || "object" !== n(t3)) throw new Error("Invalid object"); - if (t3.constructor && t3.constructor.name) return t3.constructor.name; - var e3 = Object.prototype.toString.call(t3).match(/^\[object ([^\]]+)\]/); - return e3 ? e3[1] : "Object"; - }, getExternalValue: function() { - return BigInt(0); - }, propertyFilter: { ALL_PROPERTIES: 0, ONLY_ENUMERABLE: 2 } }; - } }, e = {}; - function r(n) { - var o = e[n]; - if (void 0 !== o) return o.exports; - var i = e[n] = { exports: {} }; - return t[n](i, i.exports, r), i.exports; - } - return r.g = (function() { - if ("object" == typeof globalThis) return globalThis; - try { - return this || new Function("return this")(); - } catch (t2) { - if ("object" == typeof window) return window; - } - })(), r(618); - })(); - })); - } -}); - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/http-incoming.js -import { Readable } from "stream"; - -// node_modules/node-inspect-extracted/index.mjs -var import_inspect = __toESM(require_inspect(), 1); -var node_inspect_extracted_default = import_inspect.default; -var inspect = import_inspect.default.inspect; -var format = import_inspect.default.format; -var formatWithOptions = import_inspect.default.formatWithOptions; -var getStringWidth = import_inspect.default.getStringWidth; -var inspectDefaultOptions = import_inspect.default.inspectDefaultOptions; -var stripVTControlCharacters = import_inspect.default.stripVTControlCharacters; -var stylizeWithColor = import_inspect.default.stylizeWithColor; -var stylizeWithHTML = import_inspect.default.stylizeWithHTML; -var Proxy2 = import_inspect.default.Proxy; - -// node_modules/@fastly/http-compute-js/dist/utils/errors.js -var classRegExp = /^([A-Z][a-z0-9]*)+$/; -var kTypes = [ - "string", - "function", - "number", - "object", - // Accept 'Function' and 'Object' as alternative to the lower cased version. - "Function", - "Object", - "boolean", - "bigint", - "symbol" -]; -function determineSpecificType(value) { - var _a4; - if (value == null) { - return "" + value; - } - if (typeof value === "function" && value.name) { - return `function ${value.name}`; - } - if (typeof value === "object") { - if ((_a4 = value.constructor) === null || _a4 === void 0 ? void 0 : _a4.name) { - return `an instance of ${value.constructor.name}`; - } - return `${node_inspect_extracted_default.inspect(value, { depth: -1 })}`; - } - let inspected = node_inspect_extracted_default.inspect(value, { colors: false }); - if (inspected.length > 28) { - inspected = `${inspected.slice(0, 25)}...`; - } - return `type ${typeof value} (${inspected})`; -} -var ERR_HTTP_HEADERS_SENT = class extends Error { - constructor(arg) { - super(`Cannot ${arg} headers after they are sent to the client`); - } -}; -var ERR_INVALID_ARG_VALUE = class extends TypeError { - constructor(name, value, reason = "is invalid") { - let inspected = node_inspect_extracted_default.inspect(value); - if (inspected.length > 128) { - inspected = `${inspected.slice(0, 128)}...`; - } - const type = name.includes(".") ? "property" : "argument"; - super(`The ${type} '${name}' ${reason}. Received ${inspected}`); - } -}; -var ERR_INVALID_CHAR = class extends TypeError { - constructor(name, field) { - let msg = `Invalid character in ${name}`; - if (field !== void 0) { - msg += ` ["${field}"]`; - } - super(msg); - } -}; -var ERR_HTTP_INVALID_HEADER_VALUE = class extends TypeError { - constructor(value, name) { - super(`Invalid value "${value}" for header "${name}"`); - } -}; -var ERR_HTTP_INVALID_STATUS_CODE = class extends RangeError { - constructor(originalStatusCode) { - super(`Invalid status code: ${originalStatusCode}`); - this.originalStatusCode = originalStatusCode; - } -}; -var ERR_HTTP_TRAILER_INVALID = class extends Error { - constructor() { - super(`Trailers are invalid with this transfer encoding`); - } -}; -var ERR_INVALID_ARG_TYPE = class extends TypeError { - constructor(name, expected, actual) { - if (!Array.isArray(expected)) { - expected = [expected]; - } - let msg = "The "; - if (name.endsWith(" argument")) { - msg += `${name} `; - } else { - const type = name.includes(".") ? "property" : "argument"; - msg += `"${name}" ${type} `; - } - msg += "must be "; - const types = []; - const instances = []; - const other = []; - for (const value of expected) { - if (kTypes.includes(value)) { - types.push(value.toLowerCase()); - } else if (classRegExp.exec(value) !== null) { - instances.push(value); - } else { - other.push(value); - } - } - if (instances.length > 0) { - const pos = types.indexOf("object"); - if (pos !== -1) { - types.splice(pos, 1); - instances.push("Object"); - } - } - if (types.length > 0) { - if (types.length > 2) { - const last = types.pop(); - msg += `one of type ${types.join(", ")}, or ${last}`; - } else if (types.length === 2) { - msg += `one of type ${types[0]} or ${types[1]}`; - } else { - msg += `of type ${types[0]}`; - } - if (instances.length > 0 || other.length > 0) - msg += " or "; - } - if (instances.length > 0) { - if (instances.length > 2) { - const last = instances.pop(); - msg += `an instance of ${instances.join(", ")}, or ${last}`; - } else { - msg += `an instance of ${instances[0]}`; - if (instances.length === 2) { - msg += ` or ${instances[1]}`; - } - } - if (other.length > 0) - msg += " or "; - } - if (other.length > 0) { - if (other.length > 2) { - const last = other.pop(); - msg += `one of ${other.join(", ")}, or ${last}`; - } else if (other.length === 2) { - msg += `one of ${other[0]} or ${other[1]}`; - } else { - if (other[0].toLowerCase() !== other[0]) - msg += "an "; - msg += `${other[0]}`; - } - } - msg += `. Received ${determineSpecificType(actual)}`; - super(msg); - } -}; -var ERR_INVALID_HTTP_TOKEN = class extends TypeError { - constructor(name, field) { - super(`${name} must be a valid HTTP token ["${field}"]`); - } -}; -var ERR_METHOD_NOT_IMPLEMENTED = class extends Error { - constructor(methodName) { - super(`The ${methodName} method is not implemented`); - } -}; -var ERR_STREAM_ALREADY_FINISHED = class extends Error { - constructor(methodName) { - super(`Cannot call ${methodName} after a stream was finished`); - } -}; -var ERR_STREAM_CANNOT_PIPE = class extends Error { - constructor() { - super(`Cannot pipe, not readable`); - } -}; -var ERR_STREAM_DESTROYED = class extends Error { - constructor(methodName) { - super(`Cannot call ${methodName} after a stream was destroyed`); - } -}; -var ERR_STREAM_NULL_VALUES = class extends TypeError { - constructor() { - super(`May not write null values to stream`); - } -}; -var ERR_STREAM_WRITE_AFTER_END = class extends Error { - constructor() { - super(`write after end`); - } -}; - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/http-incoming.js -var _a; -var _b; -var _c; -var _d; -var _e; -var _f; -var kHeaders = Symbol("kHeaders"); -var kHeadersDistinct = Symbol("kHeadersDistinct"); -var kHeadersCount = Symbol("kHeadersCount"); -var kTrailers = Symbol("kTrailers"); -var kTrailersDistinct = Symbol("kTrailersDistinct"); -var kTrailersCount = Symbol("kTrailersCount"); -var ComputeJsIncomingMessage = class extends Readable { - constructor() { - const streamOptions = {}; - super(streamOptions); - this.complete = false; - this[_a] = null; - this[_b] = null; - this[_c] = 0; - this.rawHeaders = []; - this[_d] = null; - this[_e] = null; - this[_f] = 0; - this.rawTrailers = []; - this.aborted = false; - this.upgrade = false; - this.url = ""; - this._stream = null; - this._readableState.readingMore = true; - this._consuming = false; - this._dumped = false; - } - get socket() { - return null; - } - set socket(_val) { - throw new ERR_METHOD_NOT_IMPLEMENTED("socket"); - } - get connection() { - return null; - } - set connection(_socket) { - console.error("No support for IncomingMessage.connection"); - } - get headers() { - if (!this[kHeaders]) { - this[kHeaders] = {}; - const src = this.rawHeaders; - const dst = this[kHeaders]; - for (let n = 0; n < this[kHeadersCount]; n += 2) { - this._addHeaderLine(src[n], src[n + 1], dst); - } - } - return this[kHeaders]; - } - set headers(val) { - this[kHeaders] = val; - } - get headersDistinct() { - if (!this[kHeadersDistinct]) { - this[kHeadersDistinct] = {}; - const src = this.rawHeaders; - const dst = this[kHeadersDistinct]; - for (let n = 0; n < this[kHeadersCount]; n += 2) { - this._addHeaderLineDistinct(src[n], src[n + 1], dst); - } - } - return this[kHeadersDistinct]; - } - set headersDistinct(val) { - this[kHeadersDistinct] = val; - } - get trailers() { - if (!this[kTrailers]) { - this[kTrailers] = {}; - const src = this.rawTrailers; - const dst = this[kTrailers]; - for (let n = 0; n < this[kTrailersCount]; n += 2) { - this._addHeaderLine(src[n], src[n + 1], dst); - } - } - return this[kTrailers]; - } - set trailers(val) { - this[kTrailers] = val; - } - get trailersDistinct() { - if (!this[kTrailersDistinct]) { - this[kTrailersDistinct] = {}; - const src = this.rawTrailers; - const dst = this[kTrailersDistinct]; - for (let n = 0; n < this[kTrailersCount]; n += 2) { - this._addHeaderLineDistinct(src[n], src[n + 1], dst); - } - } - return this[kTrailersDistinct]; - } - set trailersDistinct(val) { - this[kTrailersDistinct] = val; - } - setTimeout(msecs, callback) { - return this; - } - async _read(n) { - if (!this._consuming) { - this._readableState.readingMore = false; - this._consuming = true; - } - if (this._stream == null) { - this.complete = true; - this.push(null); - return; - } - const reader = this._stream.getReader(); - try { - const data = await reader.read(); - if (data.done) { - this.complete = true; - this.push(null); - } else { - this.push(data.value); - } - } catch (e) { - this.destroy(e); - } finally { - reader.releaseLock(); - } - } - _destroy(err, cb) { - if (!this.readableEnded || !this.complete) { - this.aborted = true; - this.emit("aborted"); - } - process.nextTick(onError, this, err, cb); - } - _addHeaderLines(headers, n) { - if (headers && headers.length) { - let dest; - if (this.complete) { - this.rawTrailers = headers; - this[kTrailersCount] = n; - dest = this[kTrailers]; - } else { - this.rawHeaders = headers; - this[kHeadersCount] = n; - dest = this[kHeaders]; - } - if (dest) { - for (let i = 0; i < n; i += 2) { - this._addHeaderLine(headers[i], headers[i + 1], dest); - } - } - } - } - _addHeaderLine(field, value, dest) { - field = matchKnownFields(field); - const flag = field.charCodeAt(0); - if (flag === 0 || flag === 2) { - field = field.slice(1); - if (typeof dest[field] === "string") { - dest[field] += (flag === 0 ? ", " : "; ") + value; - } else { - dest[field] = value; - } - } else if (flag === 1) { - if (dest["set-cookie"] !== void 0) { - dest["set-cookie"].push(value); - } else { - dest["set-cookie"] = [value]; - } - } else if (dest[field] === void 0) { - dest[field] = value; - } - } - _addHeaderLineDistinct(field, value, dest) { - field = field.toLowerCase(); - if (!dest[field]) { - dest[field] = [value]; - } else { - dest[field].push(value); - } - } -}; -_a = kHeaders, _b = kHeadersDistinct, _c = kHeadersCount, _d = kTrailers, _e = kTrailersDistinct, _f = kTrailersCount; -function matchKnownFields(field, lowercased = false) { - switch (field.length) { - case 3: - if (field === "Age" || field === "age") - return "age"; - break; - case 4: - if (field === "Host" || field === "host") - return "host"; - if (field === "From" || field === "from") - return "from"; - if (field === "ETag" || field === "etag") - return "etag"; - if (field === "Date" || field === "date") - return "\0date"; - if (field === "Vary" || field === "vary") - return "\0vary"; - break; - case 6: - if (field === "Server" || field === "server") - return "server"; - if (field === "Cookie" || field === "cookie") - return "cookie"; - if (field === "Origin" || field === "origin") - return "\0origin"; - if (field === "Expect" || field === "expect") - return "\0expect"; - if (field === "Accept" || field === "accept") - return "\0accept"; - break; - case 7: - if (field === "Referer" || field === "referer") - return "referer"; - if (field === "Expires" || field === "expires") - return "expires"; - if (field === "Upgrade" || field === "upgrade") - return "\0upgrade"; - break; - case 8: - if (field === "Location" || field === "location") - return "location"; - if (field === "If-Match" || field === "if-match") - return "\0if-match"; - break; - case 10: - if (field === "User-Agent" || field === "user-agent") - return "user-agent"; - if (field === "Set-Cookie" || field === "set-cookie") - return ""; - if (field === "Connection" || field === "connection") - return "\0connection"; - break; - case 11: - if (field === "Retry-After" || field === "retry-after") - return "retry-after"; - break; - case 12: - if (field === "Content-Type" || field === "content-type") - return "content-type"; - if (field === "Max-Forwards" || field === "max-forwards") - return "max-forwards"; - break; - case 13: - if (field === "Authorization" || field === "authorization") - return "authorization"; - if (field === "Last-Modified" || field === "last-modified") - return "last-modified"; - if (field === "Cache-Control" || field === "cache-control") - return "\0cache-control"; - if (field === "If-None-Match" || field === "if-none-match") - return "\0if-none-match"; - break; - case 14: - if (field === "Content-Length" || field === "content-length") - return "content-length"; - break; - case 15: - if (field === "Accept-Encoding" || field === "accept-encoding") - return "\0accept-encoding"; - if (field === "Accept-Language" || field === "accept-language") - return "\0accept-language"; - if (field === "X-Forwarded-For" || field === "x-forwarded-for") - return "\0x-forwarded-for"; - break; - case 16: - if (field === "Content-Encoding" || field === "content-encoding") - return "\0content-encoding"; - if (field === "X-Forwarded-Host" || field === "x-forwarded-host") - return "\0x-forwarded-host"; - break; - case 17: - if (field === "If-Modified-Since" || field === "if-modified-since") - return "if-modified-since"; - if (field === "Transfer-Encoding" || field === "transfer-encoding") - return "\0transfer-encoding"; - if (field === "X-Forwarded-Proto" || field === "x-forwarded-proto") - return "\0x-forwarded-proto"; - break; - case 19: - if (field === "Proxy-Authorization" || field === "proxy-authorization") - return "proxy-authorization"; - if (field === "If-Unmodified-Since" || field === "if-unmodified-since") - return "if-unmodified-since"; - break; - } - if (lowercased) { - return "\0" + field; - } - return matchKnownFields(field.toLowerCase(), true); -} -function onError(self, error, cb) { - if (self.listenerCount("error") === 0) { - cb(); - } else { - cb(error); - } -} - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/http-outgoing.js -import { Buffer } from "buffer"; -import { Writable } from "stream"; - -// node_modules/@fastly/http-compute-js/dist/utils/types.js -function validateString(value, name) { - if (typeof value !== "string") - throw new ERR_INVALID_ARG_TYPE(name, "string", value); -} -function isUint8Array(value) { - return value != null && value[Symbol.toStringTag] === "Uint8Array"; -} - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/internal-http.js -var kNeedDrain = Symbol("kNeedDrain"); -var kOutHeaders = Symbol("kOutHeaders"); -function utcDate() { - return (/* @__PURE__ */ new Date()).toUTCString(); -} - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/internal-streams-state.js -function getDefaultHighWaterMark(objectMode) { - return objectMode ? 16 : 16 * 1024; -} - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/http-common.js -var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; -function checkIsHttpToken(val) { - return tokenRegExp.exec(val) !== null; -} -var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; -function checkInvalidHeaderChar(val) { - return headerCharRegex.exec(val) !== null; -} -var chunkExpression = /(?:^|\W)chunked(?:$|\W)/i; - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/http-outgoing.js -var _a2; -var kCorked = Symbol("corked"); -var kUniqueHeaders = Symbol("kUniqueHeaders"); -function debug(format2) { -} -var nop = () => { -}; -var RE_CONN_CLOSE = /(?:^|\W)close(?:$|\W)/i; -var HIGH_WATER_MARK = getDefaultHighWaterMark(); -function validateHeaderName(name) { - if (typeof name !== "string" || !name || !checkIsHttpToken(name)) { - throw new ERR_INVALID_HTTP_TOKEN("Header name", name); - } -} -function validateHeaderValue(name, value) { - if (value === void 0) { - throw new ERR_HTTP_INVALID_HEADER_VALUE(String(value), name); - } - if (checkInvalidHeaderChar(String(value))) { - debug(`Header "${name}" contains invalid characters`); - throw new ERR_INVALID_CHAR("header content", name); - } -} -function isCookieField(s) { - return s.length === 6 && s.toLowerCase() === "cookie"; -} -var WrittenDataBuffer = class { - constructor(params = {}) { - this[_a2] = 0; - this.entries = []; - this.onWrite = params.onWrite; - } - write(data, encoding, callback) { - this.entries.push({ - data, - length: data.length, - encoding, - callback, - written: false - }); - this._flush(); - return true; - } - cork() { - this[kCorked]++; - } - uncork() { - this[kCorked]--; - this._flush(); - } - _flush() { - if (this[kCorked] <= 0) { - for (const [index, entry] of this.entries.entries()) { - if (!entry.written) { - entry.written = true; - if (this.onWrite != null) { - this.onWrite(index, entry); - } - if (entry.callback != null) { - entry.callback.call(void 0); - } - } - } - } - } - get writableLength() { - return this.entries.reduce((acc, entry) => { - return acc + (entry.written && entry.length ? entry.length : 0); - }, 0); - } - get writableHighWaterMark() { - return HIGH_WATER_MARK; - } - get writableCorked() { - return this[kCorked]; - } -}; -_a2 = kCorked; -var ComputeJsOutgoingMessage = class extends Writable { - constructor(req) { - super(); - this.outputData = []; - this.outputSize = 0; - this.writtenHeaderBytes = 0; - this.chunkedEncoding = false; - this.finished = false; - this.sendDate = false; - this.shouldKeepAlive = true; - this.useChunkedEncodingByDefault = false; - this._writtenDataBuffer = new WrittenDataBuffer({ onWrite: this._onDataWritten.bind(this) }); - this.req = req; - this._last = false; - this.maxRequestsOnConnectionReached = false; - this._defaultKeepAlive = true; - this._removedConnection = false; - this._removedContLen = false; - this._removedTE = false; - this._contentLength = null; - this._hasBody = true; - this._trailer = ""; - this[kNeedDrain] = false; - this._headerSent = false; - this[kCorked] = 0; - this._closed = false; - this._header = null; - this[kOutHeaders] = null; - this._keepAliveTimeout = 0; - this._onPendingData = nop; - this[kUniqueHeaders] = null; - } - get _headers() { - console.warn("DEP0066: OutgoingMessage.prototype._headers is deprecated"); - return this.getHeaders(); - } - set _headers(val) { - console.warn("DEP0066: OutgoingMessage.prototype._headers is deprecated"); - if (val == null) { - this[kOutHeaders] = null; - } else if (typeof val === "object") { - const headers = this[kOutHeaders] = /* @__PURE__ */ Object.create(null); - const keys = Object.keys(val); - for (let i = 0; i < keys.length; ++i) { - const name = keys[i]; - headers[name.toLowerCase()] = [name, val[name]]; - } - } - } - get connection() { - return null; - } - set connection(_socket) { - console.error("No support for OutgoingMessage.connection"); - } - get socket() { - return null; - } - set socket(_socket) { - console.error("No support for OutgoingMessage.socket"); - } - get _headerNames() { - console.warn("DEP0066: OutgoingMessage.prototype._headerNames is deprecated"); - const headers = this[kOutHeaders]; - if (headers !== null) { - const out = /* @__PURE__ */ Object.create(null); - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; ++i) { - const key = keys[i]; - const val = headers[key][0]; - out[key] = val; - } - return out; - } - return null; - } - set _headerNames(val) { - console.warn("DEP0066: OutgoingMessage.prototype._headerNames is deprecated"); - if (typeof val === "object" && val !== null) { - const headers = this[kOutHeaders]; - if (!headers) - return; - const keys = Object.keys(val); - for (let i = 0; i < keys.length; ++i) { - const header = headers[keys[i]]; - if (header) - header[0] = val[keys[i]]; - } - } - } - _renderHeaders() { - if (this._header) { - throw new ERR_HTTP_HEADERS_SENT("render"); - } - const headersMap = this[kOutHeaders]; - const headers = {}; - if (headersMap !== null) { - const keys = Object.keys(headersMap); - for (let i = 0, l = keys.length; i < l; i++) { - const key = keys[i]; - headers[headersMap[key][0]] = headersMap[key][1]; - } - } - return headers; - } - cork() { - if (this._writtenDataBuffer != null) { - this._writtenDataBuffer.cork(); - } else { - this[kCorked]++; - } - } - uncork() { - if (this._writtenDataBuffer != null) { - this._writtenDataBuffer.uncork(); - } else { - this[kCorked]--; - } - } - setTimeout(msecs, callback) { - return this; - } - destroy(error) { - if (this.destroyed) { - return this; - } - this.destroyed = true; - return this; - } - _send(data, encoding, callback) { - var _b2; - if (!this._headerSent) { - const header = this._header; - if (typeof data === "string" && (encoding === "utf8" || encoding === "latin1" || !encoding)) { - data = header + data; - } else { - this.outputData.unshift({ - data: header, - encoding: "latin1", - callback: void 0 - }); - this.outputSize += header.length; - this._onPendingData(header.length); - } - this.writtenHeaderBytes = header.length; - const [statusLine, ...headerLines] = this._header.split("\r\n"); - const STATUS_LINE_REGEXP = /^HTTP\/1\.1 (?\d+) (?.*)$/; - const statusLineResult = STATUS_LINE_REGEXP.exec(statusLine); - if (statusLineResult == null) { - throw new Error("Unexpected! Status line was " + statusLine); - } - const { statusCode: statusCodeText, statusMessage } = (_b2 = statusLineResult.groups) !== null && _b2 !== void 0 ? _b2 : {}; - const statusCode = parseInt(statusCodeText, 10); - const headers = []; - for (const headerLine of headerLines) { - if (headerLine !== "") { - const pos = headerLine.indexOf(": "); - const k = headerLine.slice(0, pos); - const v = headerLine.slice(pos + 2); - headers.push([k, v]); - } - } - this._headerSent = true; - const event = { - statusCode, - statusMessage, - headers - }; - this.emit("_headersSent", event); - } - return this._writeRaw(data, encoding, callback); - } - _onDataWritten(index, entry) { - const event = { index, entry }; - this.emit("_dataWritten", event); - } - _writeRaw(data, encoding, callback) { - let e; - if (typeof encoding === "function") { - callback = encoding; - e = void 0; - } else { - e = encoding; - } - if (this._writtenDataBuffer != null) { - if (this.outputData.length) { - this._flushOutput(this._writtenDataBuffer); - } - return this._writtenDataBuffer.write(data, e, callback); - } - this.outputData.push({ data, encoding: e, callback }); - this.outputSize += data.length; - this._onPendingData(data.length); - return this.outputSize < HIGH_WATER_MARK; - } - _storeHeader(firstLine, headers) { - const state = { - connection: false, - contLen: false, - te: false, - date: false, - expect: false, - trailer: false, - header: firstLine - }; - if (headers) { - if (headers === this[kOutHeaders]) { - for (const key in headers) { - const entry = headers[key]; - processHeader(this, state, entry[0], entry[1], false); - } - } else if (Array.isArray(headers)) { - if (headers.length && Array.isArray(headers[0])) { - for (let i = 0; i < headers.length; i++) { - const entry = headers[i]; - processHeader(this, state, entry[0], entry[1], true); - } - } else { - if (headers.length % 2 !== 0) { - throw new ERR_INVALID_ARG_VALUE("headers", headers); - } - for (let n = 0; n < headers.length; n += 2) { - processHeader(this, state, headers[n], headers[n + 1], true); - } - } - } else { - for (const key in headers) { - if (headers.hasOwnProperty(key)) { - const _headers = headers; - processHeader(this, state, key, _headers[key], true); - } - } - } - } - let { header } = state; - if (this.sendDate && !state.date) { - header += "Date: " + utcDate() + "\r\n"; - } - if (this.chunkedEncoding && (this.statusCode === 204 || this.statusCode === 304)) { - debug(this.statusCode + " response should not use chunked encoding, closing connection."); - this.chunkedEncoding = false; - this.shouldKeepAlive = false; - } - if (this._removedConnection) { - this._last = true; - this.shouldKeepAlive = false; - } else if (!state.connection) { - const shouldSendKeepAlive = this.shouldKeepAlive && (state.contLen || this.useChunkedEncodingByDefault); - if (shouldSendKeepAlive && this.maxRequestsOnConnectionReached) { - header += "Connection: close\r\n"; - } else if (shouldSendKeepAlive) { - header += "Connection: keep-alive\r\n"; - if (this._keepAliveTimeout && this._defaultKeepAlive) { - const timeoutSeconds = Math.floor(this._keepAliveTimeout / 1e3); - header += `Keep-Alive: timeout=${timeoutSeconds}\r -`; - } - } else { - this._last = true; - header += "Connection: close\r\n"; - } - } - if (!state.contLen && !state.te) { - if (!this._hasBody) { - this.chunkedEncoding = false; - } else if (!this.useChunkedEncodingByDefault) { - this._last = true; - } else if (!state.trailer && !this._removedContLen && typeof this._contentLength === "number") { - header += "Content-Length: " + this._contentLength + "\r\n"; - } else if (!this._removedTE) { - header += "Transfer-Encoding: chunked\r\n"; - this.chunkedEncoding = true; - } else { - debug("Both Content-Length and Transfer-Encoding are removed"); - } - } - if (this.chunkedEncoding !== true && state.trailer) { - throw new ERR_HTTP_TRAILER_INVALID(); - } - this._header = header + "\r\n"; - this._headerSent = false; - if (state.expect) { - this._send(""); - } - } - setHeader(name, value) { - if (this._header) { - throw new ERR_HTTP_HEADERS_SENT("set"); - } - validateHeaderName(name); - validateHeaderValue(name, value); - let headers = this[kOutHeaders]; - if (headers === null) { - this[kOutHeaders] = headers = /* @__PURE__ */ Object.create(null); - } - headers[name.toLowerCase()] = [name, value]; - return this; - } - appendHeader(name, value) { - if (this._header) { - throw new ERR_HTTP_HEADERS_SENT("append"); - } - validateHeaderName(name); - validateHeaderValue(name, value); - const field = name.toLowerCase(); - const headers = this[kOutHeaders]; - if (headers === null || !headers[field]) { - return this.setHeader(name, value); - } - if (!Array.isArray(headers[field][1])) { - headers[field][1] = [headers[field][1]]; - } - const existingValues = headers[field][1]; - if (Array.isArray(value)) { - for (let i = 0, length = value.length; i < length; i++) { - existingValues.push(value[i]); - } - } else { - existingValues.push(value); - } - return this; - } - getHeader(name) { - validateString(name, "name"); - const headers = this[kOutHeaders]; - if (headers === null) { - return void 0; - } - const entry = headers[name.toLowerCase()]; - return entry && entry[1]; - } - getHeaderNames() { - return this[kOutHeaders] !== null ? Object.keys(this[kOutHeaders]) : []; - } - getRawHeaderNames() { - const headersMap = this[kOutHeaders]; - if (headersMap === null) - return []; - const values = Object.values(headersMap); - const headers = Array(values.length); - for (let i = 0, l = values.length; i < l; i++) { - headers[i] = values[i][0]; - } - return headers; - } - getHeaders() { - const headers = this[kOutHeaders]; - const ret = /* @__PURE__ */ Object.create(null); - if (headers) { - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; ++i) { - const key = keys[i]; - const val = headers[key][1]; - ret[key] = val; - } - } - return ret; - } - hasHeader(name) { - validateString(name, "name"); - return this[kOutHeaders] !== null && !!this[kOutHeaders][name.toLowerCase()]; - } - removeHeader(name) { - validateString(name, "name"); - if (this._header) { - throw new ERR_HTTP_HEADERS_SENT("remove"); - } - const key = name.toLowerCase(); - switch (key) { - case "connection": - this._removedConnection = true; - break; - case "content-length": - this._removedContLen = true; - break; - case "transfer-encoding": - this._removedTE = true; - break; - case "date": - this.sendDate = false; - break; - } - if (this[kOutHeaders] !== null) { - delete this[kOutHeaders][key]; - } - } - _implicitHeader() { - throw new ERR_METHOD_NOT_IMPLEMENTED("_implicitHeader()"); - } - get headersSent() { - return !!this._header; - } - write(chunk, encoding, callback) { - let e; - if (typeof encoding === "function") { - callback = encoding; - e = void 0; - } else { - e = encoding; - } - const ret = write_(this, chunk, e, callback, false); - if (!ret) { - this[kNeedDrain] = true; - } - return ret; - } - addTrailers(headers) { - this._trailer = ""; - const isArray = Array.isArray(headers); - const keys = isArray ? [...headers.keys()] : Object.keys(headers); - for (let i = 0, l = keys.length; i < l; i++) { - let field, value; - if (isArray) { - const _headers = headers; - const key = keys[i]; - field = _headers[key][0]; - value = _headers[key][1]; - } else { - const _headers = headers; - const key = keys[i]; - field = key; - value = _headers[key]; - } - if (!field || !checkIsHttpToken(field)) { - throw new ERR_INVALID_HTTP_TOKEN("Trailer name", field); - } - if (Array.isArray(value) && value.length > 1 && (!this[kUniqueHeaders] || !this[kUniqueHeaders].has(field.toLowerCase()))) { - for (let j = 0, l2 = value.length; j < l2; j++) { - if (checkInvalidHeaderChar(value[j])) { - debug(`Trailer "${field}"[${j}] contains invalid characters`); - throw new ERR_INVALID_CHAR("trailer content", field); - } - this._trailer += field + ": " + value[j] + "\r\n"; - } - } else { - if (Array.isArray(value)) { - value = value.join("; "); - } else { - value = String(value); - } - if (checkInvalidHeaderChar(value)) { - debug(`Trailer "${field}" contains invalid characters`); - throw new ERR_INVALID_CHAR("trailer content", field); - } - this._trailer += field + ": " + value + "\r\n"; - } - } - } - end(chunk, encoding, callback) { - let ch; - let e; - if (typeof chunk === "function") { - callback = chunk; - ch = void 0; - e = void 0; - } else if (typeof encoding === "function") { - callback = encoding; - ch = chunk; - e = void 0; - } else { - ch = chunk; - e = encoding; - } - if (ch) { - if (this.finished) { - onError2(this, new ERR_STREAM_WRITE_AFTER_END(), typeof callback !== "function" ? nop : callback); - return this; - } - if (this._writtenDataBuffer != null) { - this._writtenDataBuffer.cork(); - } - write_(this, ch, e, void 0, true); - } else if (this.finished) { - if (typeof callback === "function") { - if (!this.writableFinished) { - this.on("finish", callback); - } else { - callback(new ERR_STREAM_ALREADY_FINISHED("end")); - } - } - return this; - } else if (!this._header) { - if (this._writtenDataBuffer != null) { - this._writtenDataBuffer.cork(); - } - this._contentLength = 0; - this._implicitHeader(); - } - if (typeof callback === "function") - this.once("finish", callback); - const finish = onFinish.bind(void 0, this); - if (this._hasBody && this.chunkedEncoding) { - this._send("0\r\n" + this._trailer + "\r\n", "latin1", finish); - } else if (!this._headerSent || this.writableLength || ch) { - this._send("", "latin1", finish); - } else { - process.nextTick(finish); - } - if (this._writtenDataBuffer != null) { - this._writtenDataBuffer.uncork(); - } - this[kCorked] = 0; - this.finished = true; - debug("outgoing message end."); - if (this.outputData.length === 0 && this._writtenDataBuffer != null) { - this._finish(); - } - return this; - } - _finish() { - this.emit("prefinish"); - } - _flushOutput(dataBuffer) { - while (this[kCorked]) { - this[kCorked]--; - dataBuffer.cork(); - } - const outputLength = this.outputData.length; - if (outputLength <= 0) - return void 0; - const outputData = this.outputData; - dataBuffer.cork(); - let ret; - for (let i = 0; i < outputLength; i++) { - const { data, encoding, callback } = outputData[i]; - ret = dataBuffer.write(data, encoding, callback); - } - dataBuffer.uncork(); - this.outputData = []; - this._onPendingData(-this.outputSize); - this.outputSize = 0; - return ret; - } - flushHeaders() { - if (!this._header) { - this._implicitHeader(); - } - this._send(""); - } - pipe(destination) { - this.emit("error", new ERR_STREAM_CANNOT_PIPE()); - return destination; - } -}; -function processHeader(self, state, key, value, validate) { - if (validate) { - validateHeaderName(key); - } - if (Array.isArray(value)) { - if ((value.length < 2 || !isCookieField(key)) && (!self[kUniqueHeaders] || !self[kUniqueHeaders].has(key.toLowerCase()))) { - for (let i = 0; i < value.length; i++) { - storeHeader(self, state, key, value[i], validate); - } - return; - } - value = value.join("; "); - } - storeHeader(self, state, key, String(value), validate); -} -function storeHeader(self, state, key, value, validate) { - if (validate) { - validateHeaderValue(key, value); - } - state.header += key + ": " + value + "\r\n"; - matchHeader(self, state, key, value); -} -function matchHeader(self, state, field, value) { - if (field.length < 4 || field.length > 17) - return; - field = field.toLowerCase(); - switch (field) { - case "connection": - state.connection = true; - self._removedConnection = false; - if (RE_CONN_CLOSE.exec(value) !== null) - self._last = true; - else - self.shouldKeepAlive = true; - break; - case "transfer-encoding": - state.te = true; - self._removedTE = false; - if (chunkExpression.exec(value) !== null) - self.chunkedEncoding = true; - break; - case "content-length": - state.contLen = true; - self._removedContLen = false; - break; - case "date": - case "expect": - case "trailer": - state[field] = true; - break; - case "keep-alive": - self._defaultKeepAlive = false; - break; - } -} -var crlf_buf = Buffer.from("\r\n"); -function onError2(msg, err, callback) { - process.nextTick(emitErrorNt, msg, err, callback); -} -function emitErrorNt(msg, err, callback) { - callback(err); - if (typeof msg.emit === "function" && !msg._closed) { - msg.emit("error", err); - } -} -function write_(msg, chunk, encoding, callback, fromEnd) { - if (typeof callback !== "function") { - callback = nop; - } - let len; - if (chunk === null) { - throw new ERR_STREAM_NULL_VALUES(); - } else if (typeof chunk === "string") { - len = Buffer.byteLength(chunk, encoding !== null && encoding !== void 0 ? encoding : void 0); - } else if (isUint8Array(chunk)) { - len = chunk.length; - } else { - throw new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk); - } - let err = void 0; - if (msg.finished) { - err = new ERR_STREAM_WRITE_AFTER_END(); - } else if (msg.destroyed) { - err = new ERR_STREAM_DESTROYED("write"); - } - if (err) { - if (!msg.destroyed) { - onError2(msg, err, callback); - } else { - process.nextTick(callback, err); - } - return false; - } - if (!msg._header) { - if (fromEnd) { - msg._contentLength = len; - } - msg._implicitHeader(); - } - if (!msg._hasBody) { - debug("This type of response MUST NOT have a body. Ignoring write() calls."); - process.nextTick(callback); - return true; - } - if (!fromEnd && msg._writtenDataBuffer != null && !msg._writtenDataBuffer.writableCorked) { - msg._writtenDataBuffer.cork(); - process.nextTick(connectionCorkNT, msg._writtenDataBuffer); - } - let ret; - if (msg.chunkedEncoding && chunk.length !== 0) { - msg._send(len.toString(16), "latin1", void 0); - msg._send(crlf_buf, void 0, void 0); - msg._send(chunk, encoding, void 0); - ret = msg._send(crlf_buf, void 0, callback); - } else { - ret = msg._send(chunk, encoding, callback); - } - debug("write ret = " + ret); - return ret; -} -function connectionCorkNT(dataBuffer) { - dataBuffer.uncork(); -} -function onFinish(outmsg) { - outmsg.emit("finish"); -} -Object.defineProperties(ComputeJsOutgoingMessage.prototype, { - writableFinished: { - get() { - return this.finished && this.outputSize === 0 && (this._writtenDataBuffer == null || this._writtenDataBuffer.writableLength === 0); - } - }, - writableObjectMode: { - get() { - return false; - } - }, - writableLength: { - get() { - return this.outputSize + (this._writtenDataBuffer != null ? this._writtenDataBuffer.writableLength : 0); - } - }, - writableHighWaterMark: { - get() { - return HIGH_WATER_MARK + (this._writtenDataBuffer != null ? this._writtenDataBuffer.writableHighWaterMark : 0); - } - }, - writableCorked: { - get() { - return this[kCorked] + (this._writtenDataBuffer != null ? this._writtenDataBuffer.writableCorked : 0); - } - }, - writableEnded: { - get() { - return this.finished; - } - }, - writableNeedDrain: { - get() { - return !this.destroyed && !this.finished && this[kNeedDrain]; - } - } -}); - -// node_modules/@fastly/http-compute-js/dist/http-compute-js/http-server.js -import { Buffer as Buffer2 } from "buffer"; -var _a3; -var headerCharRegex2 = /[^\t\x20-\x7e\x80-\xff]/; -function checkInvalidHeaderChar2(val) { - return headerCharRegex2.exec(val) !== null; -} -var STATUS_CODES = { - 100: "Continue", - 101: "Switching Protocols", - 102: "Processing", - 103: "Early Hints", - 200: "OK", - 201: "Created", - 202: "Accepted", - 203: "Non-Authoritative Information", - 204: "No Content", - 205: "Reset Content", - 206: "Partial Content", - 207: "Multi-Status", - 208: "Already Reported", - 226: "IM Used", - 300: "Multiple Choices", - 301: "Moved Permanently", - 302: "Found", - 303: "See Other", - 304: "Not Modified", - 305: "Use Proxy", - 307: "Temporary Redirect", - 308: "Permanent Redirect", - 400: "Bad Request", - 401: "Unauthorized", - 402: "Payment Required", - 403: "Forbidden", - 404: "Not Found", - 405: "Method Not Allowed", - 406: "Not Acceptable", - 407: "Proxy Authentication Required", - 408: "Request Timeout", - 409: "Conflict", - 410: "Gone", - 411: "Length Required", - 412: "Precondition Failed", - 413: "Payload Too Large", - 414: "URI Too Long", - 415: "Unsupported Media Type", - 416: "Range Not Satisfiable", - 417: "Expectation Failed", - 418: "I'm a Teapot", - 421: "Misdirected Request", - 422: "Unprocessable Entity", - 423: "Locked", - 424: "Failed Dependency", - 425: "Too Early", - 426: "Upgrade Required", - 428: "Precondition Required", - 429: "Too Many Requests", - 431: "Request Header Fields Too Large", - 451: "Unavailable For Legal Reasons", - 500: "Internal Server Error", - 501: "Not Implemented", - 502: "Bad Gateway", - 503: "Service Unavailable", - 504: "Gateway Timeout", - 505: "HTTP Version Not Supported", - 506: "Variant Also Negotiates", - 507: "Insufficient Storage", - 508: "Loop Detected", - 509: "Bandwidth Limit Exceeded", - 510: "Not Extended", - 511: "Network Authentication Required" - // RFC 6585 6 -}; -var ComputeJsServerResponse = class _ComputeJsServerResponse extends ComputeJsOutgoingMessage { - constructor(req) { - super(req); - this.statusCode = 200; - this[_a3] = null; - this.writeHeader = this.writeHead; - if (req.method === "HEAD") { - this._hasBody = false; - } - this.sendDate = true; - this._sent100 = false; - this._expect_continue = false; - if (req.httpVersionMajor < 1 || req.httpVersionMinor < 1) { - this.useChunkedEncodingByDefault = chunkExpression.exec(String(req.headers.te)) !== null; - this.shouldKeepAlive = false; - } - this.computeResponse = new Promise((resolve) => { - let finished = false; - this.on("finish", () => { - finished = true; - }); - const initialDataChunks = []; - const initialDataWrittenHandler = (e) => { - if (finished) { - return; - } - initialDataChunks[e.index] = this.dataFromDataWrittenEvent(e); - }; - this.on("_dataWritten", initialDataWrittenHandler); - this.on("_headersSent", (e) => { - this.off("_dataWritten", initialDataWrittenHandler); - const { statusCode, statusMessage, headers } = e; - resolve(this._toComputeResponse(statusCode, statusMessage, headers, initialDataChunks, finished)); - }); - }); - } - dataFromDataWrittenEvent(e) { - const { index, entry } = e; - let { data, encoding } = entry; - if (index === 0) { - if (typeof data !== "string") { - console.error("First chunk should be string, not sure what happened."); - throw new ERR_INVALID_ARG_TYPE("packet.data", ["string", "Buffer", "Uint8Array"], data); - } - data = data.slice(this.writtenHeaderBytes); - } - if (typeof data === "string") { - if (encoding === void 0 || encoding === "utf8" || encoding === "utf-8") { - data = _ComputeJsServerResponse.encoder.encode(data); - } else { - data = Buffer2.from(data, encoding); - } - } - return data; - } - _finish() { - super._finish(); - } - assignSocket(socket) { - throw new ERR_METHOD_NOT_IMPLEMENTED("assignSocket"); - } - detachSocket(socket) { - throw new ERR_METHOD_NOT_IMPLEMENTED("detachSocket"); - } - writeContinue(callback) { - this._writeRaw("HTTP/1.1 100 Continue\r\n\r\n", "ascii", callback); - this._sent100 = true; - } - writeProcessing(callback) { - this._writeRaw("HTTP/1.1 102 Processing\r\n\r\n", "ascii", callback); - } - _implicitHeader() { - this.writeHead(this.statusCode); - } - writeHead(statusCode, reason, obj) { - const originalStatusCode = statusCode; - statusCode |= 0; - if (statusCode < 100 || statusCode > 999) { - throw new ERR_HTTP_INVALID_STATUS_CODE(originalStatusCode); - } - if (typeof reason === "string") { - this.statusMessage = reason; - } else { - if (!this.statusMessage) - this.statusMessage = STATUS_CODES[statusCode] || "unknown"; - obj = reason; - } - this.statusCode = statusCode; - let headers; - if (this[kOutHeaders]) { - let k; - if (Array.isArray(obj)) { - if (obj.length % 2 !== 0) { - throw new ERR_INVALID_ARG_VALUE("headers", obj); - } - for (let n = 0; n < obj.length; n += 2) { - k = obj[n]; - if (k) { - this.setHeader(k, obj[n + 1]); - } - } - } else if (obj) { - const keys = Object.keys(obj); - for (let i = 0; i < keys.length; i++) { - k = keys[i]; - if (k) { - this.setHeader(k, obj[k]); - } - } - } - if (k === void 0 && this._header) { - throw new ERR_HTTP_HEADERS_SENT("render"); - } - headers = this[kOutHeaders]; - } else { - headers = obj; - } - if (checkInvalidHeaderChar2(this.statusMessage)) { - throw new ERR_INVALID_CHAR("statusMessage"); - } - const statusLine = `HTTP/1.1 ${statusCode} ${this.statusMessage}\r -`; - if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199) { - this._hasBody = false; - } - if (this._expect_continue && !this._sent100) { - this.shouldKeepAlive = false; - } - this._storeHeader(statusLine, headers !== null && headers !== void 0 ? headers : null); - return this; - } - _toComputeResponse(status, statusText, sentHeaders, initialDataChunks, finished) { - const headers = new Headers(); - for (const [header, value] of sentHeaders) { - headers.append(header, value); - } - const _this = this; - const body = this._hasBody ? new ReadableStream({ - start(controller) { - for (const dataChunk of initialDataChunks) { - controller.enqueue(dataChunk); - } - if (finished) { - controller.close(); - } else { - _this.on("finish", () => { - finished = true; - controller.close(); - }); - _this.on("_dataWritten", (e) => { - if (finished) { - return; - } - const data = _this.dataFromDataWrittenEvent(e); - controller.enqueue(data); - }); - } - } - }) : null; - return new Response(body, { - status, - statusText, - headers - }); - } -}; -_a3 = kOutHeaders; -ComputeJsServerResponse.encoder = new TextEncoder(); -function toReqRes(req, options) { - const { createIncomingMessage = () => new ComputeJsIncomingMessage(), createServerResponse = (incoming2) => new ComputeJsServerResponse(incoming2), ctx } = options !== null && options !== void 0 ? options : {}; - const incoming = createIncomingMessage(ctx); - const serverResponse = createServerResponse(incoming, ctx); - const reqUrl = new URL(req.url); - const versionMajor = 1; - const versionMinor = 1; - incoming.httpVersionMajor = versionMajor; - incoming.httpVersionMinor = versionMinor; - incoming.httpVersion = `${versionMajor}.${versionMinor}`; - incoming.url = reqUrl.pathname + reqUrl.search; - incoming.upgrade = false; - const headers = []; - for (const [headerName, headerValue] of req.headers) { - headers.push(headerName); - headers.push(headerValue); - } - incoming._addHeaderLines(headers, headers.length); - incoming.method = req.method; - incoming._stream = req.body; - return { - req: incoming, - res: serverResponse - }; -} -function toComputeResponse(res) { - if (!(res instanceof ComputeJsServerResponse)) { - throw new Error("toComputeResponse must be called on ServerResponse generated by generateRequestResponse"); - } - return res.computeResponse; -} - -// src/run/handlers/server.ts -import { getRunConfig, setRunConfig } from "../config.js"; -import { - adjustDateHeader, - setCacheControlHeaders, - setCacheStatusHeader, - setCacheTagsHeaders, - setVaryHeaders -} from "../headers.js"; -import { nextResponseProxy } from "../revalidate.js"; -import { setFetchBeforeNextPatchedIt } from "../storage/storage.cjs"; -import { getLogger } from "./request-context.cjs"; -import { getTracer, recordWarning, withActiveSpan } from "./tracer.cjs"; -import { configureUseCacheHandlers } from "./use-cache-handler.js"; -import { setupWaitUntil } from "./wait-until.cjs"; -setFetchBeforeNextPatchedIt(globalThis.fetch); -var { nextConfig: initialNextConfig, enableUseCacheHandler } = await getRunConfig(); -if (enableUseCacheHandler) { - configureUseCacheHandlers(); -} -var nextConfig = setRunConfig(initialNextConfig); -setupWaitUntil(); -var nextImportPromise = import("../next.cjs"); -var nextHandler; -var disableFaultyTransferEncodingHandling = (res) => { - const originalStoreHeader = res._storeHeader; - res._storeHeader = function _storeHeader(firstLine, headers) { - if (headers) { - if (Array.isArray(headers)) { - headers = headers.filter(([header]) => header.toLowerCase() !== "transfer-encoding"); - } else { - delete headers["transfer-encoding"]; - } - } - return originalStoreHeader.call(this, firstLine, headers); - }; -}; -var server_default = async (request, _context, topLevelSpan, requestContext) => { - const tracer = getTracer(); - if (!nextHandler) { - await withActiveSpan(tracer, "initialize next server", async () => { - const { getMockedRequestHandler } = await nextImportPromise; - const url = new URL(request.url); - nextHandler = await getMockedRequestHandler(nextConfig, { - port: Number(url.port) || 443, - hostname: url.hostname, - dir: process.cwd(), - isDev: false - }); - }); - } - return await withActiveSpan(tracer, "generate response", async (span) => { - const { req, res } = toReqRes(request); - Object.defineProperty(req, "connection", { - get() { - return {}; - } - }); - Object.defineProperty(req, "socket", { - get() { - return {}; - } - }); - disableFaultyTransferEncodingHandling(res); - const resProxy = nextResponseProxy(res, requestContext); - const nextHandlerPromise = nextHandler(req, resProxy).catch((error) => { - getLogger().withError(error).error("next handler error"); - console.error(error); - resProxy.statusCode = 500; - span?.setAttribute("http.status_code", 500); - resProxy.end("Internal Server Error"); - }); - const response = await toComputeResponse(resProxy); - if (requestContext.responseCacheKey) { - topLevelSpan?.setAttribute("responseCacheKey", requestContext.responseCacheKey); - } - const nextCache = response.headers.get("x-nextjs-cache"); - const isServedFromNextCache = nextCache === "HIT" || nextCache === "STALE"; - if (isServedFromNextCache) { - await adjustDateHeader({ - headers: response.headers, - request, - span, - requestContext - }); - } - setCacheControlHeaders(response, request, requestContext); - setCacheTagsHeaders(response.headers, requestContext); - setVaryHeaders(response.headers, request, nextConfig); - setCacheStatusHeader(response.headers, nextCache); - const netlifyVary = response.headers.get("netlify-vary") ?? void 0; - const netlifyCdnCacheControl = response.headers.get("netlify-cdn-cache-control") ?? void 0; - topLevelSpan?.setAttributes({ - "x-nextjs-cache": nextCache ?? void 0, - isServedFromNextCache, - netlifyVary, - netlifyCdnCacheControl - }); - if (requestContext.isCacheableAppPage && response.status !== 304) { - const isRSCRequest = request.headers.get("rsc") === "1"; - const contentType = response.headers.get("content-type") ?? void 0; - const isExpectedContentType = (isRSCRequest && contentType?.includes("text/x-component") || !isRSCRequest && contentType?.includes("text/html")) ?? false; - topLevelSpan?.setAttributes({ - isRSCRequest, - isCacheableAppPage: true, - contentType, - isExpectedContentType - }); - if (!isExpectedContentType) { - recordWarning( - new Error( - `Unexpected content type was produced for App Router page response (isRSCRequest: ${isRSCRequest}, contentType: ${contentType})` - ), - topLevelSpan - ); - } - } - async function waitForBackgroundWork() { - await nextHandlerPromise; - res.emit("close"); - await requestContext.backgroundWorkPromise; - } - const keepOpenUntilNextFullyRendered = new TransformStream({ - async flush() { - await waitForBackgroundWork(); - } - }); - if (!response.body) { - await waitForBackgroundWork(); - } - return new Response(response.body?.pipeThrough(keepOpenUntilNextFullyRendered), response); - }); -}; -export { - server_default as default -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/tags-handler.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/tags-handler.cjs deleted file mode 100644 index 6175443..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/tags-handler.cjs +++ /dev/null @@ -1,234 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name2 in all) - __defProp(target, name2, { get: all[name2], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/handlers/tags-handler.cts -var tags_handler_exports = {}; -__export(tags_handler_exports, { - getMostRecentTagExpirationTimestamp: () => getMostRecentTagExpirationTimestamp, - isAnyTagStaleOrExpired: () => isAnyTagStaleOrExpired, - markTagsAsStaleAndPurgeEdgeCache: () => markTagsAsStaleAndPurgeEdgeCache, - purgeEdgeCache: () => purgeEdgeCache -}); -module.exports = __toCommonJS(tags_handler_exports); - -// node_modules/@netlify/functions/dist/main.js -var import_process = require("process"); -var import_stream = require("stream"); -var import_util = require("util"); -var purgeCache = async (options = {}) => { - if (globalThis.fetch === void 0) { - throw new Error( - "`fetch` is not available. Please ensure you're using Node.js version 18.0.0 or above. Refer to https://ntl.fyi/functions-runtime for more information." - ); - } - const payload = { - cache_tags: options.tags, - deploy_alias: options.deployAlias - }; - const token = import_process.env.NETLIFY_PURGE_API_TOKEN || options.token; - if (import_process.env.NETLIFY_LOCAL && !token) { - const scope = options.tags?.length ? ` for tags ${options.tags?.join(", ")}` : ""; - console.log(`Skipping purgeCache${scope} in local development.`); - return; - } - if ("siteSlug" in options) { - payload.site_slug = options.siteSlug; - } else if ("domain" in options) { - payload.domain = options.domain; - } else { - const siteID = options.siteID || import_process.env.SITE_ID; - if (!siteID) { - throw new Error( - "The Netlify site ID was not found in the execution environment. Please supply it manually using the `siteID` property." - ); - } - payload.site_id = siteID; - } - if (!token) { - throw new Error( - "The cache purge API token was not found in the execution environment. Please supply it manually using the `token` property." - ); - } - const headers = { - "Content-Type": "application/json; charset=utf8", - Authorization: `Bearer ${token}` - }; - if (options.userAgent) { - headers["user-agent"] = options.userAgent; - } - const apiURL = options.apiURL || "https://api.netlify.com"; - const response = await fetch(`${apiURL}/api/v1/purge`, { - method: "POST", - headers, - body: JSON.stringify(payload) - }); - if (!response.ok) { - throw new Error(`Cache purge API call returned an unexpected status code: ${response.status}`); - } -}; -var pipeline = (0, import_util.promisify)(import_stream.pipeline); - -// package.json -var name = "@netlify/plugin-nextjs"; -var version = "5.14.7"; - -// src/run/handlers/tags-handler.cts -var import_storage = require("../storage/storage.cjs"); -var import_request_context = require("./request-context.cjs"); -var purgeCacheUserAgent = `${name}@${version}`; -async function getTagManifest(tag, cacheStore) { - const tagManifest = await cacheStore.get(tag, "tagManifest.get"); - if (!tagManifest) { - return null; - } - return tagManifest; -} -async function getMostRecentTagExpirationTimestamp(tags) { - if (tags.length === 0) { - return 0; - } - const cacheStore = (0, import_storage.getMemoizedKeyValueStoreBackedByRegionalBlobStore)({ consistency: "strong" }); - const manifestsOrNulls = await Promise.all(tags.map((tag) => getTagManifest(tag, cacheStore))); - const expirationTimestamps = manifestsOrNulls.filter((manifest) => manifest !== null).map((manifest) => manifest.expireAt); - if (expirationTimestamps.length === 0) { - return 0; - } - return Math.max(...expirationTimestamps); -} -function isAnyTagStaleOrExpired(tags, timestamp) { - if (tags.length === 0 || !timestamp) { - return Promise.resolve({ stale: false, expired: false }); - } - const cacheStore = (0, import_storage.getMemoizedKeyValueStoreBackedByRegionalBlobStore)({ consistency: "strong" }); - return new Promise((resolve, reject) => { - const tagManifestPromises = []; - for (const tag of tags) { - const tagManifestPromise = getTagManifest(tag, cacheStore); - tagManifestPromises.push( - tagManifestPromise.then((tagManifest) => { - if (!tagManifest) { - return { stale: false, expired: false }; - } - const stale = tagManifest.staleAt >= timestamp; - const expired = tagManifest.expireAt >= timestamp && tagManifest.expireAt <= Date.now(); - if (expired && stale) { - const expiredResult = { - stale, - expired - }; - resolve(expiredResult); - return expiredResult; - } - if (stale) { - const staleResult = { - stale, - expired, - expireAt: tagManifest.expireAt - }; - return staleResult; - } - return { stale: false, expired: false }; - }) - ); - } - Promise.all(tagManifestPromises).then((tagManifestsAreStaleOrExpired) => { - let result = { stale: false, expired: false }; - for (const tagResult of tagManifestsAreStaleOrExpired) { - if (tagResult.expired) { - result = tagResult; - break; - } - if (tagResult.stale) { - result = { - stale: true, - expired: false, - expireAt: ( - // make sure to use expireAt that is lowest of all tags - result.stale && !result.expired && typeof result.expireAt === "number" ? Math.min(result.expireAt, tagResult.expireAt) : tagResult.expireAt - ) - }; - } - } - resolve(result); - }).catch(reject); - }); -} -function getCacheTagsFromTagOrTags(tagOrTags) { - return (Array.isArray(tagOrTags) ? tagOrTags : [tagOrTags]).flatMap((tag) => tag.split(/,|%2c/gi)).filter(Boolean); -} -function purgeEdgeCache(tagOrTags) { - const tags = getCacheTagsFromTagOrTags(tagOrTags); - if (tags.length === 0) { - return Promise.resolve(); - } - (0, import_request_context.getLogger)().debug(`[NextRuntime] Purging CDN cache for: [${tags}.join(', ')]`); - return purgeCache({ tags, userAgent: purgeCacheUserAgent }).catch((error) => { - (0, import_request_context.getLogger)().withError(error).error(`[NextRuntime] Purging the cache for tags [${tags.join(",")}] failed`); - }); -} -async function doRevalidateTagAndPurgeEdgeCache(tags, durations) { - (0, import_request_context.getLogger)().withFields({ tags, durations }).debug("doRevalidateTagAndPurgeEdgeCache"); - if (tags.length === 0) { - return; - } - const now = Date.now(); - const tagManifest = { - staleAt: now, - expireAt: now + (durations?.expire ? durations.expire * 1e3 : 0) - }; - const cacheStore = (0, import_storage.getMemoizedKeyValueStoreBackedByRegionalBlobStore)({ consistency: "strong" }); - await Promise.all( - tags.map(async (tag) => { - try { - await cacheStore.set(tag, tagManifest, "tagManifest.set"); - } catch (error) { - (0, import_request_context.getLogger)().withError(error).log(`[NextRuntime] Failed to update tag manifest for ${tag}`); - } - }) - ); - await purgeEdgeCache(tags); -} -function markTagsAsStaleAndPurgeEdgeCache(tagOrTags, durations) { - const tags = getCacheTagsFromTagOrTags(tagOrTags); - const revalidationKey = JSON.stringify({ tags, durations }); - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext) { - const ongoingRevalidation = requestContext.ongoingRevalidations?.get(revalidationKey); - if (ongoingRevalidation) { - return ongoingRevalidation; - } - } - const revalidateTagPromise = doRevalidateTagAndPurgeEdgeCache(tags, durations); - if (requestContext) { - requestContext.ongoingRevalidations ??= /* @__PURE__ */ new Map(); - requestContext.ongoingRevalidations.set(revalidationKey, revalidateTagPromise); - process.nextTick(() => { - requestContext.ongoingRevalidations?.delete(revalidationKey); - }); - requestContext.trackBackgroundWork(revalidateTagPromise); - } - return revalidateTagPromise; -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - getMostRecentTagExpirationTimestamp, - isAnyTagStaleOrExpired, - markTagsAsStaleAndPurgeEdgeCache, - purgeEdgeCache -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/tracer.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/tracer.cjs deleted file mode 100644 index cc3b9a7..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/tracer.cjs +++ /dev/null @@ -1,856 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/handlers/tracer.cts -var tracer_exports = {}; -__export(tracer_exports, { - getTracer: () => getTracer2, - recordWarning: () => recordWarning, - withActiveSpan: () => withActiveSpan -}); -module.exports = __toCommonJS(tracer_exports); - -// node_modules/@netlify/otel/dist/main.js -var GET_TRACER = "__netlify__getTracer"; -var getTracer = (name, version) => { - return globalThis[GET_TRACER]?.(name, version); -}; -function withActiveSpan(tracer2, name, optionsOrFn, contextOrFn, fn) { - const func = typeof contextOrFn === "function" ? contextOrFn : typeof optionsOrFn === "function" ? optionsOrFn : fn; - if (!func) { - throw new Error("function to execute with active span is missing"); - } - if (!tracer2) { - return func(); - } - return tracer2.withActiveSpan(name, optionsOrFn, contextOrFn, func); -} - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js -var _globalThis = typeof globalThis === "object" ? globalThis : global; - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/version.js -var VERSION = "1.9.0"; - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/internal/semver.js -var re = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/; -function _makeCompatibilityCheck(ownVersion) { - var acceptedVersions = /* @__PURE__ */ new Set([ownVersion]); - var rejectedVersions = /* @__PURE__ */ new Set(); - var myVersionMatch = ownVersion.match(re); - if (!myVersionMatch) { - return function() { - return false; - }; - } - var ownVersionParsed = { - major: +myVersionMatch[1], - minor: +myVersionMatch[2], - patch: +myVersionMatch[3], - prerelease: myVersionMatch[4] - }; - if (ownVersionParsed.prerelease != null) { - return function isExactmatch(globalVersion) { - return globalVersion === ownVersion; - }; - } - function _reject(v) { - rejectedVersions.add(v); - return false; - } - function _accept(v) { - acceptedVersions.add(v); - return true; - } - return function isCompatible2(globalVersion) { - if (acceptedVersions.has(globalVersion)) { - return true; - } - if (rejectedVersions.has(globalVersion)) { - return false; - } - var globalVersionMatch = globalVersion.match(re); - if (!globalVersionMatch) { - return _reject(globalVersion); - } - var globalVersionParsed = { - major: +globalVersionMatch[1], - minor: +globalVersionMatch[2], - patch: +globalVersionMatch[3], - prerelease: globalVersionMatch[4] - }; - if (globalVersionParsed.prerelease != null) { - return _reject(globalVersion); - } - if (ownVersionParsed.major !== globalVersionParsed.major) { - return _reject(globalVersion); - } - if (ownVersionParsed.major === 0) { - if (ownVersionParsed.minor === globalVersionParsed.minor && ownVersionParsed.patch <= globalVersionParsed.patch) { - return _accept(globalVersion); - } - return _reject(globalVersion); - } - if (ownVersionParsed.minor <= globalVersionParsed.minor) { - return _accept(globalVersion); - } - return _reject(globalVersion); - }; -} -var isCompatible = _makeCompatibilityCheck(VERSION); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js -var major = VERSION.split(".")[0]; -var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for("opentelemetry.js.api." + major); -var _global = _globalThis; -function registerGlobal(type, instance, diag, allowOverride) { - var _a; - if (allowOverride === void 0) { - allowOverride = false; - } - var api = _global[GLOBAL_OPENTELEMETRY_API_KEY] = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a !== void 0 ? _a : { - version: VERSION - }; - if (!allowOverride && api[type]) { - var err = new Error("@opentelemetry/api: Attempted duplicate registration of API: " + type); - diag.error(err.stack || err.message); - return false; - } - if (api.version !== VERSION) { - var err = new Error("@opentelemetry/api: Registration of version v" + api.version + " for " + type + " does not match previously registered API v" + VERSION); - diag.error(err.stack || err.message); - return false; - } - api[type] = instance; - diag.debug("@opentelemetry/api: Registered a global for " + type + " v" + VERSION + "."); - return true; -} -function getGlobal(type) { - var _a, _b; - var globalVersion = (_a = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a === void 0 ? void 0 : _a.version; - if (!globalVersion || !isCompatible(globalVersion)) { - return; - } - return (_b = _global[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === void 0 ? void 0 : _b[type]; -} -function unregisterGlobal(type, diag) { - diag.debug("@opentelemetry/api: Unregistering a global for " + type + " v" + VERSION + "."); - var api = _global[GLOBAL_OPENTELEMETRY_API_KEY]; - if (api) { - delete api[type]; - } -} - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js -var __read = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var DiagComponentLogger = ( - /** @class */ - (function() { - function DiagComponentLogger2(props) { - this._namespace = props.namespace || "DiagComponentLogger"; - } - DiagComponentLogger2.prototype.debug = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("debug", this._namespace, args); - }; - DiagComponentLogger2.prototype.error = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("error", this._namespace, args); - }; - DiagComponentLogger2.prototype.info = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("info", this._namespace, args); - }; - DiagComponentLogger2.prototype.warn = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("warn", this._namespace, args); - }; - DiagComponentLogger2.prototype.verbose = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return logProxy("verbose", this._namespace, args); - }; - return DiagComponentLogger2; - })() -); -function logProxy(funcName, namespace, args) { - var logger = getGlobal("diag"); - if (!logger) { - return; - } - args.unshift(namespace); - return logger[funcName].apply(logger, __spreadArray([], __read(args), false)); -} - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/diag/types.js -var DiagLogLevel; -(function(DiagLogLevel2) { - DiagLogLevel2[DiagLogLevel2["NONE"] = 0] = "NONE"; - DiagLogLevel2[DiagLogLevel2["ERROR"] = 30] = "ERROR"; - DiagLogLevel2[DiagLogLevel2["WARN"] = 50] = "WARN"; - DiagLogLevel2[DiagLogLevel2["INFO"] = 60] = "INFO"; - DiagLogLevel2[DiagLogLevel2["DEBUG"] = 70] = "DEBUG"; - DiagLogLevel2[DiagLogLevel2["VERBOSE"] = 80] = "VERBOSE"; - DiagLogLevel2[DiagLogLevel2["ALL"] = 9999] = "ALL"; -})(DiagLogLevel || (DiagLogLevel = {})); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js -function createLogLevelDiagLogger(maxLevel, logger) { - if (maxLevel < DiagLogLevel.NONE) { - maxLevel = DiagLogLevel.NONE; - } else if (maxLevel > DiagLogLevel.ALL) { - maxLevel = DiagLogLevel.ALL; - } - logger = logger || {}; - function _filterFunc(funcName, theLevel) { - var theFunc = logger[funcName]; - if (typeof theFunc === "function" && maxLevel >= theLevel) { - return theFunc.bind(logger); - } - return function() { - }; - } - return { - error: _filterFunc("error", DiagLogLevel.ERROR), - warn: _filterFunc("warn", DiagLogLevel.WARN), - info: _filterFunc("info", DiagLogLevel.INFO), - debug: _filterFunc("debug", DiagLogLevel.DEBUG), - verbose: _filterFunc("verbose", DiagLogLevel.VERBOSE) - }; -} - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/api/diag.js -var __read2 = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray2 = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var API_NAME = "diag"; -var DiagAPI = ( - /** @class */ - (function() { - function DiagAPI2() { - function _logProxy(funcName) { - return function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var logger = getGlobal("diag"); - if (!logger) - return; - return logger[funcName].apply(logger, __spreadArray2([], __read2(args), false)); - }; - } - var self = this; - var setLogger = function(logger, optionsOrLogLevel) { - var _a, _b, _c; - if (optionsOrLogLevel === void 0) { - optionsOrLogLevel = { logLevel: DiagLogLevel.INFO }; - } - if (logger === self) { - var err = new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation"); - self.error((_a = err.stack) !== null && _a !== void 0 ? _a : err.message); - return false; - } - if (typeof optionsOrLogLevel === "number") { - optionsOrLogLevel = { - logLevel: optionsOrLogLevel - }; - } - var oldLogger = getGlobal("diag"); - var newLogger = createLogLevelDiagLogger((_b = optionsOrLogLevel.logLevel) !== null && _b !== void 0 ? _b : DiagLogLevel.INFO, logger); - if (oldLogger && !optionsOrLogLevel.suppressOverrideMessage) { - var stack = (_c = new Error().stack) !== null && _c !== void 0 ? _c : ""; - oldLogger.warn("Current logger will be overwritten from " + stack); - newLogger.warn("Current logger will overwrite one already registered from " + stack); - } - return registerGlobal("diag", newLogger, self, true); - }; - self.setLogger = setLogger; - self.disable = function() { - unregisterGlobal(API_NAME, self); - }; - self.createComponentLogger = function(options) { - return new DiagComponentLogger(options); - }; - self.verbose = _logProxy("verbose"); - self.debug = _logProxy("debug"); - self.info = _logProxy("info"); - self.warn = _logProxy("warn"); - self.error = _logProxy("error"); - } - DiagAPI2.instance = function() { - if (!this._instance) { - this._instance = new DiagAPI2(); - } - return this._instance; - }; - return DiagAPI2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/context/context.js -function createContextKey(description) { - return Symbol.for(description); -} -var BaseContext = ( - /** @class */ - /* @__PURE__ */ (function() { - function BaseContext2(parentContext) { - var self = this; - self._currentContext = parentContext ? new Map(parentContext) : /* @__PURE__ */ new Map(); - self.getValue = function(key) { - return self._currentContext.get(key); - }; - self.setValue = function(key, value) { - var context2 = new BaseContext2(self._currentContext); - context2._currentContext.set(key, value); - return context2; - }; - self.deleteValue = function(key) { - var context2 = new BaseContext2(self._currentContext); - context2._currentContext.delete(key); - return context2; - }; - } - return BaseContext2; - })() -); -var ROOT_CONTEXT = new BaseContext(); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js -var __read3 = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray3 = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var NoopContextManager = ( - /** @class */ - (function() { - function NoopContextManager2() { - } - NoopContextManager2.prototype.active = function() { - return ROOT_CONTEXT; - }; - NoopContextManager2.prototype.with = function(_context, fn, thisArg) { - var args = []; - for (var _i = 3; _i < arguments.length; _i++) { - args[_i - 3] = arguments[_i]; - } - return fn.call.apply(fn, __spreadArray3([thisArg], __read3(args), false)); - }; - NoopContextManager2.prototype.bind = function(_context, target) { - return target; - }; - NoopContextManager2.prototype.enable = function() { - return this; - }; - NoopContextManager2.prototype.disable = function() { - return this; - }; - return NoopContextManager2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/api/context.js -var __read4 = function(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { error }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -}; -var __spreadArray4 = function(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -}; -var API_NAME2 = "context"; -var NOOP_CONTEXT_MANAGER = new NoopContextManager(); -var ContextAPI = ( - /** @class */ - (function() { - function ContextAPI2() { - } - ContextAPI2.getInstance = function() { - if (!this._instance) { - this._instance = new ContextAPI2(); - } - return this._instance; - }; - ContextAPI2.prototype.setGlobalContextManager = function(contextManager) { - return registerGlobal(API_NAME2, contextManager, DiagAPI.instance()); - }; - ContextAPI2.prototype.active = function() { - return this._getContextManager().active(); - }; - ContextAPI2.prototype.with = function(context2, fn, thisArg) { - var _a; - var args = []; - for (var _i = 3; _i < arguments.length; _i++) { - args[_i - 3] = arguments[_i]; - } - return (_a = this._getContextManager()).with.apply(_a, __spreadArray4([context2, fn, thisArg], __read4(args), false)); - }; - ContextAPI2.prototype.bind = function(context2, target) { - return this._getContextManager().bind(context2, target); - }; - ContextAPI2.prototype._getContextManager = function() { - return getGlobal(API_NAME2) || NOOP_CONTEXT_MANAGER; - }; - ContextAPI2.prototype.disable = function() { - this._getContextManager().disable(); - unregisterGlobal(API_NAME2, DiagAPI.instance()); - }; - return ContextAPI2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js -var TraceFlags; -(function(TraceFlags2) { - TraceFlags2[TraceFlags2["NONE"] = 0] = "NONE"; - TraceFlags2[TraceFlags2["SAMPLED"] = 1] = "SAMPLED"; -})(TraceFlags || (TraceFlags = {})); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js -var INVALID_SPANID = "0000000000000000"; -var INVALID_TRACEID = "00000000000000000000000000000000"; -var INVALID_SPAN_CONTEXT = { - traceId: INVALID_TRACEID, - spanId: INVALID_SPANID, - traceFlags: TraceFlags.NONE -}; - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js -var NonRecordingSpan = ( - /** @class */ - (function() { - function NonRecordingSpan2(_spanContext) { - if (_spanContext === void 0) { - _spanContext = INVALID_SPAN_CONTEXT; - } - this._spanContext = _spanContext; - } - NonRecordingSpan2.prototype.spanContext = function() { - return this._spanContext; - }; - NonRecordingSpan2.prototype.setAttribute = function(_key, _value) { - return this; - }; - NonRecordingSpan2.prototype.setAttributes = function(_attributes) { - return this; - }; - NonRecordingSpan2.prototype.addEvent = function(_name, _attributes) { - return this; - }; - NonRecordingSpan2.prototype.addLink = function(_link) { - return this; - }; - NonRecordingSpan2.prototype.addLinks = function(_links) { - return this; - }; - NonRecordingSpan2.prototype.setStatus = function(_status) { - return this; - }; - NonRecordingSpan2.prototype.updateName = function(_name) { - return this; - }; - NonRecordingSpan2.prototype.end = function(_endTime) { - }; - NonRecordingSpan2.prototype.isRecording = function() { - return false; - }; - NonRecordingSpan2.prototype.recordException = function(_exception, _time) { - }; - return NonRecordingSpan2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js -var SPAN_KEY = createContextKey("OpenTelemetry Context Key SPAN"); -function getSpan(context2) { - return context2.getValue(SPAN_KEY) || void 0; -} -function getActiveSpan() { - return getSpan(ContextAPI.getInstance().active()); -} -function setSpan(context2, span) { - return context2.setValue(SPAN_KEY, span); -} -function deleteSpan(context2) { - return context2.deleteValue(SPAN_KEY); -} -function setSpanContext(context2, spanContext) { - return setSpan(context2, new NonRecordingSpan(spanContext)); -} -function getSpanContext(context2) { - var _a; - return (_a = getSpan(context2)) === null || _a === void 0 ? void 0 : _a.spanContext(); -} - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js -var VALID_TRACEID_REGEX = /^([0-9a-f]{32})$/i; -var VALID_SPANID_REGEX = /^[0-9a-f]{16}$/i; -function isValidTraceId(traceId) { - return VALID_TRACEID_REGEX.test(traceId) && traceId !== INVALID_TRACEID; -} -function isValidSpanId(spanId) { - return VALID_SPANID_REGEX.test(spanId) && spanId !== INVALID_SPANID; -} -function isSpanContextValid(spanContext) { - return isValidTraceId(spanContext.traceId) && isValidSpanId(spanContext.spanId); -} -function wrapSpanContext(spanContext) { - return new NonRecordingSpan(spanContext); -} - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js -var contextApi = ContextAPI.getInstance(); -var NoopTracer = ( - /** @class */ - (function() { - function NoopTracer2() { - } - NoopTracer2.prototype.startSpan = function(name, options, context2) { - if (context2 === void 0) { - context2 = contextApi.active(); - } - var root = Boolean(options === null || options === void 0 ? void 0 : options.root); - if (root) { - return new NonRecordingSpan(); - } - var parentFromContext = context2 && getSpanContext(context2); - if (isSpanContext(parentFromContext) && isSpanContextValid(parentFromContext)) { - return new NonRecordingSpan(parentFromContext); - } else { - return new NonRecordingSpan(); - } - }; - NoopTracer2.prototype.startActiveSpan = function(name, arg2, arg3, arg4) { - var opts; - var ctx; - var fn; - if (arguments.length < 2) { - return; - } else if (arguments.length === 2) { - fn = arg2; - } else if (arguments.length === 3) { - opts = arg2; - fn = arg3; - } else { - opts = arg2; - ctx = arg3; - fn = arg4; - } - var parentContext = ctx !== null && ctx !== void 0 ? ctx : contextApi.active(); - var span = this.startSpan(name, opts, parentContext); - var contextWithSpanSet = setSpan(parentContext, span); - return contextApi.with(contextWithSpanSet, fn, void 0, span); - }; - return NoopTracer2; - })() -); -function isSpanContext(spanContext) { - return typeof spanContext === "object" && typeof spanContext["spanId"] === "string" && typeof spanContext["traceId"] === "string" && typeof spanContext["traceFlags"] === "number"; -} - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js -var NOOP_TRACER = new NoopTracer(); -var ProxyTracer = ( - /** @class */ - (function() { - function ProxyTracer2(_provider, name, version, options) { - this._provider = _provider; - this.name = name; - this.version = version; - this.options = options; - } - ProxyTracer2.prototype.startSpan = function(name, options, context2) { - return this._getTracer().startSpan(name, options, context2); - }; - ProxyTracer2.prototype.startActiveSpan = function(_name, _options, _context, _fn) { - var tracer2 = this._getTracer(); - return Reflect.apply(tracer2.startActiveSpan, tracer2, arguments); - }; - ProxyTracer2.prototype._getTracer = function() { - if (this._delegate) { - return this._delegate; - } - var tracer2 = this._provider.getDelegateTracer(this.name, this.version, this.options); - if (!tracer2) { - return NOOP_TRACER; - } - this._delegate = tracer2; - return this._delegate; - }; - return ProxyTracer2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js -var NoopTracerProvider = ( - /** @class */ - (function() { - function NoopTracerProvider2() { - } - NoopTracerProvider2.prototype.getTracer = function(_name, _version, _options) { - return new NoopTracer(); - }; - return NoopTracerProvider2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js -var NOOP_TRACER_PROVIDER = new NoopTracerProvider(); -var ProxyTracerProvider = ( - /** @class */ - (function() { - function ProxyTracerProvider2() { - } - ProxyTracerProvider2.prototype.getTracer = function(name, version, options) { - var _a; - return (_a = this.getDelegateTracer(name, version, options)) !== null && _a !== void 0 ? _a : new ProxyTracer(this, name, version, options); - }; - ProxyTracerProvider2.prototype.getDelegate = function() { - var _a; - return (_a = this._delegate) !== null && _a !== void 0 ? _a : NOOP_TRACER_PROVIDER; - }; - ProxyTracerProvider2.prototype.setDelegate = function(delegate) { - this._delegate = delegate; - }; - ProxyTracerProvider2.prototype.getDelegateTracer = function(name, version, options) { - var _a; - return (_a = this._delegate) === null || _a === void 0 ? void 0 : _a.getTracer(name, version, options); - }; - return ProxyTracerProvider2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/api/trace.js -var API_NAME3 = "trace"; -var TraceAPI = ( - /** @class */ - (function() { - function TraceAPI2() { - this._proxyTracerProvider = new ProxyTracerProvider(); - this.wrapSpanContext = wrapSpanContext; - this.isSpanContextValid = isSpanContextValid; - this.deleteSpan = deleteSpan; - this.getSpan = getSpan; - this.getActiveSpan = getActiveSpan; - this.getSpanContext = getSpanContext; - this.setSpan = setSpan; - this.setSpanContext = setSpanContext; - } - TraceAPI2.getInstance = function() { - if (!this._instance) { - this._instance = new TraceAPI2(); - } - return this._instance; - }; - TraceAPI2.prototype.setGlobalTracerProvider = function(provider) { - var success = registerGlobal(API_NAME3, this._proxyTracerProvider, DiagAPI.instance()); - if (success) { - this._proxyTracerProvider.setDelegate(provider); - } - return success; - }; - TraceAPI2.prototype.getTracerProvider = function() { - return getGlobal(API_NAME3) || this._proxyTracerProvider; - }; - TraceAPI2.prototype.getTracer = function(name, version) { - return this.getTracerProvider().getTracer(name, version); - }; - TraceAPI2.prototype.disable = function() { - unregisterGlobal(API_NAME3, DiagAPI.instance()); - this._proxyTracerProvider = new ProxyTracerProvider(); - }; - return TraceAPI2; - })() -); - -// node_modules/@netlify/otel/node_modules/@opentelemetry/api/build/esm/trace-api.js -var trace = TraceAPI.getInstance(); - -// src/run/handlers/tracer.cts -var import_request_context = require("./request-context.cjs"); -var spanMeta = /* @__PURE__ */ new WeakMap(); -var spanCounter = /* @__PURE__ */ new WeakMap(); -function spanHook(span) { - const originalEnd = span.end.bind(span); - span.end = (endTime) => { - originalEnd(endTime); - const meta = spanMeta.get(span); - if (meta) { - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext?.captureServerTiming) { - const duration = (typeof endTime === "number" ? endTime : performance.now()) - meta.start; - const serverTiming = requestContext.serverTiming ?? ""; - const currentRequestSpanCounter = spanCounter.get(requestContext) ?? 1; - requestContext.serverTiming = `${serverTiming}${serverTiming.length === 0 ? "" : ", "}s${currentRequestSpanCounter};dur=${duration};desc="${meta.name}"`; - spanCounter.set(requestContext, currentRequestSpanCounter + 1); - } - } - spanMeta.delete(span); - }; - return span; -} -var tracer; -function getTracer2() { - if (tracer) return tracer; - const baseTracer = getTracer("Next.js Runtime"); - if (!baseTracer) return void 0; - const startSpan = baseTracer.startSpan.bind(baseTracer); - baseTracer.startSpan = (...args) => { - const span = startSpan(...args); - spanMeta.set(span, { start: performance.now(), name: args[0] }); - return spanHook(span); - }; - const startActiveSpan = baseTracer.startActiveSpan.bind(baseTracer); - baseTracer.startActiveSpan = (...args) => { - const [name, ...restOfArgs] = args; - const augmentedArgs = restOfArgs.map((arg) => { - if (typeof arg === "function") { - return (span) => { - spanMeta.set(span, { start: performance.now(), name: args[0] }); - spanHook(span); - return arg(span); - }; - } - return arg; - }); - return startActiveSpan(name, ...augmentedArgs); - }; - tracer = baseTracer; - return tracer; -} -function recordWarning(warning, span) { - const spanToRecordWarningOn = span ?? trace.getActiveSpan(); - if (!spanToRecordWarningOn) { - return; - } - spanToRecordWarningOn.recordException(warning); - spanToRecordWarningOn.setAttributes({ - severity: "alert", - warning: true - }); -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - getTracer, - recordWarning, - withActiveSpan -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/use-cache-handler.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/use-cache-handler.js deleted file mode 100644 index 9abfcaa..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/use-cache-handler.js +++ /dev/null @@ -1,1580 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/run/handlers/use-cache-handler.ts -import { Buffer } from "node:buffer"; - -// node_modules/lru-cache/dist/esm/index.js -var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date; -var warned = /* @__PURE__ */ new Set(); -var PROCESS = typeof process === "object" && !!process ? process : {}; -var emitWarning = (msg, type, code, fn) => { - typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`); -}; -var AC = globalThis.AbortController; -var AS = globalThis.AbortSignal; -if (typeof AC === "undefined") { - AS = class AbortSignal { - onabort; - _onabort = []; - reason; - aborted = false; - addEventListener(_, fn) { - this._onabort.push(fn); - } - }; - AC = class AbortController { - constructor() { - warnACPolyfill(); - } - signal = new AS(); - abort(reason) { - if (this.signal.aborted) - return; - this.signal.reason = reason; - this.signal.aborted = true; - for (const fn of this.signal._onabort) { - fn(reason); - } - this.signal.onabort?.(reason); - } - }; - let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1"; - const warnACPolyfill = () => { - if (!printACPolyfillWarning) - return; - printACPolyfillWarning = false; - emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill); - }; -} -var shouldWarn = (code) => !warned.has(code); -var TYPE = Symbol("type"); -var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n); -var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null; -var ZeroArray = class extends Array { - constructor(size) { - super(size); - this.fill(0); - } -}; -var Stack = class _Stack { - heap; - length; - // private constructor - static #constructing = false; - static create(max) { - const HeapCls = getUintArray(max); - if (!HeapCls) - return []; - _Stack.#constructing = true; - const s = new _Stack(max, HeapCls); - _Stack.#constructing = false; - return s; - } - constructor(max, HeapCls) { - if (!_Stack.#constructing) { - throw new TypeError("instantiate Stack using Stack.create(n)"); - } - this.heap = new HeapCls(max); - this.length = 0; - } - push(n) { - this.heap[this.length++] = n; - } - pop() { - return this.heap[--this.length]; - } -}; -var LRUCache = class _LRUCache { - // options that cannot be changed without disaster - #max; - #maxSize; - #dispose; - #disposeAfter; - #fetchMethod; - #memoMethod; - /** - * {@link LRUCache.OptionsBase.ttl} - */ - ttl; - /** - * {@link LRUCache.OptionsBase.ttlResolution} - */ - ttlResolution; - /** - * {@link LRUCache.OptionsBase.ttlAutopurge} - */ - ttlAutopurge; - /** - * {@link LRUCache.OptionsBase.updateAgeOnGet} - */ - updateAgeOnGet; - /** - * {@link LRUCache.OptionsBase.updateAgeOnHas} - */ - updateAgeOnHas; - /** - * {@link LRUCache.OptionsBase.allowStale} - */ - allowStale; - /** - * {@link LRUCache.OptionsBase.noDisposeOnSet} - */ - noDisposeOnSet; - /** - * {@link LRUCache.OptionsBase.noUpdateTTL} - */ - noUpdateTTL; - /** - * {@link LRUCache.OptionsBase.maxEntrySize} - */ - maxEntrySize; - /** - * {@link LRUCache.OptionsBase.sizeCalculation} - */ - sizeCalculation; - /** - * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection} - */ - noDeleteOnFetchRejection; - /** - * {@link LRUCache.OptionsBase.noDeleteOnStaleGet} - */ - noDeleteOnStaleGet; - /** - * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort} - */ - allowStaleOnFetchAbort; - /** - * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} - */ - allowStaleOnFetchRejection; - /** - * {@link LRUCache.OptionsBase.ignoreFetchAbort} - */ - ignoreFetchAbort; - // computed properties - #size; - #calculatedSize; - #keyMap; - #keyList; - #valList; - #next; - #prev; - #head; - #tail; - #free; - #disposed; - #sizes; - #starts; - #ttls; - #hasDispose; - #hasFetchMethod; - #hasDisposeAfter; - /** - * Do not call this method unless you need to inspect the - * inner workings of the cache. If anything returned by this - * object is modified in any way, strange breakage may occur. - * - * These fields are private for a reason! - * - * @internal - */ - static unsafeExposeInternals(c) { - return { - // properties - starts: c.#starts, - ttls: c.#ttls, - sizes: c.#sizes, - keyMap: c.#keyMap, - keyList: c.#keyList, - valList: c.#valList, - next: c.#next, - prev: c.#prev, - get head() { - return c.#head; - }, - get tail() { - return c.#tail; - }, - free: c.#free, - // methods - isBackgroundFetch: (p) => c.#isBackgroundFetch(p), - backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context), - moveToTail: (index) => c.#moveToTail(index), - indexes: (options) => c.#indexes(options), - rindexes: (options) => c.#rindexes(options), - isStale: (index) => c.#isStale(index) - }; - } - // Protected read-only members - /** - * {@link LRUCache.OptionsBase.max} (read-only) - */ - get max() { - return this.#max; - } - /** - * {@link LRUCache.OptionsBase.maxSize} (read-only) - */ - get maxSize() { - return this.#maxSize; - } - /** - * The total computed size of items in the cache (read-only) - */ - get calculatedSize() { - return this.#calculatedSize; - } - /** - * The number of items stored in the cache (read-only) - */ - get size() { - return this.#size; - } - /** - * {@link LRUCache.OptionsBase.fetchMethod} (read-only) - */ - get fetchMethod() { - return this.#fetchMethod; - } - get memoMethod() { - return this.#memoMethod; - } - /** - * {@link LRUCache.OptionsBase.dispose} (read-only) - */ - get dispose() { - return this.#dispose; - } - /** - * {@link LRUCache.OptionsBase.disposeAfter} (read-only) - */ - get disposeAfter() { - return this.#disposeAfter; - } - constructor(options) { - const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options; - if (max !== 0 && !isPosInt(max)) { - throw new TypeError("max option must be a nonnegative integer"); - } - const UintArray = max ? getUintArray(max) : Array; - if (!UintArray) { - throw new Error("invalid max value: " + max); - } - this.#max = max; - this.#maxSize = maxSize; - this.maxEntrySize = maxEntrySize || this.#maxSize; - this.sizeCalculation = sizeCalculation; - if (this.sizeCalculation) { - if (!this.#maxSize && !this.maxEntrySize) { - throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize"); - } - if (typeof this.sizeCalculation !== "function") { - throw new TypeError("sizeCalculation set to non-function"); - } - } - if (memoMethod !== void 0 && typeof memoMethod !== "function") { - throw new TypeError("memoMethod must be a function if defined"); - } - this.#memoMethod = memoMethod; - if (fetchMethod !== void 0 && typeof fetchMethod !== "function") { - throw new TypeError("fetchMethod must be a function if specified"); - } - this.#fetchMethod = fetchMethod; - this.#hasFetchMethod = !!fetchMethod; - this.#keyMap = /* @__PURE__ */ new Map(); - this.#keyList = new Array(max).fill(void 0); - this.#valList = new Array(max).fill(void 0); - this.#next = new UintArray(max); - this.#prev = new UintArray(max); - this.#head = 0; - this.#tail = 0; - this.#free = Stack.create(max); - this.#size = 0; - this.#calculatedSize = 0; - if (typeof dispose === "function") { - this.#dispose = dispose; - } - if (typeof disposeAfter === "function") { - this.#disposeAfter = disposeAfter; - this.#disposed = []; - } else { - this.#disposeAfter = void 0; - this.#disposed = void 0; - } - this.#hasDispose = !!this.#dispose; - this.#hasDisposeAfter = !!this.#disposeAfter; - this.noDisposeOnSet = !!noDisposeOnSet; - this.noUpdateTTL = !!noUpdateTTL; - this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; - this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; - this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; - this.ignoreFetchAbort = !!ignoreFetchAbort; - if (this.maxEntrySize !== 0) { - if (this.#maxSize !== 0) { - if (!isPosInt(this.#maxSize)) { - throw new TypeError("maxSize must be a positive integer if specified"); - } - } - if (!isPosInt(this.maxEntrySize)) { - throw new TypeError("maxEntrySize must be a positive integer if specified"); - } - this.#initializeSizeTracking(); - } - this.allowStale = !!allowStale; - this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; - this.updateAgeOnGet = !!updateAgeOnGet; - this.updateAgeOnHas = !!updateAgeOnHas; - this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1; - this.ttlAutopurge = !!ttlAutopurge; - this.ttl = ttl || 0; - if (this.ttl) { - if (!isPosInt(this.ttl)) { - throw new TypeError("ttl must be a positive integer if specified"); - } - this.#initializeTTLTracking(); - } - if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) { - throw new TypeError("At least one of max, maxSize, or ttl is required"); - } - if (!this.ttlAutopurge && !this.#max && !this.#maxSize) { - const code = "LRU_CACHE_UNBOUNDED"; - if (shouldWarn(code)) { - warned.add(code); - const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption."; - emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache); - } - } - } - /** - * Return the number of ms left in the item's TTL. If item is not in cache, - * returns `0`. Returns `Infinity` if item is in cache without a defined TTL. - */ - getRemainingTTL(key) { - return this.#keyMap.has(key) ? Infinity : 0; - } - #initializeTTLTracking() { - const ttls = new ZeroArray(this.#max); - const starts = new ZeroArray(this.#max); - this.#ttls = ttls; - this.#starts = starts; - this.#setItemTTL = (index, ttl, start = perf.now()) => { - starts[index] = ttl !== 0 ? start : 0; - ttls[index] = ttl; - if (ttl !== 0 && this.ttlAutopurge) { - const t = setTimeout(() => { - if (this.#isStale(index)) { - this.#delete(this.#keyList[index], "expire"); - } - }, ttl + 1); - if (t.unref) { - t.unref(); - } - } - }; - this.#updateItemAge = (index) => { - starts[index] = ttls[index] !== 0 ? perf.now() : 0; - }; - this.#statusTTL = (status, index) => { - if (ttls[index]) { - const ttl = ttls[index]; - const start = starts[index]; - if (!ttl || !start) - return; - status.ttl = ttl; - status.start = start; - status.now = cachedNow || getNow(); - const age = status.now - start; - status.remainingTTL = ttl - age; - } - }; - let cachedNow = 0; - const getNow = () => { - const n = perf.now(); - if (this.ttlResolution > 0) { - cachedNow = n; - const t = setTimeout(() => cachedNow = 0, this.ttlResolution); - if (t.unref) { - t.unref(); - } - } - return n; - }; - this.getRemainingTTL = (key) => { - const index = this.#keyMap.get(key); - if (index === void 0) { - return 0; - } - const ttl = ttls[index]; - const start = starts[index]; - if (!ttl || !start) { - return Infinity; - } - const age = (cachedNow || getNow()) - start; - return ttl - age; - }; - this.#isStale = (index) => { - const s = starts[index]; - const t = ttls[index]; - return !!t && !!s && (cachedNow || getNow()) - s > t; - }; - } - // conditionally set private methods related to TTL - #updateItemAge = () => { - }; - #statusTTL = () => { - }; - #setItemTTL = () => { - }; - /* c8 ignore stop */ - #isStale = () => false; - #initializeSizeTracking() { - const sizes = new ZeroArray(this.#max); - this.#calculatedSize = 0; - this.#sizes = sizes; - this.#removeItemSize = (index) => { - this.#calculatedSize -= sizes[index]; - sizes[index] = 0; - }; - this.#requireSize = (k, v, size, sizeCalculation) => { - if (this.#isBackgroundFetch(v)) { - return 0; - } - if (!isPosInt(size)) { - if (sizeCalculation) { - if (typeof sizeCalculation !== "function") { - throw new TypeError("sizeCalculation must be a function"); - } - size = sizeCalculation(v, k); - if (!isPosInt(size)) { - throw new TypeError("sizeCalculation return invalid (expect positive integer)"); - } - } else { - throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set."); - } - } - return size; - }; - this.#addItemSize = (index, size, status) => { - sizes[index] = size; - if (this.#maxSize) { - const maxSize = this.#maxSize - sizes[index]; - while (this.#calculatedSize > maxSize) { - this.#evict(true); - } - } - this.#calculatedSize += sizes[index]; - if (status) { - status.entrySize = size; - status.totalCalculatedSize = this.#calculatedSize; - } - }; - } - #removeItemSize = (_i) => { - }; - #addItemSize = (_i, _s, _st) => { - }; - #requireSize = (_k, _v, size, sizeCalculation) => { - if (size || sizeCalculation) { - throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache"); - } - return 0; - }; - *#indexes({ allowStale = this.allowStale } = {}) { - if (this.#size) { - for (let i = this.#tail; true; ) { - if (!this.#isValidIndex(i)) { - break; - } - if (allowStale || !this.#isStale(i)) { - yield i; - } - if (i === this.#head) { - break; - } else { - i = this.#prev[i]; - } - } - } - } - *#rindexes({ allowStale = this.allowStale } = {}) { - if (this.#size) { - for (let i = this.#head; true; ) { - if (!this.#isValidIndex(i)) { - break; - } - if (allowStale || !this.#isStale(i)) { - yield i; - } - if (i === this.#tail) { - break; - } else { - i = this.#next[i]; - } - } - } - } - #isValidIndex(index) { - return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index; - } - /** - * Return a generator yielding `[key, value]` pairs, - * in order from most recently used to least recently used. - */ - *entries() { - for (const i of this.#indexes()) { - if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield [this.#keyList[i], this.#valList[i]]; - } - } - } - /** - * Inverse order version of {@link LRUCache.entries} - * - * Return a generator yielding `[key, value]` pairs, - * in order from least recently used to most recently used. - */ - *rentries() { - for (const i of this.#rindexes()) { - if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield [this.#keyList[i], this.#valList[i]]; - } - } - } - /** - * Return a generator yielding the keys in the cache, - * in order from most recently used to least recently used. - */ - *keys() { - for (const i of this.#indexes()) { - const k = this.#keyList[i]; - if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield k; - } - } - } - /** - * Inverse order version of {@link LRUCache.keys} - * - * Return a generator yielding the keys in the cache, - * in order from least recently used to most recently used. - */ - *rkeys() { - for (const i of this.#rindexes()) { - const k = this.#keyList[i]; - if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield k; - } - } - } - /** - * Return a generator yielding the values in the cache, - * in order from most recently used to least recently used. - */ - *values() { - for (const i of this.#indexes()) { - const v = this.#valList[i]; - if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield this.#valList[i]; - } - } - } - /** - * Inverse order version of {@link LRUCache.values} - * - * Return a generator yielding the values in the cache, - * in order from least recently used to most recently used. - */ - *rvalues() { - for (const i of this.#rindexes()) { - const v = this.#valList[i]; - if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield this.#valList[i]; - } - } - } - /** - * Iterating over the cache itself yields the same results as - * {@link LRUCache.entries} - */ - [Symbol.iterator]() { - return this.entries(); - } - /** - * A String value that is used in the creation of the default string - * description of an object. Called by the built-in method - * `Object.prototype.toString`. - */ - [Symbol.toStringTag] = "LRUCache"; - /** - * Find a value for which the supplied fn method returns a truthy value, - * similar to `Array.find()`. fn is called as `fn(value, key, cache)`. - */ - find(fn, getOptions = {}) { - for (const i of this.#indexes()) { - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - continue; - if (fn(value, this.#keyList[i], this)) { - return this.get(this.#keyList[i], getOptions); - } - } - } - /** - * Call the supplied function on each item in the cache, in order from most - * recently used to least recently used. - * - * `fn` is called as `fn(value, key, cache)`. - * - * If `thisp` is provided, function will be called in the `this`-context of - * the provided object, or the cache if no `thisp` object is provided. - * - * Does not update age or recenty of use, or iterate over stale values. - */ - forEach(fn, thisp = this) { - for (const i of this.#indexes()) { - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - continue; - fn.call(thisp, value, this.#keyList[i], this); - } - } - /** - * The same as {@link LRUCache.forEach} but items are iterated over in - * reverse order. (ie, less recently used items are iterated over first.) - */ - rforEach(fn, thisp = this) { - for (const i of this.#rindexes()) { - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - continue; - fn.call(thisp, value, this.#keyList[i], this); - } - } - /** - * Delete any stale entries. Returns true if anything was removed, - * false otherwise. - */ - purgeStale() { - let deleted = false; - for (const i of this.#rindexes({ allowStale: true })) { - if (this.#isStale(i)) { - this.#delete(this.#keyList[i], "expire"); - deleted = true; - } - } - return deleted; - } - /** - * Get the extended info about a given entry, to get its value, size, and - * TTL info simultaneously. Returns `undefined` if the key is not present. - * - * Unlike {@link LRUCache#dump}, which is designed to be portable and survive - * serialization, the `start` value is always the current timestamp, and the - * `ttl` is a calculated remaining time to live (negative if expired). - * - * Always returns stale values, if their info is found in the cache, so be - * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl}) - * if relevant. - */ - info(key) { - const i = this.#keyMap.get(key); - if (i === void 0) - return void 0; - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - return void 0; - const entry = { value }; - if (this.#ttls && this.#starts) { - const ttl = this.#ttls[i]; - const start = this.#starts[i]; - if (ttl && start) { - const remain = ttl - (perf.now() - start); - entry.ttl = remain; - entry.start = Date.now(); - } - } - if (this.#sizes) { - entry.size = this.#sizes[i]; - } - return entry; - } - /** - * Return an array of [key, {@link LRUCache.Entry}] tuples which can be - * passed to {@link LRLUCache#load}. - * - * The `start` fields are calculated relative to a portable `Date.now()` - * timestamp, even if `performance.now()` is available. - * - * Stale entries are always included in the `dump`, even if - * {@link LRUCache.OptionsBase.allowStale} is false. - * - * Note: this returns an actual array, not a generator, so it can be more - * easily passed around. - */ - dump() { - const arr = []; - for (const i of this.#indexes({ allowStale: true })) { - const key = this.#keyList[i]; - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0 || key === void 0) - continue; - const entry = { value }; - if (this.#ttls && this.#starts) { - entry.ttl = this.#ttls[i]; - const age = perf.now() - this.#starts[i]; - entry.start = Math.floor(Date.now() - age); - } - if (this.#sizes) { - entry.size = this.#sizes[i]; - } - arr.unshift([key, entry]); - } - return arr; - } - /** - * Reset the cache and load in the items in entries in the order listed. - * - * The shape of the resulting cache may be different if the same options are - * not used in both caches. - * - * The `start` fields are assumed to be calculated relative to a portable - * `Date.now()` timestamp, even if `performance.now()` is available. - */ - load(arr) { - this.clear(); - for (const [key, entry] of arr) { - if (entry.start) { - const age = Date.now() - entry.start; - entry.start = perf.now() - age; - } - this.set(key, entry.value, entry); - } - } - /** - * Add a value to the cache. - * - * Note: if `undefined` is specified as a value, this is an alias for - * {@link LRUCache#delete} - * - * Fields on the {@link LRUCache.SetOptions} options param will override - * their corresponding values in the constructor options for the scope - * of this single `set()` operation. - * - * If `start` is provided, then that will set the effective start - * time for the TTL calculation. Note that this must be a previous - * value of `performance.now()` if supported, or a previous value of - * `Date.now()` if not. - * - * Options object may also include `size`, which will prevent - * calling the `sizeCalculation` function and just use the specified - * number if it is a positive integer, and `noDisposeOnSet` which - * will prevent calling a `dispose` function in the case of - * overwrites. - * - * If the `size` (or return value of `sizeCalculation`) for a given - * entry is greater than `maxEntrySize`, then the item will not be - * added to the cache. - * - * Will update the recency of the entry. - * - * If the value is `undefined`, then this is an alias for - * `cache.delete(key)`. `undefined` is never stored in the cache. - */ - set(k, v, setOptions = {}) { - if (v === void 0) { - this.delete(k); - return this; - } - const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions; - let { noUpdateTTL = this.noUpdateTTL } = setOptions; - const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation); - if (this.maxEntrySize && size > this.maxEntrySize) { - if (status) { - status.set = "miss"; - status.maxEntrySizeExceeded = true; - } - this.#delete(k, "set"); - return this; - } - let index = this.#size === 0 ? void 0 : this.#keyMap.get(k); - if (index === void 0) { - index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size; - this.#keyList[index] = k; - this.#valList[index] = v; - this.#keyMap.set(k, index); - this.#next[this.#tail] = index; - this.#prev[index] = this.#tail; - this.#tail = index; - this.#size++; - this.#addItemSize(index, size, status); - if (status) - status.set = "add"; - noUpdateTTL = false; - } else { - this.#moveToTail(index); - const oldVal = this.#valList[index]; - if (v !== oldVal) { - if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) { - oldVal.__abortController.abort(new Error("replaced")); - const { __staleWhileFetching: s } = oldVal; - if (s !== void 0 && !noDisposeOnSet) { - if (this.#hasDispose) { - this.#dispose?.(s, k, "set"); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([s, k, "set"]); - } - } - } else if (!noDisposeOnSet) { - if (this.#hasDispose) { - this.#dispose?.(oldVal, k, "set"); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([oldVal, k, "set"]); - } - } - this.#removeItemSize(index); - this.#addItemSize(index, size, status); - this.#valList[index] = v; - if (status) { - status.set = "replace"; - const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal; - if (oldValue !== void 0) - status.oldValue = oldValue; - } - } else if (status) { - status.set = "update"; - } - } - if (ttl !== 0 && !this.#ttls) { - this.#initializeTTLTracking(); - } - if (this.#ttls) { - if (!noUpdateTTL) { - this.#setItemTTL(index, ttl, start); - } - if (status) - this.#statusTTL(status, index); - } - if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - return this; - } - /** - * Evict the least recently used item, returning its value or - * `undefined` if cache is empty. - */ - pop() { - try { - while (this.#size) { - const val = this.#valList[this.#head]; - this.#evict(true); - if (this.#isBackgroundFetch(val)) { - if (val.__staleWhileFetching) { - return val.__staleWhileFetching; - } - } else if (val !== void 0) { - return val; - } - } - } finally { - if (this.#hasDisposeAfter && this.#disposed) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - } - } - #evict(free) { - const head = this.#head; - const k = this.#keyList[head]; - const v = this.#valList[head]; - if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) { - v.__abortController.abort(new Error("evicted")); - } else if (this.#hasDispose || this.#hasDisposeAfter) { - if (this.#hasDispose) { - this.#dispose?.(v, k, "evict"); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([v, k, "evict"]); - } - } - this.#removeItemSize(head); - if (free) { - this.#keyList[head] = void 0; - this.#valList[head] = void 0; - this.#free.push(head); - } - if (this.#size === 1) { - this.#head = this.#tail = 0; - this.#free.length = 0; - } else { - this.#head = this.#next[head]; - } - this.#keyMap.delete(k); - this.#size--; - return head; - } - /** - * Check if a key is in the cache, without updating the recency of use. - * Will return false if the item is stale, even though it is technically - * in the cache. - * - * Check if a key is in the cache, without updating the recency of - * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set - * to `true` in either the options or the constructor. - * - * Will return `false` if the item is stale, even though it is technically in - * the cache. The difference can be determined (if it matters) by using a - * `status` argument, and inspecting the `has` field. - * - * Will not update item age unless - * {@link LRUCache.OptionsBase.updateAgeOnHas} is set. - */ - has(k, hasOptions = {}) { - const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions; - const index = this.#keyMap.get(k); - if (index !== void 0) { - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) { - return false; - } - if (!this.#isStale(index)) { - if (updateAgeOnHas) { - this.#updateItemAge(index); - } - if (status) { - status.has = "hit"; - this.#statusTTL(status, index); - } - return true; - } else if (status) { - status.has = "stale"; - this.#statusTTL(status, index); - } - } else if (status) { - status.has = "miss"; - } - return false; - } - /** - * Like {@link LRUCache#get} but doesn't update recency or delete stale - * items. - * - * Returns `undefined` if the item is stale, unless - * {@link LRUCache.OptionsBase.allowStale} is set. - */ - peek(k, peekOptions = {}) { - const { allowStale = this.allowStale } = peekOptions; - const index = this.#keyMap.get(k); - if (index === void 0 || !allowStale && this.#isStale(index)) { - return; - } - const v = this.#valList[index]; - return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - } - #backgroundFetch(k, index, options, context) { - const v = index === void 0 ? void 0 : this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - return v; - } - const ac = new AC(); - const { signal } = options; - signal?.addEventListener("abort", () => ac.abort(signal.reason), { - signal: ac.signal - }); - const fetchOpts = { - signal: ac.signal, - options, - context - }; - const cb = (v2, updateCache = false) => { - const { aborted } = ac.signal; - const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0; - if (options.status) { - if (aborted && !updateCache) { - options.status.fetchAborted = true; - options.status.fetchError = ac.signal.reason; - if (ignoreAbort) - options.status.fetchAbortIgnored = true; - } else { - options.status.fetchResolved = true; - } - } - if (aborted && !ignoreAbort && !updateCache) { - return fetchFail(ac.signal.reason); - } - const bf2 = p; - if (this.#valList[index] === p) { - if (v2 === void 0) { - if (bf2.__staleWhileFetching) { - this.#valList[index] = bf2.__staleWhileFetching; - } else { - this.#delete(k, "fetch"); - } - } else { - if (options.status) - options.status.fetchUpdated = true; - this.set(k, v2, fetchOpts.options); - } - } - return v2; - }; - const eb = (er) => { - if (options.status) { - options.status.fetchRejected = true; - options.status.fetchError = er; - } - return fetchFail(er); - }; - const fetchFail = (er) => { - const { aborted } = ac.signal; - const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; - const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; - const noDelete = allowStale || options.noDeleteOnFetchRejection; - const bf2 = p; - if (this.#valList[index] === p) { - const del = !noDelete || bf2.__staleWhileFetching === void 0; - if (del) { - this.#delete(k, "fetch"); - } else if (!allowStaleAborted) { - this.#valList[index] = bf2.__staleWhileFetching; - } - } - if (allowStale) { - if (options.status && bf2.__staleWhileFetching !== void 0) { - options.status.returnedStale = true; - } - return bf2.__staleWhileFetching; - } else if (bf2.__returned === bf2) { - throw er; - } - }; - const pcall = (res, rej) => { - const fmp = this.#fetchMethod?.(k, v, fetchOpts); - if (fmp && fmp instanceof Promise) { - fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej); - } - ac.signal.addEventListener("abort", () => { - if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) { - res(void 0); - if (options.allowStaleOnFetchAbort) { - res = (v2) => cb(v2, true); - } - } - }); - }; - if (options.status) - options.status.fetchDispatched = true; - const p = new Promise(pcall).then(cb, eb); - const bf = Object.assign(p, { - __abortController: ac, - __staleWhileFetching: v, - __returned: void 0 - }); - if (index === void 0) { - this.set(k, bf, { ...fetchOpts.options, status: void 0 }); - index = this.#keyMap.get(k); - } else { - this.#valList[index] = bf; - } - return bf; - } - #isBackgroundFetch(p) { - if (!this.#hasFetchMethod) - return false; - const b = p; - return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC; - } - async fetch(k, fetchOptions = {}) { - const { - // get options - allowStale = this.allowStale, - updateAgeOnGet = this.updateAgeOnGet, - noDeleteOnStaleGet = this.noDeleteOnStaleGet, - // set options - ttl = this.ttl, - noDisposeOnSet = this.noDisposeOnSet, - size = 0, - sizeCalculation = this.sizeCalculation, - noUpdateTTL = this.noUpdateTTL, - // fetch exclusive options - noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, - allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, - ignoreFetchAbort = this.ignoreFetchAbort, - allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, - context, - forceRefresh = false, - status, - signal - } = fetchOptions; - if (!this.#hasFetchMethod) { - if (status) - status.fetch = "get"; - return this.get(k, { - allowStale, - updateAgeOnGet, - noDeleteOnStaleGet, - status - }); - } - const options = { - allowStale, - updateAgeOnGet, - noDeleteOnStaleGet, - ttl, - noDisposeOnSet, - size, - sizeCalculation, - noUpdateTTL, - noDeleteOnFetchRejection, - allowStaleOnFetchRejection, - allowStaleOnFetchAbort, - ignoreFetchAbort, - status, - signal - }; - let index = this.#keyMap.get(k); - if (index === void 0) { - if (status) - status.fetch = "miss"; - const p = this.#backgroundFetch(k, index, options, context); - return p.__returned = p; - } else { - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - const stale = allowStale && v.__staleWhileFetching !== void 0; - if (status) { - status.fetch = "inflight"; - if (stale) - status.returnedStale = true; - } - return stale ? v.__staleWhileFetching : v.__returned = v; - } - const isStale = this.#isStale(index); - if (!forceRefresh && !isStale) { - if (status) - status.fetch = "hit"; - this.#moveToTail(index); - if (updateAgeOnGet) { - this.#updateItemAge(index); - } - if (status) - this.#statusTTL(status, index); - return v; - } - const p = this.#backgroundFetch(k, index, options, context); - const hasStale = p.__staleWhileFetching !== void 0; - const staleVal = hasStale && allowStale; - if (status) { - status.fetch = isStale ? "stale" : "refresh"; - if (staleVal && isStale) - status.returnedStale = true; - } - return staleVal ? p.__staleWhileFetching : p.__returned = p; - } - } - async forceFetch(k, fetchOptions = {}) { - const v = await this.fetch(k, fetchOptions); - if (v === void 0) - throw new Error("fetch() returned undefined"); - return v; - } - memo(k, memoOptions = {}) { - const memoMethod = this.#memoMethod; - if (!memoMethod) { - throw new Error("no memoMethod provided to constructor"); - } - const { context, forceRefresh, ...options } = memoOptions; - const v = this.get(k, options); - if (!forceRefresh && v !== void 0) - return v; - const vv = memoMethod(k, v, { - options, - context - }); - this.set(k, vv, options); - return vv; - } - /** - * Return a value from the cache. Will update the recency of the cache - * entry found. - * - * If the key is not found, get() will return `undefined`. - */ - get(k, getOptions = {}) { - const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions; - const index = this.#keyMap.get(k); - if (index !== void 0) { - const value = this.#valList[index]; - const fetching = this.#isBackgroundFetch(value); - if (status) - this.#statusTTL(status, index); - if (this.#isStale(index)) { - if (status) - status.get = "stale"; - if (!fetching) { - if (!noDeleteOnStaleGet) { - this.#delete(k, "expire"); - } - if (status && allowStale) - status.returnedStale = true; - return allowStale ? value : void 0; - } else { - if (status && allowStale && value.__staleWhileFetching !== void 0) { - status.returnedStale = true; - } - return allowStale ? value.__staleWhileFetching : void 0; - } - } else { - if (status) - status.get = "hit"; - if (fetching) { - return value.__staleWhileFetching; - } - this.#moveToTail(index); - if (updateAgeOnGet) { - this.#updateItemAge(index); - } - return value; - } - } else if (status) { - status.get = "miss"; - } - } - #connect(p, n) { - this.#prev[n] = p; - this.#next[p] = n; - } - #moveToTail(index) { - if (index !== this.#tail) { - if (index === this.#head) { - this.#head = this.#next[index]; - } else { - this.#connect(this.#prev[index], this.#next[index]); - } - this.#connect(this.#tail, index); - this.#tail = index; - } - } - /** - * Deletes a key out of the cache. - * - * Returns true if the key was deleted, false otherwise. - */ - delete(k) { - return this.#delete(k, "delete"); - } - #delete(k, reason) { - let deleted = false; - if (this.#size !== 0) { - const index = this.#keyMap.get(k); - if (index !== void 0) { - deleted = true; - if (this.#size === 1) { - this.#clear(reason); - } else { - this.#removeItemSize(index); - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - v.__abortController.abort(new Error("deleted")); - } else if (this.#hasDispose || this.#hasDisposeAfter) { - if (this.#hasDispose) { - this.#dispose?.(v, k, reason); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([v, k, reason]); - } - } - this.#keyMap.delete(k); - this.#keyList[index] = void 0; - this.#valList[index] = void 0; - if (index === this.#tail) { - this.#tail = this.#prev[index]; - } else if (index === this.#head) { - this.#head = this.#next[index]; - } else { - const pi = this.#prev[index]; - this.#next[pi] = this.#next[index]; - const ni = this.#next[index]; - this.#prev[ni] = this.#prev[index]; - } - this.#size--; - this.#free.push(index); - } - } - } - if (this.#hasDisposeAfter && this.#disposed?.length) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - return deleted; - } - /** - * Clear the cache entirely, throwing away all values. - */ - clear() { - return this.#clear("delete"); - } - #clear(reason) { - for (const index of this.#rindexes({ allowStale: true })) { - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - v.__abortController.abort(new Error("deleted")); - } else { - const k = this.#keyList[index]; - if (this.#hasDispose) { - this.#dispose?.(v, k, reason); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([v, k, reason]); - } - } - } - this.#keyMap.clear(); - this.#valList.fill(void 0); - this.#keyList.fill(void 0); - if (this.#ttls && this.#starts) { - this.#ttls.fill(0); - this.#starts.fill(0); - } - if (this.#sizes) { - this.#sizes.fill(0); - } - this.#head = 0; - this.#tail = 0; - this.#free.length = 0; - this.#calculatedSize = 0; - this.#size = 0; - if (this.#hasDisposeAfter && this.#disposed) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - } -}; - -// src/run/handlers/use-cache-handler.ts -import { getLogger } from "./request-context.cjs"; -import { - getMostRecentTagExpirationTimestamp, - isAnyTagStaleOrExpired, - markTagsAsStaleAndPurgeEdgeCache -} from "./tags-handler.cjs"; -import { getTracer, withActiveSpan } from "./tracer.cjs"; -var LRU_CACHE_GLOBAL_KEY = Symbol.for("nf-use-cache-handler-lru-cache"); -var PENDING_SETS_GLOBAL_KEY = Symbol.for("nf-use-cache-handler-pending-sets"); -var cacheHandlersSymbol = Symbol.for("@next/cache-handlers"); -var extendedGlobalThis = globalThis; -function getLRUCache() { - if (extendedGlobalThis[LRU_CACHE_GLOBAL_KEY]) { - return extendedGlobalThis[LRU_CACHE_GLOBAL_KEY]; - } - const lruCache = new LRUCache({ - max: 1e3, - maxSize: 50 * 1024 * 1024, - // same as hardcoded default in Next.js - sizeCalculation: (value) => value.size - }); - extendedGlobalThis[LRU_CACHE_GLOBAL_KEY] = lruCache; - return lruCache; -} -function getPendingSets() { - if (extendedGlobalThis[PENDING_SETS_GLOBAL_KEY]) { - return extendedGlobalThis[PENDING_SETS_GLOBAL_KEY]; - } - const pendingSets = /* @__PURE__ */ new Map(); - extendedGlobalThis[PENDING_SETS_GLOBAL_KEY] = pendingSets; - return pendingSets; -} -var tmpResolvePendingBeforeCreatingAPromise = () => { -}; -var NetlifyDefaultUseCacheHandler = { - get(cacheKey) { - return withActiveSpan( - getTracer(), - "DefaultUseCacheHandler.get", - async (span) => { - getLogger().withFields({ cacheKey }).debug(`[NetlifyDefaultUseCacheHandler] get`); - span?.setAttributes({ - cacheKey - }); - const pendingPromise = getPendingSets().get(cacheKey); - if (pendingPromise) { - await pendingPromise; - } - const privateEntry = getLRUCache().get(cacheKey); - if (!privateEntry) { - getLogger().withFields({ cacheKey, status: "MISS" }).debug(`[NetlifyDefaultUseCacheHandler] get result`); - span?.setAttributes({ - cacheStatus: "miss" - }); - return void 0; - } - const { entry } = privateEntry; - const ttl = (entry.timestamp + entry.revalidate * 1e3 - Date.now()) / 1e3; - if (ttl < 0) { - getLogger().withFields({ cacheKey, ttl, status: "STALE" }).debug(`[NetlifyDefaultUseCacheHandler] get result`); - span?.setAttributes({ - cacheStatus: "expired, discarded", - ttl - }); - return void 0; - } - const { stale, expired } = await isAnyTagStaleOrExpired(entry.tags, entry.timestamp); - if (expired) { - getLogger().withFields({ cacheKey, ttl, status: "EXPIRED BY TAG" }).debug(`[NetlifyDefaultUseCacheHandler] get result`); - span?.setAttributes({ - cacheStatus: "expired tag, discarded", - ttl - }); - return void 0; - } - let { revalidate, value } = entry; - if (stale) { - revalidate = -1; - } - const [returnStream, newSaved] = value.tee(); - entry.value = newSaved; - getLogger().withFields({ cacheKey, ttl, status: stale ? "STALE" : "HIT" }).debug(`[NetlifyDefaultUseCacheHandler] get result`); - span?.setAttributes({ - cacheStatus: stale ? "stale" : "hit", - ttl - }); - return { - ...entry, - revalidate, - value: returnStream - }; - } - ); - }, - set(cacheKey, pendingEntry) { - return withActiveSpan( - getTracer(), - "DefaultUseCacheHandler.set", - async (span) => { - getLogger().withFields({ cacheKey }).debug(`[NetlifyDefaultUseCacheHandler]: set`); - span?.setAttributes({ - cacheKey - }); - let resolvePending = tmpResolvePendingBeforeCreatingAPromise; - const pendingPromise = new Promise((resolve) => { - resolvePending = resolve; - }); - const pendingSets = getPendingSets(); - pendingSets.set(cacheKey, pendingPromise); - const entry = await pendingEntry; - span?.setAttributes({ - cacheKey - }); - let size = 0; - try { - const [value, clonedValue] = entry.value.tee(); - entry.value = value; - const reader = clonedValue.getReader(); - for (let chunk; !(chunk = await reader.read()).done; ) { - size += Buffer.from(chunk.value).byteLength; - } - span?.setAttributes({ - tags: entry.tags, - timestamp: entry.timestamp, - revalidate: entry.revalidate, - expire: entry.expire - }); - getLRUCache().set(cacheKey, { - entry, - size - }); - } catch (error) { - getLogger().withError(error).error("[NetlifyDefaultUseCacheHandler.set] error"); - } finally { - resolvePending(); - pendingSets.delete(cacheKey); - } - } - ); - }, - async refreshTags() { - }, - getExpiration: function(...notNormalizedTags) { - return withActiveSpan( - getTracer(), - "DefaultUseCacheHandler.getExpiration", - async (span) => { - const tags = notNormalizedTags.flat(); - span?.setAttributes({ - tags - }); - const expiration = await getMostRecentTagExpirationTimestamp(tags); - getLogger().withFields({ tags, expiration }).debug(`[NetlifyDefaultUseCacheHandler] getExpiration`); - span?.setAttributes({ - expiration - }); - return expiration; - } - ); - }, - // this is for CacheHandlerV2 - expireTags(...tags) { - return withActiveSpan( - getTracer(), - "DefaultUseCacheHandler.expireTags", - async (span) => { - getLogger().withFields({ tags }).debug(`[NetlifyDefaultUseCacheHandler] expireTags`); - span?.setAttributes({ - tags - }); - await markTagsAsStaleAndPurgeEdgeCache(tags); - } - ); - }, - // this is for CacheHandlerV3 / Next 16 - updateTags(tags, durations) { - return withActiveSpan( - getTracer(), - "DefaultUseCacheHandler.updateTags", - async (span) => { - getLogger().withFields({ tags, durations }).debug(`[NetlifyDefaultUseCacheHandler] updateTags`); - span?.setAttributes({ - tags, - durations: JSON.stringify(durations) - }); - await markTagsAsStaleAndPurgeEdgeCache(tags, durations); - } - ); - } -}; -function configureUseCacheHandlers() { - extendedGlobalThis[cacheHandlersSymbol] = { - DefaultCache: NetlifyDefaultUseCacheHandler - }; -} -export { - NetlifyDefaultUseCacheHandler, - configureUseCacheHandlers -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/wait-until.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/wait-until.cjs deleted file mode 100644 index 65ac2a7..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/handlers/wait-until.cjs +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/handlers/wait-until.cts -var wait_until_exports = {}; -__export(wait_until_exports, { - setupWaitUntil: () => setupWaitUntil -}); -module.exports = __toCommonJS(wait_until_exports); -var import_request_context = require("./request-context.cjs"); -var NEXT_REQUEST_CONTEXT_SYMBOL = Symbol.for("@next/request-context"); -function setupWaitUntil() { - ; - globalThis[NEXT_REQUEST_CONTEXT_SYMBOL] = { - get() { - return { waitUntil: (0, import_request_context.getRequestContext)()?.trackBackgroundWork }; - } - }; -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - setupWaitUntil -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/headers.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/headers.js deleted file mode 100644 index 3912536..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/headers.js +++ /dev/null @@ -1,218 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/run/headers.ts -import { recordWarning } from "./handlers/tracer.cjs"; -import { getMemoizedKeyValueStoreBackedByRegionalBlobStore } from "./storage/storage.cjs"; -var ALL_VARIATIONS = Symbol.for("ALL_VARIATIONS"); -var NetlifyVaryKeys = /* @__PURE__ */ new Set(["header", "language", "cookie", "query", "country"]); -var isNetlifyVaryKey = (key) => NetlifyVaryKeys.has(key); -var generateNetlifyVaryValues = ({ - header, - language, - cookie, - query, - country -}) => { - const values = []; - if (query.length !== 0) { - if (query.includes(ALL_VARIATIONS)) { - values.push(`query`); - } else { - values.push(`query=${query.join(`|`)}`); - } - } - if (header.length !== 0) { - const uniqueHeaderNames = [ - ...new Set( - header.map( - (headerName) => ( - // header names are case insensitive - headerName.toLowerCase() - ) - ) - ) - ]; - values.push(`header=${uniqueHeaderNames.join(`|`)}`); - } - if (language.length !== 0) { - values.push(`language=${language.join(`|`)}`); - } - if (cookie.length !== 0) { - values.push(`cookie=${cookie.join(`|`)}`); - } - if (country.length !== 0) { - values.push(`country=${country.join(`|`)}`); - } - return values.join(","); -}; -var getHeaderValueArray = (header) => { - return header.split(",").map((value) => value.trim()).filter(Boolean); -}; -var omitHeaderValues = (header, values) => { - const headerValues = getHeaderValueArray(header); - const filteredValues = headerValues.filter( - (value) => !values.some((val) => value.startsWith(val)) - ); - return filteredValues.join(", "); -}; -var setVaryHeaders = (headers, request, { basePath, i18n }) => { - const netlifyVaryValues = { - header: [ - "x-nextjs-data", - "x-next-debug-logging", - // using _rsc query param might not be enough because it is stripped for middleware redirect and rewrites - // so adding all request headers that are used to produce the _rsc query param - // https://github.com/vercel/next.js/blob/e5fe535ed17cee5e1d5576ccc33e4c49b5da1273/packages/next/src/client/components/router-reducer/set-cache-busting-search-param.ts#L32-L39 - "Next-Router-Prefetch", - "Next-Router-Segment-Prefetch", - "Next-Router-State-Tree", - "Next-Url", - // and exact header that actually instruct Next.js to produce RSC response - "RSC" - ], - language: [], - cookie: ["__prerender_bypass", "__next_preview_data"], - query: ["__nextDataReq", "_rsc"], - country: [] - }; - const vary = headers.get("vary"); - if (vary !== null) { - netlifyVaryValues.header.push(...getHeaderValueArray(vary)); - } - const path = new URL(request.url).pathname; - const locales = i18n && i18n.localeDetection !== false ? i18n.locales : []; - if (locales.length > 1 && (path === "/" || path === basePath)) { - netlifyVaryValues.language.push(...locales); - netlifyVaryValues.cookie.push(`NEXT_LOCALE`); - } - const userNetlifyVary = headers.get("netlify-vary"); - if (userNetlifyVary) { - const directives = getHeaderValueArray(userNetlifyVary); - for (const directive of directives) { - const [key, value] = directive.split("="); - if (key === "query" && !value) { - netlifyVaryValues.query.push(ALL_VARIATIONS); - } else if (value && isNetlifyVaryKey(key)) { - netlifyVaryValues[key].push(...value.split("|")); - } - } - } - headers.set(`netlify-vary`, generateNetlifyVaryValues(netlifyVaryValues)); -}; -var adjustDateHeader = async ({ - headers, - request, - span, - requestContext -}) => { - const key = new URL(request.url).pathname; - let lastModified; - if (requestContext.responseCacheGetLastModified) { - lastModified = requestContext.responseCacheGetLastModified; - } else { - recordWarning( - new Error("lastModified not found in requestContext, falling back to trying blobs"), - span - ); - const cacheStore = getMemoizedKeyValueStoreBackedByRegionalBlobStore({ consistency: "strong" }); - const cacheEntry = await cacheStore.get( - key, - "get cache to calculate date header" - ); - lastModified = cacheEntry?.lastModified; - } - if (!lastModified) { - recordWarning( - new Error( - "lastModified not found in either requestContext or blobs, date header for cached response is not set" - ), - span - ); - return; - } - const lastModifiedDate = new Date(lastModified); - headers.set("x-nextjs-date", headers.get("date") ?? lastModifiedDate.toUTCString()); - headers.set("date", lastModifiedDate.toUTCString()); -}; -function setCacheControlFromRequestContext(headers, revalidate) { - const cdnCacheControl = ( - // if we are serving already stale response, instruct edge to not attempt to cache that response - headers.get("x-nextjs-cache") === "STALE" ? "public, max-age=0, must-revalidate, durable" : `s-maxage=${revalidate || 31536e3}, stale-while-revalidate=31536000, durable` - ); - headers.set("netlify-cdn-cache-control", cdnCacheControl); -} -var setCacheControlHeaders = ({ headers, status }, request, requestContext) => { - if (typeof requestContext.routeHandlerRevalidate !== "undefined" && ["GET", "HEAD"].includes(request.method) && !headers.has("cdn-cache-control") && !headers.has("netlify-cdn-cache-control")) { - setCacheControlFromRequestContext(headers, requestContext.routeHandlerRevalidate); - return; - } - if (status === 404) { - if (request.url.endsWith(".php")) { - headers.set("cache-control", "public, max-age=0, must-revalidate"); - headers.set("netlify-cdn-cache-control", `max-age=31536000, durable`); - return; - } - if (process.env.CACHE_404_PAGE && request.url.endsWith("/404") && ["GET", "HEAD"].includes(request.method)) { - setCacheControlFromRequestContext(headers, requestContext.pageHandlerRevalidate); - return; - } - } - const cacheControl = headers.get("cache-control"); - if (cacheControl !== null && ["GET", "HEAD"].includes(request.method) && !headers.has("cdn-cache-control") && !headers.has("netlify-cdn-cache-control")) { - const browserCacheControl = omitHeaderValues(cacheControl, [ - "s-maxage", - "stale-while-revalidate" - ]); - const cdnCacheControl = ( - // if we are serving already stale response, instruct edge to not attempt to cache that response - headers.get("x-nextjs-cache") === "STALE" ? "public, max-age=0, must-revalidate, durable" : [ - ...getHeaderValueArray(cacheControl).map( - (value) => value === "stale-while-revalidate" ? "stale-while-revalidate=31536000" : value - ), - "durable" - ].join(", ") - ); - headers.set("cache-control", browserCacheControl || "public, max-age=0, must-revalidate"); - headers.set("netlify-cdn-cache-control", cdnCacheControl); - return; - } - if (cacheControl === null && ["GET", "HEAD"].includes(request.method) && !headers.has("cdn-cache-control") && !headers.has("netlify-cdn-cache-control") && requestContext.usedFsReadForNonFallback && !requestContext.didPagesRouterOnDemandRevalidate) { - headers.set("cache-control", "public, max-age=0, must-revalidate"); - headers.set("netlify-cdn-cache-control", `max-age=31536000, durable`); - } -}; -var setCacheTagsHeaders = (headers, requestContext) => { - if (!headers.has("cache-control") && !headers.has("netlify-cdn-cache-control")) { - return; - } - if (requestContext.responseCacheTags) { - headers.set("netlify-cache-tag", requestContext.responseCacheTags.join(",")); - } -}; -var NEXT_CACHE_TO_CACHE_STATUS = { - HIT: `hit`, - MISS: `fwd=miss`, - STALE: `hit; fwd=stale` -}; -var setCacheStatusHeader = (headers, nextCache) => { - if (typeof nextCache === "string") { - if (nextCache in NEXT_CACHE_TO_CACHE_STATUS) { - const cacheStatus = NEXT_CACHE_TO_CACHE_STATUS[nextCache]; - headers.set("cache-status", `"Next.js"; ${cacheStatus}`); - } - headers.delete("x-nextjs-cache"); - } -}; -export { - adjustDateHeader, - setCacheControlHeaders, - setCacheStatusHeader, - setCacheTagsHeaders, - setVaryHeaders -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/next.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/next.cjs deleted file mode 100644 index 0a81261..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/next.cjs +++ /dev/null @@ -1,590 +0,0 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// node_modules/fs-monkey/lib/util/lists.js -var require_lists = __commonJS({ - "node_modules/fs-monkey/lib/util/lists.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.fsSyncMethods = exports2.fsProps = exports2.fsAsyncMethods = void 0; - var fsProps = exports2.fsProps = ["constants", "F_OK", "R_OK", "W_OK", "X_OK", "Stats"]; - var fsSyncMethods = exports2.fsSyncMethods = ["renameSync", "ftruncateSync", "truncateSync", "chownSync", "fchownSync", "lchownSync", "chmodSync", "fchmodSync", "lchmodSync", "statSync", "lstatSync", "fstatSync", "linkSync", "symlinkSync", "readlinkSync", "realpathSync", "unlinkSync", "rmdirSync", "mkdirSync", "mkdirpSync", "readdirSync", "closeSync", "openSync", "utimesSync", "futimesSync", "fsyncSync", "writeSync", "readSync", "readFileSync", "writeFileSync", "appendFileSync", "existsSync", "accessSync", "fdatasyncSync", "mkdtempSync", "copyFileSync", "rmSync", "createReadStream", "createWriteStream"]; - var fsAsyncMethods = exports2.fsAsyncMethods = ["rename", "ftruncate", "truncate", "chown", "fchown", "lchown", "chmod", "fchmod", "lchmod", "stat", "lstat", "fstat", "link", "symlink", "readlink", "realpath", "unlink", "rmdir", "mkdir", "mkdirp", "readdir", "close", "open", "utimes", "futimes", "fsync", "write", "read", "readFile", "writeFile", "appendFile", "exists", "access", "fdatasync", "mkdtemp", "copyFile", "rm", "watchFile", "unwatchFile", "watch"]; - } -}); - -// node_modules/fs-monkey/lib/patchFs.js -var require_patchFs = __commonJS({ - "node_modules/fs-monkey/lib/patchFs.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2["default"] = patchFs2; - var _lists = require_lists(); - function _createForOfIteratorHelper(r, e) { - var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (!t) { - if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { - t && (r = t); - var _n = 0, F = function F2() { - }; - return { s: F, n: function n() { - return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; - }, e: function e2(r2) { - throw r2; - }, f: F }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var o, a = true, u = false; - return { s: function s() { - t = t.call(r); - }, n: function n() { - var r2 = t.next(); - return a = r2.done, r2; - }, e: function e2(r2) { - u = true, o = r2; - }, f: function f() { - try { - a || null == t["return"] || t["return"](); - } finally { - if (u) throw o; - } - } }; - } - function _unsupportedIterableToArray(r, a) { - if (r) { - if ("string" == typeof r) return _arrayLikeToArray(r, a); - var t = {}.toString.call(r).slice(8, -1); - return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; - } - } - function _arrayLikeToArray(r, a) { - (null == a || a > r.length) && (a = r.length); - for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; - return n; - } - function patchFs2(vol) { - var fs2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : require("fs"); - var bkp = {}; - var patch = function patch2(key, newValue) { - bkp[key] = fs2[key]; - fs2[key] = newValue; - }; - var patchMethod = function patchMethod2(key) { - return patch(key, vol[key].bind(vol)); - }; - var _iterator = _createForOfIteratorHelper(_lists.fsProps), _step; - try { - for (_iterator.s(); !(_step = _iterator.n()).done; ) { - var prop = _step.value; - if (typeof vol[prop] !== "undefined") patch(prop, vol[prop]); - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - if (typeof vol.StatWatcher === "function") { - patch("StatWatcher", vol.FSWatcher.bind(null, vol)); - } - if (typeof vol.FSWatcher === "function") { - patch("FSWatcher", vol.StatWatcher.bind(null, vol)); - } - if (typeof vol.ReadStream === "function") { - patch("ReadStream", vol.ReadStream.bind(null, vol)); - } - if (typeof vol.WriteStream === "function") { - patch("WriteStream", vol.WriteStream.bind(null, vol)); - } - if (typeof vol._toUnixTimestamp === "function") patchMethod("_toUnixTimestamp"); - var _iterator2 = _createForOfIteratorHelper(_lists.fsAsyncMethods), _step2; - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { - var method = _step2.value; - if (typeof vol[method] === "function") patchMethod(method); - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - var _iterator3 = _createForOfIteratorHelper(_lists.fsSyncMethods), _step3; - try { - for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) { - var _method = _step3.value; - if (typeof vol[_method] === "function") patchMethod(_method); - } - } catch (err) { - _iterator3.e(err); - } finally { - _iterator3.f(); - } - var promisesBackup; - try { - promisesBackup = fs2.promises; - Object.defineProperty(fs2, "promises", { - get: function get2() { - return vol.promises; - } - }); - } catch (_unused) { - } - return function unpatch() { - for (var key in bkp) fs2[key] = bkp[key]; - if (promisesBackup) { - Object.defineProperty(fs2, "promises", { - get: function get2() { - return promisesBackup; - } - }); - } - }; - } - } -}); - -// node_modules/fs-monkey/lib/correctPath.js -var require_correctPath = __commonJS({ - "node_modules/fs-monkey/lib/correctPath.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2.correctPath = correctPath; - exports2.unixify = unixify; - var isWin = process.platform === "win32"; - function removeTrailingSeparator(str) { - var i = str.length - 1; - if (i < 2) { - return str; - } - while (isSeparator(str, i)) { - i--; - } - return str.substr(0, i + 1); - } - function isSeparator(str, i) { - var _char = str[i]; - return i > 0 && (_char === "/" || isWin && _char === "\\"); - } - function normalizePath(str, stripTrailing) { - if (typeof str !== "string") { - throw new TypeError("expected a string"); - } - str = str.replace(/[\\\/]+/g, "/"); - if (stripTrailing !== false) { - str = removeTrailingSeparator(str); - } - return str; - } - function unixify(filepath) { - var stripTrailing = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; - if (isWin) { - filepath = normalizePath(filepath, stripTrailing); - return filepath.replace(/^([a-zA-Z]+:|\.\/)/, ""); - } - return filepath; - } - function correctPath(filepath) { - return unixify(filepath.replace(/^\\\\\?\\.:\\/, "\\")); - } - } -}); - -// node_modules/fs-monkey/lib/patchRequire.js -var require_patchRequire = __commonJS({ - "node_modules/fs-monkey/lib/patchRequire.js"(exports2) { - "use strict"; - function _typeof(o) { - "@babel/helpers - typeof"; - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { - return typeof o2; - } : function(o2) { - return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof(o); - } - Object.defineProperty(exports2, "__esModule", { - value: true - }); - exports2["default"] = patchRequire; - var path = _interopRequireWildcard(require("path")); - function _interopRequireWildcard(e, t) { - if ("function" == typeof WeakMap) var r = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakMap(); - return (_interopRequireWildcard = function _interopRequireWildcard2(e2, t2) { - if (!t2 && e2 && e2.__esModule) return e2; - var o, i, f = { __proto__: null, "default": e2 }; - if (null === e2 || "object" != _typeof(e2) && "function" != typeof e2) return f; - if (o = t2 ? n : r) { - if (o.has(e2)) return o.get(e2); - o.set(e2, f); - } - for (var _t in e2) "default" !== _t && {}.hasOwnProperty.call(e2, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e2, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e2[_t]); - return f; - })(e, t); - } - var isWin32 = process.platform === "win32"; - var correctPath = isWin32 ? require_correctPath().correctPath : function(p) { - return p; - }; - function stripBOM(content) { - if (content.charCodeAt(0) === 65279) { - content = content.slice(1); - } - return content; - } - function patchRequire(vol) { - var unixifyPaths = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; - var Module = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : require("module"); - if (isWin32 && unixifyPaths) { - var original = vol; - vol = { - readFileSync: function readFileSync(path2, options) { - return original.readFileSync(correctPath(path2), options); - }, - realpathSync: function realpathSync(path2) { - return original.realpathSync(correctPath(path2)); - }, - statSync: function statSync(path2) { - return original.statSync(correctPath(path2)); - } - }; - } - function internalModuleReadFile(path2) { - try { - return vol.readFileSync(path2, "utf8"); - } catch (err) { - } - } - function internalModuleStat(filename) { - try { - return vol.statSync(filename).isDirectory() ? 1 : 0; - } catch (err) { - return -2; - } - } - function stat(filename) { - filename = path._makeLong(filename); - var cache = stat.cache; - if (cache !== null) { - var _result = cache.get(filename); - if (_result !== void 0) return _result; - } - var result = internalModuleStat(filename); - if (cache !== null) cache.set(filename, result); - return result; - } - stat.cache = null; - var preserveSymlinks = false; - function toRealPath(requestPath) { - return vol.realpathSync(requestPath); - } - var packageMainCache = /* @__PURE__ */ Object.create(null); - function readPackage(requestPath) { - var entry = packageMainCache[requestPath]; - if (entry) return entry; - var jsonPath = path.resolve(requestPath, "package.json"); - var json = internalModuleReadFile(path._makeLong(jsonPath)); - if (json === void 0) { - return false; - } - var pkg; - try { - var pkgJson = JSON.parse(json); - pkg = packageMainCache[requestPath] = pkgJson.exports && pkgJson.exports.require || pkgJson.main; - } catch (e) { - e.path = jsonPath; - e.message = "Error parsing " + jsonPath + ": " + e.message; - throw e; - } - return pkg; - } - function tryFile(requestPath, isMain) { - var rc = stat(requestPath); - if (preserveSymlinks && !isMain) { - return rc === 0 && path.resolve(requestPath); - } - return rc === 0 && toRealPath(requestPath); - } - function tryExtensions(p, exts, isMain) { - for (var i = 0; i < exts.length; i++) { - var filename = tryFile(p + exts[i], isMain); - if (filename) { - return filename; - } - } - return false; - } - function tryPackage(requestPath, exts, isMain) { - var pkg = readPackage(requestPath); - if (!pkg) return false; - var filename = path.resolve(requestPath, pkg); - return tryFile(filename, isMain) || tryExtensions(filename, exts, isMain) || tryExtensions(path.resolve(filename, "index"), exts, isMain); - } - Module._extensions[".js"] = function(module3, filename) { - var content = vol.readFileSync(filename, "utf8"); - module3._compile(stripBOM(content), filename); - }; - Module._extensions[".json"] = function(module3, filename) { - var content = vol.readFileSync(filename, "utf8"); - try { - module3.exports = JSON.parse(stripBOM(content)); - } catch (err) { - err.message = filename + ": " + err.message; - throw err; - } - }; - var warned = true; - Module._findPath = function(request, paths, isMain) { - if (path.isAbsolute(request)) { - paths = [""]; - } else if (!paths || paths.length === 0) { - return false; - } - var cacheKey = request + "\0" + (paths.length === 1 ? paths[0] : paths.join("\0")); - var entry = Module._pathCache[cacheKey]; - if (entry) return entry; - var exts; - var trailingSlash = request.length > 0 && request.charCodeAt(request.length - 1) === 47; - for (var i = 0; i < paths.length; i++) { - var curPath = paths[i]; - if (curPath && stat(curPath) < 1) continue; - var basePath = correctPath(path.resolve(curPath, request)); - var filename; - var rc = stat(basePath); - if (!trailingSlash) { - if (rc === 0) { - if (preserveSymlinks && !isMain) { - filename = path.resolve(basePath); - } else { - filename = toRealPath(basePath); - } - } else if (rc === 1) { - if (exts === void 0) exts = Object.keys(Module._extensions); - filename = tryPackage(basePath, exts, isMain); - } - if (!filename) { - if (exts === void 0) exts = Object.keys(Module._extensions); - filename = tryExtensions(basePath, exts, isMain); - } - } - if (!filename && rc === 1) { - if (exts === void 0) exts = Object.keys(Module._extensions); - filename = tryPackage(basePath, exts, isMain); - } - if (!filename && rc === 1) { - if (exts === void 0) exts = Object.keys(Module._extensions); - filename = tryExtensions(path.resolve(basePath, "index"), exts, isMain); - } - if (filename) { - if (request === "." && i > 0) { - if (!warned) { - warned = true; - process.emitWarning("warning: require('.') resolved outside the package directory. This functionality is deprecated and will be removed soon.", "DeprecationWarning", "DEP0019"); - } - } - Module._pathCache[cacheKey] = filename; - return filename; - } - } - return false; - }; - } - } -}); - -// node_modules/fs-monkey/lib/index.js -var require_lib = __commonJS({ - "node_modules/fs-monkey/lib/index.js"(exports2) { - "use strict"; - function _typeof(o) { - "@babel/helpers - typeof"; - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { - return typeof o2; - } : function(o2) { - return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof(o); - } - Object.defineProperty(exports2, "__esModule", { - value: true - }); - Object.defineProperty(exports2, "patchFs", { - enumerable: true, - get: function get2() { - return _patchFs["default"]; - } - }); - Object.defineProperty(exports2, "patchRequire", { - enumerable: true, - get: function get2() { - return _patchRequire["default"]; - } - }); - Object.defineProperty(exports2, "unixify", { - enumerable: true, - get: function get2() { - return _correctPath.unixify; - } - }); - exports2.util = void 0; - var _patchFs = _interopRequireDefault(require_patchFs()); - var _patchRequire = _interopRequireDefault(require_patchRequire()); - var _correctPath = require_correctPath(); - var util = _interopRequireWildcard(require_lists()); - exports2.util = util; - function _interopRequireWildcard(e, t) { - if ("function" == typeof WeakMap) var r = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakMap(); - return (_interopRequireWildcard = function _interopRequireWildcard2(e2, t2) { - if (!t2 && e2 && e2.__esModule) return e2; - var o, i, f = { __proto__: null, "default": e2 }; - if (null === e2 || "object" != _typeof(e2) && "function" != typeof e2) return f; - if (o = t2 ? n : r) { - if (o.has(e2)) return o.get(e2); - o.set(e2, f); - } - for (var _t in e2) "default" !== _t && {}.hasOwnProperty.call(e2, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e2, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e2[_t]); - return f; - })(e, t); - } - function _interopRequireDefault(e) { - return e && e.__esModule ? e : { "default": e }; - } - } -}); - -// src/run/next.cts -var next_exports = {}; -__export(next_exports, { - getMockedRequestHandler: () => getMockedRequestHandler -}); -module.exports = __toCommonJS(next_exports); -var import_node_async_hooks = require("node:async_hooks"); -var import_promises = __toESM(require("node:fs/promises")); -var import_node_path = require("node:path"); -var import_fs_monkey = __toESM(require_lib()); -var import_request_context = require("./handlers/request-context.cjs"); -var import_tracer = require("./handlers/tracer.cjs"); -var import_storage = require("./storage/storage.cjs"); -process.env.NODE_ENV = "production"; -process.env.NEXT_OTEL_FETCH_DISABLED = "1"; -var { getRequestHandlers } = require("next/dist/server/lib/start-server.js"); -var ResponseCache = require("next/dist/server/response-cache/index.js").default; -var originalGet = ResponseCache.prototype.get; -ResponseCache.prototype.get = function get(...getArgs) { - if (!this.didAddBackgroundWorkTracking) { - if (typeof this.batcher !== "undefined") { - const originalBatcherBatch = this.batcher.batch; - this.batcher.batch = async (key, fn) => { - const trackedFn = async (...workFnArgs) => { - const workPromise = fn(...workFnArgs); - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext && workPromise instanceof Promise) { - requestContext.trackBackgroundWork(workPromise); - } - return await workPromise; - }; - return originalBatcherBatch.call(this.batcher, key, trackedFn); - }; - } else if (typeof this.pendingResponses !== "undefined") { - const backgroundWork = /* @__PURE__ */ new Map(); - const originalPendingResponsesSet = this.pendingResponses.set; - this.pendingResponses.set = async (key, value) => { - const requestContext = (0, import_request_context.getRequestContext)(); - if (requestContext && !this.pendingResponses.has(key)) { - const workPromise = new Promise((_resolve) => { - backgroundWork.set(key, _resolve); - }); - requestContext.trackBackgroundWork(workPromise); - } - return originalPendingResponsesSet.call(this.pendingResponses, key, value); - }; - const originalPendingResponsesDelete = this.pendingResponses.delete; - this.pendingResponses.delete = async (key) => { - const _resolve = backgroundWork.get(key); - if (_resolve) { - _resolve(); - } - return originalPendingResponsesDelete.call(this.pendingResponses, key); - }; - } - this.didAddBackgroundWorkTracking = true; - } - return originalGet.apply(this, getArgs); -}; -async function getMockedRequestHandler(nextConfig, ...args) { - const initContext = { initializingServer: true }; - const initAsyncLocalStorage = new import_node_async_hooks.AsyncLocalStorage(); - return (0, import_tracer.withActiveSpan)((0, import_tracer.getTracer)(), "mocked request handler", async () => { - const ofs = { ...import_promises.default }; - async function readFileFallbackBlobStore(...fsargs) { - const [path, options] = fsargs; - try { - return await ofs.readFile(path, options); - } catch (error) { - if (typeof path === "string" && path.endsWith(".html")) { - const cacheStore = (0, import_storage.getMemoizedKeyValueStoreBackedByRegionalBlobStore)(); - const relPath = (0, import_node_path.relative)((0, import_node_path.resolve)(nextConfig.distDir, "server/pages"), path); - const file = await cacheStore.get(relPath, "staticHtml.get"); - if (file !== null) { - if (file.isFullyStaticPage) { - const requestContext = (0, import_request_context.getRequestContext)(); - const { initializingServer } = initAsyncLocalStorage.getStore() ?? {}; - if (!initializingServer && requestContext) { - requestContext.usedFsReadForNonFallback = true; - } - } - return file.html; - } - } - throw error; - } - } - (0, import_fs_monkey.patchFs)( - { - readFile: readFileFallbackBlobStore - }, - // eslint-disable-next-line n/global-require, @typescript-eslint/no-var-requires - require("fs").promises - ); - const requestHandlers = await initAsyncLocalStorage.run(initContext, async () => { - return await getRequestHandlers(...args); - }); - return Array.isArray(requestHandlers) ? requestHandlers[0] : requestHandlers.requestHandler; - }); -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - getMockedRequestHandler -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/revalidate.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/revalidate.js deleted file mode 100644 index d58b28f..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/revalidate.js +++ /dev/null @@ -1,34 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/run/revalidate.ts -import { isPromise } from "node:util/types"; -function isRevalidateMethod(key, nextResponseField) { - return key === "revalidate" && typeof nextResponseField === "function"; -} -var nextResponseProxy = (response, requestContext) => { - return new Proxy(response, { - get(target, key) { - const originalValue = Reflect.get(target, key); - if (isRevalidateMethod(key, originalValue)) { - return function newRevalidate(...args) { - requestContext.didPagesRouterOnDemandRevalidate = true; - const result = originalValue.apply(target, args); - if (result && isPromise(result)) { - requestContext.trackBackgroundWork(result); - } - return result; - }; - } - return originalValue; - } - }); -}; -export { - nextResponseProxy -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/regional-blob-store.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/regional-blob-store.cjs deleted file mode 100644 index b664d73..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/regional-blob-store.cjs +++ /dev/null @@ -1,832 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/storage/regional-blob-store.cts -var regional_blob_store_exports = {}; -__export(regional_blob_store_exports, { - getRegionalBlobStore: () => getRegionalBlobStore, - setFetchBeforeNextPatchedIt: () => setFetchBeforeNextPatchedIt -}); -module.exports = __toCommonJS(regional_blob_store_exports); - -// node_modules/@netlify/runtime-utils/dist/main.js -var getString = (input) => typeof input === "string" ? input : JSON.stringify(input); -var base64Decode = globalThis.Buffer ? (input) => Buffer.from(input, "base64").toString() : (input) => atob(input); -var base64Encode = globalThis.Buffer ? (input) => Buffer.from(getString(input)).toString("base64") : (input) => btoa(getString(input)); - -// node_modules/@netlify/blobs/dist/chunk-HN33TXZT.js -var getEnvironment = () => { - const { Deno, Netlify, process: process2 } = globalThis; - return Netlify?.env ?? Deno?.env ?? { - delete: (key) => delete process2?.env[key], - get: (key) => process2?.env[key], - has: (key) => Boolean(process2?.env[key]), - set: (key, value) => { - if (process2?.env) { - process2.env[key] = value; - } - }, - toObject: () => process2?.env ?? {} - }; -}; -var getEnvironmentContext = () => { - const context = globalThis.netlifyBlobsContext || getEnvironment().get("NETLIFY_BLOBS_CONTEXT"); - if (typeof context !== "string" || !context) { - return {}; - } - const data = base64Decode(context); - try { - return JSON.parse(data); - } catch { - } - return {}; -}; -var MissingBlobsEnvironmentError = class extends Error { - constructor(requiredProperties) { - super( - `The environment has not been configured to use Netlify Blobs. To use it manually, supply the following properties when creating a store: ${requiredProperties.join( - ", " - )}` - ); - this.name = "MissingBlobsEnvironmentError"; - } -}; -var BASE64_PREFIX = "b64;"; -var METADATA_HEADER_INTERNAL = "x-amz-meta-user"; -var METADATA_HEADER_EXTERNAL = "netlify-blobs-metadata"; -var METADATA_MAX_SIZE = 2 * 1024; -var encodeMetadata = (metadata) => { - if (!metadata) { - return null; - } - const encodedObject = base64Encode(JSON.stringify(metadata)); - const payload = `b64;${encodedObject}`; - if (METADATA_HEADER_EXTERNAL.length + payload.length > METADATA_MAX_SIZE) { - throw new Error("Metadata object exceeds the maximum size"); - } - return payload; -}; -var decodeMetadata = (header) => { - if (!header?.startsWith(BASE64_PREFIX)) { - return {}; - } - const encodedData = header.slice(BASE64_PREFIX.length); - const decodedData = base64Decode(encodedData); - const metadata = JSON.parse(decodedData); - return metadata; -}; -var getMetadataFromResponse = (response) => { - if (!response.headers) { - return {}; - } - const value = response.headers.get(METADATA_HEADER_EXTERNAL) || response.headers.get(METADATA_HEADER_INTERNAL); - try { - return decodeMetadata(value); - } catch { - throw new Error( - "An internal error occurred while trying to retrieve the metadata for an entry. Please try updating to the latest version of the Netlify Blobs client." - ); - } -}; -var NF_ERROR = "x-nf-error"; -var NF_REQUEST_ID = "x-nf-request-id"; -var BlobsInternalError = class extends Error { - constructor(res) { - let details = res.headers.get(NF_ERROR) || `${res.status} status code`; - if (res.headers.has(NF_REQUEST_ID)) { - details += `, ID: ${res.headers.get(NF_REQUEST_ID)}`; - } - super(`Netlify Blobs has generated an internal error (${details})`); - this.name = "BlobsInternalError"; - } -}; -var collectIterator = async (iterator) => { - const result = []; - for await (const item of iterator) { - result.push(item); - } - return result; -}; -var BlobsConsistencyError = class extends Error { - constructor() { - super( - `Netlify Blobs has failed to perform a read using strong consistency because the environment has not been configured with a 'uncachedEdgeURL' property` - ); - this.name = "BlobsConsistencyError"; - } -}; -var REGION_AUTO = "auto"; -var regions = { - "us-east-1": true, - "us-east-2": true, - "eu-central-1": true, - "ap-southeast-1": true, - "ap-southeast-2": true -}; -var isValidRegion = (input) => Object.keys(regions).includes(input); -var InvalidBlobsRegionError = class extends Error { - constructor(region) { - super( - `${region} is not a supported Netlify Blobs region. Supported values are: ${Object.keys(regions).join(", ")}.` - ); - this.name = "InvalidBlobsRegionError"; - } -}; -var DEFAULT_RETRY_DELAY = getEnvironment().get("NODE_ENV") === "test" ? 1 : 5e3; -var MIN_RETRY_DELAY = 1e3; -var MAX_RETRY = 5; -var RATE_LIMIT_HEADER = "X-RateLimit-Reset"; -var fetchAndRetry = async (fetch, url, options, attemptsLeft = MAX_RETRY) => { - try { - const res = await fetch(url, options); - if (attemptsLeft > 0 && (res.status === 429 || res.status >= 500)) { - const delay = getDelay(res.headers.get(RATE_LIMIT_HEADER)); - await sleep(delay); - return fetchAndRetry(fetch, url, options, attemptsLeft - 1); - } - return res; - } catch (error) { - if (attemptsLeft === 0) { - throw error; - } - const delay = getDelay(); - await sleep(delay); - return fetchAndRetry(fetch, url, options, attemptsLeft - 1); - } -}; -var getDelay = (rateLimitReset) => { - if (!rateLimitReset) { - return DEFAULT_RETRY_DELAY; - } - return Math.max(Number(rateLimitReset) * 1e3 - Date.now(), MIN_RETRY_DELAY); -}; -var sleep = (ms) => new Promise((resolve) => { - setTimeout(resolve, ms); -}); -var SIGNED_URL_ACCEPT_HEADER = "application/json;type=signed-url"; -var Client = class { - constructor({ apiURL, consistency, edgeURL, fetch, region, siteID, token, uncachedEdgeURL }) { - this.apiURL = apiURL; - this.consistency = consistency ?? "eventual"; - this.edgeURL = edgeURL; - this.fetch = fetch ?? globalThis.fetch; - this.region = region; - this.siteID = siteID; - this.token = token; - this.uncachedEdgeURL = uncachedEdgeURL; - if (!this.fetch) { - throw new Error( - "Netlify Blobs could not find a `fetch` client in the global scope. You can either update your runtime to a version that includes `fetch` (like Node.js 18.0.0 or above), or you can supply your own implementation using the `fetch` property." - ); - } - } - async getFinalRequest({ - consistency: opConsistency, - key, - metadata, - method, - parameters = {}, - storeName - }) { - const encodedMetadata = encodeMetadata(metadata); - const consistency = opConsistency ?? this.consistency; - let urlPath = `/${this.siteID}`; - if (storeName) { - urlPath += `/${storeName}`; - } - if (key) { - urlPath += `/${key}`; - } - if (this.edgeURL) { - if (consistency === "strong" && !this.uncachedEdgeURL) { - throw new BlobsConsistencyError(); - } - const headers = { - authorization: `Bearer ${this.token}` - }; - if (encodedMetadata) { - headers[METADATA_HEADER_INTERNAL] = encodedMetadata; - } - if (this.region) { - urlPath = `/region:${this.region}${urlPath}`; - } - const url2 = new URL(urlPath, consistency === "strong" ? this.uncachedEdgeURL : this.edgeURL); - for (const key2 in parameters) { - url2.searchParams.set(key2, parameters[key2]); - } - return { - headers, - url: url2.toString() - }; - } - const apiHeaders = { authorization: `Bearer ${this.token}` }; - const url = new URL(`/api/v1/blobs${urlPath}`, this.apiURL ?? "https://api.netlify.com"); - for (const key2 in parameters) { - url.searchParams.set(key2, parameters[key2]); - } - if (this.region) { - url.searchParams.set("region", this.region); - } - if (storeName === void 0 || key === void 0) { - return { - headers: apiHeaders, - url: url.toString() - }; - } - if (encodedMetadata) { - apiHeaders[METADATA_HEADER_EXTERNAL] = encodedMetadata; - } - if (method === "head" || method === "delete") { - return { - headers: apiHeaders, - url: url.toString() - }; - } - const res = await this.fetch(url.toString(), { - headers: { ...apiHeaders, accept: SIGNED_URL_ACCEPT_HEADER }, - method - }); - if (res.status !== 200) { - throw new BlobsInternalError(res); - } - const { url: signedURL } = await res.json(); - const userHeaders = encodedMetadata ? { [METADATA_HEADER_INTERNAL]: encodedMetadata } : void 0; - return { - headers: userHeaders, - url: signedURL - }; - } - async makeRequest({ - body, - conditions = {}, - consistency, - headers: extraHeaders, - key, - metadata, - method, - parameters, - storeName - }) { - const { headers: baseHeaders = {}, url } = await this.getFinalRequest({ - consistency, - key, - metadata, - method, - parameters, - storeName - }); - const headers = { - ...baseHeaders, - ...extraHeaders - }; - if (method === "put") { - headers["cache-control"] = "max-age=0, stale-while-revalidate=60"; - } - if ("onlyIfMatch" in conditions && conditions.onlyIfMatch) { - headers["if-match"] = conditions.onlyIfMatch; - } else if ("onlyIfNew" in conditions && conditions.onlyIfNew) { - headers["if-none-match"] = "*"; - } - const options = { - body, - headers, - method - }; - if (body instanceof ReadableStream) { - options.duplex = "half"; - } - return fetchAndRetry(this.fetch, url, options); - } -}; -var getClientOptions = (options, contextOverride) => { - const context = contextOverride ?? getEnvironmentContext(); - const siteID = context.siteID ?? options.siteID; - const token = context.token ?? options.token; - if (!siteID || !token) { - throw new MissingBlobsEnvironmentError(["siteID", "token"]); - } - if (options.region !== void 0 && !isValidRegion(options.region)) { - throw new InvalidBlobsRegionError(options.region); - } - const clientOptions = { - apiURL: context.apiURL ?? options.apiURL, - consistency: options.consistency, - edgeURL: context.edgeURL ?? options.edgeURL, - fetch: options.fetch, - region: options.region, - siteID, - token, - uncachedEdgeURL: context.uncachedEdgeURL ?? options.uncachedEdgeURL - }; - return clientOptions; -}; - -// node_modules/@netlify/otel/dist/main.js -var GET_TRACER = "__netlify__getTracer"; -var getTracer = (name, version) => { - return globalThis[GET_TRACER]?.(name, version); -}; -function withActiveSpan(tracer, name, optionsOrFn, contextOrFn, fn) { - const func = typeof contextOrFn === "function" ? contextOrFn : typeof optionsOrFn === "function" ? optionsOrFn : fn; - if (!func) { - throw new Error("function to execute with active span is missing"); - } - if (!tracer) { - return func(); - } - return tracer.withActiveSpan(name, optionsOrFn, contextOrFn, func); -} - -// node_modules/@netlify/blobs/dist/main.js -var DEPLOY_STORE_PREFIX = "deploy:"; -var LEGACY_STORE_INTERNAL_PREFIX = "netlify-internal/legacy-namespace/"; -var SITE_STORE_PREFIX = "site:"; -var STATUS_OK = 200; -var STATUS_PRE_CONDITION_FAILED = 412; -var Store = class _Store { - constructor(options) { - this.client = options.client; - if ("deployID" in options) { - _Store.validateDeployID(options.deployID); - let name = DEPLOY_STORE_PREFIX + options.deployID; - if (options.name) { - name += `:${options.name}`; - } - this.name = name; - } else if (options.name.startsWith(LEGACY_STORE_INTERNAL_PREFIX)) { - const storeName = options.name.slice(LEGACY_STORE_INTERNAL_PREFIX.length); - _Store.validateStoreName(storeName); - this.name = storeName; - } else { - _Store.validateStoreName(options.name); - this.name = SITE_STORE_PREFIX + options.name; - } - } - async delete(key) { - const res = await this.client.makeRequest({ key, method: "delete", storeName: this.name }); - if (![200, 204, 404].includes(res.status)) { - throw new BlobsInternalError(res); - } - } - async deleteAll() { - let totalDeletedBlobs = 0; - let hasMore = true; - while (hasMore) { - const res = await this.client.makeRequest({ method: "delete", storeName: this.name }); - if (res.status !== 200) { - throw new BlobsInternalError(res); - } - const data = await res.json(); - if (typeof data.blobs_deleted !== "number") { - throw new BlobsInternalError(res); - } - totalDeletedBlobs += data.blobs_deleted; - hasMore = typeof data.has_more === "boolean" && data.has_more; - } - return { - deletedBlobs: totalDeletedBlobs - }; - } - async get(key, options) { - return withActiveSpan(getTracer(), "blobs.get", async (span) => { - const { consistency, type } = options ?? {}; - span?.setAttributes({ - "blobs.store": this.name, - "blobs.key": key, - "blobs.type": type, - "blobs.method": "GET", - "blobs.consistency": consistency - }); - const res = await this.client.makeRequest({ - consistency, - key, - method: "get", - storeName: this.name - }); - span?.setAttributes({ - "blobs.response.body.size": res.headers.get("content-length") ?? void 0, - "blobs.response.status": res.status - }); - if (res.status === 404) { - return null; - } - if (res.status !== 200) { - throw new BlobsInternalError(res); - } - if (type === void 0 || type === "text") { - return res.text(); - } - if (type === "arrayBuffer") { - return res.arrayBuffer(); - } - if (type === "blob") { - return res.blob(); - } - if (type === "json") { - return res.json(); - } - if (type === "stream") { - return res.body; - } - throw new BlobsInternalError(res); - }); - } - async getMetadata(key, { consistency } = {}) { - return withActiveSpan(getTracer(), "blobs.getMetadata", async (span) => { - span?.setAttributes({ - "blobs.store": this.name, - "blobs.key": key, - "blobs.method": "HEAD", - "blobs.consistency": consistency - }); - const res = await this.client.makeRequest({ consistency, key, method: "head", storeName: this.name }); - span?.setAttributes({ - "blobs.response.status": res.status - }); - if (res.status === 404) { - return null; - } - if (res.status !== 200 && res.status !== 304) { - throw new BlobsInternalError(res); - } - const etag = res?.headers.get("etag") ?? void 0; - const metadata = getMetadataFromResponse(res); - const result = { - etag, - metadata - }; - return result; - }); - } - async getWithMetadata(key, options) { - return withActiveSpan(getTracer(), "blobs.getWithMetadata", async (span) => { - const { consistency, etag: requestETag, type } = options ?? {}; - const headers = requestETag ? { "if-none-match": requestETag } : void 0; - span?.setAttributes({ - "blobs.store": this.name, - "blobs.key": key, - "blobs.method": "GET", - "blobs.consistency": options?.consistency, - "blobs.type": type, - "blobs.request.etag": requestETag - }); - const res = await this.client.makeRequest({ - consistency, - headers, - key, - method: "get", - storeName: this.name - }); - const responseETag = res?.headers.get("etag") ?? void 0; - span?.setAttributes({ - "blobs.response.body.size": res.headers.get("content-length") ?? void 0, - "blobs.response.etag": responseETag, - "blobs.response.status": res.status - }); - if (res.status === 404) { - return null; - } - if (res.status !== 200 && res.status !== 304) { - throw new BlobsInternalError(res); - } - const metadata = getMetadataFromResponse(res); - const result = { - etag: responseETag, - metadata - }; - if (res.status === 304 && requestETag) { - return { data: null, ...result }; - } - if (type === void 0 || type === "text") { - return { data: await res.text(), ...result }; - } - if (type === "arrayBuffer") { - return { data: await res.arrayBuffer(), ...result }; - } - if (type === "blob") { - return { data: await res.blob(), ...result }; - } - if (type === "json") { - return { data: await res.json(), ...result }; - } - if (type === "stream") { - return { data: res.body, ...result }; - } - throw new Error(`Invalid 'type' property: ${type}. Expected: arrayBuffer, blob, json, stream, or text.`); - }); - } - list(options = {}) { - return withActiveSpan(getTracer(), "blobs.list", (span) => { - span?.setAttributes({ - "blobs.store": this.name, - "blobs.method": "GET", - "blobs.list.paginate": options.paginate ?? false - }); - const iterator = this.getListIterator(options); - if (options.paginate) { - return iterator; - } - return collectIterator(iterator).then( - (items) => items.reduce( - (acc, item) => ({ - blobs: [...acc.blobs, ...item.blobs], - directories: [...acc.directories, ...item.directories] - }), - { blobs: [], directories: [] } - ) - ); - }); - } - async set(key, data, options = {}) { - return withActiveSpan(getTracer(), "blobs.set", async (span) => { - span?.setAttributes({ - "blobs.store": this.name, - "blobs.key": key, - "blobs.method": "PUT", - "blobs.data.size": typeof data == "string" ? data.length : data instanceof Blob ? data.size : data.byteLength, - "blobs.data.type": typeof data == "string" ? "string" : data instanceof Blob ? "blob" : "arrayBuffer", - "blobs.atomic": Boolean(options.onlyIfMatch ?? options.onlyIfNew) - }); - _Store.validateKey(key); - const conditions = _Store.getConditions(options); - const res = await this.client.makeRequest({ - conditions, - body: data, - key, - metadata: options.metadata, - method: "put", - storeName: this.name - }); - const etag = res.headers.get("etag") ?? ""; - span?.setAttributes({ - "blobs.response.etag": etag, - "blobs.response.status": res.status - }); - if (conditions) { - return res.status === STATUS_PRE_CONDITION_FAILED ? { modified: false } : { etag, modified: true }; - } - if (res.status === STATUS_OK) { - return { - etag, - modified: true - }; - } - throw new BlobsInternalError(res); - }); - } - async setJSON(key, data, options = {}) { - return withActiveSpan(getTracer(), "blobs.setJSON", async (span) => { - span?.setAttributes({ - "blobs.store": this.name, - "blobs.key": key, - "blobs.method": "PUT", - "blobs.data.type": "json" - }); - _Store.validateKey(key); - const conditions = _Store.getConditions(options); - const payload = JSON.stringify(data); - const headers = { - "content-type": "application/json" - }; - const res = await this.client.makeRequest({ - ...conditions, - body: payload, - headers, - key, - metadata: options.metadata, - method: "put", - storeName: this.name - }); - const etag = res.headers.get("etag") ?? ""; - span?.setAttributes({ - "blobs.response.etag": etag, - "blobs.response.status": res.status - }); - if (conditions) { - return res.status === STATUS_PRE_CONDITION_FAILED ? { modified: false } : { etag, modified: true }; - } - if (res.status === STATUS_OK) { - return { - etag, - modified: true - }; - } - throw new BlobsInternalError(res); - }); - } - static formatListResultBlob(result) { - if (!result.key) { - return null; - } - return { - etag: result.etag, - key: result.key - }; - } - static getConditions(options) { - if ("onlyIfMatch" in options && "onlyIfNew" in options) { - throw new Error( - `The 'onlyIfMatch' and 'onlyIfNew' options are mutually exclusive. Using 'onlyIfMatch' will make the write succeed only if there is an entry for the key with the given content, while 'onlyIfNew' will make the write succeed only if there is no entry for the key.` - ); - } - if ("onlyIfMatch" in options && options.onlyIfMatch) { - if (typeof options.onlyIfMatch !== "string") { - throw new Error(`The 'onlyIfMatch' property expects a string representing an ETag.`); - } - return { - onlyIfMatch: options.onlyIfMatch - }; - } - if ("onlyIfNew" in options && options.onlyIfNew) { - if (typeof options.onlyIfNew !== "boolean") { - throw new Error( - `The 'onlyIfNew' property expects a boolean indicating whether the write should fail if an entry for the key already exists.` - ); - } - return { - onlyIfNew: true - }; - } - } - static validateKey(key) { - if (key === "") { - throw new Error("Blob key must not be empty."); - } - if (key.startsWith("/") || key.startsWith("%2F")) { - throw new Error("Blob key must not start with forward slash (/)."); - } - if (new TextEncoder().encode(key).length > 600) { - throw new Error( - "Blob key must be a sequence of Unicode characters whose UTF-8 encoding is at most 600 bytes long." - ); - } - } - static validateDeployID(deployID) { - if (!/^\w{1,24}$/.test(deployID)) { - throw new Error(`'${deployID}' is not a valid Netlify deploy ID.`); - } - } - static validateStoreName(name) { - if (name.includes("/") || name.includes("%2F")) { - throw new Error("Store name must not contain forward slashes (/)."); - } - if (new TextEncoder().encode(name).length > 64) { - throw new Error( - "Store name must be a sequence of Unicode characters whose UTF-8 encoding is at most 64 bytes long." - ); - } - } - getListIterator(options) { - const { client, name: storeName } = this; - const parameters = {}; - if (options?.prefix) { - parameters.prefix = options.prefix; - } - if (options?.directories) { - parameters.directories = "true"; - } - return { - [Symbol.asyncIterator]() { - let currentCursor = null; - let done = false; - return { - async next() { - return withActiveSpan(getTracer(), "blobs.list.next", async (span) => { - span?.setAttributes({ - "blobs.store": storeName, - "blobs.method": "GET", - "blobs.list.paginate": options?.paginate ?? false, - "blobs.list.done": done, - "blobs.list.cursor": currentCursor ?? void 0 - }); - if (done) { - return { done: true, value: void 0 }; - } - const nextParameters = { ...parameters }; - if (currentCursor !== null) { - nextParameters.cursor = currentCursor; - } - const res = await client.makeRequest({ - method: "get", - parameters: nextParameters, - storeName - }); - span?.setAttributes({ - "blobs.response.status": res.status - }); - let blobs = []; - let directories = []; - if (![200, 204, 404].includes(res.status)) { - throw new BlobsInternalError(res); - } - if (res.status === 404) { - done = true; - } else { - const page = await res.json(); - if (page.next_cursor) { - currentCursor = page.next_cursor; - } else { - done = true; - } - blobs = (page.blobs ?? []).map(_Store.formatListResultBlob).filter(Boolean); - directories = page.directories ?? []; - } - return { - done: false, - value: { - blobs, - directories - } - }; - }); - } - }; - } - }; - } -}; -var getDeployStore = (input = {}) => { - const context = getEnvironmentContext(); - const options = typeof input === "string" ? { name: input } : input; - const deployID = options.deployID ?? context.deployID; - if (!deployID) { - throw new MissingBlobsEnvironmentError(["deployID"]); - } - const clientOptions = getClientOptions(options, context); - if (!clientOptions.region) { - if (clientOptions.edgeURL || clientOptions.uncachedEdgeURL) { - if (!context.primaryRegion) { - throw new Error( - "When accessing a deploy store, the Netlify Blobs client needs to be configured with a region, and one was not found in the environment. To manually set the region, set the `region` property in the `getDeployStore` options. If you are using the Netlify CLI, you may have an outdated version; run `npm install -g netlify-cli@latest` to update and try again." - ); - } - clientOptions.region = context.primaryRegion; - } else { - clientOptions.region = REGION_AUTO; - } - } - const client = new Client(clientOptions); - return new Store({ client, deployID, name: options.name }); -}; - -// src/run/storage/regional-blob-store.cts -var FETCH_BEFORE_NEXT_PATCHED_IT = Symbol.for("nf-not-patched-fetch"); -var extendedGlobalThis = globalThis; -function attemptToGetOriginalFetch(fetch) { - return fetch._nextOriginalFetch ?? fetch; -} -function forceOptOutOfUsingDataCache(fetch) { - return (input, init) => { - return fetch(input, { - ...init, - next: { - ...init?.next, - // setting next.internal = true should prevent from trying to use data cache - // https://github.com/vercel/next.js/blob/fa214c74c1d8023098c0e94e57f917ef9f1afd1a/packages/next/src/server/lib/patch-fetch.ts#L174 - // https://github.com/vercel/next.js/blob/fa214c74c1d8023098c0e94e57f917ef9f1afd1a/packages/next/src/server/lib/patch-fetch.ts#L210-L213 - // this is last line of defense in case we didn't manage to get unpatched fetch that will not affect - // fetch if it's unpatched so it should be safe to apply always if we aren't sure if we use patched fetch - // @ts-expect-error - this is an internal field that Next.js doesn't add to its global - // type overrides for RequestInit type (like `next.revalidate` or `next.tags`) - internal: true - } - }); - }; -} -var setFetchBeforeNextPatchedIt = (fetch) => { - extendedGlobalThis[FETCH_BEFORE_NEXT_PATCHED_IT] = forceOptOutOfUsingDataCache( - attemptToGetOriginalFetch(fetch) - ); -}; -var fetchBeforeNextPatchedItFallback = forceOptOutOfUsingDataCache( - attemptToGetOriginalFetch(globalThis.fetch) -); -var getFetchBeforeNextPatchedIt = () => extendedGlobalThis[FETCH_BEFORE_NEXT_PATCHED_IT] ?? fetchBeforeNextPatchedItFallback; -var getRegionalBlobStore = (args = {}) => { - return getDeployStore({ - ...args, - fetch: getFetchBeforeNextPatchedIt(), - region: process.env.USE_REGIONAL_BLOBS?.toUpperCase() === "TRUE" ? void 0 : "us-east-2" - }); -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - getRegionalBlobStore, - setFetchBeforeNextPatchedIt -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/request-scoped-in-memory-cache.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/request-scoped-in-memory-cache.cjs deleted file mode 100644 index ce9b581..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/request-scoped-in-memory-cache.cjs +++ /dev/null @@ -1,1535 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/storage/request-scoped-in-memory-cache.cts -var request_scoped_in_memory_cache_exports = {}; -__export(request_scoped_in_memory_cache_exports, { - getRequestScopedInMemoryCache: () => getRequestScopedInMemoryCache, - setInMemoryCacheMaxSizeFromNextConfig: () => setInMemoryCacheMaxSizeFromNextConfig -}); -module.exports = __toCommonJS(request_scoped_in_memory_cache_exports); -var import_types = require("node:util/types"); - -// node_modules/lru-cache/dist/esm/index.js -var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date; -var warned = /* @__PURE__ */ new Set(); -var PROCESS = typeof process === "object" && !!process ? process : {}; -var emitWarning = (msg, type, code, fn) => { - typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`); -}; -var AC = globalThis.AbortController; -var AS = globalThis.AbortSignal; -if (typeof AC === "undefined") { - AS = class AbortSignal { - onabort; - _onabort = []; - reason; - aborted = false; - addEventListener(_, fn) { - this._onabort.push(fn); - } - }; - AC = class AbortController { - constructor() { - warnACPolyfill(); - } - signal = new AS(); - abort(reason) { - if (this.signal.aborted) - return; - this.signal.reason = reason; - this.signal.aborted = true; - for (const fn of this.signal._onabort) { - fn(reason); - } - this.signal.onabort?.(reason); - } - }; - let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1"; - const warnACPolyfill = () => { - if (!printACPolyfillWarning) - return; - printACPolyfillWarning = false; - emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill); - }; -} -var shouldWarn = (code) => !warned.has(code); -var TYPE = Symbol("type"); -var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n); -var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null; -var ZeroArray = class extends Array { - constructor(size) { - super(size); - this.fill(0); - } -}; -var Stack = class _Stack { - heap; - length; - // private constructor - static #constructing = false; - static create(max) { - const HeapCls = getUintArray(max); - if (!HeapCls) - return []; - _Stack.#constructing = true; - const s = new _Stack(max, HeapCls); - _Stack.#constructing = false; - return s; - } - constructor(max, HeapCls) { - if (!_Stack.#constructing) { - throw new TypeError("instantiate Stack using Stack.create(n)"); - } - this.heap = new HeapCls(max); - this.length = 0; - } - push(n) { - this.heap[this.length++] = n; - } - pop() { - return this.heap[--this.length]; - } -}; -var LRUCache = class _LRUCache { - // options that cannot be changed without disaster - #max; - #maxSize; - #dispose; - #disposeAfter; - #fetchMethod; - #memoMethod; - /** - * {@link LRUCache.OptionsBase.ttl} - */ - ttl; - /** - * {@link LRUCache.OptionsBase.ttlResolution} - */ - ttlResolution; - /** - * {@link LRUCache.OptionsBase.ttlAutopurge} - */ - ttlAutopurge; - /** - * {@link LRUCache.OptionsBase.updateAgeOnGet} - */ - updateAgeOnGet; - /** - * {@link LRUCache.OptionsBase.updateAgeOnHas} - */ - updateAgeOnHas; - /** - * {@link LRUCache.OptionsBase.allowStale} - */ - allowStale; - /** - * {@link LRUCache.OptionsBase.noDisposeOnSet} - */ - noDisposeOnSet; - /** - * {@link LRUCache.OptionsBase.noUpdateTTL} - */ - noUpdateTTL; - /** - * {@link LRUCache.OptionsBase.maxEntrySize} - */ - maxEntrySize; - /** - * {@link LRUCache.OptionsBase.sizeCalculation} - */ - sizeCalculation; - /** - * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection} - */ - noDeleteOnFetchRejection; - /** - * {@link LRUCache.OptionsBase.noDeleteOnStaleGet} - */ - noDeleteOnStaleGet; - /** - * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort} - */ - allowStaleOnFetchAbort; - /** - * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} - */ - allowStaleOnFetchRejection; - /** - * {@link LRUCache.OptionsBase.ignoreFetchAbort} - */ - ignoreFetchAbort; - // computed properties - #size; - #calculatedSize; - #keyMap; - #keyList; - #valList; - #next; - #prev; - #head; - #tail; - #free; - #disposed; - #sizes; - #starts; - #ttls; - #hasDispose; - #hasFetchMethod; - #hasDisposeAfter; - /** - * Do not call this method unless you need to inspect the - * inner workings of the cache. If anything returned by this - * object is modified in any way, strange breakage may occur. - * - * These fields are private for a reason! - * - * @internal - */ - static unsafeExposeInternals(c) { - return { - // properties - starts: c.#starts, - ttls: c.#ttls, - sizes: c.#sizes, - keyMap: c.#keyMap, - keyList: c.#keyList, - valList: c.#valList, - next: c.#next, - prev: c.#prev, - get head() { - return c.#head; - }, - get tail() { - return c.#tail; - }, - free: c.#free, - // methods - isBackgroundFetch: (p) => c.#isBackgroundFetch(p), - backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context), - moveToTail: (index) => c.#moveToTail(index), - indexes: (options) => c.#indexes(options), - rindexes: (options) => c.#rindexes(options), - isStale: (index) => c.#isStale(index) - }; - } - // Protected read-only members - /** - * {@link LRUCache.OptionsBase.max} (read-only) - */ - get max() { - return this.#max; - } - /** - * {@link LRUCache.OptionsBase.maxSize} (read-only) - */ - get maxSize() { - return this.#maxSize; - } - /** - * The total computed size of items in the cache (read-only) - */ - get calculatedSize() { - return this.#calculatedSize; - } - /** - * The number of items stored in the cache (read-only) - */ - get size() { - return this.#size; - } - /** - * {@link LRUCache.OptionsBase.fetchMethod} (read-only) - */ - get fetchMethod() { - return this.#fetchMethod; - } - get memoMethod() { - return this.#memoMethod; - } - /** - * {@link LRUCache.OptionsBase.dispose} (read-only) - */ - get dispose() { - return this.#dispose; - } - /** - * {@link LRUCache.OptionsBase.disposeAfter} (read-only) - */ - get disposeAfter() { - return this.#disposeAfter; - } - constructor(options) { - const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options; - if (max !== 0 && !isPosInt(max)) { - throw new TypeError("max option must be a nonnegative integer"); - } - const UintArray = max ? getUintArray(max) : Array; - if (!UintArray) { - throw new Error("invalid max value: " + max); - } - this.#max = max; - this.#maxSize = maxSize; - this.maxEntrySize = maxEntrySize || this.#maxSize; - this.sizeCalculation = sizeCalculation; - if (this.sizeCalculation) { - if (!this.#maxSize && !this.maxEntrySize) { - throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize"); - } - if (typeof this.sizeCalculation !== "function") { - throw new TypeError("sizeCalculation set to non-function"); - } - } - if (memoMethod !== void 0 && typeof memoMethod !== "function") { - throw new TypeError("memoMethod must be a function if defined"); - } - this.#memoMethod = memoMethod; - if (fetchMethod !== void 0 && typeof fetchMethod !== "function") { - throw new TypeError("fetchMethod must be a function if specified"); - } - this.#fetchMethod = fetchMethod; - this.#hasFetchMethod = !!fetchMethod; - this.#keyMap = /* @__PURE__ */ new Map(); - this.#keyList = new Array(max).fill(void 0); - this.#valList = new Array(max).fill(void 0); - this.#next = new UintArray(max); - this.#prev = new UintArray(max); - this.#head = 0; - this.#tail = 0; - this.#free = Stack.create(max); - this.#size = 0; - this.#calculatedSize = 0; - if (typeof dispose === "function") { - this.#dispose = dispose; - } - if (typeof disposeAfter === "function") { - this.#disposeAfter = disposeAfter; - this.#disposed = []; - } else { - this.#disposeAfter = void 0; - this.#disposed = void 0; - } - this.#hasDispose = !!this.#dispose; - this.#hasDisposeAfter = !!this.#disposeAfter; - this.noDisposeOnSet = !!noDisposeOnSet; - this.noUpdateTTL = !!noUpdateTTL; - this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; - this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; - this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; - this.ignoreFetchAbort = !!ignoreFetchAbort; - if (this.maxEntrySize !== 0) { - if (this.#maxSize !== 0) { - if (!isPosInt(this.#maxSize)) { - throw new TypeError("maxSize must be a positive integer if specified"); - } - } - if (!isPosInt(this.maxEntrySize)) { - throw new TypeError("maxEntrySize must be a positive integer if specified"); - } - this.#initializeSizeTracking(); - } - this.allowStale = !!allowStale; - this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; - this.updateAgeOnGet = !!updateAgeOnGet; - this.updateAgeOnHas = !!updateAgeOnHas; - this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1; - this.ttlAutopurge = !!ttlAutopurge; - this.ttl = ttl || 0; - if (this.ttl) { - if (!isPosInt(this.ttl)) { - throw new TypeError("ttl must be a positive integer if specified"); - } - this.#initializeTTLTracking(); - } - if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) { - throw new TypeError("At least one of max, maxSize, or ttl is required"); - } - if (!this.ttlAutopurge && !this.#max && !this.#maxSize) { - const code = "LRU_CACHE_UNBOUNDED"; - if (shouldWarn(code)) { - warned.add(code); - const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption."; - emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache); - } - } - } - /** - * Return the number of ms left in the item's TTL. If item is not in cache, - * returns `0`. Returns `Infinity` if item is in cache without a defined TTL. - */ - getRemainingTTL(key) { - return this.#keyMap.has(key) ? Infinity : 0; - } - #initializeTTLTracking() { - const ttls = new ZeroArray(this.#max); - const starts = new ZeroArray(this.#max); - this.#ttls = ttls; - this.#starts = starts; - this.#setItemTTL = (index, ttl, start = perf.now()) => { - starts[index] = ttl !== 0 ? start : 0; - ttls[index] = ttl; - if (ttl !== 0 && this.ttlAutopurge) { - const t = setTimeout(() => { - if (this.#isStale(index)) { - this.#delete(this.#keyList[index], "expire"); - } - }, ttl + 1); - if (t.unref) { - t.unref(); - } - } - }; - this.#updateItemAge = (index) => { - starts[index] = ttls[index] !== 0 ? perf.now() : 0; - }; - this.#statusTTL = (status, index) => { - if (ttls[index]) { - const ttl = ttls[index]; - const start = starts[index]; - if (!ttl || !start) - return; - status.ttl = ttl; - status.start = start; - status.now = cachedNow || getNow(); - const age = status.now - start; - status.remainingTTL = ttl - age; - } - }; - let cachedNow = 0; - const getNow = () => { - const n = perf.now(); - if (this.ttlResolution > 0) { - cachedNow = n; - const t = setTimeout(() => cachedNow = 0, this.ttlResolution); - if (t.unref) { - t.unref(); - } - } - return n; - }; - this.getRemainingTTL = (key) => { - const index = this.#keyMap.get(key); - if (index === void 0) { - return 0; - } - const ttl = ttls[index]; - const start = starts[index]; - if (!ttl || !start) { - return Infinity; - } - const age = (cachedNow || getNow()) - start; - return ttl - age; - }; - this.#isStale = (index) => { - const s = starts[index]; - const t = ttls[index]; - return !!t && !!s && (cachedNow || getNow()) - s > t; - }; - } - // conditionally set private methods related to TTL - #updateItemAge = () => { - }; - #statusTTL = () => { - }; - #setItemTTL = () => { - }; - /* c8 ignore stop */ - #isStale = () => false; - #initializeSizeTracking() { - const sizes = new ZeroArray(this.#max); - this.#calculatedSize = 0; - this.#sizes = sizes; - this.#removeItemSize = (index) => { - this.#calculatedSize -= sizes[index]; - sizes[index] = 0; - }; - this.#requireSize = (k, v, size, sizeCalculation) => { - if (this.#isBackgroundFetch(v)) { - return 0; - } - if (!isPosInt(size)) { - if (sizeCalculation) { - if (typeof sizeCalculation !== "function") { - throw new TypeError("sizeCalculation must be a function"); - } - size = sizeCalculation(v, k); - if (!isPosInt(size)) { - throw new TypeError("sizeCalculation return invalid (expect positive integer)"); - } - } else { - throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set."); - } - } - return size; - }; - this.#addItemSize = (index, size, status) => { - sizes[index] = size; - if (this.#maxSize) { - const maxSize = this.#maxSize - sizes[index]; - while (this.#calculatedSize > maxSize) { - this.#evict(true); - } - } - this.#calculatedSize += sizes[index]; - if (status) { - status.entrySize = size; - status.totalCalculatedSize = this.#calculatedSize; - } - }; - } - #removeItemSize = (_i) => { - }; - #addItemSize = (_i, _s, _st) => { - }; - #requireSize = (_k, _v, size, sizeCalculation) => { - if (size || sizeCalculation) { - throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache"); - } - return 0; - }; - *#indexes({ allowStale = this.allowStale } = {}) { - if (this.#size) { - for (let i = this.#tail; true; ) { - if (!this.#isValidIndex(i)) { - break; - } - if (allowStale || !this.#isStale(i)) { - yield i; - } - if (i === this.#head) { - break; - } else { - i = this.#prev[i]; - } - } - } - } - *#rindexes({ allowStale = this.allowStale } = {}) { - if (this.#size) { - for (let i = this.#head; true; ) { - if (!this.#isValidIndex(i)) { - break; - } - if (allowStale || !this.#isStale(i)) { - yield i; - } - if (i === this.#tail) { - break; - } else { - i = this.#next[i]; - } - } - } - } - #isValidIndex(index) { - return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index; - } - /** - * Return a generator yielding `[key, value]` pairs, - * in order from most recently used to least recently used. - */ - *entries() { - for (const i of this.#indexes()) { - if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield [this.#keyList[i], this.#valList[i]]; - } - } - } - /** - * Inverse order version of {@link LRUCache.entries} - * - * Return a generator yielding `[key, value]` pairs, - * in order from least recently used to most recently used. - */ - *rentries() { - for (const i of this.#rindexes()) { - if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield [this.#keyList[i], this.#valList[i]]; - } - } - } - /** - * Return a generator yielding the keys in the cache, - * in order from most recently used to least recently used. - */ - *keys() { - for (const i of this.#indexes()) { - const k = this.#keyList[i]; - if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield k; - } - } - } - /** - * Inverse order version of {@link LRUCache.keys} - * - * Return a generator yielding the keys in the cache, - * in order from least recently used to most recently used. - */ - *rkeys() { - for (const i of this.#rindexes()) { - const k = this.#keyList[i]; - if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield k; - } - } - } - /** - * Return a generator yielding the values in the cache, - * in order from most recently used to least recently used. - */ - *values() { - for (const i of this.#indexes()) { - const v = this.#valList[i]; - if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield this.#valList[i]; - } - } - } - /** - * Inverse order version of {@link LRUCache.values} - * - * Return a generator yielding the values in the cache, - * in order from least recently used to most recently used. - */ - *rvalues() { - for (const i of this.#rindexes()) { - const v = this.#valList[i]; - if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { - yield this.#valList[i]; - } - } - } - /** - * Iterating over the cache itself yields the same results as - * {@link LRUCache.entries} - */ - [Symbol.iterator]() { - return this.entries(); - } - /** - * A String value that is used in the creation of the default string - * description of an object. Called by the built-in method - * `Object.prototype.toString`. - */ - [Symbol.toStringTag] = "LRUCache"; - /** - * Find a value for which the supplied fn method returns a truthy value, - * similar to `Array.find()`. fn is called as `fn(value, key, cache)`. - */ - find(fn, getOptions = {}) { - for (const i of this.#indexes()) { - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - continue; - if (fn(value, this.#keyList[i], this)) { - return this.get(this.#keyList[i], getOptions); - } - } - } - /** - * Call the supplied function on each item in the cache, in order from most - * recently used to least recently used. - * - * `fn` is called as `fn(value, key, cache)`. - * - * If `thisp` is provided, function will be called in the `this`-context of - * the provided object, or the cache if no `thisp` object is provided. - * - * Does not update age or recenty of use, or iterate over stale values. - */ - forEach(fn, thisp = this) { - for (const i of this.#indexes()) { - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - continue; - fn.call(thisp, value, this.#keyList[i], this); - } - } - /** - * The same as {@link LRUCache.forEach} but items are iterated over in - * reverse order. (ie, less recently used items are iterated over first.) - */ - rforEach(fn, thisp = this) { - for (const i of this.#rindexes()) { - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - continue; - fn.call(thisp, value, this.#keyList[i], this); - } - } - /** - * Delete any stale entries. Returns true if anything was removed, - * false otherwise. - */ - purgeStale() { - let deleted = false; - for (const i of this.#rindexes({ allowStale: true })) { - if (this.#isStale(i)) { - this.#delete(this.#keyList[i], "expire"); - deleted = true; - } - } - return deleted; - } - /** - * Get the extended info about a given entry, to get its value, size, and - * TTL info simultaneously. Returns `undefined` if the key is not present. - * - * Unlike {@link LRUCache#dump}, which is designed to be portable and survive - * serialization, the `start` value is always the current timestamp, and the - * `ttl` is a calculated remaining time to live (negative if expired). - * - * Always returns stale values, if their info is found in the cache, so be - * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl}) - * if relevant. - */ - info(key) { - const i = this.#keyMap.get(key); - if (i === void 0) - return void 0; - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0) - return void 0; - const entry = { value }; - if (this.#ttls && this.#starts) { - const ttl = this.#ttls[i]; - const start = this.#starts[i]; - if (ttl && start) { - const remain = ttl - (perf.now() - start); - entry.ttl = remain; - entry.start = Date.now(); - } - } - if (this.#sizes) { - entry.size = this.#sizes[i]; - } - return entry; - } - /** - * Return an array of [key, {@link LRUCache.Entry}] tuples which can be - * passed to {@link LRLUCache#load}. - * - * The `start` fields are calculated relative to a portable `Date.now()` - * timestamp, even if `performance.now()` is available. - * - * Stale entries are always included in the `dump`, even if - * {@link LRUCache.OptionsBase.allowStale} is false. - * - * Note: this returns an actual array, not a generator, so it can be more - * easily passed around. - */ - dump() { - const arr = []; - for (const i of this.#indexes({ allowStale: true })) { - const key = this.#keyList[i]; - const v = this.#valList[i]; - const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - if (value === void 0 || key === void 0) - continue; - const entry = { value }; - if (this.#ttls && this.#starts) { - entry.ttl = this.#ttls[i]; - const age = perf.now() - this.#starts[i]; - entry.start = Math.floor(Date.now() - age); - } - if (this.#sizes) { - entry.size = this.#sizes[i]; - } - arr.unshift([key, entry]); - } - return arr; - } - /** - * Reset the cache and load in the items in entries in the order listed. - * - * The shape of the resulting cache may be different if the same options are - * not used in both caches. - * - * The `start` fields are assumed to be calculated relative to a portable - * `Date.now()` timestamp, even if `performance.now()` is available. - */ - load(arr) { - this.clear(); - for (const [key, entry] of arr) { - if (entry.start) { - const age = Date.now() - entry.start; - entry.start = perf.now() - age; - } - this.set(key, entry.value, entry); - } - } - /** - * Add a value to the cache. - * - * Note: if `undefined` is specified as a value, this is an alias for - * {@link LRUCache#delete} - * - * Fields on the {@link LRUCache.SetOptions} options param will override - * their corresponding values in the constructor options for the scope - * of this single `set()` operation. - * - * If `start` is provided, then that will set the effective start - * time for the TTL calculation. Note that this must be a previous - * value of `performance.now()` if supported, or a previous value of - * `Date.now()` if not. - * - * Options object may also include `size`, which will prevent - * calling the `sizeCalculation` function and just use the specified - * number if it is a positive integer, and `noDisposeOnSet` which - * will prevent calling a `dispose` function in the case of - * overwrites. - * - * If the `size` (or return value of `sizeCalculation`) for a given - * entry is greater than `maxEntrySize`, then the item will not be - * added to the cache. - * - * Will update the recency of the entry. - * - * If the value is `undefined`, then this is an alias for - * `cache.delete(key)`. `undefined` is never stored in the cache. - */ - set(k, v, setOptions = {}) { - if (v === void 0) { - this.delete(k); - return this; - } - const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions; - let { noUpdateTTL = this.noUpdateTTL } = setOptions; - const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation); - if (this.maxEntrySize && size > this.maxEntrySize) { - if (status) { - status.set = "miss"; - status.maxEntrySizeExceeded = true; - } - this.#delete(k, "set"); - return this; - } - let index = this.#size === 0 ? void 0 : this.#keyMap.get(k); - if (index === void 0) { - index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size; - this.#keyList[index] = k; - this.#valList[index] = v; - this.#keyMap.set(k, index); - this.#next[this.#tail] = index; - this.#prev[index] = this.#tail; - this.#tail = index; - this.#size++; - this.#addItemSize(index, size, status); - if (status) - status.set = "add"; - noUpdateTTL = false; - } else { - this.#moveToTail(index); - const oldVal = this.#valList[index]; - if (v !== oldVal) { - if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) { - oldVal.__abortController.abort(new Error("replaced")); - const { __staleWhileFetching: s } = oldVal; - if (s !== void 0 && !noDisposeOnSet) { - if (this.#hasDispose) { - this.#dispose?.(s, k, "set"); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([s, k, "set"]); - } - } - } else if (!noDisposeOnSet) { - if (this.#hasDispose) { - this.#dispose?.(oldVal, k, "set"); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([oldVal, k, "set"]); - } - } - this.#removeItemSize(index); - this.#addItemSize(index, size, status); - this.#valList[index] = v; - if (status) { - status.set = "replace"; - const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal; - if (oldValue !== void 0) - status.oldValue = oldValue; - } - } else if (status) { - status.set = "update"; - } - } - if (ttl !== 0 && !this.#ttls) { - this.#initializeTTLTracking(); - } - if (this.#ttls) { - if (!noUpdateTTL) { - this.#setItemTTL(index, ttl, start); - } - if (status) - this.#statusTTL(status, index); - } - if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - return this; - } - /** - * Evict the least recently used item, returning its value or - * `undefined` if cache is empty. - */ - pop() { - try { - while (this.#size) { - const val = this.#valList[this.#head]; - this.#evict(true); - if (this.#isBackgroundFetch(val)) { - if (val.__staleWhileFetching) { - return val.__staleWhileFetching; - } - } else if (val !== void 0) { - return val; - } - } - } finally { - if (this.#hasDisposeAfter && this.#disposed) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - } - } - #evict(free) { - const head = this.#head; - const k = this.#keyList[head]; - const v = this.#valList[head]; - if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) { - v.__abortController.abort(new Error("evicted")); - } else if (this.#hasDispose || this.#hasDisposeAfter) { - if (this.#hasDispose) { - this.#dispose?.(v, k, "evict"); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([v, k, "evict"]); - } - } - this.#removeItemSize(head); - if (free) { - this.#keyList[head] = void 0; - this.#valList[head] = void 0; - this.#free.push(head); - } - if (this.#size === 1) { - this.#head = this.#tail = 0; - this.#free.length = 0; - } else { - this.#head = this.#next[head]; - } - this.#keyMap.delete(k); - this.#size--; - return head; - } - /** - * Check if a key is in the cache, without updating the recency of use. - * Will return false if the item is stale, even though it is technically - * in the cache. - * - * Check if a key is in the cache, without updating the recency of - * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set - * to `true` in either the options or the constructor. - * - * Will return `false` if the item is stale, even though it is technically in - * the cache. The difference can be determined (if it matters) by using a - * `status` argument, and inspecting the `has` field. - * - * Will not update item age unless - * {@link LRUCache.OptionsBase.updateAgeOnHas} is set. - */ - has(k, hasOptions = {}) { - const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions; - const index = this.#keyMap.get(k); - if (index !== void 0) { - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) { - return false; - } - if (!this.#isStale(index)) { - if (updateAgeOnHas) { - this.#updateItemAge(index); - } - if (status) { - status.has = "hit"; - this.#statusTTL(status, index); - } - return true; - } else if (status) { - status.has = "stale"; - this.#statusTTL(status, index); - } - } else if (status) { - status.has = "miss"; - } - return false; - } - /** - * Like {@link LRUCache#get} but doesn't update recency or delete stale - * items. - * - * Returns `undefined` if the item is stale, unless - * {@link LRUCache.OptionsBase.allowStale} is set. - */ - peek(k, peekOptions = {}) { - const { allowStale = this.allowStale } = peekOptions; - const index = this.#keyMap.get(k); - if (index === void 0 || !allowStale && this.#isStale(index)) { - return; - } - const v = this.#valList[index]; - return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; - } - #backgroundFetch(k, index, options, context) { - const v = index === void 0 ? void 0 : this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - return v; - } - const ac = new AC(); - const { signal } = options; - signal?.addEventListener("abort", () => ac.abort(signal.reason), { - signal: ac.signal - }); - const fetchOpts = { - signal: ac.signal, - options, - context - }; - const cb = (v2, updateCache = false) => { - const { aborted } = ac.signal; - const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0; - if (options.status) { - if (aborted && !updateCache) { - options.status.fetchAborted = true; - options.status.fetchError = ac.signal.reason; - if (ignoreAbort) - options.status.fetchAbortIgnored = true; - } else { - options.status.fetchResolved = true; - } - } - if (aborted && !ignoreAbort && !updateCache) { - return fetchFail(ac.signal.reason); - } - const bf2 = p; - if (this.#valList[index] === p) { - if (v2 === void 0) { - if (bf2.__staleWhileFetching) { - this.#valList[index] = bf2.__staleWhileFetching; - } else { - this.#delete(k, "fetch"); - } - } else { - if (options.status) - options.status.fetchUpdated = true; - this.set(k, v2, fetchOpts.options); - } - } - return v2; - }; - const eb = (er) => { - if (options.status) { - options.status.fetchRejected = true; - options.status.fetchError = er; - } - return fetchFail(er); - }; - const fetchFail = (er) => { - const { aborted } = ac.signal; - const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; - const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; - const noDelete = allowStale || options.noDeleteOnFetchRejection; - const bf2 = p; - if (this.#valList[index] === p) { - const del = !noDelete || bf2.__staleWhileFetching === void 0; - if (del) { - this.#delete(k, "fetch"); - } else if (!allowStaleAborted) { - this.#valList[index] = bf2.__staleWhileFetching; - } - } - if (allowStale) { - if (options.status && bf2.__staleWhileFetching !== void 0) { - options.status.returnedStale = true; - } - return bf2.__staleWhileFetching; - } else if (bf2.__returned === bf2) { - throw er; - } - }; - const pcall = (res, rej) => { - const fmp = this.#fetchMethod?.(k, v, fetchOpts); - if (fmp && fmp instanceof Promise) { - fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej); - } - ac.signal.addEventListener("abort", () => { - if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) { - res(void 0); - if (options.allowStaleOnFetchAbort) { - res = (v2) => cb(v2, true); - } - } - }); - }; - if (options.status) - options.status.fetchDispatched = true; - const p = new Promise(pcall).then(cb, eb); - const bf = Object.assign(p, { - __abortController: ac, - __staleWhileFetching: v, - __returned: void 0 - }); - if (index === void 0) { - this.set(k, bf, { ...fetchOpts.options, status: void 0 }); - index = this.#keyMap.get(k); - } else { - this.#valList[index] = bf; - } - return bf; - } - #isBackgroundFetch(p) { - if (!this.#hasFetchMethod) - return false; - const b = p; - return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC; - } - async fetch(k, fetchOptions = {}) { - const { - // get options - allowStale = this.allowStale, - updateAgeOnGet = this.updateAgeOnGet, - noDeleteOnStaleGet = this.noDeleteOnStaleGet, - // set options - ttl = this.ttl, - noDisposeOnSet = this.noDisposeOnSet, - size = 0, - sizeCalculation = this.sizeCalculation, - noUpdateTTL = this.noUpdateTTL, - // fetch exclusive options - noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, - allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, - ignoreFetchAbort = this.ignoreFetchAbort, - allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, - context, - forceRefresh = false, - status, - signal - } = fetchOptions; - if (!this.#hasFetchMethod) { - if (status) - status.fetch = "get"; - return this.get(k, { - allowStale, - updateAgeOnGet, - noDeleteOnStaleGet, - status - }); - } - const options = { - allowStale, - updateAgeOnGet, - noDeleteOnStaleGet, - ttl, - noDisposeOnSet, - size, - sizeCalculation, - noUpdateTTL, - noDeleteOnFetchRejection, - allowStaleOnFetchRejection, - allowStaleOnFetchAbort, - ignoreFetchAbort, - status, - signal - }; - let index = this.#keyMap.get(k); - if (index === void 0) { - if (status) - status.fetch = "miss"; - const p = this.#backgroundFetch(k, index, options, context); - return p.__returned = p; - } else { - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - const stale = allowStale && v.__staleWhileFetching !== void 0; - if (status) { - status.fetch = "inflight"; - if (stale) - status.returnedStale = true; - } - return stale ? v.__staleWhileFetching : v.__returned = v; - } - const isStale = this.#isStale(index); - if (!forceRefresh && !isStale) { - if (status) - status.fetch = "hit"; - this.#moveToTail(index); - if (updateAgeOnGet) { - this.#updateItemAge(index); - } - if (status) - this.#statusTTL(status, index); - return v; - } - const p = this.#backgroundFetch(k, index, options, context); - const hasStale = p.__staleWhileFetching !== void 0; - const staleVal = hasStale && allowStale; - if (status) { - status.fetch = isStale ? "stale" : "refresh"; - if (staleVal && isStale) - status.returnedStale = true; - } - return staleVal ? p.__staleWhileFetching : p.__returned = p; - } - } - async forceFetch(k, fetchOptions = {}) { - const v = await this.fetch(k, fetchOptions); - if (v === void 0) - throw new Error("fetch() returned undefined"); - return v; - } - memo(k, memoOptions = {}) { - const memoMethod = this.#memoMethod; - if (!memoMethod) { - throw new Error("no memoMethod provided to constructor"); - } - const { context, forceRefresh, ...options } = memoOptions; - const v = this.get(k, options); - if (!forceRefresh && v !== void 0) - return v; - const vv = memoMethod(k, v, { - options, - context - }); - this.set(k, vv, options); - return vv; - } - /** - * Return a value from the cache. Will update the recency of the cache - * entry found. - * - * If the key is not found, get() will return `undefined`. - */ - get(k, getOptions = {}) { - const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions; - const index = this.#keyMap.get(k); - if (index !== void 0) { - const value = this.#valList[index]; - const fetching = this.#isBackgroundFetch(value); - if (status) - this.#statusTTL(status, index); - if (this.#isStale(index)) { - if (status) - status.get = "stale"; - if (!fetching) { - if (!noDeleteOnStaleGet) { - this.#delete(k, "expire"); - } - if (status && allowStale) - status.returnedStale = true; - return allowStale ? value : void 0; - } else { - if (status && allowStale && value.__staleWhileFetching !== void 0) { - status.returnedStale = true; - } - return allowStale ? value.__staleWhileFetching : void 0; - } - } else { - if (status) - status.get = "hit"; - if (fetching) { - return value.__staleWhileFetching; - } - this.#moveToTail(index); - if (updateAgeOnGet) { - this.#updateItemAge(index); - } - return value; - } - } else if (status) { - status.get = "miss"; - } - } - #connect(p, n) { - this.#prev[n] = p; - this.#next[p] = n; - } - #moveToTail(index) { - if (index !== this.#tail) { - if (index === this.#head) { - this.#head = this.#next[index]; - } else { - this.#connect(this.#prev[index], this.#next[index]); - } - this.#connect(this.#tail, index); - this.#tail = index; - } - } - /** - * Deletes a key out of the cache. - * - * Returns true if the key was deleted, false otherwise. - */ - delete(k) { - return this.#delete(k, "delete"); - } - #delete(k, reason) { - let deleted = false; - if (this.#size !== 0) { - const index = this.#keyMap.get(k); - if (index !== void 0) { - deleted = true; - if (this.#size === 1) { - this.#clear(reason); - } else { - this.#removeItemSize(index); - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - v.__abortController.abort(new Error("deleted")); - } else if (this.#hasDispose || this.#hasDisposeAfter) { - if (this.#hasDispose) { - this.#dispose?.(v, k, reason); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([v, k, reason]); - } - } - this.#keyMap.delete(k); - this.#keyList[index] = void 0; - this.#valList[index] = void 0; - if (index === this.#tail) { - this.#tail = this.#prev[index]; - } else if (index === this.#head) { - this.#head = this.#next[index]; - } else { - const pi = this.#prev[index]; - this.#next[pi] = this.#next[index]; - const ni = this.#next[index]; - this.#prev[ni] = this.#prev[index]; - } - this.#size--; - this.#free.push(index); - } - } - } - if (this.#hasDisposeAfter && this.#disposed?.length) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - return deleted; - } - /** - * Clear the cache entirely, throwing away all values. - */ - clear() { - return this.#clear("delete"); - } - #clear(reason) { - for (const index of this.#rindexes({ allowStale: true })) { - const v = this.#valList[index]; - if (this.#isBackgroundFetch(v)) { - v.__abortController.abort(new Error("deleted")); - } else { - const k = this.#keyList[index]; - if (this.#hasDispose) { - this.#dispose?.(v, k, reason); - } - if (this.#hasDisposeAfter) { - this.#disposed?.push([v, k, reason]); - } - } - } - this.#keyMap.clear(); - this.#valList.fill(void 0); - this.#keyList.fill(void 0); - if (this.#ttls && this.#starts) { - this.#ttls.fill(0); - this.#starts.fill(0); - } - if (this.#sizes) { - this.#sizes.fill(0); - } - this.#head = 0; - this.#tail = 0; - this.#free.length = 0; - this.#calculatedSize = 0; - this.#size = 0; - if (this.#hasDisposeAfter && this.#disposed) { - const dt = this.#disposed; - let task; - while (task = dt?.shift()) { - this.#disposeAfter?.(...task); - } - } - } -}; - -// src/run/storage/request-scoped-in-memory-cache.cts -var import_blob_types = require("../../shared/blob-types.cjs"); -var import_request_context = require("../handlers/request-context.cjs"); -var import_tracer = require("../handlers/tracer.cjs"); -var NullValue = Symbol.for("null-value"); -var isDataWithEtag = (value) => { - return typeof value === "object" && value !== null && "data" in value && "etag" in value; -}; -var IN_MEMORY_CACHE_MAX_SIZE = Symbol.for("nf-in-memory-cache-max-size"); -var IN_MEMORY_LRU_CACHE = Symbol.for("nf-in-memory-lru-cache"); -var extendedGlobalThis = globalThis; -var DEFAULT_FALLBACK_MAX_SIZE = 50 * 1024 * 1024; -function setInMemoryCacheMaxSizeFromNextConfig(size) { - if (typeof size === "number") { - extendedGlobalThis[IN_MEMORY_CACHE_MAX_SIZE] = size; - } -} -var isPositiveNumber = (value) => { - return typeof value === "number" && value > 0; -}; -var BASE_BLOB_SIZE = 25; -var BASE_BLOB_WITH_ETAG_SIZE = BASE_BLOB_SIZE + 34; -var estimateBlobKnownTypeSize = (valueToStore) => { - if (valueToStore === null || (0, import_types.isPromise)(valueToStore)) { - return BASE_BLOB_SIZE; - } - const { data, baseSize } = isDataWithEtag(valueToStore) ? { data: valueToStore.data, baseSize: BASE_BLOB_WITH_ETAG_SIZE } : { data: valueToStore, baseSize: BASE_BLOB_SIZE }; - if ((0, import_blob_types.isTagManifest)(data)) { - return baseSize; - } - if ((0, import_blob_types.isHtmlBlob)(data)) { - return baseSize + data.html.length; - } - if (data.value?.kind === "FETCH") { - return baseSize + data.value.data.body.length; - } - if (data.value?.kind === "APP_PAGE") { - return baseSize + data.value.html.length + (data.value.rscData?.length ?? 0); - } - if (data.value?.kind === "PAGE" || data.value?.kind === "PAGES") { - return baseSize + data.value.html.length + JSON.stringify(data.value.pageData).length; - } - if (data.value?.kind === "ROUTE" || data.value?.kind === "APP_ROUTE") { - return baseSize + data.value.body.length; - } -}; -var estimateBlobSize = (valueToStore) => { - let estimatedKnownTypeSize; - let estimateBlobKnownTypeSizeError; - try { - estimatedKnownTypeSize = estimateBlobKnownTypeSize(valueToStore); - if (isPositiveNumber(estimatedKnownTypeSize)) { - return estimatedKnownTypeSize; - } - } catch (error) { - estimateBlobKnownTypeSizeError = error; - } - const calculatedSize = JSON.stringify(valueToStore).length; - (0, import_tracer.recordWarning)( - new Error( - `Blob size calculation did fallback to JSON.stringify. EstimatedKnownTypeSize: ${estimatedKnownTypeSize}, CalculatedSize: ${calculatedSize}, ValueToStore: ${JSON.stringify(valueToStore)}`, - estimateBlobKnownTypeSizeError ? { cause: estimateBlobKnownTypeSizeError } : void 0 - ) - ); - return isPositiveNumber(calculatedSize) ? calculatedSize : BASE_BLOB_SIZE; -}; -function getInMemoryLRUCache() { - if (typeof extendedGlobalThis[IN_MEMORY_LRU_CACHE] === "undefined") { - const maxSize = typeof extendedGlobalThis[IN_MEMORY_CACHE_MAX_SIZE] === "number" ? extendedGlobalThis[IN_MEMORY_CACHE_MAX_SIZE] : DEFAULT_FALLBACK_MAX_SIZE; - if (maxSize === 0) { - extendedGlobalThis[IN_MEMORY_LRU_CACHE] = null; - } else { - const global = /* @__PURE__ */ new Map(); - const perRequest = new LRUCache({ - max: 1e3, - maxSize, - sizeCalculation: (valueToStore) => { - return estimateBlobSize(valueToStore === NullValue ? null : valueToStore); - } - }); - extendedGlobalThis[IN_MEMORY_LRU_CACHE] = { - perRequest, - global - }; - } - } - return extendedGlobalThis[IN_MEMORY_LRU_CACHE]; -} -var getRequestScopedInMemoryCache = () => { - const requestContext = (0, import_request_context.getRequestContext)(); - const inMemoryLRUCache = getInMemoryLRUCache(); - return { - get(key) { - if (!requestContext) return; - try { - const currentRequestValue = inMemoryLRUCache?.perRequest.get( - `${requestContext.requestID}:${key}` - ); - if (currentRequestValue) { - return { - conditional: false, - currentRequestValue: currentRequestValue === NullValue ? null : isDataWithEtag(currentRequestValue) ? currentRequestValue.data : currentRequestValue - }; - } - const globalEntry = inMemoryLRUCache?.global.get(key); - if (globalEntry) { - const derefencedGlobalEntry = globalEntry.deref(); - if (derefencedGlobalEntry) { - return { - conditional: true, - globalValue: derefencedGlobalEntry.data, - etag: derefencedGlobalEntry.etag - }; - } - inMemoryLRUCache?.global.delete(key); - } - } catch (error) { - (0, import_tracer.recordWarning)(new Error("Failed to get value from memory cache", { cause: error })); - } - }, - set(key, value) { - if (!requestContext) return; - try { - if (isDataWithEtag(value)) { - inMemoryLRUCache?.global.set(key, new WeakRef(value)); - } - inMemoryLRUCache?.perRequest.set(`${requestContext.requestID}:${key}`, value ?? NullValue); - } catch (error) { - (0, import_tracer.recordWarning)(new Error("Failed to store value in memory cache", { cause: error })); - } - } - }; -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - getRequestScopedInMemoryCache, - setInMemoryCacheMaxSizeFromNextConfig -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/storage.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/storage.cjs deleted file mode 100644 index 5a37a0a..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/run/storage/storage.cjs +++ /dev/null @@ -1,108 +0,0 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/run/storage/storage.cts -var storage_exports = {}; -__export(storage_exports, { - getMemoizedKeyValueStoreBackedByRegionalBlobStore: () => getMemoizedKeyValueStoreBackedByRegionalBlobStore, - setFetchBeforeNextPatchedIt: () => import_regional_blob_store2.setFetchBeforeNextPatchedIt, - setInMemoryCacheMaxSizeFromNextConfig: () => import_request_scoped_in_memory_cache2.setInMemoryCacheMaxSizeFromNextConfig -}); -module.exports = __toCommonJS(storage_exports); -var import_tracer = require("../handlers/tracer.cjs"); -var import_regional_blob_store = require("./regional-blob-store.cjs"); -var import_request_scoped_in_memory_cache = require("./request-scoped-in-memory-cache.cjs"); -var import_request_scoped_in_memory_cache2 = require("./request-scoped-in-memory-cache.cjs"); -var import_regional_blob_store2 = require("./regional-blob-store.cjs"); -var encodeBlobKey = async (key) => { - const { encodeBlobKey: encodeBlobKeyImpl } = await import("../../shared/blobkey.js"); - return await encodeBlobKeyImpl(key); -}; -var getMemoizedKeyValueStoreBackedByRegionalBlobStore = (...args) => { - const store = (0, import_regional_blob_store.getRegionalBlobStore)(...args); - const tracer = (0, import_tracer.getTracer)(); - return { - async get(key, otelSpanTitle) { - const inMemoryCache = (0, import_request_scoped_in_memory_cache.getRequestScopedInMemoryCache)(); - const memoizedValue = inMemoryCache.get(key); - if (memoizedValue?.conditional === false && typeof memoizedValue?.currentRequestValue !== "undefined") { - return memoizedValue.currentRequestValue; - } - const blobKey = await encodeBlobKey(key); - const getPromise = (0, import_tracer.withActiveSpan)(tracer, otelSpanTitle, async (span) => { - const { etag: previousEtag, globalValue: previousBlob } = memoizedValue?.conditional ? memoizedValue : {}; - span?.setAttributes({ key, blobKey, previousEtag }); - const result = await store.getWithMetadata(blobKey, { - type: "json", - etag: previousEtag - }); - const shouldReuseMemoizedBlob = result?.etag && previousEtag === result?.etag; - const blob = shouldReuseMemoizedBlob ? previousBlob : result?.data; - if (result?.etag && blob) { - inMemoryCache.set(key, { - data: blob, - etag: result?.etag - }); - } else { - inMemoryCache.set(key, blob); - } - span?.setAttributes({ - etag: result?.etag, - reusingPreviouslyFetchedBlob: shouldReuseMemoizedBlob, - status: blob ? shouldReuseMemoizedBlob ? "Hit, no change" : "Hit" : "Miss" - }); - return blob; - }); - inMemoryCache.set(key, getPromise); - return getPromise; - }, - async set(key, value, otelSpanTitle) { - const inMemoryCache = (0, import_request_scoped_in_memory_cache.getRequestScopedInMemoryCache)(); - inMemoryCache.set(key, value); - const blobKey = await encodeBlobKey(key); - return (0, import_tracer.withActiveSpan)(tracer, otelSpanTitle, async (span) => { - span?.setAttributes({ key, blobKey }); - const writeResult = await store.setJSON(blobKey, value); - if (writeResult?.etag) { - inMemoryCache.set(key, { - data: value, - etag: writeResult.etag - }); - } - return writeResult; - }); - } - }; -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - getMemoizedKeyValueStoreBackedByRegionalBlobStore, - setFetchBeforeNextPatchedIt, - setInMemoryCacheMaxSizeFromNextConfig -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/blob-types.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/blob-types.cjs deleted file mode 100644 index c3c4922..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/blob-types.cjs +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/shared/blob-types.cts -var blob_types_exports = {}; -__export(blob_types_exports, { - isHtmlBlob: () => isHtmlBlob, - isTagManifest: () => isTagManifest -}); -module.exports = __toCommonJS(blob_types_exports); -var isTagManifest = (value) => { - return typeof value === "object" && value !== null && "staleAt" in value && typeof value.staleAt === "number" && "expiredAt" in value && typeof value.expiredAt === "number" && Object.keys(value).length === 2; -}; -var isHtmlBlob = (value) => { - return typeof value === "object" && value !== null && "html" in value && "isFullyStaticPage" in value && typeof value.html === "string" && typeof value.isFullyStaticPage === "boolean" && Object.keys(value).length === 2; -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - isHtmlBlob, - isTagManifest -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/blobkey.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/blobkey.js deleted file mode 100644 index 8c1959d..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/blobkey.js +++ /dev/null @@ -1,25 +0,0 @@ - - var require = await (async () => { - var { createRequire } = await import("node:module"); - return createRequire(import.meta.url); - })(); - -import "../esm-chunks/chunk-6BT4RYQJ.js"; - -// src/shared/blobkey.ts -import { Buffer } from "node:buffer"; -import { webcrypto as crypto } from "node:crypto"; -var maxLength = 180; -async function encodeBlobKey(key) { - const buffer = Buffer.from(key); - const base64 = buffer.toString("base64url"); - if (base64.length <= maxLength) { - return base64; - } - const digest = await crypto.subtle.digest("SHA-256", buffer); - const hash = Buffer.from(digest).toString("base64url"); - return `${base64.slice(0, maxLength - hash.length - 1)}-${hash}`; -} -export { - encodeBlobKey -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/cache-types.cjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/cache-types.cjs deleted file mode 100644 index 24e9e43..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/dist/shared/cache-types.cjs +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// src/shared/cache-types.cts -var cache_types_exports = {}; -__export(cache_types_exports, { - isCachedPageValue: () => isCachedPageValue, - isCachedRouteValue: () => isCachedRouteValue -}); -module.exports = __toCommonJS(cache_types_exports); -var isCachedPageValue = (value) => value.kind === "PAGE" || value.kind === "PAGES"; -var isCachedRouteValue = (value) => value.kind === "ROUTE" || value.kind === "APP_ROUTE"; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - isCachedPageValue, - isCachedRouteValue -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/README.md b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/README.md deleted file mode 100644 index f88bba1..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Edge runtime - -This directory contains the logic required to create Netlify Edge Functions to support a Next.js -site. - -It stands out from the rest of the project because it contains files that run in Deno, not Node.js. -Therefore any files within `edge-runtime/` should not be imported from anywhere outside this -directory. - -There are a few sub-directories you should know about. - -## `lib/` - -Files that are imported by the generated edge functions. - -## `shim/` - -Files that are inlined in the generated edge functions. This means that _you must not import these -files_ from anywhere in the application, because they contain just fragments of a valid program. - -## `vendor/` - -Third-party dependencies used in the generated edge functions and pulled in ahead of time to avoid a -build time dependency on any package registry. - -This directory is automatically managed by the build script and can be re-generated by running -`npm run build`. - -You should not commit this directory to version control. diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/cjs.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/cjs.ts deleted file mode 100644 index 0098114..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/cjs.ts +++ /dev/null @@ -1,330 +0,0 @@ -import { Module, createRequire } from 'node:module' -import vm from 'node:vm' -import { sep } from 'node:path' -import { join, dirname, sep as posixSep } from 'node:path/posix' -import { fileURLToPath, pathToFileURL } from 'node:url' - -const toPosixPath = (path: string) => path.split(sep).join(posixSep) - -type RegisteredModule = { - source: string - loaded: boolean - filepath: string - // lazily parsed json string - parsedJson?: any -} -type ModuleResolutions = (subpath: string) => string -const registeredModules = new Map() -const memoizedPackageResolvers = new WeakMap() - -const require = createRequire(import.meta.url) - -let hookedIn = false - -function parseJson(matchedModule: RegisteredModule) { - if (matchedModule.parsedJson) { - return matchedModule.parsedJson - } - - try { - const jsonContent = JSON.parse(matchedModule.source) - matchedModule.parsedJson = jsonContent - return jsonContent - } catch (error) { - throw new Error(`Failed to parse JSON module: ${matchedModule.filepath}`, { cause: error }) - } -} - -type Condition = string // 'import', 'require', 'default', 'node-addon' etc -type SubpathMatcher = string -type ConditionalTarget = { [key in Condition]: string | ConditionalTarget } -type SubpathTarget = string | ConditionalTarget -/** - * @example - * { - * ".": "./main.js", - * "./foo": { - * "import": "./foo.js", - * "require": "./foo.cjs" - * } - * } - */ -type NormalizedExports = Record> - -// https://github.com/nodejs/node/blob/6fd67ec6e3ccbdfcfa0300b9b742040a0607a4bc/lib/internal/modules/esm/resolve.js#L555 -function isConditionalExportsMainSugar(exports: any) { - if (typeof exports === 'string' || Array.isArray(exports)) { - return true - } - if (typeof exports !== 'object' || exports === null) { - return false - } - - // not doing validation at this point, if the package.json was misconfigured - // we would not get to this point as it would throw when running `next build` - const keys = Object.keys(exports) - return keys.length > 0 && (keys[0] === '' || keys[0][0] !== '.') -} - -// https://github.com/nodejs/node/blob/6fd67ec6e3ccbdfcfa0300b9b742040a0607a4bc/lib/internal/modules/esm/resolve.js#L671 -function patternKeyCompare(a: string, b: string) { - const aPatternIndex = a.indexOf('*') - const bPatternIndex = b.indexOf('*') - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1 - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1 - if (baseLenA > baseLenB) { - return -1 - } - if (baseLenB > baseLenA) { - return 1 - } - if (aPatternIndex === -1) { - return 1 - } - if (bPatternIndex === -1) { - return -1 - } - if (a.length > b.length) { - return -1 - } - if (b.length > a.length) { - return 1 - } - return 0 -} - -function applyWildcardMatch(target: string, bestMatchSubpath?: string) { - return bestMatchSubpath ? target.replace('*', bestMatchSubpath) : target -} - -// https://github.com/nodejs/node/blob/323f19c18fea06b9234a0c945394447b077fe565/lib/internal/modules/helpers.js#L76 -const conditions = new Set(['require', 'node', 'node-addons', 'default']) - -// https://github.com/nodejs/node/blob/6fd67ec6e3ccbdfcfa0300b9b742040a0607a4bc/lib/internal/modules/esm/resolve.js#L480 -function matchConditions(target: SubpathTarget, bestMatchSubpath?: string) { - if (typeof target === 'string') { - return applyWildcardMatch(target, bestMatchSubpath) - } - - if (Array.isArray(target) && target.length > 0) { - for (const targetItem of target) { - return matchConditions(targetItem, bestMatchSubpath) - } - } - - if (typeof target === 'object' && target !== null) { - for (const [condition, targetValue] of Object.entries(target)) { - if (conditions.has(condition)) { - return matchConditions(targetValue, bestMatchSubpath) - } - } - } - - throw new Error('Invalid package target') -} - -function getPackageResolver(packageJsonMatchedModule: RegisteredModule) { - const memoized = memoizedPackageResolvers.get(packageJsonMatchedModule) - if (memoized) { - return memoized - } - - // https://nodejs.org/api/packages.html#package-entry-points - - const pkgJson = parseJson(packageJsonMatchedModule) - - let exports: NormalizedExports | null = null - if (pkgJson.exports) { - // https://github.com/nodejs/node/blob/6fd67ec6e3ccbdfcfa0300b9b742040a0607a4bc/lib/internal/modules/esm/resolve.js#L590 - exports = isConditionalExportsMainSugar(pkgJson.exports) - ? { '.': pkgJson.exports } - : pkgJson.exports - } - - const resolveInPackage: ModuleResolutions = (subpath: string) => { - if (exports) { - const normalizedSubpath = subpath.length === 0 ? '.' : './' + subpath - - // https://github.com/nodejs/node/blob/6fd67ec6e3ccbdfcfa0300b9b742040a0607a4bc/lib/internal/modules/esm/resolve.js#L594 - // simple case with matching as-is - if ( - normalizedSubpath in exports && - !normalizedSubpath.includes('*') && - !normalizedSubpath.endsWith('/') - ) { - return matchConditions(exports[normalizedSubpath]) - } - - // https://github.com/nodejs/node/blob/6fd67ec6e3ccbdfcfa0300b9b742040a0607a4bc/lib/internal/modules/esm/resolve.js#L610 - let bestMatchKey = '' - let bestMatchSubpath - for (const key of Object.keys(exports)) { - const patternIndex = key.indexOf('*') - if (patternIndex !== -1 && normalizedSubpath.startsWith(key.slice(0, patternIndex))) { - const patternTrailer = key.slice(patternIndex + 1) - if ( - normalizedSubpath.length > key.length && - normalizedSubpath.endsWith(patternTrailer) && - patternKeyCompare(bestMatchKey, key) === 1 && - key.lastIndexOf('*') === patternIndex - ) { - bestMatchKey = key - bestMatchSubpath = normalizedSubpath.slice( - patternIndex, - normalizedSubpath.length - patternTrailer.length, - ) - } - } - } - - if (bestMatchKey && typeof bestMatchSubpath === 'string') { - const matchedTarget = exports[bestMatchKey] - return matchConditions(matchedTarget, bestMatchSubpath) - } - - // if exports are defined, they are source of truth and any imports not allowed by it will fail - throw new Error(`Cannot find module '${normalizedSubpath}'`) - } - - if (subpath.length === 0 && pkgJson.main) { - return pkgJson.main - } - - return subpath - } - - memoizedPackageResolvers.set(packageJsonMatchedModule, resolveInPackage) - - return resolveInPackage -} - -function seedCJSModuleCacheAndReturnTarget(matchedModule: RegisteredModule, parent: Module) { - if (matchedModule.loaded) { - return matchedModule.filepath - } - const { source, filepath } = matchedModule - - const mod = new Module(filepath) - mod.parent = parent - mod.filename = filepath - mod.path = dirname(filepath) - // @ts-expect-error - private untyped API - mod.paths = Module._nodeModulePaths(mod.path) - require.cache[filepath] = mod - - try { - if (filepath.endsWith('.json')) { - Object.assign(mod.exports, parseJson(matchedModule)) - } else { - const wrappedSource = `(function (exports, require, module, __filename, __dirname) { ${source}\n});` - const compiled = vm.runInThisContext(wrappedSource, { - filename: filepath, - lineOffset: 0, - displayErrors: true, - }) - const modRequire = createRequire(pathToFileURL(filepath, { windows: false })) - compiled(mod.exports, modRequire, mod, filepath, dirname(filepath)) - } - mod.loaded = matchedModule.loaded = true - } catch (error) { - throw new Error(`Failed to compile CJS module: ${filepath}`, { cause: error }) - } - - return filepath -} - -// ideally require.extensions could be used, but it does NOT include '.cjs', so hardcoding instead -const exts = ['.js', '.cjs', '.json'] - -function tryWithExtensions(filename: string) { - let matchedModule = registeredModules.get(filename) - if (!matchedModule) { - for (const ext of exts) { - // require("./test") might resolve to ./test.js - const targetWithExt = filename + ext - - matchedModule = registeredModules.get(targetWithExt) - if (matchedModule) { - break - } - } - } - - return matchedModule -} - -function tryMatchingWithIndex(target: string) { - let matchedModule = tryWithExtensions(target) - if (!matchedModule) { - // require("./test") might resolve to ./test/index.js - const indexTarget = join(target, 'index') - matchedModule = tryWithExtensions(indexTarget) - } - - return matchedModule -} - -export function registerCJSModules(baseUrl: URL, modules: Map) { - const basePath = dirname(toPosixPath(fileURLToPath(baseUrl, { windows: false }))) - - for (const [filename, source] of modules.entries()) { - const target = join(basePath, filename) - registeredModules.set(target, { source, loaded: false, filepath: target }) - } - - if (!hookedIn) { - // @ts-expect-error - private untyped API - const original_resolveFilename = Module._resolveFilename.bind(Module) - // @ts-expect-error - private untyped API - Module._resolveFilename = (...args) => { - let target = args[0] - let isRelative = args?.[0].startsWith('.') - - if (isRelative) { - // only handle relative require paths - const requireFrom = toPosixPath(args?.[1]?.filename) - - target = join(dirname(requireFrom), args[0]) - } - - let matchedModule = tryMatchingWithIndex(target) - - if (!isRelative && !target.startsWith('/')) { - const packageName = target.startsWith('@') - ? target.split('/').slice(0, 2).join('/') - : target.split('/')[0] - const moduleInPackagePath = target.slice(packageName.length + 1) - - for (const nodeModulePathsRaw of args[1].paths) { - const nodeModulePaths = toPosixPath(nodeModulePathsRaw) - const potentialPackageJson = join(nodeModulePaths, packageName, 'package.json') - - const maybePackageJson = registeredModules.get(potentialPackageJson) - - let relativeTarget = moduleInPackagePath - - if (maybePackageJson) { - const packageResolver = getPackageResolver(maybePackageJson) - - relativeTarget = packageResolver(moduleInPackagePath) - } - - const potentialPath = join(nodeModulePaths, packageName, relativeTarget) - - matchedModule = tryMatchingWithIndex(potentialPath) - if (matchedModule) { - break - } - } - } - - if (matchedModule) { - return seedCJSModuleCacheAndReturnTarget(matchedModule, args[1]) - } - - return original_resolveFilename(...args) - } - - hookedIn = true - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/headers.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/headers.ts deleted file mode 100644 index 07918a0..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/headers.ts +++ /dev/null @@ -1,45 +0,0 @@ -export const InternalHeaders = { - NFDebugLogging: 'x-nf-debug-logging', - NFRequestID: 'x-nf-request-id', -} - -// Next 13 supports request header mutations and has the side effect of prepending header values with 'x-middleware-request' -// as part of invoking NextResponse.next() in the middleware. We need to remove that before sending the response the user -// as the code that removes it in Next isn't run based on how we handle the middleware -// -// Related Next.js code: -// * https://github.com/vercel/next.js/blob/68d06fe015b28d8f81da52ca107a5f4bd72ab37c/packages/next/server/next-server.ts#L1918-L1928 -// * https://github.com/vercel/next.js/blob/43c9d8940dc42337dd2f7d66aa90e6abf952278e/packages/next/server/web/spec-extension/response.ts#L10-L27 -export function updateModifiedHeaders(requestHeaders: Headers, responseHeaders: Headers) { - const overriddenHeaders = responseHeaders.get('x-middleware-override-headers') - if (!overriddenHeaders) { - return - } - - const headersToUpdate = new Set(overriddenHeaders.split(',').map((header) => header.trim())) - - // We can't iterate this directly, because we modify the headers in the loop. - // This was causing values to be skipped. By spreading them first we avoid that. - for (const key of [...requestHeaders.keys()]) { - if (!headersToUpdate.has(key)) { - requestHeaders.delete(key) - } - } - - for (const header of headersToUpdate) { - const oldHeaderKey = 'x-middleware-request-' + header - const headerValue = responseHeaders.get(oldHeaderKey) || '' - - const oldValue = requestHeaders.get(header) || '' - - if (oldValue !== headerValue) { - if (headerValue) { - requestHeaders.set(header, headerValue) - } else { - requestHeaders.delete(header) - } - } - responseHeaders.delete(oldHeaderKey) - } - responseHeaders.delete('x-middleware-override-headers') -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/logging.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/logging.ts deleted file mode 100644 index b2b60f2..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/logging.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { - logger, - LogLevel, - StructuredLogger, -} from '../vendor/v1-7-0--edge-utils.netlify.app/logger/mod.ts' diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/middleware.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/middleware.ts deleted file mode 100644 index f2ed78e..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/middleware.ts +++ /dev/null @@ -1,90 +0,0 @@ -import type { Context } from '@netlify/edge-functions' - -import type { ElementHandlers } from '../vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts' -import { getCookies } from '../vendor/deno.land/std@0.175.0/http/cookie.ts' - -type NextDataTransform = (data: T) => T - -interface ResponseCookies { - // This is non-standard that Next.js adds. - // https://github.com/vercel/next.js/blob/de08f8b3d31ef45131dad97a7d0e95fa01001167/packages/next/src/compiled/@edge-runtime/cookies/index.js#L158 - readonly _headers: Headers -} - -interface MiddlewareResponse extends Response { - originResponse: Response - dataTransforms: NextDataTransform[] - elementHandlers: Array<[selector: string, handlers: ElementHandlers]> - get cookies(): ResponseCookies -} - -interface MiddlewareRequest { - request: Request - context: Context - originalRequest: Request - next(): Promise - rewrite(destination: string | URL, init?: ResponseInit): Response -} - -export function isMiddlewareRequest( - response: Response | MiddlewareRequest, -): response is MiddlewareRequest { - return 'originalRequest' in response -} - -export function isMiddlewareResponse( - response: Response | MiddlewareResponse, -): response is MiddlewareResponse { - return 'dataTransforms' in response -} - -export const addMiddlewareHeaders = async ( - originResponse: Promise | Response, - middlewareResponse: Response, -) => { - // If there are extra headers, we need to add them to the response. - if ([...middlewareResponse.headers.keys()].length === 0) { - return originResponse - } - - // We need to await the response to get the origin headers, then we can add the ones from middleware. - const res = await originResponse - const response = new Response(res.body, res) - middlewareResponse.headers.forEach((value, key) => { - if (key === 'set-cookie') { - response.headers.append(key, value) - } else { - response.headers.set(key, value) - } - }) - return response -} - -// This serves the same purpose as the mergeMiddlewareCookies in Next.js but has been customized to our domain -// See: https://github.com/vercel/next.js/blob/6e4495f8430eab33b12cd11dffdd8e27eee6e0cf/packages/next/src/server/async-storage/request-store.ts#L78-L105 -export function mergeMiddlewareCookies(middlewareResponse: Response, lambdaRequest: Request) { - let mergedCookies = getCookies(lambdaRequest.headers) - const middlewareCookies = middlewareResponse.headers.get('x-middleware-set-cookie') - - if (middlewareCookies) { - // Next expects internal headers to be omitted when cookies are set by the middleware - // See: https://github.com/vercel/next.js/blob/005db43079c7b59fd8c2594e8362761dc4cb3211/test/e2e/app-dir/app-middleware/app-middleware.test.ts#L197-L207 - middlewareResponse.headers.delete('x-middleware-set-cookie') - - // Targets commas that are not followed by whitespace - // See: https://github.com/vercel/next.js/blob/e6145d3a37bb4c7b481fd58e05cdff9046ace8ad/packages/next/src/server/web/spec-extension/response.ts#L58-L66 - const regex = new RegExp(/,(?!\s)/) - - middlewareCookies.split(regex).forEach((entry) => { - // Extra directives within a cookie are joined on separated by "; " - // See: https://github.com/vercel/next.js/blob/0edb1123066a010eff2aac274f948ca2c6e85c0f/packages/next/src/compiled/%40edge-runtime/cookies/index.js#L32-L47 - const [cookie] = entry.split('; ') - const [name, value] = cookie.split('=') - mergedCookies[name] = value - }) - } - - return Object.entries(mergedCookies) - .map((kv) => kv.join('=')) - .join('; ') -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/next-request.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/next-request.ts deleted file mode 100644 index e8e1624..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/next-request.ts +++ /dev/null @@ -1,132 +0,0 @@ -import type { Context } from '@netlify/edge-functions' - -import { - addBasePath, - addLocale, - addTrailingSlash, - normalizeDataUrl, - normalizeLocalePath, - removeBasePath, -} from './util.ts' - -interface I18NConfig { - defaultLocale: string - localeDetection?: false - locales: string[] -} - -export interface RequestData { - geo?: { - city?: string - country?: string - region?: string - latitude?: string - longitude?: string - timezone?: string - } - headers: Record - ip?: string - method: string - nextConfig?: { - basePath?: string - i18n?: I18NConfig | null - trailingSlash?: boolean - skipMiddlewareUrlNormalize?: boolean - } - page?: { - name?: string - params?: { [key: string]: string } - } - url: string - body?: ReadableStream - detectedLocale?: string -} - -const normalizeRequestURL = ( - originalURL: string, - nextConfig?: RequestData['nextConfig'], -): { url: string; detectedLocale?: string } => { - const url = new URL(originalURL) - - let pathname = removeBasePath(url.pathname, nextConfig?.basePath) - - // If it exists, remove the locale from the URL and store it - const { detectedLocale } = normalizeLocalePath(pathname, nextConfig?.i18n?.locales) - - if (!nextConfig?.skipMiddlewareUrlNormalize) { - // We want to run middleware for data requests and expose the URL of the - // corresponding pages, so we have to normalize the URLs before running - // the handler. - pathname = normalizeDataUrl(pathname) - - // Normalizing the trailing slash based on the `trailingSlash` configuration - // property from the Next.js config. - if (nextConfig?.trailingSlash) { - pathname = addTrailingSlash(pathname) - } - } - - url.pathname = addBasePath(pathname, nextConfig?.basePath) - - return { - url: url.toString(), - detectedLocale, - } -} - -export const localizeRequest = ( - url: URL, - nextConfig?: { - basePath?: string - i18n?: I18NConfig | null - }, -): { localizedUrl: URL; locale?: string } => { - const localizedUrl = new URL(url) - localizedUrl.pathname = removeBasePath(localizedUrl.pathname, nextConfig?.basePath) - - // Detect the locale from the URL - const { detectedLocale } = normalizeLocalePath(localizedUrl.pathname, nextConfig?.i18n?.locales) - - // Add the locale to the URL if not already present - localizedUrl.pathname = addLocale( - localizedUrl.pathname, - detectedLocale ?? nextConfig?.i18n?.defaultLocale, - ) - - localizedUrl.pathname = addBasePath(localizedUrl.pathname, nextConfig?.basePath) - - return { - localizedUrl, - locale: detectedLocale, - } -} - -export const buildNextRequest = ( - request: Request, - context: Context, - nextConfig?: RequestData['nextConfig'], -): RequestData => { - const { url, method, body, headers } = request - const { country, subdivision, city, latitude, longitude, timezone } = context.geo - const geo: RequestData['geo'] = { - city, - country: country?.code, - region: subdivision?.code, - latitude: latitude?.toString(), - longitude: longitude?.toString(), - timezone, - } - - const { detectedLocale, url: normalizedUrl } = normalizeRequestURL(url, nextConfig) - - return { - headers: Object.fromEntries(headers.entries()), - geo, - url: normalizedUrl, - method, - ip: context.ip, - body: body ?? undefined, - nextConfig, - detectedLocale, - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/response.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/response.ts deleted file mode 100644 index fa000a3..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/response.ts +++ /dev/null @@ -1,284 +0,0 @@ -import type { Context } from '@netlify/edge-functions' -import { - HTMLRewriter, - type TextChunk, -} from '../vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts' - -import { updateModifiedHeaders } from './headers.ts' -import type { StructuredLogger } from './logging.ts' -import { - addMiddlewareHeaders, - isMiddlewareRequest, - isMiddlewareResponse, - mergeMiddlewareCookies, -} from './middleware.ts' -import { RequestData } from './next-request.ts' -import { - addBasePath, - normalizeDataUrl, - normalizeLocalePath, - normalizeTrailingSlash, - relativizeURL, - removeBasePath, - rewriteDataPath, -} from './util.ts' - -export interface FetchEventResult { - response: Response - waitUntil: Promise -} - -interface BuildResponseOptions { - context: Context - logger: StructuredLogger - request: Request - result: FetchEventResult - nextConfig?: RequestData['nextConfig'] -} - -export const buildResponse = async ({ - context, - logger, - request, - result, - nextConfig, -}: BuildResponseOptions): Promise => { - logger - .withFields({ is_nextresponse_next: result.response.headers.has('x-middleware-next') }) - .debug('Building Next.js response') - - updateModifiedHeaders(request.headers, result.response.headers) - - // They've returned the MiddlewareRequest directly, so we'll call `next()` for them. - if (isMiddlewareRequest(result.response)) { - result.response = await result.response.next() - } - - if (isMiddlewareResponse(result.response)) { - const { response } = result - if (request.method === 'HEAD' || request.method === 'OPTIONS') { - return response.originResponse - } - - // NextResponse doesn't set cookies onto the originResponse, so we need to copy them over - // In some cases, it's possible there are no headers set. See https://github.com/netlify/pod-ecosystem-frameworks/issues/475 - if (response.cookies._headers?.has('set-cookie')) { - response.originResponse.headers.set( - 'set-cookie', - response.cookies._headers.get('set-cookie')!, - ) - } - - // If it's JSON we don't need to use the rewriter, we can just parse it - if (response.originResponse.headers.get('content-type')?.includes('application/json')) { - const props = await response.originResponse.json() - const transformed = response.dataTransforms.reduce((prev, transform) => { - return transform(prev) - }, props) - const body = JSON.stringify(transformed) - const headers = new Headers(response.headers) - headers.set('content-length', String(body.length)) - - return Response.json(transformed, { ...response, headers }) - } - - // This var will hold the contents of the script tag - let buffer = '' - // Create an HTMLRewriter that matches the Next data script tag - const rewriter = new HTMLRewriter() - - if (response.dataTransforms.length > 0) { - rewriter.on('script[id="__NEXT_DATA__"]', { - text(textChunk: TextChunk) { - // Grab all the chunks in the Next data script tag - buffer += textChunk.text - if (textChunk.lastInTextNode) { - try { - // When we have all the data, try to parse it as JSON - const data = JSON.parse(buffer.trim()) - // Apply all of the transforms to the props - const props = response.dataTransforms.reduce( - (prev, transform) => transform(prev), - data.props, - ) - // Replace the data with the transformed props - // With `html: true` the input is treated as raw HTML - // @see https://developers.cloudflare.com/workers/runtime-apis/html-rewriter/#global-types - textChunk.replace(JSON.stringify({ ...data, props }), { html: true }) - } catch (err) { - console.log('Could not parse', err) - } - } else { - // Remove the chunk after we've appended it to the buffer - textChunk.remove() - } - }, - }) - } - - if (response.elementHandlers.length > 0) { - response.elementHandlers.forEach(([selector, handlers]) => rewriter.on(selector, handlers)) - } - return rewriter.transform(response.originResponse) - } - - const edgeResponse = new Response(result.response.body, result.response) - request.headers.set('x-nf-next-middleware', 'skip') - - let rewrite = edgeResponse.headers.get('x-middleware-rewrite') - let redirect = edgeResponse.headers.get('location') - let nextRedirect = edgeResponse.headers.get('x-nextjs-redirect') - - // Data requests (i.e. requests for /_next/data ) need special handling - const isDataReq = request.headers.has('x-nextjs-data') - // Data requests need to be normalized to the route path - if (isDataReq && !redirect && !rewrite && !nextRedirect) { - const requestUrl = new URL(request.url) - const normalizedDataUrl = normalizeDataUrl(requestUrl.pathname) - // Don't rewrite unless the URL has changed - if (normalizedDataUrl !== requestUrl.pathname) { - rewrite = `${normalizedDataUrl}${requestUrl.search}` - logger.withFields({ rewrite_url: rewrite }).debug('Rewritten data URL') - } - } - - if (rewrite) { - logger.withFields({ rewrite_url: rewrite }).debug('Found middleware rewrite') - - const rewriteUrl = new URL(rewrite, request.url) - const baseUrl = new URL(request.url) - if (rewriteUrl.toString() === baseUrl.toString()) { - logger.withFields({ rewrite_url: rewrite }).debug('Rewrite url is same as original url') - return - } - - const relativeUrl = relativizeURL(rewrite, request.url) - - if (isDataReq) { - // Data requests might be rewritten to an external URL - // This header tells the client router the redirect target, and if it's external then it will do a full navigation - - edgeResponse.headers.set('x-nextjs-rewrite', relativeUrl) - } - - if (rewriteUrl.origin !== baseUrl.origin) { - logger.withFields({ rewrite_url: rewrite }).debug('Rewriting to external url') - const proxyRequest = await cloneRequest(rewriteUrl, request) - - // Remove Netlify internal headers - for (const key of request.headers.keys()) { - if (key.startsWith('x-nf-')) { - proxyRequest.headers.delete(key) - } - } - - return addMiddlewareHeaders(fetch(proxyRequest, { redirect: 'manual' }), edgeResponse) - } - - if (isDataReq) { - rewriteUrl.pathname = rewriteDataPath({ - dataUrl: new URL(request.url).pathname, - newRoute: removeBasePath(rewriteUrl.pathname, nextConfig?.basePath), - basePath: nextConfig?.basePath, - }) - } else { - // respect trailing slash rules to prevent 308s - rewriteUrl.pathname = normalizeTrailingSlash(rewriteUrl.pathname, nextConfig?.trailingSlash) - } - - const target = normalizeLocalizedTarget({ target: rewriteUrl.toString(), request, nextConfig }) - if (target === request.url) { - logger.withFields({ rewrite_url: rewrite }).debug('Rewrite url is same as original url') - return - } - edgeResponse.headers.set('x-middleware-rewrite', relativeUrl) - request.headers.set('x-middleware-rewrite', target) - - // coookies set in middleware need to be available during the lambda request - const newRequest = await cloneRequest(target, request) - const newRequestCookies = mergeMiddlewareCookies(edgeResponse, newRequest) - if (newRequestCookies) { - newRequest.headers.set('Cookie', newRequestCookies) - } - - return addMiddlewareHeaders(context.next(newRequest), edgeResponse) - } - - if (redirect) { - redirect = normalizeLocalizedTarget({ target: redirect, request, nextConfig }) - if (redirect === request.url) { - logger.withFields({ redirect_url: redirect }).debug('Redirect url is same as original url') - return - } - edgeResponse.headers.set('location', relativizeURL(redirect, request.url)) - } - - // Data requests shouldn't automatically redirect in the browser (they might be HTML pages): they're handled by the router - if (redirect && isDataReq) { - edgeResponse.headers.delete('location') - edgeResponse.headers.set('x-nextjs-redirect', relativizeURL(redirect, request.url)) - } - - nextRedirect = edgeResponse.headers.get('x-nextjs-redirect') - - if (nextRedirect && isDataReq) { - edgeResponse.headers.set('x-nextjs-redirect', normalizeDataUrl(nextRedirect)) - } - - if (edgeResponse.headers.get('x-middleware-next') === '1') { - edgeResponse.headers.delete('x-middleware-next') - - // coookies set in middleware need to be available during the lambda request - const newRequest = await cloneRequest(request.url, request) - const newRequestCookies = mergeMiddlewareCookies(edgeResponse, newRequest) - if (newRequestCookies) { - newRequest.headers.set('Cookie', newRequestCookies) - } - - return addMiddlewareHeaders(context.next(newRequest), edgeResponse) - } - - return edgeResponse -} - -/** - * Normalizes the locale in a URL. - */ -function normalizeLocalizedTarget({ - target, - request, - nextConfig, -}: { - target: string - request: Request - nextConfig?: RequestData['nextConfig'] -}): string { - const targetUrl = new URL(target, request.url) - - const normalizedTarget = normalizeLocalePath(targetUrl.pathname, nextConfig?.i18n?.locales) - - if ( - normalizedTarget.detectedLocale && - !normalizedTarget.pathname.startsWith(`/api/`) && - !normalizedTarget.pathname.startsWith(`/_next/static/`) - ) { - targetUrl.pathname = - addBasePath( - `/${normalizedTarget.detectedLocale}${normalizedTarget.pathname}`, - nextConfig?.basePath, - ) || `/` - } else { - targetUrl.pathname = addBasePath(normalizedTarget.pathname, nextConfig?.basePath) || `/` - } - return targetUrl.toString() -} - -async function cloneRequest(url, request: Request) { - // This is not ideal, but streaming to an external URL doesn't work - const body = request.body && !request.bodyUsed ? await request.arrayBuffer() : undefined - return new Request(url, { - headers: request.headers, - method: request.method, - body, - }) -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/routing.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/routing.ts deleted file mode 100644 index e9fbaf1..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/routing.ts +++ /dev/null @@ -1,461 +0,0 @@ -/** - * Various router utils ported to Deno from Next.js source - * Licence: https://github.com/vercel/next.js/blob/7280c3ced186bb9a7ae3d7012613ef93f20b0fa9/license.md - * - * Some types have been re-implemented to be more compatible with Deno or avoid chains of dependent files - */ - -import type { Key } from '../vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts' - -import { compile, pathToRegexp } from '../vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts' -import { getCookies } from '../vendor/deno.land/std@0.175.0/http/cookie.ts' - -/* - ┌─────────────────────────────────────────────────────────────────────────┠- │ Inlined/re-implemented types │ - └─────────────────────────────────────────────────────────────────────────┘ - */ -export interface ParsedUrlQuery { - [key: string]: string | string[] -} - -export interface Params { - [param: string]: any -} - -export type RouteHas = - | { - type: 'header' | 'query' | 'cookie' - key: string - value?: string - } - | { - type: 'host' - key?: undefined - value: string - } - -export type Rewrite = { - source: string - destination: string - basePath?: false - locale?: false - has?: RouteHas[] - missing?: RouteHas[] - regex: string -} - -export type Header = { - source: string - basePath?: false - locale?: false - headers: Array<{ key: string; value: string }> - has?: RouteHas[] - missing?: RouteHas[] - regex: string -} - -export type Redirect = { - source: string - destination: string - basePath?: false - locale?: false - has?: RouteHas[] - missing?: RouteHas[] - statusCode?: number - permanent?: boolean - regex: string -} - -export type DynamicRoute = { - page: string - regex: string - namedRegex?: string - routeKeys?: { [key: string]: string } -} - -export type RoutesManifest = { - basePath: string - redirects: Redirect[] - headers: Header[] - rewrites: { - beforeFiles: Rewrite[] - afterFiles: Rewrite[] - fallback: Rewrite[] - } - dynamicRoutes: DynamicRoute[] -} - -/* - ┌─────────────────────────────────────────────────────────────────────────┠- │ packages/next/src/shared/lib/escape-regexp.ts │ - └─────────────────────────────────────────────────────────────────────────┘ - */ -// regexp is based on https://github.com/sindresorhus/escape-string-regexp -const reHasRegExp = /[|\\{}()[\]^$+*?.-]/ -const reReplaceRegExp = /[|\\{}()[\]^$+*?.-]/g - -export function escapeStringRegexp(str: string) { - // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23 - if (reHasRegExp.test(str)) { - return str.replace(reReplaceRegExp, '\\$&') - } - - return str -} - -/* - ┌─────────────────────────────────────────────────────────────────────────┠- │ packages/next/src/shared/lib/router/utils/querystring.ts │ - └─────────────────────────────────────────────────────────────────────────┘ - */ -export function searchParamsToUrlQuery(searchParams: URLSearchParams): ParsedUrlQuery { - const query: ParsedUrlQuery = {} - - searchParams.forEach((value, key) => { - if (typeof query[key] === 'undefined') { - query[key] = value - } else if (Array.isArray(query[key])) { - ;(query[key] as string[]).push(value) - } else { - query[key] = [query[key] as string, value] - } - }) - - return query -} - -/* - ┌─────────────────────────────────────────────────────────────────────────┠- │ packages/next/src/shared/lib/router/utils/parse-url.ts │ - └─────────────────────────────────────────────────────────────────────────┘ - */ -interface ParsedUrl { - hash: string - hostname?: string | null - href: string - pathname: string - port?: string | null - protocol?: string | null - query: ParsedUrlQuery - search: string -} - -export function parseUrl(url: string): ParsedUrl { - const parsedURL = url.startsWith('/') ? new URL(url, 'http://n') : new URL(url) - - return { - hash: parsedURL.hash, - hostname: parsedURL.hostname, - href: parsedURL.href, - pathname: parsedURL.pathname, - port: parsedURL.port, - protocol: parsedURL.protocol, - query: searchParamsToUrlQuery(parsedURL.searchParams), - search: parsedURL.search, - } -} - -/* - ┌─────────────────────────────────────────────────────────────────────────┠- │ packages/next/src/shared/lib/router/utils/prepare-destination.ts │ - │ — Changed to use WHATWG Fetch `Request` instead of │ - │ `http.IncomingMessage`. │ - └─────────────────────────────────────────────────────────────────────────┘ - */ -export function matchHas( - req: Pick, - query: Params, - has: RouteHas[] = [], - missing: RouteHas[] = [], -): false | Params { - const params: Params = {} - const cookies = getCookies(req.headers) - const url = new URL(req.url) - const hasMatch = (hasItem: RouteHas) => { - let value: undefined | string | null - let key = hasItem.key - - switch (hasItem.type) { - case 'header': { - key = hasItem.key.toLowerCase() - value = req.headers.get(key) - break - } - case 'cookie': { - value = cookies[hasItem.key] - break - } - case 'query': { - value = query[hasItem.key] - break - } - case 'host': { - value = url.hostname - break - } - default: { - break - } - } - if (!hasItem.value && value && key) { - params[getSafeParamName(key)] = value - - return true - } else if (value) { - const matcher = new RegExp(`^${hasItem.value}$`) - const matches = Array.isArray(value) - ? value.slice(-1)[0].match(matcher) - : value.match(matcher) - - if (matches) { - if (Array.isArray(matches)) { - if (matches.groups) { - Object.keys(matches.groups).forEach((groupKey) => { - params[groupKey] = matches.groups![groupKey] - }) - } else if (hasItem.type === 'host' && matches[0]) { - params.host = matches[0] - } - } - return true - } - } - return false - } - - const allMatch = has.every((item) => hasMatch(item)) && !missing.some((item) => hasMatch(item)) - - if (allMatch) { - return params - } - return false -} - -export function compileNonPath(value: string, params: Params): string { - if (!value.includes(':')) { - return value - } - - for (const key of Object.keys(params)) { - if (value.includes(`:${key}`)) { - value = value - .replace(new RegExp(`:${key}\\*`, 'g'), `:${key}--ESCAPED_PARAM_ASTERISKS`) - .replace(new RegExp(`:${key}\\?`, 'g'), `:${key}--ESCAPED_PARAM_QUESTION`) - .replace(new RegExp(`:${key}\\+`, 'g'), `:${key}--ESCAPED_PARAM_PLUS`) - .replace(new RegExp(`:${key}(?!\\w)`, 'g'), `--ESCAPED_PARAM_COLON${key}`) - } - } - value = value - .replace(/(:|\*|\?|\+|\(|\)|\{|\})/g, '\\$1') - .replace(/--ESCAPED_PARAM_PLUS/g, '+') - .replace(/--ESCAPED_PARAM_COLON/g, ':') - .replace(/--ESCAPED_PARAM_QUESTION/g, '?') - .replace(/--ESCAPED_PARAM_ASTERISKS/g, '*') - // the value needs to start with a forward-slash to be compiled - // correctly - return compile(`/${value}`, { validate: false })(params).slice(1) -} - -export function prepareDestination(args: { - appendParamsToQuery: boolean - destination: string - params: Params - query: ParsedUrlQuery -}) { - const query = Object.assign({}, args.query) - delete query.__nextLocale - delete query.__nextDefaultLocale - delete query.__nextDataReq - - let escapedDestination = args.destination - - for (const param of Object.keys({ ...args.params, ...query })) { - escapedDestination = escapeSegment(escapedDestination, param) - } - - const parsedDestination: ParsedUrl = parseUrl(escapedDestination) - const destQuery = parsedDestination.query - const destPath = unescapeSegments(`${parsedDestination.pathname!}${parsedDestination.hash || ''}`) - const destHostname = unescapeSegments(parsedDestination.hostname || '') - const destPathParamKeys: Key[] = [] - const destHostnameParamKeys: Key[] = [] - pathToRegexp(destPath, destPathParamKeys) - pathToRegexp(destHostname, destHostnameParamKeys) - - const destParams: (string | number)[] = [] - - destPathParamKeys.forEach((key) => destParams.push(key.name)) - destHostnameParamKeys.forEach((key) => destParams.push(key.name)) - - const destPathCompiler = compile( - destPath, - // we don't validate while compiling the destination since we should - // have already validated before we got to this point and validating - // breaks compiling destinations with named pattern params from the source - // e.g. /something:hello(.*) -> /another/:hello is broken with validation - // since compile validation is meant for reversing and not for inserting - // params from a separate path-regex into another - { validate: false }, - ) - - const destHostnameCompiler = compile(destHostname, { validate: false }) - - // update any params in query values - for (const [key, strOrArray] of Object.entries(destQuery)) { - // the value needs to start with a forward-slash to be compiled - // correctly - if (Array.isArray(strOrArray)) { - destQuery[key] = strOrArray.map((value) => - compileNonPath(unescapeSegments(value), args.params), - ) - } else { - destQuery[key] = compileNonPath(unescapeSegments(strOrArray), args.params) - } - } - - // add path params to query if it's not a redirect and not - // already defined in destination query or path - const paramKeys = Object.keys(args.params).filter((name) => name !== 'nextInternalLocale') - - if (args.appendParamsToQuery && !paramKeys.some((key) => destParams.includes(key))) { - for (const key of paramKeys) { - if (!(key in destQuery)) { - destQuery[key] = args.params[key] - } - } - } - - let newUrl - - try { - newUrl = destPathCompiler(args.params) - - const [pathname, hash] = newUrl.split('#') - parsedDestination.hostname = destHostnameCompiler(args.params) - parsedDestination.pathname = pathname - parsedDestination.hash = `${hash ? '#' : ''}${hash || ''}` - delete (parsedDestination as any).search - } catch (err: any) { - if (err.message.match(/Expected .*? to not repeat, but got an array/)) { - throw new Error( - `To use a multi-match in the destination you must add \`*\` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match`, - ) - } - throw err - } - - // Query merge order lowest priority to highest - // 1. initial URL query values - // 2. path segment values - // 3. destination specified query values - parsedDestination.query = { - ...query, - ...parsedDestination.query, - } - - return { - newUrl, - destQuery, - parsedDestination, - } -} - -/** - * Ensure only a-zA-Z are used for param names for proper interpolating - * with path-to-regexp - */ -function getSafeParamName(paramName: string) { - let newParamName = '' - - for (let i = 0; i < paramName.length; i++) { - const charCode = paramName.charCodeAt(i) - - if ( - (charCode > 64 && charCode < 91) || // A-Z - (charCode > 96 && charCode < 123) // a-z - ) { - newParamName += paramName[i] - } - } - return newParamName -} - -function escapeSegment(str: string, segmentName: string) { - return str.replace( - new RegExp(`:${escapeStringRegexp(segmentName)}`, 'g'), - `__ESC_COLON_${segmentName}`, - ) -} - -function unescapeSegments(str: string) { - return str.replace(/__ESC_COLON_/gi, ':') -} - -/* - ┌─────────────────────────────────────────────────────────────────────────┠- │ packages/next/src/shared/lib/router/utils/is-dynamic.ts │ - └─────────────────────────────────────────────────────────────────────────┘ - */ -// Identify /[param]/ in route string -const TEST_ROUTE = /\/\[[^/]+?\](?=\/|$)/ - -export function isDynamicRoute(route: string): boolean { - return TEST_ROUTE.test(route) -} - -/* - ┌─────────────────────────────────────────────────────────────────────────┠- │ packages/next/shared/lib/router/utils/middleware-route-matcher.ts │ - └─────────────────────────────────────────────────────────────────────────┘ - */ -export interface MiddlewareRouteMatch { - ( - pathname: string | null | undefined, - request: Pick, - query: Params, - ): boolean -} - -export interface MiddlewareMatcher { - regexp: string - locale?: false - has?: RouteHas[] - missing?: RouteHas[] -} - -const decodeMaybeEncodedPath = (path: string): string => { - try { - return decodeURIComponent(path) - } catch { - return path - } -} - -export function getMiddlewareRouteMatcher(matchers: MiddlewareMatcher[]): MiddlewareRouteMatch { - return ( - unsafePathname: string | null | undefined, - req: Pick, - query: Params, - ) => { - const pathname = decodeMaybeEncodedPath(unsafePathname ?? '') - - for (const matcher of matchers) { - const routeMatch = new RegExp(matcher.regexp).exec(pathname) - if (!routeMatch) { - continue - } - - if (matcher.has || matcher.missing) { - const hasParams = matchHas(req, query, matcher.has, matcher.missing) - if (!hasParams) { - continue - } - } - - return true - } - - return false - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/util.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/util.ts deleted file mode 100644 index 26677b4..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/lib/util.ts +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Normalize a data URL into a route path. - * @see https://github.com/vercel/next.js/blob/25e0988e7c9033cb1503cbe0c62ba5de2e97849c/packages/next/src/shared/lib/router/utils/get-next-pathname-info.ts#L69-L76 - */ -export function normalizeDataUrl(urlPath: string) { - if (urlPath.startsWith('/_next/data/') && urlPath.includes('.json')) { - const paths = urlPath - .replace(/^\/_next\/data\//, '') - .replace(/\.json/, '') - .split('/') - - urlPath = paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/' - } - - return urlPath -} - -export const removeBasePath = (path: string, basePath?: string) => { - if (basePath && path.startsWith(basePath)) { - return path.replace(basePath, '') - } - return path -} - -export const addBasePath = (path: string, basePath?: string) => { - if (basePath && !path.startsWith(basePath)) { - return `${basePath}${path}` - } - return path -} - -// add locale prefix if not present, allowing for locale fallbacks -export const addLocale = (path: string, locale?: string) => { - if ( - locale && - path.toLowerCase() !== `/${locale.toLowerCase()}` && - !path.toLowerCase().startsWith(`/${locale.toLowerCase()}/`) && - !path.startsWith(`/api/`) && - !path.startsWith(`/_next/`) - ) { - return `/${locale}${path}` - } - return path -} - -// https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/i18n/normalize-locale-path.ts - -export interface PathLocale { - detectedLocale?: string - pathname: string -} - -/** - * For a pathname that may include a locale from a list of locales, it - * removes the locale from the pathname returning it alongside with the - * detected locale. - * - * @param pathname A pathname that may include a locale. - * @param locales A list of locales. - * @returns The detected locale and pathname without locale - */ -export function normalizeLocalePath(pathname: string, locales?: string[]): PathLocale { - let detectedLocale: string | undefined - // first item will be empty string from splitting at first char - const pathnameParts = pathname.split('/') - - ;(locales || []).some((locale) => { - if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) { - detectedLocale = locale - pathnameParts.splice(1, 1) - pathname = pathnameParts.join('/') - return true - } - return false - }) - return { - pathname, - detectedLocale, - } -} - -/** - * This is how Next handles rewritten URLs. - */ -export function relativizeURL(url: string | string, base: string | URL) { - const baseURL = typeof base === 'string' ? new URL(base) : base - const relative = new URL(url, base) - const origin = `${baseURL.protocol}//${baseURL.host}` - return `${relative.protocol}//${relative.host}` === origin - ? relative.toString().replace(origin, '') - : relative.toString() -} - -export const normalizeIndex = (path: string) => (path === '/' ? '/index' : path) - -export const normalizeTrailingSlash = (path: string, trailingSlash?: boolean) => - trailingSlash ? addTrailingSlash(path) : stripTrailingSlash(path) - -export const stripTrailingSlash = (path: string) => - path !== '/' && path.endsWith('/') ? path.slice(0, -1) : path - -export const addTrailingSlash = (path: string) => (path.endsWith('/') ? path : `${path}/`) - -/** - * Modify a data url to point to a new page route. - */ -export function rewriteDataPath({ - dataUrl, - newRoute, - basePath, -}: { - dataUrl: string - newRoute: string - basePath?: string -}) { - const normalizedDataUrl = normalizeDataUrl(removeBasePath(dataUrl, basePath)) - - return addBasePath( - dataUrl.replace( - normalizeIndex(normalizedDataUrl), - stripTrailingSlash(normalizeIndex(newRoute)), - ), - basePath, - ) -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/matchers.json b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/matchers.json deleted file mode 100644 index fe51488..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/matchers.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/middleware.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/middleware.ts deleted file mode 100644 index 8a9452f..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/middleware.ts +++ /dev/null @@ -1,73 +0,0 @@ -import type { Context } from '@netlify/edge-functions' - -import matchers from './matchers.json' with { type: 'json' } -import nextConfig from './next.config.json' with { type: 'json' } - -import { InternalHeaders } from './lib/headers.ts' -import { logger, LogLevel } from './lib/logging.ts' -import { buildNextRequest, localizeRequest, RequestData } from './lib/next-request.ts' -import { buildResponse, FetchEventResult } from './lib/response.ts' -import { - getMiddlewareRouteMatcher, - searchParamsToUrlQuery, - type MiddlewareRouteMatch, -} from './lib/routing.ts' - -type NextHandler = (params: { request: RequestData }) => Promise - -const matchesMiddleware: MiddlewareRouteMatch = getMiddlewareRouteMatcher(matchers || []) - -/** - * Runs a Next.js middleware as a Netlify Edge Function. It translates a web - * platform Request into a NextRequest instance on the way in, and translates - * a NextResponse into a web platform Response on the way out. - * - * @param request Incoming request - * @param context Netlify-specific context object - * @param nextHandler Next.js middleware handler - */ -export async function handleMiddleware( - request: Request, - context: Context, - nextHandler: NextHandler, -) { - const url = new URL(request.url) - - const reqLogger = logger - .withLogLevel( - request.headers.has(InternalHeaders.NFDebugLogging) ? LogLevel.Debug : LogLevel.Log, - ) - .withFields({ url_path: url.pathname }) - .withRequestID(request.headers.get(InternalHeaders.NFRequestID)) - - const { localizedUrl } = localizeRequest(url, nextConfig) - // While we have already checked the path when mapping to the edge function, - // Next.js supports extra rules that we need to check here too, because we - // might be running an edge function for a path we should not. If we find - // that's the case, short-circuit the execution. - if ( - !matchesMiddleware(localizedUrl.pathname, request, searchParamsToUrlQuery(url.searchParams)) - ) { - reqLogger.debug('Aborting middleware due to runtime rules') - - return - } - - const nextRequest = buildNextRequest(request, context, nextConfig) - try { - const result = await nextHandler({ request: nextRequest }) - const response = await buildResponse({ - context, - logger: reqLogger, - request, - result, - nextConfig, - }) - - return response - } catch (error) { - console.error(error) - - return new Response(error.message, { status: 500 }) - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/next.config.json b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/next.config.json deleted file mode 100644 index 0967ef4..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/next.config.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/shim/edge.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/shim/edge.js deleted file mode 100644 index 423c9dd..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/shim/edge.js +++ /dev/null @@ -1,43 +0,0 @@ -// NOTE: This is a fragment of a JavaScript program that will be inlined with -// a Webpack bundle. You should not import this file from anywhere in the -// application. -import { AsyncLocalStorage } from 'node:async_hooks' -import process from 'node:process' -import * as BufferCompat from 'node:buffer' -import * as EventsCompat from 'node:events' -import * as AsyncHooksCompat from 'node:async_hooks' -import * as AssertCompat from 'node:assert' -import * as UtilCompat from 'node:util' - -globalThis.process = process - -globalThis.AsyncLocalStorage = AsyncLocalStorage - -// next.js generates require("node:buffer") statemenents: -// https://github.com/vercel/next.js/blob/89e68377baf3ea6d2bf09e0ae694f57ec5c8ea93/packages/next/src/build/webpack-config.ts#L1677-L1684 -// we need to shim them, because require doesn't work on Deno -// we've also added a few more shims that Next.js also shims in their own sandbox: -// https://github.com/vercel/next.js/blob/55b472b5fc8da9a97ffca0070befa80ae431217f/packages/next/src/server/web/sandbox/context.ts#L177 -globalThis.require = function nextRuntimeMinimalRequireShim(name) { - switch (name.replace(/^node:/, '')) { - case 'buffer': - return BufferCompat - case 'events': - return EventsCompat - case 'async_hooks': - return AsyncHooksCompat - case 'assert': - return AssertCompat - case 'util': - return UtilCompat - default: - throw new ReferenceError(`require is not defined`) - } -} - -var _ENTRIES = {} -try { - // turbopack builds use self._ENTRIES not globalThis._ENTRIES - // so making sure both points to same object - self._ENTRIES = _ENTRIES -} catch {} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/shim/node.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/shim/node.js deleted file mode 100644 index 9e474be..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/shim/node.js +++ /dev/null @@ -1,21 +0,0 @@ -// NOTE: This is a fragment of a JavaScript program that will be inlined with -// a Webpack bundle. You should not import this file from anywhere in the -// application. -import { createRequire } from 'node:module' // used in dynamically generated part - -import { registerCJSModules } from '../edge-runtime/lib/cjs.ts' // used in dynamically generated part - -if (typeof process === 'undefined') { - globalThis.process = (await import('node:process')).default -} - -if (typeof AsyncLocalStorage === 'undefined') { - globalThis.AsyncLocalStorage = (await import('node:async_hooks')).AsyncLocalStorage -} - -if (typeof Buffer === 'undefined') { - globalThis.Buffer = (await import('node:buffer')).Buffer -} - -// needed for path.relative and path.resolve to work -Deno.cwd = () => '' diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor.ts deleted file mode 100644 index 3618996..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor.ts +++ /dev/null @@ -1,24 +0,0 @@ -// NOTE: This file contains a list of the third-party Deno dependencies we use. -// It acts as a seed that populates the `vendor/` directory and should not be -// imported directly. - -import 'https://deno.land/std@0.175.0/http/cookie.ts' -import 'https://deno.land/std@0.175.0/node/buffer.ts' -import 'https://deno.land/std@0.175.0/node/events.ts' -import 'https://deno.land/std@0.175.0/node/async_hooks.ts' -import 'https://deno.land/std@0.175.0/node/assert.ts' -import 'https://deno.land/std@0.175.0/node/util.ts' -import 'https://deno.land/std@0.175.0/path/mod.ts' - -import 'https://deno.land/x/path_to_regexp@v6.2.1/index.ts' -import 'https://deno.land/x/htmlrewriter@v1.0.0/src/index.ts' - -import 'https://v1-7-0--edge-utils.netlify.app/logger/mod.ts' - -// Types -import 'https://deno.land/std@0.175.0/node/_global.d.ts' -import 'https://deno.land/std@0.175.0/node/_events.d.ts' -import 'https://deno.land/std@0.175.0/node/_stream.d.ts' -import 'https://deno.land/std@0.175.0/node/internal/buffer.d.ts' -import 'https://deno.land/std@0.175.0/types.d.ts' -import 'https://deno.land/x/htmlrewriter@v1.0.0/src/types.d.ts' diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/_util/asserts.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/_util/asserts.ts deleted file mode 100644 index 3c5c346..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/_util/asserts.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -/** - * All internal non-test code, that is files that do not have `test` or `bench` in the name, must use the assertion functions within `_utils/asserts.ts` and not `testing/asserts.ts`. This is to create a separation of concerns between internal and testing assertions. - */ - -export class DenoStdInternalError extends Error { - constructor(message: string) { - super(message); - this.name = "DenoStdInternalError"; - } -} - -/** Make an assertion, if not `true`, then throw. */ -export function assert(expr: unknown, msg = ""): asserts expr { - if (!expr) { - throw new DenoStdInternalError(msg); - } -} - -/** Use this to assert unreachable code. */ -export function unreachable(): never { - throw new DenoStdInternalError("unreachable"); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/_util/os.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/_util/os.ts deleted file mode 100644 index a272eae..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/_util/os.ts +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -export type OSType = "windows" | "linux" | "darwin" | "freebsd"; - -export const osType: OSType = (() => { - // deno-lint-ignore no-explicit-any - const { Deno } = globalThis as any; - if (typeof Deno?.build?.os === "string") { - return Deno.build.os; - } - - // deno-lint-ignore no-explicit-any - const { navigator } = globalThis as any; - if (navigator?.appVersion?.includes?.("Win")) { - return "windows"; - } - - return "linux"; -})(); - -export const isWindows = osType === "windows"; -export const isLinux = osType === "linux"; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/abortable.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/abortable.ts deleted file mode 100644 index 58992eb..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/abortable.ts +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { deferred } from "./deferred.ts"; - -/** - * Make Promise abortable with the given signal. - * - * @example - * ```typescript - * import { abortable } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * import { delay } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * - * const p = delay(1000); - * const c = new AbortController(); - * setTimeout(() => c.abort(), 100); - * - * // Below throws `DOMException` after 100 ms - * await abortable(p, c.signal); - * ``` - */ -export function abortable(p: Promise, signal: AbortSignal): Promise; -/** - * Make AsyncIterable abortable with the given signal. - * - * @example - * ```typescript - * import { abortable } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * import { delay } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * - * const p = async function* () { - * yield "Hello"; - * await delay(1000); - * yield "World"; - * }; - * const c = new AbortController(); - * setTimeout(() => c.abort(), 100); - * - * // Below throws `DOMException` after 100 ms - * // and items become `["Hello"]` - * const items: string[] = []; - * for await (const item of abortable(p(), c.signal)) { - * items.push(item); - * } - * ``` - */ -export function abortable( - p: AsyncIterable, - signal: AbortSignal, -): AsyncGenerator; -export function abortable( - p: Promise | AsyncIterable, - signal: AbortSignal, -): Promise | AsyncIterable { - if (p instanceof Promise) { - return abortablePromise(p, signal); - } else { - return abortableAsyncIterable(p, signal); - } -} - -/** - * Make Promise abortable with the given signal. - * - * @example - * ```typescript - * import { abortablePromise } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * - * const request = fetch("https://example.com"); - * - * const c = new AbortController(); - * setTimeout(() => c.abort(), 100); - * - * const p = abortablePromise(request, c.signal); - * - * // The below throws if the request didn't resolve in 100ms - * await p; - * ``` - */ -export function abortablePromise( - p: Promise, - signal: AbortSignal, -): Promise { - if (signal.aborted) { - return Promise.reject(createAbortError(signal.reason)); - } - const waiter = deferred(); - const abort = () => waiter.reject(createAbortError(signal.reason)); - signal.addEventListener("abort", abort, { once: true }); - return Promise.race([ - waiter, - p.finally(() => { - signal.removeEventListener("abort", abort); - }), - ]); -} - -/** - * Make AsyncIterable abortable with the given signal. - * - * @example - * ```typescript - * import { abortableAsyncIterable } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * import { delay } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * - * const p = async function* () { - * yield "Hello"; - * await delay(1000); - * yield "World"; - * }; - * const c = new AbortController(); - * setTimeout(() => c.abort(), 100); - * - * // Below throws `DOMException` after 100 ms - * // and items become `["Hello"]` - * const items: string[] = []; - * for await (const item of abortableAsyncIterable(p(), c.signal)) { - * items.push(item); - * } - * ``` - */ -export async function* abortableAsyncIterable( - p: AsyncIterable, - signal: AbortSignal, -): AsyncGenerator { - if (signal.aborted) { - throw createAbortError(signal.reason); - } - const waiter = deferred(); - const abort = () => waiter.reject(createAbortError(signal.reason)); - signal.addEventListener("abort", abort, { once: true }); - - const it = p[Symbol.asyncIterator](); - while (true) { - const { done, value } = await Promise.race([waiter, it.next()]); - if (done) { - signal.removeEventListener("abort", abort); - return; - } - yield value; - } -} - -// This `reason` comes from `AbortSignal` thus must be `any`. -// deno-lint-ignore no-explicit-any -function createAbortError(reason?: any): DOMException { - return new DOMException( - reason ? `Aborted: ${reason}` : "Aborted", - "AbortError", - ); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/deadline.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/deadline.ts deleted file mode 100644 index e0c1561..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/deadline.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { deferred } from "./deferred.ts"; - -export class DeadlineError extends Error { - constructor() { - super("Deadline"); - this.name = "DeadlineError"; - } -} - -/** - * Create a promise which will be rejected with {@linkcode DeadlineError} when a given delay is exceeded. - * - * @example - * ```typescript - * import { deadline } from "https://deno.land/std@$STD_VERSION/async/deadline.ts"; - * import { delay } from "https://deno.land/std@$STD_VERSION/async/delay.ts"; - * - * const delayedPromise = delay(1000); - * // Below throws `DeadlineError` after 10 ms - * const result = await deadline(delayedPromise, 10); - * ``` - */ -export function deadline(p: Promise, delay: number): Promise { - const d = deferred(); - const t = setTimeout(() => d.reject(new DeadlineError()), delay); - return Promise.race([p, d]).finally(() => clearTimeout(t)); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/debounce.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/debounce.ts deleted file mode 100644 index 7cb81cb..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/debounce.ts +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -/** - * A debounced function that will be delayed by a given `wait` - * time in milliseconds. If the method is called again before - * the timeout expires, the previous call will be aborted. - */ -export interface DebouncedFunction> { - (...args: T): void; - /** Clears the debounce timeout and omits calling the debounced function. */ - clear(): void; - /** Clears the debounce timeout and calls the debounced function immediately. */ - flush(): void; - /** Returns a boolean whether a debounce call is pending or not. */ - readonly pending: boolean; -} - -/** - * Creates a debounced function that delays the given `func` - * by a given `wait` time in milliseconds. If the method is called - * again before the timeout expires, the previous call will be - * aborted. - * - * @example - * ``` - * import { debounce } from "https://deno.land/std@$STD_VERSION/async/debounce.ts"; - * - * const log = debounce( - * (event: Deno.FsEvent) => - * console.log("[%s] %s", event.kind, event.paths[0]), - * 200, - * ); - * - * for await (const event of Deno.watchFs("./")) { - * log(event); - * } - * // wait 200ms ... - * // output: Function debounced after 200ms with baz - * ``` - * - * @param fn The function to debounce. - * @param wait The time in milliseconds to delay the function. - */ -// deno-lint-ignore no-explicit-any -export function debounce>( - fn: (this: DebouncedFunction, ...args: T) => void, - wait: number, -): DebouncedFunction { - let timeout: number | null = null; - let flush: (() => void) | null = null; - - const debounced: DebouncedFunction = ((...args: T) => { - debounced.clear(); - flush = () => { - debounced.clear(); - fn.call(debounced, ...args); - }; - timeout = setTimeout(flush, wait); - }) as DebouncedFunction; - - debounced.clear = () => { - if (typeof timeout === "number") { - clearTimeout(timeout); - timeout = null; - flush = null; - } - }; - - debounced.flush = () => { - flush?.(); - }; - - Object.defineProperty(debounced, "pending", { - get: () => typeof timeout === "number", - }); - - return debounced; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/deferred.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/deferred.ts deleted file mode 100644 index cd6c0aa..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/deferred.ts +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -// TODO(ry) It'd be better to make Deferred a class that inherits from -// Promise, rather than an interface. This is possible in ES2016, however -// typescript produces broken code when targeting ES5 code. -// See https://github.com/Microsoft/TypeScript/issues/15202 -// At the time of writing, the github issue is closed but the problem remains. -export interface Deferred extends Promise { - readonly state: "pending" | "fulfilled" | "rejected"; - resolve(value?: T | PromiseLike): void; - // deno-lint-ignore no-explicit-any - reject(reason?: any): void; -} - -/** - * Creates a Promise with the `reject` and `resolve` functions placed as methods - * on the promise object itself. - * - * @example - * ```typescript - * import { deferred } from "https://deno.land/std@$STD_VERSION/async/deferred.ts"; - * - * const p = deferred(); - * // ... - * p.resolve(42); - * ``` - */ -export function deferred(): Deferred { - let methods; - let state = "pending"; - const promise = new Promise((resolve, reject) => { - methods = { - async resolve(value: T | PromiseLike) { - await value; - state = "fulfilled"; - resolve(value); - }, - // deno-lint-ignore no-explicit-any - reject(reason?: any) { - state = "rejected"; - reject(reason); - }, - }; - }); - Object.defineProperty(promise, "state", { get: () => state }); - return Object.assign(promise, methods) as Deferred; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/delay.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/delay.ts deleted file mode 100644 index 990e13d..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/delay.ts +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -export interface DelayOptions { - /** Signal used to abort the delay. */ - signal?: AbortSignal; - /** Indicates whether the process should continue to run as long as the timer exists. - * - * @default {true} - */ - persistent?: boolean; -} - -/** - * Resolve a Promise after a given amount of milliseconds. - * - * @example - * - * ```typescript - * import { delay } from "https://deno.land/std@$STD_VERSION/async/delay.ts"; - * - * // ... - * const delayedPromise = delay(100); - * const result = await delayedPromise; - * // ... - * ``` - * - * To allow the process to continue to run as long as the timer exists. Requires - * `--unstable` flag. - * - * ```typescript - * import { delay } from "https://deno.land/std@$STD_VERSION/async/delay.ts"; - * - * // ... - * await delay(100, { persistent: false }); - * // ... - * ``` - */ -export function delay(ms: number, options: DelayOptions = {}): Promise { - const { signal, persistent } = options; - if (signal?.aborted) { - return Promise.reject(new DOMException("Delay was aborted.", "AbortError")); - } - return new Promise((resolve, reject) => { - const abort = () => { - clearTimeout(i); - reject(new DOMException("Delay was aborted.", "AbortError")); - }; - const done = () => { - signal?.removeEventListener("abort", abort); - resolve(); - }; - const i = setTimeout(done, ms); - signal?.addEventListener("abort", abort, { once: true }); - if (persistent === false) { - try { - // @ts-ignore For browser compatibility - Deno.unrefTimer(i); - } catch (error) { - if (!(error instanceof ReferenceError)) { - throw error; - } - console.error("`persistent` option is only available in Deno"); - } - } - }); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/mod.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/mod.ts deleted file mode 100644 index bfd6883..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/mod.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -/** - * Provide help with asynchronous tasks like delays, debouncing, deferring, or - * pooling. - * - * @module - */ - -export * from "./abortable.ts"; -export * from "./deadline.ts"; -export * from "./debounce.ts"; -export * from "./deferred.ts"; -export * from "./delay.ts"; -export * from "./mux_async_iterator.ts"; -export * from "./pool.ts"; -export * from "./tee.ts"; -export * from "./retry.ts"; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts deleted file mode 100644 index 81e2899..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { Deferred, deferred } from "./deferred.ts"; - -interface TaggedYieldedValue { - iterator: AsyncIterator; - value: T; -} - -/** - * The MuxAsyncIterator class multiplexes multiple async iterators into a single - * stream. It currently makes an assumption that the final result (the value - * returned and not yielded from the iterator) does not matter; if there is any - * result, it is discarded. - * - * @example - * ```typescript - * import { MuxAsyncIterator } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * - * async function* gen123(): AsyncIterableIterator { - * yield 1; - * yield 2; - * yield 3; - * } - * - * async function* gen456(): AsyncIterableIterator { - * yield 4; - * yield 5; - * yield 6; - * } - * - * const mux = new MuxAsyncIterator(); - * mux.add(gen123()); - * mux.add(gen456()); - * for await (const value of mux) { - * // ... - * } - * // .. - * ``` - */ -export class MuxAsyncIterator implements AsyncIterable { - #iteratorCount = 0; - #yields: Array> = []; - // deno-lint-ignore no-explicit-any - #throws: any[] = []; - #signal: Deferred = deferred(); - - add(iterable: AsyncIterable) { - ++this.#iteratorCount; - this.#callIteratorNext(iterable[Symbol.asyncIterator]()); - } - - async #callIteratorNext( - iterator: AsyncIterator, - ) { - try { - const { value, done } = await iterator.next(); - if (done) { - --this.#iteratorCount; - } else { - this.#yields.push({ iterator, value }); - } - } catch (e) { - this.#throws.push(e); - } - this.#signal.resolve(); - } - - async *iterate(): AsyncIterableIterator { - while (this.#iteratorCount > 0) { - // Sleep until any of the wrapped iterators yields. - await this.#signal; - - // Note that while we're looping over `yields`, new items may be added. - for (let i = 0; i < this.#yields.length; i++) { - const { iterator, value } = this.#yields[i]; - yield value; - this.#callIteratorNext(iterator); - } - - if (this.#throws.length) { - for (const e of this.#throws) { - throw e; - } - this.#throws.length = 0; - } - // Clear the `yields` list and reset the `signal` promise. - this.#yields.length = 0; - this.#signal = deferred(); - } - } - - [Symbol.asyncIterator](): AsyncIterator { - return this.iterate(); - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/pool.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/pool.ts deleted file mode 100644 index 4b83019..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/pool.ts +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export const ERROR_WHILE_MAPPING_MESSAGE = "Threw while mapping."; - -/** - * pooledMap transforms values from an (async) iterable into another async - * iterable. The transforms are done concurrently, with a max concurrency - * defined by the poolLimit. - * - * If an error is thrown from `iterableFn`, no new transformations will begin. - * All currently executing transformations are allowed to finish and still - * yielded on success. After that, the rejections among them are gathered and - * thrown by the iterator in an `AggregateError`. - * - * @example - * ```typescript - * import { pooledMap } from "https://deno.land/std@$STD_VERSION/async/pool.ts"; - * - * const results = pooledMap( - * 2, - * [1, 2, 3], - * (i) => new Promise((r) => setTimeout(() => r(i), 1000)), - * ); - * - * for await (const value of results) { - * // ... - * } - * ``` - * - * @param poolLimit The maximum count of items being processed concurrently. - * @param array The input array for mapping. - * @param iteratorFn The function to call for every item of the array. - */ -export function pooledMap( - poolLimit: number, - array: Iterable | AsyncIterable, - iteratorFn: (data: T) => Promise, -): AsyncIterableIterator { - // Create the async iterable that is returned from this function. - const res = new TransformStream, R>({ - async transform( - p: Promise, - controller: TransformStreamDefaultController, - ) { - try { - const s = await p; - controller.enqueue(s); - } catch (e) { - if ( - e instanceof AggregateError && - e.message == ERROR_WHILE_MAPPING_MESSAGE - ) { - controller.error(e as unknown); - } - } - }, - }); - // Start processing items from the iterator - (async () => { - const writer = res.writable.getWriter(); - const executing: Array> = []; - try { - for await (const item of array) { - const p = Promise.resolve().then(() => iteratorFn(item)); - // Only write on success. If we `writer.write()` a rejected promise, - // that will end the iteration. We don't want that yet. Instead let it - // fail the race, taking us to the catch block where all currently - // executing jobs are allowed to finish and all rejections among them - // can be reported together. - writer.write(p); - const e: Promise = p.then(() => - executing.splice(executing.indexOf(e), 1) - ); - executing.push(e); - if (executing.length >= poolLimit) { - await Promise.race(executing); - } - } - // Wait until all ongoing events have processed, then close the writer. - await Promise.all(executing); - writer.close(); - } catch { - const errors = []; - for (const result of await Promise.allSettled(executing)) { - if (result.status == "rejected") { - errors.push(result.reason); - } - } - writer.write(Promise.reject( - new AggregateError(errors, ERROR_WHILE_MAPPING_MESSAGE), - )).catch(() => {}); - } - })(); - return res.readable[Symbol.asyncIterator](); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/retry.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/retry.ts deleted file mode 100644 index 8e04024..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/retry.ts +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export class RetryError extends Error { - constructor(cause: unknown, count: number) { - super(`Exceeded max retry count (${count})`); - this.name = "RetryError"; - this.cause = cause; - } -} - -export interface RetryOptions { - /** How much to backoff after each retry. This is `2` by default. */ - multiplier?: number; - /** The maximum milliseconds between retries. This is `60000` by default. */ - maxTimeout?: number; - /** The maximum amount of retries until failure. This is `5` by default. */ - maxAttempts?: number; - /** The inital and minimum amount of milliseconds between retries. This is `1000` by default. */ - minTimeout?: number; -} - -const defaultRetryOptions = { - multiplier: 2, - maxTimeout: 60000, - maxAttempts: 5, - minTimeout: 1000, -}; - -/** - * Creates a retry promise which resolves to the value of the input using exponential backoff. - * If the input promise throws, it will be retried `maxAttempts` number of times. - * It will retry the input every certain amount of milliseconds, starting at `minTimeout` and multiplying by the `multiplier` until it reaches the `maxTimeout` - * - * @example - * ```typescript - * import { retry } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; - * const req = async () => { - * // some function that throws sometimes - * }; - * - * // Below resolves to the first non-error result of `req` - * const retryPromise = await retry(req, { - * multiplier: 2, - * maxTimeout: 60000, - * maxAttempts: 5, - * minTimeout: 100, - * }); -``` - */ -export async function retry( - fn: (() => Promise) | (() => T), - opts?: RetryOptions, -) { - const options: Required = { - ...defaultRetryOptions, - ...opts, - }; - - if (options.maxTimeout >= 0 && options.minTimeout > options.maxTimeout) { - throw new RangeError("minTimeout is greater than maxTimeout"); - } - - let timeout = options.minTimeout; - let error: unknown; - - for (let i = 0; i < options.maxAttempts; i++) { - try { - return await fn(); - } catch (err) { - await new Promise((r) => setTimeout(r, timeout)); - timeout *= options.multiplier; - timeout = Math.max(timeout, options.minTimeout); - if (options.maxTimeout >= 0) { - timeout = Math.min(timeout, options.maxTimeout); - } - error = err; - } - } - - throw new RetryError(error, options.maxAttempts); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/tee.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/tee.ts deleted file mode 100644 index 25003ba..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/async/tee.ts +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -// Utility for representing n-tuple -type Tuple = N extends N - ? number extends N ? T[] : TupleOf - : never; -type TupleOf = R["length"] extends N - ? R - : TupleOf; - -interface QueueNode { - value: T; - next: QueueNode | undefined; -} - -class Queue { - #source: AsyncIterator; - #queue: QueueNode; - head: QueueNode; - - done: boolean; - - constructor(iterable: AsyncIterable) { - this.#source = iterable[Symbol.asyncIterator](); - this.#queue = { - value: undefined!, - next: undefined, - }; - this.head = this.#queue; - this.done = false; - } - - async next() { - const result = await this.#source.next(); - if (!result.done) { - const nextNode: QueueNode = { - value: result.value, - next: undefined, - }; - this.#queue.next = nextNode; - this.#queue = nextNode; - } else { - this.done = true; - } - } -} - -/** - * Branches the given async iterable into the n branches. - * - * @example - * ```ts - * import { tee } from "https://deno.land/std@$STD_VERSION/async/tee.ts"; - * - * const gen = async function* gen() { - * yield 1; - * yield 2; - * yield 3; - * }; - * - * const [branch1, branch2] = tee(gen()); - * - * for await (const n of branch1) { - * console.log(n); // => 1, 2, 3 - * } - * - * for await (const n of branch2) { - * console.log(n); // => 1, 2, 3 - * } - * ``` - */ -export function tee( - iterable: AsyncIterable, - n: N = 2 as N, -): Tuple, N> { - const queue = new Queue(iterable); - - async function* generator(): AsyncGenerator { - let buffer = queue.head; - while (true) { - if (buffer.next) { - buffer = buffer.next; - yield buffer.value; - } else if (queue.done) { - return; - } else { - await queue.next(); - } - } - } - - const branches = Array.from({ length: n }).map( - () => generator(), - ) as Tuple< - AsyncIterable, - N - >; - return branches; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts deleted file mode 100644 index c50dd3d..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -/** Returns the index of the first occurrence of the needle array in the source - * array, or -1 if it is not present. - * - * A start index can be specified as the third argument that begins the search - * at that given index. The start index defaults to the start of the array. - * - * The complexity of this function is O(source.lenth * needle.length). - * - * ```ts - * import { indexOfNeedle } from "https://deno.land/std@$STD_VERSION/bytes/index_of_needle.ts"; - * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); - * const needle = new Uint8Array([1, 2]); - * console.log(indexOfNeedle(source, needle)); // 1 - * console.log(indexOfNeedle(source, needle, 2)); // 3 - * ``` - */ -export function indexOfNeedle( - source: Uint8Array, - needle: Uint8Array, - start = 0, -): number { - if (start >= source.length) { - return -1; - } - if (start < 0) { - start = Math.max(0, source.length + start); - } - const s = needle[0]; - for (let i = start; i < source.length; i++) { - if (source[i] !== s) continue; - const pin = i; - let matched = 1; - let j = i; - while (matched < needle.length) { - j++; - if (source[j] !== needle[j - pin]) { - break; - } - matched++; - } - if (matched === needle.length) { - return pin; - } - } - return -1; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts deleted file mode 100644 index 47ae5a6..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -import { assert } from "../_util/asserts.ts"; - -/** Compare to array buffers or data views in a way that timing based attacks - * cannot gain information about the platform. */ -export function timingSafeEqual( - a: ArrayBufferView | ArrayBufferLike | DataView, - b: ArrayBufferView | ArrayBufferLike | DataView, -): boolean { - if (a.byteLength !== b.byteLength) { - return false; - } - if (!(a instanceof DataView)) { - a = new DataView(ArrayBuffer.isView(a) ? a.buffer : a); - } - if (!(b instanceof DataView)) { - b = new DataView(ArrayBuffer.isView(b) ? b.buffer : b); - } - assert(a instanceof DataView); - assert(b instanceof DataView); - const length = a.byteLength; - let out = 0; - let i = -1; - while (++i < length) { - out |= a.getUint8(i) ^ b.getUint8(i); - } - return out === 0; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/datetime/to_imf.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/datetime/to_imf.ts deleted file mode 100644 index 4fd2234..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/datetime/to_imf.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -/** - * Formats the given date to IMF date time format. (Reference: - * https://tools.ietf.org/html/rfc7231#section-7.1.1.1). - * IMF is the time format to use when generating times in HTTP - * headers. The time being formatted must be in UTC for Format to - * generate the correct format. - * - * @example - * ```ts - * import { toIMF } from "https://deno.land/std@$STD_VERSION/datetime/to_imf.ts"; - * - * toIMF(new Date(0)); // => returns "Thu, 01 Jan 1970 00:00:00 GMT" - * ``` - * @param date Date to parse - * @return IMF date formatted string - */ -export function toIMF(date: Date): string { - function dtPad(v: string, lPad = 2): string { - return v.padStart(lPad, "0"); - } - const d = dtPad(date.getUTCDate().toString()); - const h = dtPad(date.getUTCHours().toString()); - const min = dtPad(date.getUTCMinutes().toString()); - const s = dtPad(date.getUTCSeconds().toString()); - const y = date.getUTCFullYear(); - const days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; - const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ]; - return `${days[date.getUTCDay()]}, ${d} ${ - months[date.getUTCMonth()] - } ${y} ${h}:${min}:${s} GMT`; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64.ts deleted file mode 100644 index deb803c..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64.ts +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -/** - * {@linkcode encode} and {@linkcode decode} for - * [base64](https://en.wikipedia.org/wiki/Base64) encoding. - * - * This module is browser compatible. - * - * @example - * ```ts - * import { - * decode, - * encode, - * } from "https://deno.land/std@$STD_VERSION/encoding/base64.ts"; - * - * const b64Repr = "Zm9vYg=="; - * - * const binaryData = decode(b64Repr); - * console.log(binaryData); - * // => Uint8Array [ 102, 111, 111, 98 ] - * - * console.log(encode(binaryData)); - * // => Zm9vYg== - * ``` - * - * @module - */ - -const base64abc = [ - "A", - "B", - "C", - "D", - "E", - "F", - "G", - "H", - "I", - "J", - "K", - "L", - "M", - "N", - "O", - "P", - "Q", - "R", - "S", - "T", - "U", - "V", - "W", - "X", - "Y", - "Z", - "a", - "b", - "c", - "d", - "e", - "f", - "g", - "h", - "i", - "j", - "k", - "l", - "m", - "n", - "o", - "p", - "q", - "r", - "s", - "t", - "u", - "v", - "w", - "x", - "y", - "z", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "+", - "/", -]; - -/** - * CREDIT: https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727 - * Encodes a given Uint8Array, ArrayBuffer or string into RFC4648 base64 representation - * @param data - */ -export function encode(data: ArrayBuffer | string): string { - const uint8 = typeof data === "string" - ? new TextEncoder().encode(data) - : data instanceof Uint8Array - ? data - : new Uint8Array(data); - let result = "", - i; - const l = uint8.length; - for (i = 2; i < l; i += 3) { - result += base64abc[uint8[i - 2] >> 2]; - result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)]; - result += base64abc[((uint8[i - 1] & 0x0f) << 2) | (uint8[i] >> 6)]; - result += base64abc[uint8[i] & 0x3f]; - } - if (i === l + 1) { - // 1 octet yet to write - result += base64abc[uint8[i - 2] >> 2]; - result += base64abc[(uint8[i - 2] & 0x03) << 4]; - result += "=="; - } - if (i === l) { - // 2 octets yet to write - result += base64abc[uint8[i - 2] >> 2]; - result += base64abc[((uint8[i - 2] & 0x03) << 4) | (uint8[i - 1] >> 4)]; - result += base64abc[(uint8[i - 1] & 0x0f) << 2]; - result += "="; - } - return result; -} - -/** - * Decodes a given RFC4648 base64 encoded string - * @param b64 - */ -export function decode(b64: string): Uint8Array { - const binString = atob(b64); - const size = binString.length; - const bytes = new Uint8Array(size); - for (let i = 0; i < size; i++) { - bytes[i] = binString.charCodeAt(i); - } - return bytes; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64url.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64url.ts deleted file mode 100644 index 8f5af21..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64url.ts +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -/** - * {@linkcode encode} and {@linkcode decode} for - * [base64 URL safe](https://en.wikipedia.org/wiki/Base64#URL_applications) encoding. - * - * This module is browser compatible. - * - * @example - * ```ts - * import { - * decode, - * encode, - * } from "https://deno.land/std@$STD_VERSION/encoding/base64url.ts"; - * - * const binary = new TextEncoder().encode("foobar"); - * const encoded = encode(binary); - * console.log(encoded); - * // => "Zm9vYmFy" - * - * console.log(decode(encoded)); - * // => Uint8Array(6) [ 102, 111, 111, 98, 97, 114 ] - * ``` - * - * @module - */ - -import * as base64 from "./base64.ts"; - -/* - * Some variants allow or require omitting the padding '=' signs: - * https://en.wikipedia.org/wiki/Base64#The_URL_applications - * @param base64url - */ -function addPaddingToBase64url(base64url: string): string { - if (base64url.length % 4 === 2) return base64url + "=="; - if (base64url.length % 4 === 3) return base64url + "="; - if (base64url.length % 4 === 1) { - throw new TypeError("Illegal base64url string!"); - } - return base64url; -} - -function convertBase64urlToBase64(b64url: string): string { - if (!/^[-_A-Z0-9]*?={0,2}$/i.test(b64url)) { - // Contains characters not part of base64url spec. - throw new TypeError("Failed to decode base64url: invalid character"); - } - return addPaddingToBase64url(b64url).replace(/\-/g, "+").replace(/_/g, "/"); -} - -function convertBase64ToBase64url(b64: string): string { - return b64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); -} - -/** - * Encodes a given ArrayBuffer or string into a base64url representation - * @param data - */ -export function encode(data: ArrayBuffer | string): string { - return convertBase64ToBase64url(base64.encode(data)); -} - -/** - * Converts given base64url encoded data back to original - * @param b64url - */ -export function decode(b64url: string): Uint8Array { - return base64.decode(convertBase64urlToBase64(b64url)); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/flags/mod.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/flags/mod.ts deleted file mode 100644 index 1a44076..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/flags/mod.ts +++ /dev/null @@ -1,785 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -/** - * Command line arguments parser based on - * [minimist](https://github.com/minimistjs/minimist). - * - * This module is browser compatible. - * - * @example - * ```ts - * import { parse } from "https://deno.land/std@$STD_VERSION/flags/mod.ts"; - * - * console.dir(parse(Deno.args)); - * ``` - * - * ```sh - * $ deno run https://deno.land/std/examples/flags.ts -a beep -b boop - * { _: [], a: 'beep', b: 'boop' } - * ``` - * - * ```sh - * $ deno run https://deno.land/std/examples/flags.ts -x 3 -y 4 -n5 -abc --beep=boop foo bar baz - * { _: [ 'foo', 'bar', 'baz' ], - * x: 3, - * y: 4, - * n: 5, - * a: true, - * b: true, - * c: true, - * beep: 'boop' } - * ``` - * - * @module - */ -import { assert } from "../_util/asserts.ts"; - -/** Combines recursively all intersection types and returns a new single type. */ -type Id = TRecord extends Record - ? TRecord extends infer InferredRecord - ? { [Key in keyof InferredRecord]: Id } - : never - : TRecord; - -/** Converts a union type `A | B | C` into an intersection type `A & B & C`. */ -type UnionToIntersection = - (TValue extends unknown ? (args: TValue) => unknown : never) extends - (args: infer R) => unknown ? R extends Record ? R : never - : never; - -type BooleanType = boolean | string | undefined; -type StringType = string | undefined; -type ArgType = StringType | BooleanType; - -type Collectable = string | undefined; -type Negatable = string | undefined; - -type UseTypes< - TBooleans extends BooleanType, - TStrings extends StringType, - TCollectable extends Collectable, -> = undefined extends ( - & (false extends TBooleans ? undefined : TBooleans) - & TCollectable - & TStrings -) ? false - : true; - -/** - * Creates a record with all available flags with the corresponding type and - * default type. - */ -type Values< - TBooleans extends BooleanType, - TStrings extends StringType, - TCollectable extends Collectable, - TNegatable extends Negatable, - TDefault extends Record | undefined, - TAliases extends Aliases | undefined, -> = UseTypes extends true ? - & Record - & AddAliases< - SpreadDefaults< - & CollectValues - & RecursiveRequired> - & CollectUnknownValues< - TBooleans, - TStrings, - TCollectable, - TNegatable - >, - DedotRecord - >, - TAliases - > - // deno-lint-ignore no-explicit-any - : Record; - -type Aliases = Partial< - Record, TAliasNames | ReadonlyArray> ->; - -type AddAliases< - TArgs, - TAliases extends Aliases | undefined, -> = { - [TArgName in keyof TArgs as AliasNames]: TArgs[TArgName]; -}; - -type AliasNames< - TArgName, - TAliases extends Aliases | undefined, -> = TArgName extends keyof TAliases - ? string extends TAliases[TArgName] ? TArgName - : TAliases[TArgName] extends string ? TArgName | TAliases[TArgName] - : TAliases[TArgName] extends Array - ? TArgName | TAliases[TArgName][number] - : TArgName - : TArgName; - -/** - * Spreads all default values of Record `TDefaults` into Record `TArgs` - * and makes default values required. - * - * **Example:** - * `SpreadValues<{ foo?: boolean, bar?: number }, { foo: number }>` - * - * **Result:** `{ foo: boolean | number, bar?: number }` - */ -type SpreadDefaults = TDefaults extends undefined ? TArgs - : TArgs extends Record ? - & Omit - & { - [Default in keyof TDefaults]: Default extends keyof TArgs - ? (TArgs[Default] & TDefaults[Default] | TDefaults[Default]) extends - Record - ? NonNullable> - : TDefaults[Default] | NonNullable - : unknown; - } - : never; - -/** - * Defines the Record for the `default` option to add - * auto-suggestion support for IDE's. - */ -type Defaults = Id< - UnionToIntersection< - & Record - // Dedotted auto suggestions: { foo: { bar: unknown } } - & MapTypes - & MapTypes - // Flat auto suggestions: { "foo.bar": unknown } - & MapDefaults - & MapDefaults - > ->; - -type MapDefaults = Partial< - Record ->; - -type RecursiveRequired = TRecord extends Record ? { - [Key in keyof TRecord]-?: RecursiveRequired; - } - : TRecord; - -/** Same as `MapTypes` but also supports collectable options. */ -type CollectValues< - TArgNames extends ArgType, - TType, - TCollectable extends Collectable, - TNegatable extends Negatable = undefined, -> = UnionToIntersection< - Extract extends string ? - & (Exclude extends never ? Record - : MapTypes, TType, TNegatable>) - & (Extract extends never ? Record - : RecursiveRequired< - MapTypes, Array, TNegatable> - >) - : MapTypes ->; - -/** Same as `Record` but also supports dotted and negatable options. */ -type MapTypes< - TArgNames extends ArgType, - TType, - TNegatable extends Negatable = undefined, -> = undefined extends TArgNames ? Record - : TArgNames extends `${infer Name}.${infer Rest}` ? { - [Key in Name]?: MapTypes< - Rest, - TType, - TNegatable extends `${Name}.${infer Negate}` ? Negate : undefined - >; - } - : TArgNames extends string ? Partial< - Record - > - : Record; - -type CollectUnknownValues< - TBooleans extends BooleanType, - TStrings extends StringType, - TCollectable extends Collectable, - TNegatable extends Negatable, -> = UnionToIntersection< - TCollectable extends TBooleans & TStrings ? Record - : DedotRecord< - // Unknown collectable & non-negatable args. - & Record< - Exclude< - Extract, string>, - Extract - >, - Array - > - // Unknown collectable & negatable args. - & Record< - Exclude< - Extract, string>, - Extract - >, - Array | false - > - > ->; - -/** Converts `{ "foo.bar.baz": unknown }` into `{ foo: { bar: { baz: unknown } } }`. */ -type DedotRecord = Record extends TRecord ? TRecord - : TRecord extends Record ? UnionToIntersection< - ValueOf< - { - [Key in keyof TRecord]: Key extends string ? Dedot - : never; - } - > - > - : TRecord; - -type Dedot = TKey extends - `${infer Name}.${infer Rest}` ? { [Key in Name]: Dedot } - : { [Key in TKey]: TValue }; - -type ValueOf = TValue[keyof TValue]; - -/** The value returned from `parse`. */ -export type Args< - // deno-lint-ignore no-explicit-any - TArgs extends Record = Record, - TDoubleDash extends boolean | undefined = undefined, -> = Id< - & TArgs - & { - /** Contains all the arguments that didn't have an option associated with - * them. */ - _: Array; - } - & (boolean extends TDoubleDash ? DoubleDash - : true extends TDoubleDash ? Required - : Record) ->; - -type DoubleDash = { - /** Contains all the arguments that appear after the double dash: "--". */ - "--"?: Array; -}; - -/** The options for the `parse` call. */ -export interface ParseOptions< - TBooleans extends BooleanType = BooleanType, - TStrings extends StringType = StringType, - TCollectable extends Collectable = Collectable, - TNegatable extends Negatable = Negatable, - TDefault extends Record | undefined = - | Record - | undefined, - TAliases extends Aliases | undefined = Aliases | undefined, - TDoubleDash extends boolean | undefined = boolean | undefined, -> { - /** - * When `true`, populate the result `_` with everything before the `--` and - * the result `['--']` with everything after the `--`. - * - * @default {false} - * - * @example - * ```ts - * // $ deno run example.ts -- a arg1 - * import { parse } from "https://deno.land/std@$STD_VERSION/flags/mod.ts"; - * console.dir(parse(Deno.args, { "--": false })); - * // output: { _: [ "a", "arg1" ] } - * console.dir(parse(Deno.args, { "--": true })); - * // output: { _: [], --: [ "a", "arg1" ] } - * ``` - */ - "--"?: TDoubleDash; - - /** - * An object mapping string names to strings or arrays of string argument - * names to use as aliases. - */ - alias?: TAliases; - - /** - * A boolean, string or array of strings to always treat as booleans. If - * `true` will treat all double hyphenated arguments without equal signs as - * `boolean` (e.g. affects `--foo`, not `-f` or `--foo=bar`). - * All `boolean` arguments will be set to `false` by default. - */ - boolean?: TBooleans | ReadonlyArray>; - - /** An object mapping string argument names to default values. */ - default?: TDefault & Defaults; - - /** - * When `true`, populate the result `_` with everything after the first - * non-option. - */ - stopEarly?: boolean; - - /** A string or array of strings argument names to always treat as strings. */ - string?: TStrings | ReadonlyArray>; - - /** - * A string or array of strings argument names to always treat as arrays. - * Collectable options can be used multiple times. All values will be - * collected into one array. If a non-collectable option is used multiple - * times, the last value is used. - * All Collectable arguments will be set to `[]` by default. - */ - collect?: TCollectable | ReadonlyArray>; - - /** - * A string or array of strings argument names which can be negated - * by prefixing them with `--no-`, like `--no-config`. - */ - negatable?: TNegatable | ReadonlyArray>; - - /** - * A function which is invoked with a command line parameter not defined in - * the `options` configuration object. If the function returns `false`, the - * unknown option is not added to `parsedArgs`. - */ - unknown?: (arg: string, key?: string, value?: unknown) => unknown; -} - -interface Flags { - bools: Record; - strings: Record; - collect: Record; - negatable: Record; - unknownFn: (arg: string, key?: string, value?: unknown) => unknown; - allBools: boolean; -} - -interface NestedMapping { - [key: string]: NestedMapping | unknown; -} - -const { hasOwn } = Object; - -function get( - obj: Record, - key: string, -): TValue | undefined { - if (hasOwn(obj, key)) { - return obj[key]; - } -} - -function getForce(obj: Record, key: string): TValue { - const v = get(obj, key); - assert(v != null); - return v; -} - -function isNumber(x: unknown): boolean { - if (typeof x === "number") return true; - if (/^0x[0-9a-f]+$/i.test(String(x))) return true; - return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(String(x)); -} - -function hasKey(obj: NestedMapping, keys: string[]): boolean { - let o = obj; - keys.slice(0, -1).forEach((key) => { - o = (get(o, key) ?? {}) as NestedMapping; - }); - - const key = keys[keys.length - 1]; - return hasOwn(o, key); -} - -/** Take a set of command line arguments, optionally with a set of options, and - * return an object representing the flags found in the passed arguments. - * - * By default, any arguments starting with `-` or `--` are considered boolean - * flags. If the argument name is followed by an equal sign (`=`) it is - * considered a key-value pair. Any arguments which could not be parsed are - * available in the `_` property of the returned object. - * - * By default, the flags module tries to determine the type of all arguments - * automatically and the return type of the `parse` method will have an index - * signature with `any` as value (`{ [x: string]: any }`). - * - * If the `string`, `boolean` or `collect` option is set, the return value of - * the `parse` method will be fully typed and the index signature of the return - * type will change to `{ [x: string]: unknown }`. - * - * Any arguments after `'--'` will not be parsed and will end up in `parsedArgs._`. - * - * Numeric-looking arguments will be returned as numbers unless `options.string` - * or `options.boolean` is set for that argument name. - * - * @example - * ```ts - * import { parse } from "https://deno.land/std@$STD_VERSION/flags/mod.ts"; - * const parsedArgs = parse(Deno.args); - * ``` - * - * @example - * ```ts - * import { parse } from "https://deno.land/std@$STD_VERSION/flags/mod.ts"; - * const parsedArgs = parse(["--foo", "--bar=baz", "./quux.txt"]); - * // parsedArgs: { foo: true, bar: "baz", _: ["./quux.txt"] } - * ``` - */ -export function parse< - TArgs extends Values< - TBooleans, - TStrings, - TCollectable, - TNegatable, - TDefaults, - TAliases - >, - TDoubleDash extends boolean | undefined = undefined, - TBooleans extends BooleanType = undefined, - TStrings extends StringType = undefined, - TCollectable extends Collectable = undefined, - TNegatable extends Negatable = undefined, - TDefaults extends Record | undefined = undefined, - TAliases extends Aliases | undefined = undefined, - TAliasArgNames extends string = string, - TAliasNames extends string = string, ->( - args: string[], - { - "--": doubleDash = false, - alias = {} as NonNullable, - boolean = false, - default: defaults = {} as TDefaults & Defaults, - stopEarly = false, - string = [], - collect = [], - negatable = [], - unknown = (i: string): unknown => i, - }: ParseOptions< - TBooleans, - TStrings, - TCollectable, - TNegatable, - TDefaults, - TAliases, - TDoubleDash - > = {}, -): Args { - const aliases: Record = {}; - const flags: Flags = { - bools: {}, - strings: {}, - unknownFn: unknown, - allBools: false, - collect: {}, - negatable: {}, - }; - - if (alias !== undefined) { - for (const key in alias) { - const val = getForce(alias, key); - if (typeof val === "string") { - aliases[key] = [val]; - } else { - aliases[key] = val as Array; - } - for (const alias of getForce(aliases, key)) { - aliases[alias] = [key].concat(aliases[key].filter((y) => alias !== y)); - } - } - } - - if (boolean !== undefined) { - if (typeof boolean === "boolean") { - flags.allBools = !!boolean; - } else { - const booleanArgs: ReadonlyArray = typeof boolean === "string" - ? [boolean] - : boolean; - - for (const key of booleanArgs.filter(Boolean)) { - flags.bools[key] = true; - const alias = get(aliases, key); - if (alias) { - for (const al of alias) { - flags.bools[al] = true; - } - } - } - } - } - - if (string !== undefined) { - const stringArgs: ReadonlyArray = typeof string === "string" - ? [string] - : string; - - for (const key of stringArgs.filter(Boolean)) { - flags.strings[key] = true; - const alias = get(aliases, key); - if (alias) { - for (const al of alias) { - flags.strings[al] = true; - } - } - } - } - - if (collect !== undefined) { - const collectArgs: ReadonlyArray = typeof collect === "string" - ? [collect] - : collect; - - for (const key of collectArgs.filter(Boolean)) { - flags.collect[key] = true; - const alias = get(aliases, key); - if (alias) { - for (const al of alias) { - flags.collect[al] = true; - } - } - } - } - - if (negatable !== undefined) { - const negatableArgs: ReadonlyArray = typeof negatable === "string" - ? [negatable] - : negatable; - - for (const key of negatableArgs.filter(Boolean)) { - flags.negatable[key] = true; - const alias = get(aliases, key); - if (alias) { - for (const al of alias) { - flags.negatable[al] = true; - } - } - } - } - - const argv: Args = { _: [] }; - - function argDefined(key: string, arg: string): boolean { - return ( - (flags.allBools && /^--[^=]+$/.test(arg)) || - get(flags.bools, key) || - !!get(flags.strings, key) || - !!get(aliases, key) - ); - } - - function setKey( - obj: NestedMapping, - name: string, - value: unknown, - collect = true, - ) { - let o = obj; - const keys = name.split("."); - keys.slice(0, -1).forEach(function (key) { - if (get(o, key) === undefined) { - o[key] = {}; - } - o = get(o, key) as NestedMapping; - }); - - const key = keys[keys.length - 1]; - const collectable = collect && !!get(flags.collect, name); - - if (!collectable) { - o[key] = value; - } else if (get(o, key) === undefined) { - o[key] = [value]; - } else if (Array.isArray(get(o, key))) { - (o[key] as unknown[]).push(value); - } else { - o[key] = [get(o, key), value]; - } - } - - function setArg( - key: string, - val: unknown, - arg: string | undefined = undefined, - collect?: boolean, - ) { - if (arg && flags.unknownFn && !argDefined(key, arg)) { - if (flags.unknownFn(arg, key, val) === false) return; - } - - const value = !get(flags.strings, key) && isNumber(val) ? Number(val) : val; - setKey(argv, key, value, collect); - - const alias = get(aliases, key); - if (alias) { - for (const x of alias) { - setKey(argv, x, value, collect); - } - } - } - - function aliasIsBoolean(key: string): boolean { - return getForce(aliases, key).some( - (x) => typeof get(flags.bools, x) === "boolean", - ); - } - - let notFlags: string[] = []; - - // all args after "--" are not parsed - if (args.includes("--")) { - notFlags = args.slice(args.indexOf("--") + 1); - args = args.slice(0, args.indexOf("--")); - } - - for (let i = 0; i < args.length; i++) { - const arg = args[i]; - - if (/^--.+=/.test(arg)) { - const m = arg.match(/^--([^=]+)=(.*)$/s); - assert(m != null); - const [, key, value] = m; - - if (flags.bools[key]) { - const booleanValue = value !== "false"; - setArg(key, booleanValue, arg); - } else { - setArg(key, value, arg); - } - } else if ( - /^--no-.+/.test(arg) && get(flags.negatable, arg.replace(/^--no-/, "")) - ) { - const m = arg.match(/^--no-(.+)/); - assert(m != null); - setArg(m[1], false, arg, false); - } else if (/^--.+/.test(arg)) { - const m = arg.match(/^--(.+)/); - assert(m != null); - const [, key] = m; - const next = args[i + 1]; - if ( - next !== undefined && - !/^-/.test(next) && - !get(flags.bools, key) && - !flags.allBools && - (get(aliases, key) ? !aliasIsBoolean(key) : true) - ) { - setArg(key, next, arg); - i++; - } else if (/^(true|false)$/.test(next)) { - setArg(key, next === "true", arg); - i++; - } else { - setArg(key, get(flags.strings, key) ? "" : true, arg); - } - } else if (/^-[^-]+/.test(arg)) { - const letters = arg.slice(1, -1).split(""); - - let broken = false; - for (let j = 0; j < letters.length; j++) { - const next = arg.slice(j + 2); - - if (next === "-") { - setArg(letters[j], next, arg); - continue; - } - - if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { - setArg(letters[j], next.split(/=(.+)/)[1], arg); - broken = true; - break; - } - - if ( - /[A-Za-z]/.test(letters[j]) && - /-?\d+(\.\d*)?(e-?\d+)?$/.test(next) - ) { - setArg(letters[j], next, arg); - broken = true; - break; - } - - if (letters[j + 1] && letters[j + 1].match(/\W/)) { - setArg(letters[j], arg.slice(j + 2), arg); - broken = true; - break; - } else { - setArg(letters[j], get(flags.strings, letters[j]) ? "" : true, arg); - } - } - - const [key] = arg.slice(-1); - if (!broken && key !== "-") { - if ( - args[i + 1] && - !/^(-|--)[^-]/.test(args[i + 1]) && - !get(flags.bools, key) && - (get(aliases, key) ? !aliasIsBoolean(key) : true) - ) { - setArg(key, args[i + 1], arg); - i++; - } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) { - setArg(key, args[i + 1] === "true", arg); - i++; - } else { - setArg(key, get(flags.strings, key) ? "" : true, arg); - } - } - } else { - if (!flags.unknownFn || flags.unknownFn(arg) !== false) { - argv._.push(flags.strings["_"] ?? !isNumber(arg) ? arg : Number(arg)); - } - if (stopEarly) { - argv._.push(...args.slice(i + 1)); - break; - } - } - } - - for (const [key, value] of Object.entries(defaults)) { - if (!hasKey(argv, key.split("."))) { - setKey(argv, key, value); - - if (aliases[key]) { - for (const x of aliases[key]) { - setKey(argv, x, value); - } - } - } - } - - for (const key of Object.keys(flags.bools)) { - if (!hasKey(argv, key.split("."))) { - const value = get(flags.collect, key) ? [] : false; - setKey( - argv, - key, - value, - false, - ); - } - } - - for (const key of Object.keys(flags.strings)) { - if (!hasKey(argv, key.split(".")) && get(flags.collect, key)) { - setKey( - argv, - key, - [], - false, - ); - } - } - - if (doubleDash) { - argv["--"] = []; - for (const key of notFlags) { - argv["--"].push(key); - } - } else { - for (const key of notFlags) { - argv._.push(key); - } - } - - return argv as Args; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/fmt/colors.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/fmt/colors.ts deleted file mode 100644 index f354109..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/fmt/colors.ts +++ /dev/null @@ -1,569 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors -// on npm. - -/** - * String formatters and utilities for dealing with ANSI color codes. - * - * This module is browser compatible. - * - * This module supports `NO_COLOR` environmental variable disabling any coloring - * if `NO_COLOR` is set. - * - * @example - * ```typescript - * import { - * bgBlue, - * bgRgb24, - * bgRgb8, - * bold, - * italic, - * red, - * rgb24, - * rgb8, - * } from "https://deno.land/std@$STD_VERSION/fmt/colors.ts"; - * - * console.log(bgBlue(italic(red(bold("Hello, World!"))))); - * - * // also supports 8bit colors - * - * console.log(rgb8("Hello, World!", 42)); - * - * console.log(bgRgb8("Hello, World!", 42)); - * - * // and 24bit rgb - * - * console.log(rgb24("Hello, World!", { - * r: 41, - * g: 42, - * b: 43, - * })); - * - * console.log(bgRgb24("Hello, World!", { - * r: 41, - * g: 42, - * b: 43, - * })); - * ``` - * - * @module - */ - -// deno-lint-ignore no-explicit-any -const { Deno } = globalThis as any; -const noColor = typeof Deno?.noColor === "boolean" - ? Deno.noColor as boolean - : true; - -interface Code { - open: string; - close: string; - regexp: RegExp; -} - -/** RGB 8-bits per channel. Each in range `0->255` or `0x00->0xff` */ -interface Rgb { - r: number; - g: number; - b: number; -} - -let enabled = !noColor; - -/** - * Set changing text color to enabled or disabled - * @param value - */ -export function setColorEnabled(value: boolean) { - if (noColor) { - return; - } - - enabled = value; -} - -/** Get whether text color change is enabled or disabled. */ -export function getColorEnabled(): boolean { - return enabled; -} - -/** - * Builds color code - * @param open - * @param close - */ -function code(open: number[], close: number): Code { - return { - open: `\x1b[${open.join(";")}m`, - close: `\x1b[${close}m`, - regexp: new RegExp(`\\x1b\\[${close}m`, "g"), - }; -} - -/** - * Applies color and background based on color code and its associated text - * @param str text to apply color settings to - * @param code color code to apply - */ -function run(str: string, code: Code): string { - return enabled - ? `${code.open}${str.replace(code.regexp, code.open)}${code.close}` - : str; -} - -/** - * Reset the text modified - * @param str text to reset - */ -export function reset(str: string): string { - return run(str, code([0], 0)); -} - -/** - * Make the text bold. - * @param str text to make bold - */ -export function bold(str: string): string { - return run(str, code([1], 22)); -} - -/** - * The text emits only a small amount of light. - * @param str text to dim - */ -export function dim(str: string): string { - return run(str, code([2], 22)); -} - -/** - * Make the text italic. - * @param str text to make italic - */ -export function italic(str: string): string { - return run(str, code([3], 23)); -} - -/** - * Make the text underline. - * @param str text to underline - */ -export function underline(str: string): string { - return run(str, code([4], 24)); -} - -/** - * Invert background color and text color. - * @param str text to invert its color - */ -export function inverse(str: string): string { - return run(str, code([7], 27)); -} - -/** - * Make the text hidden. - * @param str text to hide - */ -export function hidden(str: string): string { - return run(str, code([8], 28)); -} - -/** - * Put horizontal line through the center of the text. - * @param str text to strike through - */ -export function strikethrough(str: string): string { - return run(str, code([9], 29)); -} - -/** - * Set text color to black. - * @param str text to make black - */ -export function black(str: string): string { - return run(str, code([30], 39)); -} - -/** - * Set text color to red. - * @param str text to make red - */ -export function red(str: string): string { - return run(str, code([31], 39)); -} - -/** - * Set text color to green. - * @param str text to make green - */ -export function green(str: string): string { - return run(str, code([32], 39)); -} - -/** - * Set text color to yellow. - * @param str text to make yellow - */ -export function yellow(str: string): string { - return run(str, code([33], 39)); -} - -/** - * Set text color to blue. - * @param str text to make blue - */ -export function blue(str: string): string { - return run(str, code([34], 39)); -} - -/** - * Set text color to magenta. - * @param str text to make magenta - */ -export function magenta(str: string): string { - return run(str, code([35], 39)); -} - -/** - * Set text color to cyan. - * @param str text to make cyan - */ -export function cyan(str: string): string { - return run(str, code([36], 39)); -} - -/** - * Set text color to white. - * @param str text to make white - */ -export function white(str: string): string { - return run(str, code([37], 39)); -} - -/** - * Set text color to gray. - * @param str text to make gray - */ -export function gray(str: string): string { - return brightBlack(str); -} - -/** - * Set text color to bright black. - * @param str text to make bright-black - */ -export function brightBlack(str: string): string { - return run(str, code([90], 39)); -} - -/** - * Set text color to bright red. - * @param str text to make bright-red - */ -export function brightRed(str: string): string { - return run(str, code([91], 39)); -} - -/** - * Set text color to bright green. - * @param str text to make bright-green - */ -export function brightGreen(str: string): string { - return run(str, code([92], 39)); -} - -/** - * Set text color to bright yellow. - * @param str text to make bright-yellow - */ -export function brightYellow(str: string): string { - return run(str, code([93], 39)); -} - -/** - * Set text color to bright blue. - * @param str text to make bright-blue - */ -export function brightBlue(str: string): string { - return run(str, code([94], 39)); -} - -/** - * Set text color to bright magenta. - * @param str text to make bright-magenta - */ -export function brightMagenta(str: string): string { - return run(str, code([95], 39)); -} - -/** - * Set text color to bright cyan. - * @param str text to make bright-cyan - */ -export function brightCyan(str: string): string { - return run(str, code([96], 39)); -} - -/** - * Set text color to bright white. - * @param str text to make bright-white - */ -export function brightWhite(str: string): string { - return run(str, code([97], 39)); -} - -/** - * Set background color to black. - * @param str text to make its background black - */ -export function bgBlack(str: string): string { - return run(str, code([40], 49)); -} - -/** - * Set background color to red. - * @param str text to make its background red - */ -export function bgRed(str: string): string { - return run(str, code([41], 49)); -} - -/** - * Set background color to green. - * @param str text to make its background green - */ -export function bgGreen(str: string): string { - return run(str, code([42], 49)); -} - -/** - * Set background color to yellow. - * @param str text to make its background yellow - */ -export function bgYellow(str: string): string { - return run(str, code([43], 49)); -} - -/** - * Set background color to blue. - * @param str text to make its background blue - */ -export function bgBlue(str: string): string { - return run(str, code([44], 49)); -} - -/** - * Set background color to magenta. - * @param str text to make its background magenta - */ -export function bgMagenta(str: string): string { - return run(str, code([45], 49)); -} - -/** - * Set background color to cyan. - * @param str text to make its background cyan - */ -export function bgCyan(str: string): string { - return run(str, code([46], 49)); -} - -/** - * Set background color to white. - * @param str text to make its background white - */ -export function bgWhite(str: string): string { - return run(str, code([47], 49)); -} - -/** - * Set background color to bright black. - * @param str text to make its background bright-black - */ -export function bgBrightBlack(str: string): string { - return run(str, code([100], 49)); -} - -/** - * Set background color to bright red. - * @param str text to make its background bright-red - */ -export function bgBrightRed(str: string): string { - return run(str, code([101], 49)); -} - -/** - * Set background color to bright green. - * @param str text to make its background bright-green - */ -export function bgBrightGreen(str: string): string { - return run(str, code([102], 49)); -} - -/** - * Set background color to bright yellow. - * @param str text to make its background bright-yellow - */ -export function bgBrightYellow(str: string): string { - return run(str, code([103], 49)); -} - -/** - * Set background color to bright blue. - * @param str text to make its background bright-blue - */ -export function bgBrightBlue(str: string): string { - return run(str, code([104], 49)); -} - -/** - * Set background color to bright magenta. - * @param str text to make its background bright-magenta - */ -export function bgBrightMagenta(str: string): string { - return run(str, code([105], 49)); -} - -/** - * Set background color to bright cyan. - * @param str text to make its background bright-cyan - */ -export function bgBrightCyan(str: string): string { - return run(str, code([106], 49)); -} - -/** - * Set background color to bright white. - * @param str text to make its background bright-white - */ -export function bgBrightWhite(str: string): string { - return run(str, code([107], 49)); -} - -/* Special Color Sequences */ - -/** - * Clam and truncate color codes - * @param n - * @param max number to truncate to - * @param min number to truncate from - */ -function clampAndTruncate(n: number, max = 255, min = 0): number { - return Math.trunc(Math.max(Math.min(n, max), min)); -} - -/** - * Set text color using paletted 8bit colors. - * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit - * @param str text color to apply paletted 8bit colors to - * @param color code - */ -export function rgb8(str: string, color: number): string { - return run(str, code([38, 5, clampAndTruncate(color)], 39)); -} - -/** - * Set background color using paletted 8bit colors. - * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit - * @param str text color to apply paletted 8bit background colors to - * @param color code - */ -export function bgRgb8(str: string, color: number): string { - return run(str, code([48, 5, clampAndTruncate(color)], 49)); -} - -/** - * Set text color using 24bit rgb. - * `color` can be a number in range `0x000000` to `0xffffff` or - * an `Rgb`. - * - * To produce the color magenta: - * - * ```ts - * import { rgb24 } from "https://deno.land/std@$STD_VERSION/fmt/colors.ts"; - * rgb24("foo", 0xff00ff); - * rgb24("foo", {r: 255, g: 0, b: 255}); - * ``` - * @param str text color to apply 24bit rgb to - * @param color code - */ -export function rgb24(str: string, color: number | Rgb): string { - if (typeof color === "number") { - return run( - str, - code( - [38, 2, (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff], - 39, - ), - ); - } - return run( - str, - code( - [ - 38, - 2, - clampAndTruncate(color.r), - clampAndTruncate(color.g), - clampAndTruncate(color.b), - ], - 39, - ), - ); -} - -/** - * Set background color using 24bit rgb. - * `color` can be a number in range `0x000000` to `0xffffff` or - * an `Rgb`. - * - * To produce the color magenta: - * - * ```ts - * import { bgRgb24 } from "https://deno.land/std@$STD_VERSION/fmt/colors.ts"; - * bgRgb24("foo", 0xff00ff); - * bgRgb24("foo", {r: 255, g: 0, b: 255}); - * ``` - * @param str text color to apply 24bit rgb to - * @param color code - */ -export function bgRgb24(str: string, color: number | Rgb): string { - if (typeof color === "number") { - return run( - str, - code( - [48, 2, (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff], - 49, - ), - ); - } - return run( - str, - code( - [ - 48, - 2, - clampAndTruncate(color.r), - clampAndTruncate(color.g), - clampAndTruncate(color.b), - ], - 49, - ), - ); -} - -// https://github.com/chalk/ansi-regex/blob/02fa893d619d3da85411acc8fd4e2eea0e95a9d9/index.js -const ANSI_PATTERN = new RegExp( - [ - "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", - "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))", - ].join("|"), - "g", -); - -/** - * Remove ANSI escape codes from the string. - * @param string to remove ANSI escape codes from - */ -export function stripColor(string: string): string { - return string.replace(ANSI_PATTERN, ""); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/fmt/printf.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/fmt/printf.ts deleted file mode 100644 index b7fef29..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/fmt/printf.ts +++ /dev/null @@ -1,939 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -/** - * {@linkcode sprintf} and {@linkcode printf} for printing formatted strings to - * stdout. - * - * This implementation is inspired by POSIX and Golang but does not port - * implementation code. - * - * sprintf converts and formats a variable number of arguments as is specified - * by a `format string`. In it's basic form, a format string may just be a - * literal. In case arguments are meant to be formatted, a `directive` is - * contained in the format string, preceded by a '%' character: - * - * % - * - * E.g. the verb `s` indicates the directive should be replaced by the string - * representation of the argument in the corresponding position of the argument - * list. E.g.: - * - * Hello %s! - * - * applied to the arguments "World" yields "Hello World!". - * - * The meaning of the format string is modelled after [POSIX][1] format strings - * as well as well as [Golang format strings][2]. Both contain elements specific - * to the respective programming language that don't apply to JavaScript, so - * they can not be fully supported. Furthermore we implement some functionality - * that is specific to JS. - * - * ## Verbs - * - * The following verbs are supported: - * - * | Verb | Meaning | - * | ----- | -------------------------------------------------------------- | - * | `%` | print a literal percent | - * | `t` | evaluate arg as boolean, print `true` or `false` | - * | `b` | eval as number, print binary | - * | `c` | eval as number, print character corresponding to the codePoint | - * | `o` | eval as number, print octal | - * | `x X` | print as hex (ff FF), treat string as list of bytes | - * | `e E` | print number in scientific/exponent format 1.123123e+01 | - * | `f F` | print number as float with decimal point and no exponent | - * | `g G` | use %e %E or %f %F depending on size of argument | - * | `s` | interpolate string | - * | `T` | type of arg, as returned by `typeof` | - * | `v` | value of argument in 'default' format (see below) | - * | `j` | argument as formatted by `JSON.stringify` | - * | `i` | argument as formatted by `Deno.inspect` | - * | `I` | argument as formatted by `Deno.inspect` in compact format | - * - * ## Width and Precision - * - * Verbs may be modified by providing them with width and precision, either or - * both may be omitted: - * - * %9f width 9, default precision - * %.9f default width, precision 9 - * %8.9f width 8, precision 9 - * %8.f width 9, precision 0 - * - * In general, 'width' describes the minimum length of the output, while - * 'precision' limits the output. - * - * | verb | precision | - * | --------- | --------------------------------------------------------------- | - * | `t` | n/a | - * | `b c o` | n/a | - * | `x X` | n/a for number, strings are truncated to p bytes(!) | - * | `e E f F` | number of places after decimal, default 6 | - * | `g G` | set maximum number of digits | - * | `s` | truncate input | - * | `T` | truncate | - * | `v` | truncate, or depth if used with # see "'default' format", below | - * | `j` | n/a | - * - * Numerical values for width and precision can be substituted for the `*` char, - * in which case the values are obtained from the next args, e.g.: - * - * sprintf("%*.*f", 9, 8, 456.0) - * - * is equivalent to: - * - * sprintf("%9.8f", 456.0) - * - * ## Flags - * - * The effects of the verb may be further influenced by using flags to modify - * the directive: - * - * | Flag | Verb | Meaning | - * | ----- | --------- | -------------------------------------------------------------------------- | - * | `+` | numeric | always print sign | - * | `-` | all | pad to the right (left justify) | - * | `#` | | alternate format | - * | `#` | `b o x X` | prefix with `0b 0 0x` | - * | `#` | `g G` | don't remove trailing zeros | - * | `#` | `v` | ues output of `inspect` instead of `toString` | - * | `' '` | | space character | - * | `' '` | `x X` | leave spaces between bytes when printing string | - * | `' '` | `d` | insert space for missing `+` sign character | - * | `0` | all | pad with zero, `-` takes precedence, sign is appended in front of padding | - * | `<` | all | format elements of the passed array according to the directive (extension) | - * - * ## 'default' format - * - * The default format used by `%v` is the result of calling `toString()` on the - * relevant argument. If the `#` flags is used, the result of calling `inspect()` - * is interpolated. In this case, the precision, if set is passed to `inspect()` - * as the 'depth' config parameter. - * - * ## Positional arguments - * - * Arguments do not need to be consumed in the order they are provided and may - * be consumed more than once. E.g.: - * - * sprintf("%[2]s %[1]s", "World", "Hello") - * - * returns "Hello World". The presence of a positional indicator resets the arg - * counter allowing args to be reused: - * - * sprintf("dec[%d]=%d hex[%[1]d]=%x oct[%[1]d]=%#o %s", 1, 255, "Third") - * - * returns `dec[1]=255 hex[1]=0xff oct[1]=0377 Third` - * - * Width and precision my also use positionals: - * - * "%[2]*.[1]*d", 1, 2 - * - * This follows the golang conventions and not POSIX. - * - * ## Errors - * - * The following errors are handled: - * - * Incorrect verb: - * - * S("%h", "") %!(BAD VERB 'h') - * - * Too few arguments: - * - * S("%d") %!(MISSING 'd')" - * - * [1]: https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html - * [2]: https://golang.org/pkg/fmt/ - * - * @module - */ - -enum State { - PASSTHROUGH, - PERCENT, - POSITIONAL, - PRECISION, - WIDTH, -} - -enum WorP { - WIDTH, - PRECISION, -} - -class Flags { - plus?: boolean; - dash?: boolean; - sharp?: boolean; - space?: boolean; - zero?: boolean; - lessthan?: boolean; - width = -1; - precision = -1; -} - -const min = Math.min; -const UNICODE_REPLACEMENT_CHARACTER = "\ufffd"; -const DEFAULT_PRECISION = 6; -const FLOAT_REGEXP = /(-?)(\d)\.?(\d*)e([+-])(\d+)/; - -enum F { - sign = 1, - mantissa, - fractional, - esign, - exponent, -} - -class Printf { - format: string; - args: unknown[]; - i: number; - - state: State = State.PASSTHROUGH; - verb = ""; - buf = ""; - argNum = 0; - flags: Flags = new Flags(); - - haveSeen: boolean[]; - - // barf, store precision and width errors for later processing ... - tmpError?: string; - - constructor(format: string, ...args: unknown[]) { - this.format = format; - this.args = args; - this.haveSeen = Array.from({ length: args.length }); - this.i = 0; - } - - doPrintf(): string { - for (; this.i < this.format.length; ++this.i) { - const c = this.format[this.i]; - switch (this.state) { - case State.PASSTHROUGH: - if (c === "%") { - this.state = State.PERCENT; - } else { - this.buf += c; - } - break; - case State.PERCENT: - if (c === "%") { - this.buf += c; - this.state = State.PASSTHROUGH; - } else { - this.handleFormat(); - } - break; - default: - throw Error("Should be unreachable, certainly a bug in the lib."); - } - } - // check for unhandled args - let extras = false; - let err = "%!(EXTRA"; - for (let i = 0; i !== this.haveSeen.length; ++i) { - if (!this.haveSeen[i]) { - extras = true; - err += ` '${Deno.inspect(this.args[i])}'`; - } - } - err += ")"; - if (extras) { - this.buf += err; - } - return this.buf; - } - - // %[]... - handleFormat() { - this.flags = new Flags(); - const flags = this.flags; - for (; this.i < this.format.length; ++this.i) { - const c = this.format[this.i]; - switch (this.state) { - case State.PERCENT: - switch (c) { - case "[": - this.handlePositional(); - this.state = State.POSITIONAL; - break; - case "+": - flags.plus = true; - break; - case "<": - flags.lessthan = true; - break; - case "-": - flags.dash = true; - flags.zero = false; // only left pad zeros, dash takes precedence - break; - case "#": - flags.sharp = true; - break; - case " ": - flags.space = true; - break; - case "0": - // only left pad zeros, dash takes precedence - flags.zero = !flags.dash; - break; - default: - if (("1" <= c && c <= "9") || c === "." || c === "*") { - if (c === ".") { - this.flags.precision = 0; - this.state = State.PRECISION; - this.i++; - } else { - this.state = State.WIDTH; - } - this.handleWidthAndPrecision(flags); - } else { - this.handleVerb(); - return; // always end in verb - } - } // switch c - break; - case State.POSITIONAL: - // TODO(bartlomieju): either a verb or * only verb for now - if (c === "*") { - const worp = this.flags.precision === -1 - ? WorP.WIDTH - : WorP.PRECISION; - this.handleWidthOrPrecisionRef(worp); - this.state = State.PERCENT; - break; - } else { - this.handleVerb(); - return; // always end in verb - } - default: - throw new Error(`Should not be here ${this.state}, library bug!`); - } // switch state - } - } - - /** - * Handle width or precision - * @param wOrP - */ - handleWidthOrPrecisionRef(wOrP: WorP) { - if (this.argNum >= this.args.length) { - // handle Positional should have already taken care of it... - return; - } - const arg = this.args[this.argNum]; - this.haveSeen[this.argNum] = true; - if (typeof arg === "number") { - switch (wOrP) { - case WorP.WIDTH: - this.flags.width = arg; - break; - default: - this.flags.precision = arg; - } - } else { - const tmp = wOrP === WorP.WIDTH ? "WIDTH" : "PREC"; - this.tmpError = `%!(BAD ${tmp} '${this.args[this.argNum]}')`; - } - this.argNum++; - } - - /** - * Handle width and precision - * @param flags - */ - handleWidthAndPrecision(flags: Flags) { - const fmt = this.format; - for (; this.i !== this.format.length; ++this.i) { - const c = fmt[this.i]; - switch (this.state) { - case State.WIDTH: - switch (c) { - case ".": - // initialize precision, %9.f -> precision=0 - this.flags.precision = 0; - this.state = State.PRECISION; - break; - case "*": - this.handleWidthOrPrecisionRef(WorP.WIDTH); - // force . or flag at this point - break; - default: { - const val = parseInt(c); - // most likely parseInt does something stupid that makes - // it unusable for this scenario ... - // if we encounter a non (number|*|.) we're done with prec & wid - if (isNaN(val)) { - this.i--; - this.state = State.PERCENT; - return; - } - flags.width = flags.width == -1 ? 0 : flags.width; - flags.width *= 10; - flags.width += val; - } - } // switch c - break; - case State.PRECISION: { - if (c === "*") { - this.handleWidthOrPrecisionRef(WorP.PRECISION); - break; - } - const val = parseInt(c); - if (isNaN(val)) { - // one too far, rewind - this.i--; - this.state = State.PERCENT; - return; - } - flags.precision *= 10; - flags.precision += val; - break; - } - default: - throw new Error("can't be here. bug."); - } // switch state - } - } - - /** Handle positional */ - handlePositional() { - if (this.format[this.i] !== "[") { - // sanity only - throw new Error("Can't happen? Bug."); - } - let positional = 0; - const format = this.format; - this.i++; - let err = false; - for (; this.i !== this.format.length; ++this.i) { - if (format[this.i] === "]") { - break; - } - positional *= 10; - const val = parseInt(format[this.i]); - if (isNaN(val)) { - //throw new Error( - // `invalid character in positional: ${format}[${format[this.i]}]` - //); - this.tmpError = "%!(BAD INDEX)"; - err = true; - } - positional += val; - } - if (positional - 1 >= this.args.length) { - this.tmpError = "%!(BAD INDEX)"; - err = true; - } - this.argNum = err ? this.argNum : positional - 1; - } - - /** Handle less than */ - handleLessThan(): string { - // deno-lint-ignore no-explicit-any - const arg = this.args[this.argNum] as any; - if ((arg || {}).constructor.name !== "Array") { - throw new Error(`arg ${arg} is not an array. Todo better error handling`); - } - let str = "[ "; - for (let i = 0; i !== arg.length; ++i) { - if (i !== 0) str += ", "; - str += this._handleVerb(arg[i]); - } - return str + " ]"; - } - - /** Handle verb */ - handleVerb() { - const verb = this.format[this.i]; - this.verb = verb; - if (this.tmpError) { - this.buf += this.tmpError; - this.tmpError = undefined; - if (this.argNum < this.haveSeen.length) { - this.haveSeen[this.argNum] = true; // keep track of used args - } - } else if (this.args.length <= this.argNum) { - this.buf += `%!(MISSING '${verb}')`; - } else { - const arg = this.args[this.argNum]; // check out of range - this.haveSeen[this.argNum] = true; // keep track of used args - if (this.flags.lessthan) { - this.buf += this.handleLessThan(); - } else { - this.buf += this._handleVerb(arg); - } - } - this.argNum++; // if there is a further positional, it will reset. - this.state = State.PASSTHROUGH; - } - - // deno-lint-ignore no-explicit-any - _handleVerb(arg: any): string { - switch (this.verb) { - case "t": - return this.pad(arg.toString()); - case "b": - return this.fmtNumber(arg as number, 2); - case "c": - return this.fmtNumberCodePoint(arg as number); - case "d": - return this.fmtNumber(arg as number, 10); - case "o": - return this.fmtNumber(arg as number, 8); - case "x": - return this.fmtHex(arg); - case "X": - return this.fmtHex(arg, true); - case "e": - return this.fmtFloatE(arg as number); - case "E": - return this.fmtFloatE(arg as number, true); - case "f": - case "F": - return this.fmtFloatF(arg as number); - case "g": - return this.fmtFloatG(arg as number); - case "G": - return this.fmtFloatG(arg as number, true); - case "s": - return this.fmtString(arg as string); - case "T": - return this.fmtString(typeof arg); - case "v": - return this.fmtV(arg); - case "j": - return this.fmtJ(arg); - case "i": - return this.fmtI(arg, false); - case "I": - return this.fmtI(arg, true); - default: - return `%!(BAD VERB '${this.verb}')`; - } - } - - /** - * Pad a string - * @param s text to pad - */ - pad(s: string): string { - const padding = this.flags.zero ? "0" : " "; - - if (this.flags.dash) { - return s.padEnd(this.flags.width, padding); - } - - return s.padStart(this.flags.width, padding); - } - - /** - * Pad a number - * @param nStr - * @param neg - */ - padNum(nStr: string, neg: boolean): string { - let sign: string; - if (neg) { - sign = "-"; - } else if (this.flags.plus || this.flags.space) { - sign = this.flags.plus ? "+" : " "; - } else { - sign = ""; - } - const zero = this.flags.zero; - if (!zero) { - // sign comes in front of padding when padding w/ zero, - // in from of value if padding with spaces. - nStr = sign + nStr; - } - - const pad = zero ? "0" : " "; - const len = zero ? this.flags.width - sign.length : this.flags.width; - - if (this.flags.dash) { - nStr = nStr.padEnd(len, pad); - } else { - nStr = nStr.padStart(len, pad); - } - - if (zero) { - // see above - nStr = sign + nStr; - } - return nStr; - } - - /** - * Format a number - * @param n - * @param radix - * @param upcase - */ - fmtNumber(n: number, radix: number, upcase = false): string { - let num = Math.abs(n).toString(radix); - const prec = this.flags.precision; - if (prec !== -1) { - this.flags.zero = false; - num = n === 0 && prec === 0 ? "" : num; - while (num.length < prec) { - num = "0" + num; - } - } - let prefix = ""; - if (this.flags.sharp) { - switch (radix) { - case 2: - prefix += "0b"; - break; - case 8: - // don't annotate octal 0 with 0... - prefix += num.startsWith("0") ? "" : "0"; - break; - case 16: - prefix += "0x"; - break; - default: - throw new Error("cannot handle base: " + radix); - } - } - // don't add prefix in front of value truncated by precision=0, val=0 - num = num.length === 0 ? num : prefix + num; - if (upcase) { - num = num.toUpperCase(); - } - return this.padNum(num, n < 0); - } - - /** - * Format number with code points - * @param n - */ - fmtNumberCodePoint(n: number): string { - let s = ""; - try { - s = String.fromCodePoint(n); - } catch { - s = UNICODE_REPLACEMENT_CHARACTER; - } - return this.pad(s); - } - - /** - * Format special float - * @param n - */ - fmtFloatSpecial(n: number): string { - // formatting of NaN and Inf are pants-on-head - // stupid and more or less arbitrary. - - if (isNaN(n)) { - this.flags.zero = false; - return this.padNum("NaN", false); - } - if (n === Number.POSITIVE_INFINITY) { - this.flags.zero = false; - this.flags.plus = true; - return this.padNum("Inf", false); - } - if (n === Number.NEGATIVE_INFINITY) { - this.flags.zero = false; - return this.padNum("Inf", true); - } - return ""; - } - - /** - * Round fraction to precision - * @param fractional - * @param precision - * @returns tuple of fractional and round - */ - roundFractionToPrecision( - fractional: string, - precision: number, - ): [string, boolean] { - let round = false; - if (fractional.length > precision) { - fractional = "1" + fractional; // prepend a 1 in case of leading 0 - let tmp = parseInt(fractional.slice(0, precision + 2)) / 10; - tmp = Math.round(tmp); - fractional = Math.floor(tmp).toString(); - round = fractional[0] === "2"; - fractional = fractional.slice(1); // remove extra 1 - } else { - while (fractional.length < precision) { - fractional += "0"; - } - } - return [fractional, round]; - } - - /** - * Format float E - * @param n - * @param upcase - */ - fmtFloatE(n: number, upcase = false): string { - const special = this.fmtFloatSpecial(n); - if (special !== "") { - return special; - } - - const m = n.toExponential().match(FLOAT_REGEXP); - if (!m) { - throw Error("can't happen, bug"); - } - let fractional = m[F.fractional]; - const precision = this.flags.precision !== -1 - ? this.flags.precision - : DEFAULT_PRECISION; - let rounding = false; - [fractional, rounding] = this.roundFractionToPrecision( - fractional, - precision, - ); - - let e = m[F.exponent]; - let esign = m[F.esign]; - // scientific notation output with exponent padded to minlen 2 - let mantissa = parseInt(m[F.mantissa]); - if (rounding) { - mantissa += 1; - if (10 <= mantissa) { - mantissa = 1; - const r = parseInt(esign + e) + 1; - e = r.toString(); - esign = r < 0 ? "-" : "+"; - } - } - e = e.length == 1 ? "0" + e : e; - const val = `${mantissa}.${fractional}${upcase ? "E" : "e"}${esign}${e}`; - return this.padNum(val, n < 0); - } - - /** - * Format float F - * @param n - */ - fmtFloatF(n: number): string { - const special = this.fmtFloatSpecial(n); - if (special !== "") { - return special; - } - - // stupid helper that turns a number into a (potentially) - // VERY long string. - function expandNumber(n: number): string { - if (Number.isSafeInteger(n)) { - return n.toString() + "."; - } - - const t = n.toExponential().split("e"); - let m = t[0].replace(".", ""); - const e = parseInt(t[1]); - if (e < 0) { - let nStr = "0."; - for (let i = 0; i !== Math.abs(e) - 1; ++i) { - nStr += "0"; - } - return (nStr += m); - } else { - const splIdx = e + 1; - while (m.length < splIdx) { - m += "0"; - } - return m.slice(0, splIdx) + "." + m.slice(splIdx); - } - } - // avoiding sign makes padding easier - const val = expandNumber(Math.abs(n)) as string; - const arr = val.split("."); - let dig = arr[0]; - let fractional = arr[1]; - - const precision = this.flags.precision !== -1 - ? this.flags.precision - : DEFAULT_PRECISION; - let round = false; - [fractional, round] = this.roundFractionToPrecision(fractional, precision); - if (round) { - dig = (parseInt(dig) + 1).toString(); - } - return this.padNum(`${dig}.${fractional}`, n < 0); - } - - /** - * Format float G - * @param n - * @param upcase - */ - fmtFloatG(n: number, upcase = false): string { - const special = this.fmtFloatSpecial(n); - if (special !== "") { - return special; - } - - // The double argument representing a floating-point number shall be - // converted in the style f or e (or in the style F or E in - // the case of a G conversion specifier), depending on the - // value converted and the precision. Let P equal the - // precision if non-zero, 6 if the precision is omitted, or 1 - // if the precision is zero. Then, if a conversion with style E would - // have an exponent of X: - - // - If P > X>=-4, the conversion shall be with style f (or F ) - // and precision P -( X+1). - - // - Otherwise, the conversion shall be with style e (or E ) - // and precision P -1. - - // Finally, unless the '#' flag is used, any trailing zeros shall be - // removed from the fractional portion of the result and the - // decimal-point character shall be removed if there is no - // fractional portion remaining. - - // A double argument representing an infinity or NaN shall be - // converted in the style of an f or F conversion specifier. - // https://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html - - let P = this.flags.precision !== -1 - ? this.flags.precision - : DEFAULT_PRECISION; - P = P === 0 ? 1 : P; - - const m = n.toExponential().match(FLOAT_REGEXP); - if (!m) { - throw Error("can't happen"); - } - - const X = parseInt(m[F.exponent]) * (m[F.esign] === "-" ? -1 : 1); - let nStr = ""; - if (P > X && X >= -4) { - this.flags.precision = P - (X + 1); - nStr = this.fmtFloatF(n); - if (!this.flags.sharp) { - nStr = nStr.replace(/\.?0*$/, ""); - } - } else { - this.flags.precision = P - 1; - nStr = this.fmtFloatE(n); - if (!this.flags.sharp) { - nStr = nStr.replace(/\.?0*e/, upcase ? "E" : "e"); - } - } - return nStr; - } - - /** - * Format string - * @param s - */ - fmtString(s: string): string { - if (this.flags.precision !== -1) { - s = s.slice(0, this.flags.precision); - } - return this.pad(s); - } - - /** - * Format hex - * @param val - * @param upper - */ - fmtHex(val: string | number, upper = false): string { - // allow others types ? - switch (typeof val) { - case "number": - return this.fmtNumber(val as number, 16, upper); - case "string": { - const sharp = this.flags.sharp && val.length !== 0; - let hex = sharp ? "0x" : ""; - const prec = this.flags.precision; - const end = prec !== -1 ? min(prec, val.length) : val.length; - for (let i = 0; i !== end; ++i) { - if (i !== 0 && this.flags.space) { - hex += sharp ? " 0x" : " "; - } - // TODO(bartlomieju): for now only taking into account the - // lower half of the codePoint, ie. as if a string - // is a list of 8bit values instead of UCS2 runes - const c = (val.charCodeAt(i) & 0xff).toString(16); - hex += c.length === 1 ? `0${c}` : c; - } - if (upper) { - hex = hex.toUpperCase(); - } - return this.pad(hex); - } - default: - throw new Error( - "currently only number and string are implemented for hex", - ); - } - } - - /** - * Format value - * @param val - */ - fmtV(val: Record): string { - if (this.flags.sharp) { - const options = this.flags.precision !== -1 - ? { depth: this.flags.precision } - : {}; - return this.pad(Deno.inspect(val, options)); - } else { - const p = this.flags.precision; - return p === -1 ? val.toString() : val.toString().slice(0, p); - } - } - - /** - * Format JSON - * @param val - */ - fmtJ(val: unknown): string { - return JSON.stringify(val); - } - - /** - * Format inspect - * @param val - * @param compact Whether or not the output should be compact. - */ - fmtI(val: unknown, compact: boolean): string { - return Deno.inspect(val, { - colors: true, - compact, - depth: Infinity, - iterableLimit: Infinity, - }); - } -} - -/** - * Converts and format a variable number of `args` as is specified by `format`. - * `sprintf` returns the formatted string. - * - * @param format - * @param args - */ -export function sprintf(format: string, ...args: unknown[]): string { - const printf = new Printf(format, ...args); - return printf.doPrintf(); -} - -/** - * Converts and format a variable number of `args` as is specified by `format`. - * `printf` writes the formatted string to standard output. - * @param format - * @param args - */ -export function printf(format: string, ...args: unknown[]) { - const s = sprintf(format, ...args); - Deno.stdout.writeSync(new TextEncoder().encode(s)); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/http/cookie.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/http/cookie.ts deleted file mode 100644 index 2df6a89..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/http/cookie.ts +++ /dev/null @@ -1,403 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Structured similarly to Go's cookie.go -// https://github.com/golang/go/blob/master/src/net/http/cookie.go -// This module is browser compatible. - -import { assert } from "../_util/asserts.ts"; -import { toIMF } from "../datetime/to_imf.ts"; - -export interface Cookie { - /** Name of the cookie. */ - name: string; - /** Value of the cookie. */ - value: string; - /** The cookie's `Expires` attribute, either as an explicit date or UTC milliseconds. - * @example Explicit date: - * - * ```ts - * import { Cookie } from "https://deno.land/std@$STD_VERSION/http/cookie.ts"; - * const cookie: Cookie = { - * name: 'name', - * value: 'value', - * // expires on Fri Dec 30 2022 - * expires: new Date('2022-12-31') - * } - * ``` - * - * @example UTC milliseconds - * - * ```ts - * import { Cookie } from "https://deno.land/std@$STD_VERSION/http/cookie.ts"; - * const cookie: Cookie = { - * name: 'name', - * value: 'value', - * // expires 10 seconds from now - * expires: Date.now() + 10000 - * } - * ``` - */ - expires?: Date | number; - /** The cookie's `Max-Age` attribute, in seconds. Must be a non-negative integer. A cookie with a `maxAge` of `0` expires immediately. */ - maxAge?: number; - /** The cookie's `Domain` attribute. Specifies those hosts to which the cookie will be sent. */ - domain?: string; - /** The cookie's `Path` attribute. A cookie with a path will only be included in the `Cookie` request header if the requested URL matches that path. */ - path?: string; - /** The cookie's `Secure` attribute. If `true`, the cookie will only be included in the `Cookie` request header if the connection uses SSL and HTTPS. */ - secure?: boolean; - /** The cookie's `HTTPOnly` attribute. If `true`, the cookie cannot be accessed via JavaScript. */ - httpOnly?: boolean; - /** - * Allows servers to assert that a cookie ought not to - * be sent along with cross-site requests. - */ - sameSite?: "Strict" | "Lax" | "None"; - /** Additional key value pairs with the form "key=value" */ - unparsed?: string[]; -} - -const FIELD_CONTENT_REGEXP = /^(?=[\x20-\x7E]*$)[^()@<>,;:\\"\[\]?={}\s]+$/; - -function toString(cookie: Cookie): string { - if (!cookie.name) { - return ""; - } - const out: string[] = []; - validateName(cookie.name); - validateValue(cookie.name, cookie.value); - out.push(`${cookie.name}=${cookie.value}`); - - // Fallback for invalid Set-Cookie - // ref: https://tools.ietf.org/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.1 - if (cookie.name.startsWith("__Secure")) { - cookie.secure = true; - } - if (cookie.name.startsWith("__Host")) { - cookie.path = "/"; - cookie.secure = true; - delete cookie.domain; - } - - if (cookie.secure) { - out.push("Secure"); - } - if (cookie.httpOnly) { - out.push("HttpOnly"); - } - if (typeof cookie.maxAge === "number" && Number.isInteger(cookie.maxAge)) { - assert( - cookie.maxAge >= 0, - "Max-Age must be an integer superior or equal to 0", - ); - out.push(`Max-Age=${cookie.maxAge}`); - } - if (cookie.domain) { - validateDomain(cookie.domain); - out.push(`Domain=${cookie.domain}`); - } - if (cookie.sameSite) { - out.push(`SameSite=${cookie.sameSite}`); - } - if (cookie.path) { - validatePath(cookie.path); - out.push(`Path=${cookie.path}`); - } - if (cookie.expires) { - const { expires } = cookie; - const dateString = toIMF( - typeof expires === "number" ? new Date(expires) : expires, - ); - out.push(`Expires=${dateString}`); - } - if (cookie.unparsed) { - out.push(cookie.unparsed.join("; ")); - } - return out.join("; "); -} - -/** - * Validate Cookie Name. - * @param name Cookie name. - */ -function validateName(name: string | undefined | null) { - if (name && !FIELD_CONTENT_REGEXP.test(name)) { - throw new TypeError(`Invalid cookie name: "${name}".`); - } -} - -/** - * Validate Path Value. - * See {@link https://tools.ietf.org/html/rfc6265#section-4.1.2.4}. - * @param path Path value. - */ -function validatePath(path: string | null) { - if (path == null) { - return; - } - for (let i = 0; i < path.length; i++) { - const c = path.charAt(i); - if ( - c < String.fromCharCode(0x20) || c > String.fromCharCode(0x7E) || c == ";" - ) { - throw new Error( - path + ": Invalid cookie path char '" + c + "'", - ); - } - } -} - -/** - * Validate Cookie Value. - * See {@link https://tools.ietf.org/html/rfc6265#section-4.1}. - * @param value Cookie value. - */ -function validateValue(name: string, value: string | null) { - if (value == null || name == null) return; - for (let i = 0; i < value.length; i++) { - const c = value.charAt(i); - if ( - c < String.fromCharCode(0x21) || c == String.fromCharCode(0x22) || - c == String.fromCharCode(0x2c) || c == String.fromCharCode(0x3b) || - c == String.fromCharCode(0x5c) || c == String.fromCharCode(0x7f) - ) { - throw new Error( - "RFC2616 cookie '" + name + "' cannot contain character '" + c + "'", - ); - } - if (c > String.fromCharCode(0x80)) { - throw new Error( - "RFC2616 cookie '" + name + "' can only have US-ASCII chars as value" + - c.charCodeAt(0).toString(16), - ); - } - } -} - -/** - * Validate Cookie Domain. - * See {@link https://datatracker.ietf.org/doc/html/rfc6265#section-4.1.2.3}. - * @param domain Cookie domain. - */ -function validateDomain(domain: string) { - if (domain == null) { - return; - } - const char1 = domain.charAt(0); - const charN = domain.charAt(domain.length - 1); - if (char1 == "-" || charN == "." || charN == "-") { - throw new Error( - "Invalid first/last char in cookie domain: " + domain, - ); - } -} - -/** - * Parse cookies of a header - * - * @example - * ```ts - * import { getCookies } from "https://deno.land/std@$STD_VERSION/http/cookie.ts"; - * - * const headers = new Headers(); - * headers.set("Cookie", "full=of; tasty=chocolate"); - * - * const cookies = getCookies(headers); - * console.log(cookies); // { full: "of", tasty: "chocolate" } - * ``` - * - * @param headers The headers instance to get cookies from - * @return Object with cookie names as keys - */ -export function getCookies(headers: Headers): Record { - const cookie = headers.get("Cookie"); - if (cookie != null) { - const out: Record = {}; - const c = cookie.split(";"); - for (const kv of c) { - const [cookieKey, ...cookieVal] = kv.split("="); - assert(cookieKey != null); - const key = cookieKey.trim(); - out[key] = cookieVal.join("="); - } - return out; - } - return {}; -} - -/** - * Set the cookie header properly in the headers - * - * @example - * ```ts - * import { - * Cookie, - * setCookie, - * } from "https://deno.land/std@$STD_VERSION/http/cookie.ts"; - * - * const headers = new Headers(); - * const cookie: Cookie = { name: "Space", value: "Cat" }; - * setCookie(headers, cookie); - * - * const cookieHeader = headers.get("set-cookie"); - * console.log(cookieHeader); // Space=Cat - * ``` - * - * @param headers The headers instance to set the cookie to - * @param cookie Cookie to set - */ -export function setCookie(headers: Headers, cookie: Cookie) { - // Parsing cookie headers to make consistent set-cookie header - // ref: https://tools.ietf.org/html/rfc6265#section-4.1.1 - const v = toString(cookie); - if (v) { - headers.append("Set-Cookie", v); - } -} - -/** - * Set the cookie header with empty value in the headers to delete it - * - * > Note: Deleting a `Cookie` will set its expiration date before now. Forcing - * > the browser to delete it. - * - * @example - * ```ts - * import { deleteCookie } from "https://deno.land/std@$STD_VERSION/http/cookie.ts"; - * - * const headers = new Headers(); - * deleteCookie(headers, "deno"); - * - * const cookieHeader = headers.get("set-cookie"); - * console.log(cookieHeader); // deno=; Expires=Thus, 01 Jan 1970 00:00:00 GMT - * ``` - * - * @param headers The headers instance to delete the cookie from - * @param name Name of cookie - * @param attributes Additional cookie attributes - */ -export function deleteCookie( - headers: Headers, - name: string, - attributes?: { path?: string; domain?: string }, -) { - setCookie(headers, { - name: name, - value: "", - expires: new Date(0), - ...attributes, - }); -} - -function parseSetCookie(value: string): Cookie | null { - const attrs = value - .split(";") - .map((attr) => - attr - .trim() - .split("=") - .map((keyOrValue) => keyOrValue.trim()) - ); - const cookie: Cookie = { - name: attrs[0][0], - value: attrs[0][1], - }; - - for (const [key, value] of attrs.slice(1)) { - switch (key.toLocaleLowerCase()) { - case "expires": - cookie.expires = new Date(value); - break; - case "max-age": - cookie.maxAge = Number(value); - if (cookie.maxAge < 0) { - console.warn( - "Max-Age must be an integer superior or equal to 0. Cookie ignored.", - ); - return null; - } - break; - case "domain": - cookie.domain = value; - break; - case "path": - cookie.path = value; - break; - case "secure": - cookie.secure = true; - break; - case "httponly": - cookie.httpOnly = true; - break; - case "samesite": - cookie.sameSite = value as Cookie["sameSite"]; - break; - default: - if (!Array.isArray(cookie.unparsed)) { - cookie.unparsed = []; - } - cookie.unparsed.push([key, value].join("=")); - } - } - if (cookie.name.startsWith("__Secure-")) { - /** This requirement is mentioned in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie but not the RFC. */ - if (!cookie.secure) { - console.warn( - "Cookies with names starting with `__Secure-` must be set with the secure flag. Cookie ignored.", - ); - return null; - } - } - if (cookie.name.startsWith("__Host-")) { - if (!cookie.secure) { - console.warn( - "Cookies with names starting with `__Host-` must be set with the secure flag. Cookie ignored.", - ); - return null; - } - if (cookie.domain !== undefined) { - console.warn( - "Cookies with names starting with `__Host-` must not have a domain specified. Cookie ignored.", - ); - return null; - } - if (cookie.path !== "/") { - console.warn( - "Cookies with names starting with `__Host-` must have path be `/`. Cookie has been ignored.", - ); - return null; - } - } - return cookie; -} - -/** - * Parse set-cookies of a header - * - * @example - * ```ts - * import { getSetCookies } from "https://deno.land/std@$STD_VERSION/http/cookie.ts"; - * - * const headers = new Headers([ - * ["Set-Cookie", "lulu=meow; Secure; Max-Age=3600"], - * ["Set-Cookie", "booya=kasha; HttpOnly; Path=/"], - * ]); - * - * const cookies = getSetCookies(headers); - * console.log(cookies); // [{ name: "lulu", value: "meow", secure: true, maxAge: 3600 }, { name: "booya", value: "kahsa", httpOnly: true, path: "/ }] - * ``` - * - * @param headers The headers instance to get set-cookies from - * @return List of cookies - */ -export function getSetCookies(headers: Headers): Cookie[] { - if (!headers.has("set-cookie")) { - return []; - } - return [...headers.entries()] - .filter(([key]) => key === "set-cookie") - .map(([_, value]) => value) - /** Parse each `set-cookie` header separately */ - .map(parseSetCookie) - /** Skip empty cookies */ - .filter(Boolean) as Cookie[]; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_core.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_core.ts deleted file mode 100644 index f1e63e8..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_core.ts +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -// This module provides an interface to `Deno.core`. For environments -// that don't have access to `Deno.core` some APIs are polyfilled, while -// some are unavailble and throw on call. -// Note: deno_std shouldn't use Deno.core namespace. We should minimize these -// usages. - -// deno-lint-ignore no-explicit-any -export let core: any; - -// deno-lint-ignore no-explicit-any -const { Deno } = globalThis as any; - -// @ts-ignore Deno.core is not defined in types -if (Deno?.[Deno.internal]?.core) { - // @ts-ignore Deno[Deno.internal].core is not defined in types - core = Deno[Deno.internal].core; -} else if (Deno?.core) { - // @ts-ignore Deno.core is not defined in types - core = Deno.core; -} else { - core = { - runMicrotasks() { - throw new Error( - "Deno.core.runMicrotasks() is not supported in this environment", - ); - }, - setHasTickScheduled() { - throw new Error( - "Deno.core.setHasTickScheduled() is not supported in this environment", - ); - }, - hasTickScheduled() { - throw new Error( - "Deno.core.hasTickScheduled() is not supported in this environment", - ); - }, - setNextTickCallback: undefined, - setMacrotaskCallback() { - throw new Error( - "Deno.core.setNextTickCallback() is not supported in this environment", - ); - }, - evalContext(_code: string, _filename: string) { - throw new Error( - "Deno.core.evalContext is not supported in this environment", - ); - }, - encode(chunk: string): Uint8Array { - return new TextEncoder().encode(chunk); - }, - eventLoopHasMoreWork(): boolean { - return false; - }, - isProxy(): boolean { - return false; - }, - getPromiseDetails(_promise: Promise): [number, unknown] { - throw new Error( - "Deno.core.getPromiseDetails is not supported in this environment", - ); - }, - setPromiseHooks() { - throw new Error( - "Deno.core.setPromiseHooks is not supported in this environment", - ); - }, - ops: { - op_napi_open(_filename: string) { - throw new Error( - "Node API is not supported in this environment", - ); - }, - }, - }; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_events.d.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_events.d.ts deleted file mode 100644 index 7d35a77..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_events.d.ts +++ /dev/null @@ -1,848 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// deno-lint-ignore-file no-explicit-any - -// Forked from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/9b9cd671114a2a5178809798d8e7f4d8ca6c2671/types/node/events.d.ts - -export const captureRejectionSymbol: unique symbol; -export const defaultMaxListeners: number; -export const errorMonitor: unique symbol; - -export interface Abortable { - /** - * When provided the corresponding `AbortController` can be used to cancel an asynchronous action. - */ - signal?: AbortSignal | undefined; -} -/** - * Returns a copy of the array of listeners for the event named `eventName`. - * - * For `EventEmitter`s this behaves exactly the same as calling `.listeners` on - * the emitter. - * - * For `EventTarget`s this is the only way to get the event listeners for the - * event target. This is useful for debugging and diagnostic purposes. - * - * ```js - * const { getEventListeners, EventEmitter } = require('events'); - * - * { - * const ee = new EventEmitter(); - * const listener = () => console.log('Events are fun'); - * ee.on('foo', listener); - * getEventListeners(ee, 'foo'); // [listener] - * } - * { - * const et = new EventTarget(); - * const listener = () => console.log('Events are fun'); - * et.addEventListener('foo', listener); - * getEventListeners(et, 'foo'); // [listener] - * } - * ``` - * @since v15.2.0 - */ -export function getEventListeners( - emitter: EventTarget | EventEmitter, - name: string | symbol, - // deno-lint-ignore ban-types -): Function[]; - -/** - * ```js - * const { on, EventEmitter } = require('events'); - * - * (async () => { - * const ee = new EventEmitter(); - * - * // Emit later on - * process.nextTick(() => { - * ee.emit('foo', 'bar'); - * ee.emit('foo', 42); - * }); - * - * for await (const event of on(ee, 'foo')) { - * // The execution of this inner block is synchronous and it - * // processes one event at a time (even with await). Do not use - * // if concurrent execution is required. - * console.log(event); // prints ['bar'] [42] - * } - * // Unreachable here - * })(); - * ``` - * - * Returns an `AsyncIterator` that iterates `eventName` events. It will throw - * if the `EventEmitter` emits `'error'`. It removes all listeners when - * exiting the loop. The `value` returned by each iteration is an array - * composed of the emitted event arguments. - * - * An `AbortSignal` can be used to cancel waiting on events: - * - * ```js - * const { on, EventEmitter } = require('events'); - * const ac = new AbortController(); - * - * (async () => { - * const ee = new EventEmitter(); - * - * // Emit later on - * process.nextTick(() => { - * ee.emit('foo', 'bar'); - * ee.emit('foo', 42); - * }); - * - * for await (const event of on(ee, 'foo', { signal: ac.signal })) { - * // The execution of this inner block is synchronous and it - * // processes one event at a time (even with await). Do not use - * // if concurrent execution is required. - * console.log(event); // prints ['bar'] [42] - * } - * // Unreachable here - * })(); - * - * process.nextTick(() => ac.abort()); - * ``` - * @since v13.6.0, v12.16.0 - * @param eventName The name of the event being listened for - * @return that iterates `eventName` events emitted by the `emitter` - */ -export function on( - emitter: EventEmitter, - eventName: string, - options?: StaticEventEmitterOptions, -): AsyncIterableIterator; - -/** - * Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given - * event or that is rejected if the `EventEmitter` emits `'error'` while waiting. - * The `Promise` will resolve with an array of all the arguments emitted to the - * given event. - * - * This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event - * semantics and does not listen to the `'error'` event. - * - * ```js - * const { once, EventEmitter } = require('events'); - * - * async function run() { - * const ee = new EventEmitter(); - * - * process.nextTick(() => { - * ee.emit('myevent', 42); - * }); - * - * const [value] = await once(ee, 'myevent'); - * console.log(value); - * - * const err = new Error('kaboom'); - * process.nextTick(() => { - * ee.emit('error', err); - * }); - * - * try { - * await once(ee, 'myevent'); - * } catch (err) { - * console.log('error happened', err); - * } - * } - * - * run(); - * ``` - * - * The special handling of the `'error'` event is only used when `events.once()`is used to wait for another event. If `events.once()` is used to wait for the - * '`error'` event itself, then it is treated as any other kind of event without - * special handling: - * - * ```js - * const { EventEmitter, once } = require('events'); - * - * const ee = new EventEmitter(); - * - * once(ee, 'error') - * .then(([err]) => console.log('ok', err.message)) - * .catch((err) => console.log('error', err.message)); - * - * ee.emit('error', new Error('boom')); - * - * // Prints: ok boom - * ``` - * - * An `AbortSignal` can be used to cancel waiting for the event: - * - * ```js - * const { EventEmitter, once } = require('events'); - * - * const ee = new EventEmitter(); - * const ac = new AbortController(); - * - * async function foo(emitter, event, signal) { - * try { - * await once(emitter, event, { signal }); - * console.log('event emitted!'); - * } catch (error) { - * if (error.name === 'AbortError') { - * console.error('Waiting for the event was canceled!'); - * } else { - * console.error('There was an error', error.message); - * } - * } - * } - * - * foo(ee, 'foo', ac.signal); - * ac.abort(); // Abort waiting for the event - * ee.emit('foo'); // Prints: Waiting for the event was canceled! - * ``` - * @since v11.13.0, v10.16.0 - */ -export function once( - emitter: NodeEventTarget, - eventName: string | symbol, - options?: StaticEventEmitterOptions, -): Promise; -export function once( - emitter: EventTarget, - eventName: string, - options?: StaticEventEmitterOptions, -): Promise; - -/** - * `n` {number} A non-negative number. The maximum number of listeners per `EventTarget` event. - * `...eventsTargets` {EventTarget\[]|EventEmitter\[]} Zero or more {EventTarget} - * or {EventEmitter} instances. If none are specified, `n` is set as the default - * max for all newly created {EventTarget} and {EventEmitter} objects. - * - * ```mjs - * import { setMaxListeners, EventEmitter } from 'node:events'; - * - * const target = new EventTarget(); - * const emitter = new EventEmitter(); - * - * setMaxListeners(5, target, emitter); - * ``` - * - * ```cjs - * const { - * setMaxListeners, - * EventEmitter - * } = require('node:events'); - * - * const target = new EventTarget(); - * const emitter = new EventEmitter(); - * - * setMaxListeners(5, target, emitter); - * ``` - * @since v15.4.0 - */ -export function setMaxListeners(n: number): EventEmitter; - -/** - * A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`. - * - * ```js - * const { EventEmitter, listenerCount } = require('events'); - * const myEmitter = new EventEmitter(); - * myEmitter.on('event', () => {}); - * myEmitter.on('event', () => {}); - * console.log(listenerCount(myEmitter, 'event')); - * // Prints: 2 - * ``` - * @since v0.9.12 - * @deprecated Since v3.2.0 - Use `listenerCount` instead. - * @param emitter The emitter to query - * @param eventName The event name - */ -export function listenerCount( - emitter: EventEmitter, - eventName: string | symbol, -): number; - -interface EventEmitterOptions { - /** - * Enables automatic capturing of promise rejection. - */ - captureRejections?: boolean | undefined; -} -interface NodeEventTarget { - once(eventName: string | symbol, listener: (...args: any[]) => void): this; -} -interface EventTarget { - addEventListener( - eventName: string, - listener: (...args: any[]) => void, - opts?: { - once: boolean; - }, - ): any; -} -interface StaticEventEmitterOptions { - signal?: AbortSignal | undefined; -} -/** - * The `EventEmitter` class is defined and exposed by the `events` module: - * - * ```js - * const EventEmitter = require('events'); - * ``` - * - * All `EventEmitter`s emit the event `'newListener'` when new listeners are - * added and `'removeListener'` when existing listeners are removed. - * - * It supports the following option: - * @since v0.1.26 - */ -export class EventEmitter { - /** - * Alias for `emitter.on(eventName, listener)`. - * @since v0.1.26 - */ - addListener( - eventName: string | symbol, - listener: (...args: any[]) => void, - ): this; - /** - * Adds the `listener` function to the end of the listeners array for the - * event named `eventName`. No checks are made to see if the `listener` has - * already been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple - * times. - * - * ```js - * server.on('connection', (stream) => { - * console.log('someone connected!'); - * }); - * ``` - * - * Returns a reference to the `EventEmitter`, so that calls can be chained. - * - * By default, event listeners are invoked in the order they are added. The`emitter.prependListener()` method can be used as an alternative to add the - * event listener to the beginning of the listeners array. - * - * ```js - * const myEE = new EventEmitter(); - * myEE.on('foo', () => console.log('a')); - * myEE.prependListener('foo', () => console.log('b')); - * myEE.emit('foo'); - * // Prints: - * // b - * // a - * ``` - * @since v0.1.101 - * @param eventName The name of the event. - * @param listener The callback function - */ - on(eventName: string | symbol, listener: (...args: any[]) => void): this; - /** - * Adds a **one-time**`listener` function for the event named `eventName`. The - * next time `eventName` is triggered, this listener is removed and then invoked. - * - * ```js - * server.once('connection', (stream) => { - * console.log('Ah, we have our first user!'); - * }); - * ``` - * - * Returns a reference to the `EventEmitter`, so that calls can be chained. - * - * By default, event listeners are invoked in the order they are added. The`emitter.prependOnceListener()` method can be used as an alternative to add the - * event listener to the beginning of the listeners array. - * - * ```js - * const myEE = new EventEmitter(); - * myEE.once('foo', () => console.log('a')); - * myEE.prependOnceListener('foo', () => console.log('b')); - * myEE.emit('foo'); - * // Prints: - * // b - * // a - * ``` - * @since v0.3.0 - * @param eventName The name of the event. - * @param listener The callback function - */ - once(eventName: string | symbol, listener: (...args: any[]) => void): this; - /** - * Removes the specified `listener` from the listener array for the event named`eventName`. - * - * ```js - * const callback = (stream) => { - * console.log('someone connected!'); - * }; - * server.on('connection', callback); - * // ... - * server.removeListener('connection', callback); - * ``` - * - * `removeListener()` will remove, at most, one instance of a listener from the - * listener array. If any single listener has been added multiple times to the - * listener array for the specified `eventName`, then `removeListener()` must be - * called multiple times to remove each instance. - * - * Once an event is emitted, all listeners attached to it at the - * time of emitting are called in order. This implies that any`removeListener()` or `removeAllListeners()` calls _after_ emitting and_before_ the last listener finishes execution will - * not remove them from`emit()` in progress. Subsequent events behave as expected. - * - * ```js - * const myEmitter = new MyEmitter(); - * - * const callbackA = () => { - * console.log('A'); - * myEmitter.removeListener('event', callbackB); - * }; - * - * const callbackB = () => { - * console.log('B'); - * }; - * - * myEmitter.on('event', callbackA); - * - * myEmitter.on('event', callbackB); - * - * // callbackA removes listener callbackB but it will still be called. - * // Internal listener array at time of emit [callbackA, callbackB] - * myEmitter.emit('event'); - * // Prints: - * // A - * // B - * - * // callbackB is now removed. - * // Internal listener array [callbackA] - * myEmitter.emit('event'); - * // Prints: - * // A - * ``` - * - * Because listeners are managed using an internal array, calling this will - * change the position indices of any listener registered _after_ the listener - * being removed. This will not impact the order in which listeners are called, - * but it means that any copies of the listener array as returned by - * the `emitter.listeners()` method will need to be recreated. - * - * When a single function has been added as a handler multiple times for a single - * event (as in the example below), `removeListener()` will remove the most - * recently added instance. In the example the `once('ping')`listener is removed: - * - * ```js - * const ee = new EventEmitter(); - * - * function pong() { - * console.log('pong'); - * } - * - * ee.on('ping', pong); - * ee.once('ping', pong); - * ee.removeListener('ping', pong); - * - * ee.emit('ping'); - * ee.emit('ping'); - * ``` - * - * Returns a reference to the `EventEmitter`, so that calls can be chained. - * @since v0.1.26 - */ - removeListener( - eventName: string | symbol, - listener: (...args: any[]) => void, - ): this; - /** - * Alias for `emitter.removeListener()`. - * @since v10.0.0 - */ - off(eventName: string | symbol, listener: (...args: any[]) => void): this; - /** - * Removes all listeners, or those of the specified `eventName`. - * - * It is bad practice to remove listeners added elsewhere in the code, - * particularly when the `EventEmitter` instance was created by some other - * component or module (e.g. sockets or file streams). - * - * Returns a reference to the `EventEmitter`, so that calls can be chained. - * @since v0.1.26 - */ - removeAllListeners(event?: string | symbol): this; - /** - * By default `EventEmitter`s will print a warning if more than `10` listeners are - * added for a particular event. This is a useful default that helps finding - * memory leaks. The `emitter.setMaxListeners()` method allows the limit to be - * modified for this specific `EventEmitter` instance. The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners. - * - * Returns a reference to the `EventEmitter`, so that calls can be chained. - * @since v0.3.5 - */ - setMaxListeners(n: number): this; - /** - * Returns the current max listener value for the `EventEmitter` which is either - * set by `emitter.setMaxListeners(n)` or defaults to {@link defaultMaxListeners}. - * @since v1.0.0 - */ - getMaxListeners(): number; - /** - * Returns a copy of the array of listeners for the event named `eventName`. - * - * ```js - * server.on('connection', (stream) => { - * console.log('someone connected!'); - * }); - * console.log(util.inspect(server.listeners('connection'))); - * // Prints: [ [Function] ] - * ``` - * @since v0.1.26 - */ - // deno-lint-ignore ban-types - listeners(eventName: string | symbol): Function[]; - /** - * Returns a copy of the array of listeners for the event named `eventName`, - * including any wrappers (such as those created by `.once()`). - * - * ```js - * const emitter = new EventEmitter(); - * emitter.once('log', () => console.log('log once')); - * - * // Returns a new Array with a function `onceWrapper` which has a property - * // `listener` which contains the original listener bound above - * const listeners = emitter.rawListeners('log'); - * const logFnWrapper = listeners[0]; - * - * // Logs "log once" to the console and does not unbind the `once` event - * logFnWrapper.listener(); - * - * // Logs "log once" to the console and removes the listener - * logFnWrapper(); - * - * emitter.on('log', () => console.log('log persistently')); - * // Will return a new Array with a single function bound by `.on()` above - * const newListeners = emitter.rawListeners('log'); - * - * // Logs "log persistently" twice - * newListeners[0](); - * emitter.emit('log'); - * ``` - * @since v9.4.0 - */ - // deno-lint-ignore ban-types - rawListeners(eventName: string | symbol): Function[]; - /** - * Synchronously calls each of the listeners registered for the event named`eventName`, in the order they were registered, passing the supplied arguments - * to each. - * - * Returns `true` if the event had listeners, `false` otherwise. - * - * ```js - * const EventEmitter = require('events'); - * const myEmitter = new EventEmitter(); - * - * // First listener - * myEmitter.on('event', function firstListener() { - * console.log('Helloooo! first listener'); - * }); - * // Second listener - * myEmitter.on('event', function secondListener(arg1, arg2) { - * console.log(`event with parameters ${arg1}, ${arg2} in second listener`); - * }); - * // Third listener - * myEmitter.on('event', function thirdListener(...args) { - * const parameters = args.join(', '); - * console.log(`event with parameters ${parameters} in third listener`); - * }); - * - * console.log(myEmitter.listeners('event')); - * - * myEmitter.emit('event', 1, 2, 3, 4, 5); - * - * // Prints: - * // [ - * // [Function: firstListener], - * // [Function: secondListener], - * // [Function: thirdListener] - * // ] - * // Helloooo! first listener - * // event with parameters 1, 2 in second listener - * // event with parameters 1, 2, 3, 4, 5 in third listener - * ``` - * @since v0.1.26 - */ - emit(eventName: string | symbol, ...args: any[]): boolean; - /** - * Returns the number of listeners listening to the event named `eventName`. - * @since v3.2.0 - * @param eventName The name of the event being listened for - */ - listenerCount(eventName: string | symbol): number; - /** - * Adds the `listener` function to the _beginning_ of the listeners array for the - * event named `eventName`. No checks are made to see if the `listener` has - * already been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple - * times. - * - * ```js - * server.prependListener('connection', (stream) => { - * console.log('someone connected!'); - * }); - * ``` - * - * Returns a reference to the `EventEmitter`, so that calls can be chained. - * @since v6.0.0 - * @param eventName The name of the event. - * @param listener The callback function - */ - prependListener( - eventName: string | symbol, - listener: (...args: any[]) => void, - ): this; - /** - * Adds a **one-time**`listener` function for the event named `eventName` to the_beginning_ of the listeners array. The next time `eventName` is triggered, this - * listener is removed, and then invoked. - * - * ```js - * server.prependOnceListener('connection', (stream) => { - * console.log('Ah, we have our first user!'); - * }); - * ``` - * - * Returns a reference to the `EventEmitter`, so that calls can be chained. - * @since v6.0.0 - * @param eventName The name of the event. - * @param listener The callback function - */ - prependOnceListener( - eventName: string | symbol, - listener: (...args: any[]) => void, - ): this; - /** - * Returns an array listing the events for which the emitter has registered - * listeners. The values in the array are strings or `Symbol`s. - * - * ```js - * const EventEmitter = require('events'); - * const myEE = new EventEmitter(); - * myEE.on('foo', () => {}); - * myEE.on('bar', () => {}); - * - * const sym = Symbol('symbol'); - * myEE.on(sym, () => {}); - * - * console.log(myEE.eventNames()); - * // Prints: [ 'foo', 'bar', Symbol(symbol) ] - * ``` - * @since v6.0.0 - */ - eventNames(): Array; - - constructor(options?: EventEmitterOptions); - /** - * Creates a `Promise` that is fulfilled when the `EventEmitter` emits the given - * event or that is rejected if the `EventEmitter` emits `'error'` while waiting. - * The `Promise` will resolve with an array of all the arguments emitted to the - * given event. - * - * This method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special`'error'` event - * semantics and does not listen to the `'error'` event. - * - * ```js - * const { once, EventEmitter } = require('events'); - * - * async function run() { - * const ee = new EventEmitter(); - * - * process.nextTick(() => { - * ee.emit('myevent', 42); - * }); - * - * const [value] = await once(ee, 'myevent'); - * console.log(value); - * - * const err = new Error('kaboom'); - * process.nextTick(() => { - * ee.emit('error', err); - * }); - * - * try { - * await once(ee, 'myevent'); - * } catch (err) { - * console.log('error happened', err); - * } - * } - * - * run(); - * ``` - * - * The special handling of the `'error'` event is only used when `events.once()`is used to wait for another event. If `events.once()` is used to wait for the - * '`error'` event itself, then it is treated as any other kind of event without - * special handling: - * - * ```js - * const { EventEmitter, once } = require('events'); - * - * const ee = new EventEmitter(); - * - * once(ee, 'error') - * .then(([err]) => console.log('ok', err.message)) - * .catch((err) => console.log('error', err.message)); - * - * ee.emit('error', new Error('boom')); - * - * // Prints: ok boom - * ``` - * - * An `AbortSignal` can be used to cancel waiting for the event: - * - * ```js - * const { EventEmitter, once } = require('events'); - * - * const ee = new EventEmitter(); - * const ac = new AbortController(); - * - * async function foo(emitter, event, signal) { - * try { - * await once(emitter, event, { signal }); - * console.log('event emitted!'); - * } catch (error) { - * if (error.name === 'AbortError') { - * console.error('Waiting for the event was canceled!'); - * } else { - * console.error('There was an error', error.message); - * } - * } - * } - * - * foo(ee, 'foo', ac.signal); - * ac.abort(); // Abort waiting for the event - * ee.emit('foo'); // Prints: Waiting for the event was canceled! - * ``` - * @since v11.13.0, v10.16.0 - */ - static once( - emitter: NodeEventTarget, - eventName: string | symbol, - options?: StaticEventEmitterOptions, - ): Promise; - static once( - emitter: EventTarget, - eventName: string, - options?: StaticEventEmitterOptions, - ): Promise; - /** - * ```js - * const { on, EventEmitter } = require('events'); - * - * (async () => { - * const ee = new EventEmitter(); - * - * // Emit later on - * process.nextTick(() => { - * ee.emit('foo', 'bar'); - * ee.emit('foo', 42); - * }); - * - * for await (const event of on(ee, 'foo')) { - * // The execution of this inner block is synchronous and it - * // processes one event at a time (even with await). Do not use - * // if concurrent execution is required. - * console.log(event); // prints ['bar'] [42] - * } - * // Unreachable here - * })(); - * ``` - * - * Returns an `AsyncIterator` that iterates `eventName` events. It will throw - * if the `EventEmitter` emits `'error'`. It removes all listeners when - * exiting the loop. The `value` returned by each iteration is an array - * composed of the emitted event arguments. - * - * An `AbortSignal` can be used to cancel waiting on events: - * - * ```js - * const { on, EventEmitter } = require('events'); - * const ac = new AbortController(); - * - * (async () => { - * const ee = new EventEmitter(); - * - * // Emit later on - * process.nextTick(() => { - * ee.emit('foo', 'bar'); - * ee.emit('foo', 42); - * }); - * - * for await (const event of on(ee, 'foo', { signal: ac.signal })) { - * // The execution of this inner block is synchronous and it - * // processes one event at a time (even with await). Do not use - * // if concurrent execution is required. - * console.log(event); // prints ['bar'] [42] - * } - * // Unreachable here - * })(); - * - * process.nextTick(() => ac.abort()); - * ``` - * @since v13.6.0, v12.16.0 - * @param eventName The name of the event being listened for - * @return that iterates `eventName` events emitted by the `emitter` - */ - static on: typeof on; - /** - * A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`. - * - * ```js - * const { EventEmitter, listenerCount } = require('events'); - * const myEmitter = new EventEmitter(); - * myEmitter.on('event', () => {}); - * myEmitter.on('event', () => {}); - * console.log(listenerCount(myEmitter, 'event')); - * // Prints: 2 - * ``` - * @since v0.9.12 - * @deprecated Since v3.2.0 - Use `listenerCount` instead. - * @param emitter The emitter to query - * @param eventName The event name - */ - static listenerCount( - emitter: EventEmitter, - eventName: string | symbol, - ): number; - - /** - * Returns a copy of the array of listeners for the event named `eventName`. - * - * For `EventEmitter`s this behaves exactly the same as calling `.listeners` on - * the emitter. - * - * For `EventTarget`s this is the only way to get the event listeners for the - * event target. This is useful for debugging and diagnostic purposes. - * - * ```js - * const { getEventListeners, EventEmitter } = require('events'); - * - * { - * const ee = new EventEmitter(); - * const listener = () => console.log('Events are fun'); - * ee.on('foo', listener); - * getEventListeners(ee, 'foo'); // [listener] - * } - * { - * const et = new EventTarget(); - * const listener = () => console.log('Events are fun'); - * et.addEventListener('foo', listener); - * getEventListeners(et, 'foo'); // [listener] - * } - * ``` - * @since v15.2.0 - */ - static getEventListeners: typeof getEventListeners; - - /** - * This symbol shall be used to install a listener for only monitoring `'error'` - * events. Listeners installed using this symbol are called before the regular - * `'error'` listeners are called. - * - * Installing a listener using this symbol does not change the behavior once an - * `'error'` event is emitted, therefore the process will still crash if no - * regular `'error'` listener is installed. - */ - static readonly errorMonitor: unique symbol; - static readonly captureRejectionSymbol: unique symbol; - /** - * Sets or gets the default captureRejection value for all emitters. - */ - // TODO: These should be described using static getter/setter pairs: - static captureRejections: boolean; - static defaultMaxListeners: number; -} - -export default EventEmitter; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_events.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_events.mjs deleted file mode 100644 index f5727fa..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_events.mjs +++ /dev/null @@ -1,1033 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -"use strict"; - -const kRejection = Symbol.for("nodejs.rejection"); - -import { inspect } from "./internal/util/inspect.mjs"; -import { - AbortError, - // kEnhanceStackBeforeInspector, - ERR_INVALID_ARG_TYPE, - ERR_OUT_OF_RANGE, - ERR_UNHANDLED_ERROR, -} from "./internal/errors.ts"; - -import { - validateAbortSignal, - validateBoolean, - validateFunction, -} from "./internal/validators.mjs"; -import { spliceOne } from "./_utils.ts"; - -const kCapture = Symbol("kCapture"); -const kErrorMonitor = Symbol("events.errorMonitor"); -const kMaxEventTargetListeners = Symbol("events.maxEventTargetListeners"); -const kMaxEventTargetListenersWarned = Symbol( - "events.maxEventTargetListenersWarned", -); - -/** - * Creates a new `EventEmitter` instance. - * @param {{ captureRejections?: boolean; }} [opts] - * @returns {EventEmitter} - */ -export function EventEmitter(opts) { - EventEmitter.init.call(this, opts); -} -export default EventEmitter; -EventEmitter.on = on; -EventEmitter.once = once; -EventEmitter.getEventListeners = getEventListeners; -EventEmitter.setMaxListeners = setMaxListeners; -EventEmitter.listenerCount = listenerCount; -// Backwards-compat with node 0.10.x -EventEmitter.EventEmitter = EventEmitter; -EventEmitter.usingDomains = false; - -EventEmitter.captureRejectionSymbol = kRejection; -export const captureRejectionSymbol = EventEmitter.captureRejectionSymbol; -export const errorMonitor = EventEmitter.errorMonitor; - -Object.defineProperty(EventEmitter, "captureRejections", { - get() { - return EventEmitter.prototype[kCapture]; - }, - set(value) { - validateBoolean(value, "EventEmitter.captureRejections"); - - EventEmitter.prototype[kCapture] = value; - }, - enumerable: true, -}); - -EventEmitter.errorMonitor = kErrorMonitor; - -// The default for captureRejections is false -Object.defineProperty(EventEmitter.prototype, kCapture, { - value: false, - writable: true, - enumerable: false, -}); - -EventEmitter.prototype._events = undefined; -EventEmitter.prototype._eventsCount = 0; -EventEmitter.prototype._maxListeners = undefined; - -// By default EventEmitters will print a warning if more than 10 listeners are -// added to it. This is a useful default which helps finding memory leaks. -export let defaultMaxListeners = 10; - -function checkListener(listener) { - validateFunction(listener, "listener"); -} - -Object.defineProperty(EventEmitter, "defaultMaxListeners", { - enumerable: true, - get: function () { - return defaultMaxListeners; - }, - set: function (arg) { - if (typeof arg !== "number" || arg < 0 || Number.isNaN(arg)) { - throw new ERR_OUT_OF_RANGE( - "defaultMaxListeners", - "a non-negative number", - arg, - ); - } - defaultMaxListeners = arg; - }, -}); - -Object.defineProperties(EventEmitter, { - kMaxEventTargetListeners: { - value: kMaxEventTargetListeners, - enumerable: false, - configurable: false, - writable: false, - }, - kMaxEventTargetListenersWarned: { - value: kMaxEventTargetListenersWarned, - enumerable: false, - configurable: false, - writable: false, - }, -}); - -/** - * Sets the max listeners. - * @param {number} n - * @param {EventTarget[] | EventEmitter[]} [eventTargets] - * @returns {void} - */ -export function setMaxListeners( - n = defaultMaxListeners, - ...eventTargets -) { - if (typeof n !== "number" || n < 0 || Number.isNaN(n)) { - throw new ERR_OUT_OF_RANGE("n", "a non-negative number", n); - } - if (eventTargets.length === 0) { - defaultMaxListeners = n; - } else { - for (let i = 0; i < eventTargets.length; i++) { - const target = eventTargets[i]; - if (target instanceof EventTarget) { - target[kMaxEventTargetListeners] = n; - target[kMaxEventTargetListenersWarned] = false; - } else if (typeof target.setMaxListeners === "function") { - target.setMaxListeners(n); - } else { - throw new ERR_INVALID_ARG_TYPE( - "eventTargets", - ["EventEmitter", "EventTarget"], - target, - ); - } - } - } -} - -EventEmitter.init = function (opts) { - if ( - this._events === undefined || - this._events === Object.getPrototypeOf(this)._events - ) { - this._events = Object.create(null); - this._eventsCount = 0; - } - - this._maxListeners = this._maxListeners || undefined; - - if (opts?.captureRejections) { - validateBoolean(opts.captureRejections, "options.captureRejections"); - this[kCapture] = Boolean(opts.captureRejections); - } else { - // Assigning the kCapture property directly saves an expensive - // prototype lookup in a very sensitive hot path. - this[kCapture] = EventEmitter.prototype[kCapture]; - } -}; - -function addCatch(that, promise, type, args) { - if (!that[kCapture]) { - return; - } - - // Handle Promises/A+ spec, then could be a getter - // that throws on second use. - try { - const then = promise.then; - - if (typeof then === "function") { - then.call(promise, undefined, function (err) { - // The callback is called with nextTick to avoid a follow-up - // rejection from this promise. - process.nextTick(emitUnhandledRejectionOrErr, that, err, type, args); - }); - } - } catch (err) { - that.emit("error", err); - } -} - -function emitUnhandledRejectionOrErr(ee, err, type, args) { - if (typeof ee[kRejection] === "function") { - ee[kRejection](err, type, ...args); - } else { - // We have to disable the capture rejections mechanism, otherwise - // we might end up in an infinite loop. - const prev = ee[kCapture]; - - // If the error handler throws, it is not catcheable and it - // will end up in 'uncaughtException'. We restore the previous - // value of kCapture in case the uncaughtException is present - // and the exception is handled. - try { - ee[kCapture] = false; - ee.emit("error", err); - } finally { - ee[kCapture] = prev; - } - } -} - -/** - * Increases the max listeners of the event emitter. - * @param {number} n - * @returns {EventEmitter} - */ -EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { - if (typeof n !== "number" || n < 0 || Number.isNaN(n)) { - throw new ERR_OUT_OF_RANGE("n", "a non-negative number", n); - } - this._maxListeners = n; - return this; -}; - -function _getMaxListeners(that) { - if (that._maxListeners === undefined) { - return EventEmitter.defaultMaxListeners; - } - return that._maxListeners; -} - -/** - * Returns the current max listener value for the event emitter. - * @returns {number} - */ -EventEmitter.prototype.getMaxListeners = function getMaxListeners() { - return _getMaxListeners(this); -}; - -// Returns the length and line number of the first sequence of `a` that fully -// appears in `b` with a length of at least 4. -function identicalSequenceRange(a, b) { - for (let i = 0; i < a.length - 3; i++) { - // Find the first entry of b that matches the current entry of a. - const pos = b.indexOf(a[i]); - if (pos !== -1) { - const rest = b.length - pos; - if (rest > 3) { - let len = 1; - const maxLen = Math.min(a.length - i, rest); - // Count the number of consecutive entries. - while (maxLen > len && a[i + len] === b[pos + len]) { - len++; - } - if (len > 3) { - return [len, i]; - } - } - } - } - - return [0, 0]; -} - -// deno-lint-ignore no-unused-vars -function enhanceStackTrace(err, own) { - let ctorInfo = ""; - try { - const { name } = this.constructor; - if (name !== "EventEmitter") { - ctorInfo = ` on ${name} instance`; - } - } catch { - // pass - } - const sep = `\nEmitted 'error' event${ctorInfo} at:\n`; - - const errStack = err.stack.split("\n").slice(1); - const ownStack = own.stack.split("\n").slice(1); - - const { 0: len, 1: off } = identicalSequenceRange(ownStack, errStack); - if (len > 0) { - ownStack.splice( - off + 1, - len - 2, - " [... lines matching original stack trace ...]", - ); - } - - return err.stack + sep + ownStack.join("\n"); -} - -/** - * Synchronously calls each of the listeners registered - * for the event. - * @param {string | symbol} type - * @param {...any} [args] - * @returns {boolean} - */ -EventEmitter.prototype.emit = function emit(type, ...args) { - let doError = type === "error"; - - const events = this._events; - if (events !== undefined) { - if (doError && events[kErrorMonitor] !== undefined) { - this.emit(kErrorMonitor, ...args); - } - doError = doError && events.error === undefined; - } else if (!doError) { - return false; - } - - // If there is no 'error' event listener then throw. - if (doError) { - let er; - if (args.length > 0) { - er = args[0]; - } - if (er instanceof Error) { - try { - const capture = {}; - Error.captureStackTrace(capture, EventEmitter.prototype.emit); - // Object.defineProperty(er, kEnhanceStackBeforeInspector, { - // value: enhanceStackTrace.bind(this, er, capture), - // configurable: true - // }); - } catch { - // pass - } - - // Note: The comments on the `throw` lines are intentional, they show - // up in Node's output if this results in an unhandled exception. - throw er; // Unhandled 'error' event - } - - let stringifiedEr; - try { - stringifiedEr = inspect(er); - } catch { - stringifiedEr = er; - } - - // At least give some kind of context to the user - const err = new ERR_UNHANDLED_ERROR(stringifiedEr); - err.context = er; - throw err; // Unhandled 'error' event - } - - const handler = events[type]; - - if (handler === undefined) { - return false; - } - - if (typeof handler === "function") { - const result = handler.apply(this, args); - - // We check if result is undefined first because that - // is the most common case so we do not pay any perf - // penalty - if (result !== undefined && result !== null) { - addCatch(this, result, type, args); - } - } else { - const len = handler.length; - const listeners = arrayClone(handler); - for (let i = 0; i < len; ++i) { - const result = listeners[i].apply(this, args); - - // We check if result is undefined first because that - // is the most common case so we do not pay any perf - // penalty. - // This code is duplicated because extracting it away - // would make it non-inlineable. - if (result !== undefined && result !== null) { - addCatch(this, result, type, args); - } - } - } - - return true; -}; - -function _addListener(target, type, listener, prepend) { - let m; - let events; - let existing; - - checkListener(listener); - - events = target._events; - if (events === undefined) { - events = target._events = Object.create(null); - target._eventsCount = 0; - } else { - // To avoid recursion in the case that type === "newListener"! Before - // adding it to the listeners, first emit "newListener". - if (events.newListener !== undefined) { - target.emit("newListener", type, listener.listener ?? listener); - - // Re-assign `events` because a newListener handler could have caused the - // this._events to be assigned to a new object - events = target._events; - } - existing = events[type]; - } - - if (existing === undefined) { - // Optimize the case of one listener. Don't need the extra array object. - events[type] = listener; - ++target._eventsCount; - } else { - if (typeof existing === "function") { - // Adding the second element, need to change to array. - existing = events[type] = prepend - ? [listener, existing] - : [existing, listener]; - // If we've already got an array, just append. - } else if (prepend) { - existing.unshift(listener); - } else { - existing.push(listener); - } - - // Check for listener leak - m = _getMaxListeners(target); - if (m > 0 && existing.length > m && !existing.warned) { - existing.warned = true; - // No error code for this since it is a Warning - // eslint-disable-next-line no-restricted-syntax - const w = new Error( - "Possible EventEmitter memory leak detected. " + - `${existing.length} ${String(type)} listeners ` + - `added to ${inspect(target, { depth: -1 })}. Use ` + - "emitter.setMaxListeners() to increase limit", - ); - w.name = "MaxListenersExceededWarning"; - w.emitter = target; - w.type = type; - w.count = existing.length; - process.emitWarning(w); - } - } - - return target; -} - -/** - * Adds a listener to the event emitter. - * @param {string | symbol} type - * @param {Function} listener - * @returns {EventEmitter} - */ -EventEmitter.prototype.addListener = function addListener(type, listener) { - return _addListener(this, type, listener, false); -}; - -EventEmitter.prototype.on = EventEmitter.prototype.addListener; - -/** - * Adds the `listener` function to the beginning of - * the listeners array. - * @param {string | symbol} type - * @param {Function} listener - * @returns {EventEmitter} - */ -EventEmitter.prototype.prependListener = function prependListener( - type, - listener, -) { - return _addListener(this, type, listener, true); -}; - -function onceWrapper() { - if (!this.fired) { - this.target.removeListener(this.type, this.wrapFn); - this.fired = true; - if (arguments.length === 0) { - return this.listener.call(this.target); - } - return this.listener.apply(this.target, arguments); - } -} - -function _onceWrap(target, type, listener) { - const state = { fired: false, wrapFn: undefined, target, type, listener }; - const wrapped = onceWrapper.bind(state); - wrapped.listener = listener; - state.wrapFn = wrapped; - return wrapped; -} - -/** - * Adds a one-time `listener` function to the event emitter. - * @param {string | symbol} type - * @param {Function} listener - * @returns {EventEmitter} - */ -EventEmitter.prototype.once = function once(type, listener) { - checkListener(listener); - - this.on(type, _onceWrap(this, type, listener)); - return this; -}; - -/** - * Adds a one-time `listener` function to the beginning of - * the listeners array. - * @param {string | symbol} type - * @param {Function} listener - * @returns {EventEmitter} - */ -EventEmitter.prototype.prependOnceListener = function prependOnceListener( - type, - listener, -) { - checkListener(listener); - - this.prependListener(type, _onceWrap(this, type, listener)); - return this; -}; - -/** - * Removes the specified `listener` from the listeners array. - * @param {string | symbol} type - * @param {Function} listener - * @returns {EventEmitter} - */ -EventEmitter.prototype.removeListener = function removeListener( - type, - listener, -) { - checkListener(listener); - - const events = this._events; - if (events === undefined) { - return this; - } - - const list = events[type]; - if (list === undefined) { - return this; - } - - if (list === listener || list.listener === listener) { - if (--this._eventsCount === 0) { - this._events = Object.create(null); - } else { - delete events[type]; - if (events.removeListener) { - this.emit("removeListener", type, list.listener || listener); - } - } - } else if (typeof list !== "function") { - let position = -1; - - for (let i = list.length - 1; i >= 0; i--) { - if (list[i] === listener || list[i].listener === listener) { - position = i; - break; - } - } - - if (position < 0) { - return this; - } - - if (position === 0) { - list.shift(); - } else { - spliceOne(list, position); - } - - if (list.length === 1) { - events[type] = list[0]; - } - - if (events.removeListener !== undefined) { - this.emit("removeListener", type, listener); - } - } - - return this; -}; - -EventEmitter.prototype.off = EventEmitter.prototype.removeListener; - -/** - * Removes all listeners from the event emitter. (Only - * removes listeners for a specific event name if specified - * as `type`). - * @param {string | symbol} [type] - * @returns {EventEmitter} - */ -EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) { - const events = this._events; - if (events === undefined) { - return this; - } - - // Not listening for removeListener, no need to emit - if (events.removeListener === undefined) { - if (arguments.length === 0) { - this._events = Object.create(null); - this._eventsCount = 0; - } else if (events[type] !== undefined) { - if (--this._eventsCount === 0) { - this._events = Object.create(null); - } else { - delete events[type]; - } - } - return this; - } - - // Emit removeListener for all listeners on all events - if (arguments.length === 0) { - for (const key of Reflect.ownKeys(events)) { - if (key === "removeListener") continue; - this.removeAllListeners(key); - } - this.removeAllListeners("removeListener"); - this._events = Object.create(null); - this._eventsCount = 0; - return this; - } - - const listeners = events[type]; - - if (typeof listeners === "function") { - this.removeListener(type, listeners); - } else if (listeners !== undefined) { - // LIFO order - for (let i = listeners.length - 1; i >= 0; i--) { - this.removeListener(type, listeners[i]); - } - } - - return this; -}; - -function _listeners(target, type, unwrap) { - const events = target._events; - - if (events === undefined) { - return []; - } - - const evlistener = events[type]; - if (evlistener === undefined) { - return []; - } - - if (typeof evlistener === "function") { - return unwrap ? [evlistener.listener || evlistener] : [evlistener]; - } - - return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener); -} - -/** - * Returns a copy of the array of listeners for the event name - * specified as `type`. - * @param {string | symbol} type - * @returns {Function[]} - */ -EventEmitter.prototype.listeners = function listeners(type) { - return _listeners(this, type, true); -}; - -/** - * Returns a copy of the array of listeners and wrappers for - * the event name specified as `type`. - * @param {string | symbol} type - * @returns {Function[]} - */ -EventEmitter.prototype.rawListeners = function rawListeners(type) { - return _listeners(this, type, false); -}; - -/** - * Returns the number of listeners listening to event name - * specified as `type`. - * @param {string | symbol} type - * @returns {number} - */ -const _listenerCount = function listenerCount(type) { - const events = this._events; - - if (events !== undefined) { - const evlistener = events[type]; - - if (typeof evlistener === "function") { - return 1; - } else if (evlistener !== undefined) { - return evlistener.length; - } - } - - return 0; -}; - -EventEmitter.prototype.listenerCount = _listenerCount; - -/** - * Returns the number of listeners listening to the event name - * specified as `type`. - * @deprecated since v3.2.0 - * @param {EventEmitter} emitter - * @param {string | symbol} type - * @returns {number} - */ -export function listenerCount(emitter, type) { - if (typeof emitter.listenerCount === "function") { - return emitter.listenerCount(type); - } - return _listenerCount.call(emitter, type); -} - -/** - * Returns an array listing the events for which - * the emitter has registered listeners. - * @returns {any[]} - */ -EventEmitter.prototype.eventNames = function eventNames() { - return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : []; -}; - -function arrayClone(arr) { - // At least since V8 8.3, this implementation is faster than the previous - // which always used a simple for-loop - switch (arr.length) { - case 2: - return [arr[0], arr[1]]; - case 3: - return [arr[0], arr[1], arr[2]]; - case 4: - return [arr[0], arr[1], arr[2], arr[3]]; - case 5: - return [arr[0], arr[1], arr[2], arr[3], arr[4]]; - case 6: - return [arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]]; - } - return arr.slice(); -} - -function unwrapListeners(arr) { - const ret = arrayClone(arr); - for (let i = 0; i < ret.length; ++i) { - const orig = ret[i].listener; - if (typeof orig === "function") { - ret[i] = orig; - } - } - return ret; -} - -/** - * Returns a copy of the array of listeners for the event name - * specified as `type`. - * @param {EventEmitter | EventTarget} emitterOrTarget - * @param {string | symbol} type - * @returns {Function[]} - */ -export function getEventListeners(emitterOrTarget, type) { - // First check if EventEmitter - if (typeof emitterOrTarget.listeners === "function") { - return emitterOrTarget.listeners(type); - } - if (emitterOrTarget instanceof EventTarget) { - // TODO: kEvents is not defined - const root = emitterOrTarget[kEvents].get(type); - const listeners = []; - let handler = root?.next; - while (handler?.listener !== undefined) { - const listener = handler.listener?.deref - ? handler.listener.deref() - : handler.listener; - listeners.push(listener); - handler = handler.next; - } - return listeners; - } - throw new ERR_INVALID_ARG_TYPE( - "emitter", - ["EventEmitter", "EventTarget"], - emitterOrTarget, - ); -} - -/** - * Creates a `Promise` that is fulfilled when the emitter - * emits the given event. - * @param {EventEmitter} emitter - * @param {string} name - * @param {{ signal: AbortSignal; }} [options] - * @returns {Promise} - */ -// deno-lint-ignore require-await -export async function once(emitter, name, options = {}) { - const signal = options?.signal; - validateAbortSignal(signal, "options.signal"); - if (signal?.aborted) { - throw new AbortError(); - } - return new Promise((resolve, reject) => { - const errorListener = (err) => { - emitter.removeListener(name, resolver); - if (signal != null) { - eventTargetAgnosticRemoveListener(signal, "abort", abortListener); - } - reject(err); - }; - const resolver = (...args) => { - if (typeof emitter.removeListener === "function") { - emitter.removeListener("error", errorListener); - } - if (signal != null) { - eventTargetAgnosticRemoveListener(signal, "abort", abortListener); - } - resolve(args); - }; - eventTargetAgnosticAddListener(emitter, name, resolver, { once: true }); - if (name !== "error" && typeof emitter.once === "function") { - emitter.once("error", errorListener); - } - function abortListener() { - eventTargetAgnosticRemoveListener(emitter, name, resolver); - eventTargetAgnosticRemoveListener(emitter, "error", errorListener); - reject(new AbortError()); - } - if (signal != null) { - eventTargetAgnosticAddListener( - signal, - "abort", - abortListener, - { once: true }, - ); - } - }); -} - -const AsyncIteratorPrototype = Object.getPrototypeOf( - Object.getPrototypeOf(async function* () {}).prototype, -); - -function createIterResult(value, done) { - return { value, done }; -} - -function eventTargetAgnosticRemoveListener(emitter, name, listener, flags) { - if (typeof emitter.removeListener === "function") { - emitter.removeListener(name, listener); - } else if (typeof emitter.removeEventListener === "function") { - emitter.removeEventListener(name, listener, flags); - } else { - throw new ERR_INVALID_ARG_TYPE("emitter", "EventEmitter", emitter); - } -} - -function eventTargetAgnosticAddListener(emitter, name, listener, flags) { - if (typeof emitter.on === "function") { - if (flags?.once) { - emitter.once(name, listener); - } else { - emitter.on(name, listener); - } - } else if (typeof emitter.addEventListener === "function") { - // EventTarget does not have `error` event semantics like Node - // EventEmitters, we do not listen to `error` events here. - emitter.addEventListener(name, (arg) => { - listener(arg); - }, flags); - } else { - throw new ERR_INVALID_ARG_TYPE("emitter", "EventEmitter", emitter); - } -} - -/** - * Returns an `AsyncIterator` that iterates `event` events. - * @param {EventEmitter} emitter - * @param {string | symbol} event - * @param {{ signal: AbortSignal; }} [options] - * @returns {AsyncIterator} - */ -export function on(emitter, event, options) { - const signal = options?.signal; - validateAbortSignal(signal, "options.signal"); - if (signal?.aborted) { - throw new AbortError(); - } - - const unconsumedEvents = []; - const unconsumedPromises = []; - let error = null; - let finished = false; - - const iterator = Object.setPrototypeOf({ - next() { - // First, we consume all unread events - const value = unconsumedEvents.shift(); - if (value) { - return Promise.resolve(createIterResult(value, false)); - } - - // Then we error, if an error happened - // This happens one time if at all, because after 'error' - // we stop listening - if (error) { - const p = Promise.reject(error); - // Only the first element errors - error = null; - return p; - } - - // If the iterator is finished, resolve to done - if (finished) { - return Promise.resolve(createIterResult(undefined, true)); - } - - // Wait until an event happens - return new Promise(function (resolve, reject) { - unconsumedPromises.push({ resolve, reject }); - }); - }, - - return() { - eventTargetAgnosticRemoveListener(emitter, event, eventHandler); - eventTargetAgnosticRemoveListener(emitter, "error", errorHandler); - - if (signal) { - eventTargetAgnosticRemoveListener( - signal, - "abort", - abortListener, - { once: true }, - ); - } - - finished = true; - - for (const promise of unconsumedPromises) { - promise.resolve(createIterResult(undefined, true)); - } - - return Promise.resolve(createIterResult(undefined, true)); - }, - - throw(err) { - if (!err || !(err instanceof Error)) { - throw new ERR_INVALID_ARG_TYPE( - "EventEmitter.AsyncIterator", - "Error", - err, - ); - } - error = err; - eventTargetAgnosticRemoveListener(emitter, event, eventHandler); - eventTargetAgnosticRemoveListener(emitter, "error", errorHandler); - }, - - [Symbol.asyncIterator]() { - return this; - }, - }, AsyncIteratorPrototype); - - eventTargetAgnosticAddListener(emitter, event, eventHandler); - if (event !== "error" && typeof emitter.on === "function") { - emitter.on("error", errorHandler); - } - - if (signal) { - eventTargetAgnosticAddListener( - signal, - "abort", - abortListener, - { once: true }, - ); - } - - return iterator; - - function abortListener() { - errorHandler(new AbortError()); - } - - function eventHandler(...args) { - const promise = unconsumedPromises.shift(); - if (promise) { - promise.resolve(createIterResult(args, false)); - } else { - unconsumedEvents.push(args); - } - } - - function errorHandler(err) { - finished = true; - - const toError = unconsumedPromises.shift(); - - if (toError) { - toError.reject(err); - } else { - // The next time we call next() - error = err; - } - - iterator.return(); - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_global.d.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_global.d.ts deleted file mode 100644 index 1779983..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_global.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { EventEmitter } from "./_events.d.ts"; -import { Buffer } from "./buffer.ts"; - -/** One of: - * | "ascii" - * | "utf8" - * | "utf-8" - * | "utf16le" - * | "ucs2" - * | "ucs-2" - * | "base64" - * | "base64url" - * | "latin1" - * | "binary" - * | "hex"; - */ -export type BufferEncoding = string; - -export interface Buffered { - chunk: Buffer; - encoding: string; - callback: (err?: Error | null) => void; -} - -export interface ErrnoException extends Error { - errno?: number | undefined; - code?: string | undefined; - path?: string | undefined; - syscall?: string | undefined; -} - -export interface ReadableStream extends EventEmitter { - readable: boolean; - read(size?: number): string | Buffer; - setEncoding(encoding: BufferEncoding): this; - pause(): this; - resume(): this; - isPaused(): boolean; - pipe( - destination: T, - options?: { end?: boolean | undefined }, - ): T; - unpipe(destination?: WritableStream): this; - unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void; - wrap(oldStream: ReadableStream): this; - [Symbol.asyncIterator](): AsyncIterableIterator; -} - -export interface WritableStream extends EventEmitter { - writable: boolean; - write( - buffer: Uint8Array | string, - cb?: (err?: Error | null) => void, - ): boolean; - write( - str: string, - encoding?: BufferEncoding, - cb?: (err?: Error | null) => void, - ): boolean; - end(cb?: () => void): void; - end(data: string | Uint8Array, cb?: () => void): void; - end(str: string, encoding?: BufferEncoding, cb?: () => void): void; -} - -export interface ReadWriteStream extends ReadableStream, WritableStream {} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_next_tick.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_next_tick.ts deleted file mode 100644 index de9a1c8..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_next_tick.ts +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. - -// deno-lint-ignore-file no-inner-declarations - -import { core } from "./_core.ts"; -import { validateFunction } from "./internal/validators.mjs"; -import { _exiting } from "./_process/exiting.ts"; -import { FixedQueue } from "./internal/fixed_queue.ts"; - -interface Tock { - callback: (...args: Array) => void; - args: Array; -} - -const queue = new FixedQueue(); - -// deno-lint-ignore no-explicit-any -let _nextTick: any; - -export function processTicksAndRejections() { - let tock; - do { - // deno-lint-ignore no-cond-assign - while (tock = queue.shift()) { - // FIXME(bartlomieju): Deno currently doesn't support async hooks - // const asyncId = tock[async_id_symbol]; - // emitBefore(asyncId, tock[trigger_async_id_symbol], tock); - - try { - const callback = (tock as Tock).callback; - if ((tock as Tock).args === undefined) { - callback(); - } else { - const args = (tock as Tock).args; - switch (args.length) { - case 1: - callback(args[0]); - break; - case 2: - callback(args[0], args[1]); - break; - case 3: - callback(args[0], args[1], args[2]); - break; - case 4: - callback(args[0], args[1], args[2], args[3]); - break; - default: - callback(...args); - } - } - } finally { - // FIXME(bartlomieju): Deno currently doesn't support async hooks - // if (destroyHooksExist()) - // emitDestroy(asyncId); - } - - // FIXME(bartlomieju): Deno currently doesn't support async hooks - // emitAfter(asyncId); - } - core.runMicrotasks(); - // FIXME(bartlomieju): Deno currently doesn't unhandled rejections - // } while (!queue.isEmpty() || processPromiseRejections()); - } while (!queue.isEmpty()); - core.setHasTickScheduled(false); - // FIXME(bartlomieju): Deno currently doesn't unhandled rejections - // setHasRejectionToWarn(false); -} - -if (typeof core.setNextTickCallback !== "undefined") { - function runNextTicks() { - // FIXME(bartlomieju): Deno currently doesn't unhandled rejections - // if (!hasTickScheduled() && !hasRejectionToWarn()) - // runMicrotasks(); - // if (!hasTickScheduled() && !hasRejectionToWarn()) - // return; - if (!core.hasTickScheduled()) { - core.runMicrotasks(); - } - if (!core.hasTickScheduled()) { - return true; - } - - processTicksAndRejections(); - return true; - } - - core.setNextTickCallback(processTicksAndRejections); - core.setMacrotaskCallback(runNextTicks); - - function __nextTickNative>( - this: unknown, - callback: (...args: T) => void, - ...args: T - ) { - validateFunction(callback, "callback"); - - if (_exiting) { - return; - } - - // TODO(bartlomieju): seems superfluous if we don't depend on `arguments` - let args_; - switch (args.length) { - case 0: - break; - case 1: - args_ = [args[0]]; - break; - case 2: - args_ = [args[0], args[1]]; - break; - case 3: - args_ = [args[0], args[1], args[2]]; - break; - default: - args_ = new Array(args.length); - for (let i = 0; i < args.length; i++) { - args_[i] = args[i]; - } - } - - if (queue.isEmpty()) { - core.setHasTickScheduled(true); - } - // FIXME(bartlomieju): Deno currently doesn't support async hooks - // const asyncId = newAsyncId(); - // const triggerAsyncId = getDefaultTriggerAsyncId(); - const tickObject = { - // FIXME(bartlomieju): Deno currently doesn't support async hooks - // [async_id_symbol]: asyncId, - // [trigger_async_id_symbol]: triggerAsyncId, - callback, - args: args_, - }; - // FIXME(bartlomieju): Deno currently doesn't support async hooks - // if (initHooksExist()) - // emitInit(asyncId, 'TickObject', triggerAsyncId, tickObject); - queue.push(tickObject); - } - _nextTick = __nextTickNative; -} else { - function __nextTickQueueMicrotask>( - this: unknown, - callback: (...args: T) => void, - ...args: T - ) { - if (args) { - queueMicrotask(() => callback.call(this, ...args)); - } else { - queueMicrotask(callback); - } - } - - _nextTick = __nextTickQueueMicrotask; -} - -// `nextTick()` will not enqueue any callback when the process is about to -// exit since the callback would not have a chance to be executed. -export function nextTick(this: unknown, callback: () => void): void; -export function nextTick>( - this: unknown, - callback: (...args: T) => void, - ...args: T -): void; -export function nextTick>( - this: unknown, - callback: (...args: T) => void, - ...args: T -) { - _nextTick(callback, ...args); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/exiting.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/exiting.ts deleted file mode 100644 index 8cc37ee..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/exiting.ts +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -// deno-lint-ignore prefer-const -export let _exiting = false; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/process.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/process.ts deleted file mode 100644 index 728f7b3..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/process.ts +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license. - -// The following are all the process APIs that don't depend on the stream module -// They have to be split this way to prevent a circular dependency - -import { isWindows } from "../../_util/os.ts"; -import { nextTick as _nextTick } from "../_next_tick.ts"; -import { _exiting } from "./exiting.ts"; - -/** Returns the operating system CPU architecture for which the Deno binary was compiled */ -function _arch(): string { - if (Deno.build.arch == "x86_64") { - return "x64"; - } else if (Deno.build.arch == "aarch64") { - return "arm64"; - } else { - throw Error("unreachable"); - } -} - -/** https://nodejs.org/api/process.html#process_process_arch */ -export const arch = _arch(); - -/** https://nodejs.org/api/process.html#process_process_chdir_directory */ -export const chdir = Deno.chdir; - -/** https://nodejs.org/api/process.html#process_process_cwd */ -export const cwd = Deno.cwd; - -/** https://nodejs.org/api/process.html#process_process_nexttick_callback_args */ -export const nextTick = _nextTick; - -/** Wrapper of Deno.env.get, which doesn't throw type error when - * the env name has "=" or "\0" in it. */ -function denoEnvGet(name: string) { - try { - return Deno.env.get(name); - } catch (e) { - if (e instanceof TypeError) { - return undefined; - } - throw e; - } -} - -const OBJECT_PROTO_PROP_NAMES = Object.getOwnPropertyNames(Object.prototype); -/** - * https://nodejs.org/api/process.html#process_process_env - * Requires env permissions - */ -export const env: InstanceType & Record = - new Proxy(Object(), { - get: (target, prop) => { - if (typeof prop === "symbol") { - return target[prop]; - } - - const envValue = denoEnvGet(prop); - - if (envValue) { - return envValue; - } - - if (OBJECT_PROTO_PROP_NAMES.includes(prop)) { - return target[prop]; - } - - return envValue; - }, - ownKeys: () => Reflect.ownKeys(Deno.env.toObject()), - getOwnPropertyDescriptor: (_target, name) => { - const value = denoEnvGet(String(name)); - if (value) { - return { - enumerable: true, - configurable: true, - value, - }; - } - }, - set(_target, prop, value) { - Deno.env.set(String(prop), String(value)); - return true; // success - }, - has: (_target, prop) => typeof denoEnvGet(String(prop)) === "string", - }); - -/** https://nodejs.org/api/process.html#process_process_pid */ -export const pid = Deno.pid; - -/** https://nodejs.org/api/process.html#process_process_platform */ -export const platform = isWindows ? "win32" : Deno.build.os; - -/** - * https://nodejs.org/api/process.html#process_process_version - * - * This value is hard coded to latest stable release of Node, as - * some packages are checking it for compatibility. Previously - * it pointed to Deno version, but that led to incompability - * with some packages. - */ -export const version = "v18.12.1"; - -/** - * https://nodejs.org/api/process.html#process_process_versions - * - * This value is hard coded to latest stable release of Node, as - * some packages are checking it for compatibility. Previously - * it contained only output of `Deno.version`, but that led to incompability - * with some packages. Value of `v8` field is still taken from `Deno.version`. - */ -export const versions = { - node: "18.12.1", - uv: "1.43.0", - zlib: "1.2.11", - brotli: "1.0.9", - ares: "1.18.1", - modules: "108", - nghttp2: "1.47.0", - napi: "8", - llhttp: "6.0.10", - openssl: "3.0.7+quic", - cldr: "41.0", - icu: "71.1", - tz: "2022b", - unicode: "14.0", - ngtcp2: "0.8.1", - nghttp3: "0.7.0", - ...Deno.version, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs deleted file mode 100644 index 4e0173d..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license. - -// Lazily initializes the actual stdio objects. -// This trick is necessary for avoiding circular dependencies between -// stream and process modules. -export const stdio = {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/streams.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/streams.mjs deleted file mode 100644 index f82fe70..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_process/streams.mjs +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license. - -import { Buffer } from "../buffer.ts"; -import { - clearLine, - clearScreenDown, - cursorTo, - moveCursor, -} from "../internal/readline/callbacks.mjs"; -import { Readable, Writable } from "../stream.ts"; -import { stdio } from "./stdio.mjs"; - -// https://github.com/nodejs/node/blob/00738314828074243c9a52a228ab4c68b04259ef/lib/internal/bootstrap/switches/is_main_thread.js#L41 -function createWritableStdioStream(writer, name) { - const stream = new Writable({ - write(buf, enc, cb) { - if (!writer) { - this.destroy( - new Error(`Deno.${name} is not available in this environment`), - ); - return; - } - writer.writeSync(buf instanceof Uint8Array ? buf : Buffer.from(buf, enc)); - cb(); - }, - destroy(err, cb) { - cb(err); - this._undestroy(); - if (!this._writableState.emitClose) { - nextTick(() => this.emit("close")); - } - }, - }); - stream.fd = writer?.rid ?? -1; - stream.destroySoon = stream.destroy; - stream._isStdio = true; - stream.once("close", () => writer?.close()); - Object.defineProperties(stream, { - columns: { - enumerable: true, - configurable: true, - get: () => - Deno.isatty?.(writer?.rid) ? Deno.consoleSize?.().columns : undefined, - }, - rows: { - enumerable: true, - configurable: true, - get: () => - Deno.isatty?.(writer?.rid) ? Deno.consoleSize?.().rows : undefined, - }, - isTTY: { - enumerable: true, - configurable: true, - get: () => Deno.isatty?.(writer?.rid), - }, - getWindowSize: { - enumerable: true, - configurable: true, - value: () => - Deno.isatty?.(writer?.rid) - ? Object.values(Deno.consoleSize?.()) - : undefined, - }, - }); - - if (Deno.isatty?.(writer?.rid)) { - // These belong on tty.WriteStream(), but the TTY streams currently have - // following problems: - // 1. Using them here introduces a circular dependency. - // 2. Creating a net.Socket() from a fd is not currently supported. - stream.cursorTo = function (x, y, callback) { - return cursorTo(this, x, y, callback); - }; - - stream.moveCursor = function (dx, dy, callback) { - return moveCursor(this, dx, dy, callback); - }; - - stream.clearLine = function (dir, callback) { - return clearLine(this, dir, callback); - }; - - stream.clearScreenDown = function (callback) { - return clearScreenDown(this, callback); - }; - } - - return stream; -} - -/** https://nodejs.org/api/process.html#process_process_stderr */ -export const stderr = stdio.stderr = createWritableStdioStream( - Deno.stderr, - "stderr", -); - -/** https://nodejs.org/api/process.html#process_process_stdout */ -export const stdout = stdio.stdout = createWritableStdioStream( - Deno.stdout, - "stdout", -); - -/** https://nodejs.org/api/process.html#process_process_stdin */ -export const stdin = stdio.stdin = new Readable({ - highWaterMark: 0, - emitClose: false, - read(size) { - const p = Buffer.alloc(size || 16 * 1024); - - if (!Deno.stdin) { - this.destroy( - new Error("Deno.stdin is not available in this environment"), - ); - return; - } - - Deno.stdin.read(p).then((length) => { - this.push(length === null ? null : p.slice(0, length)); - }, (error) => { - this.destroy(error); - }); - }, -}); -stdin.on("close", () => Deno.stdin?.close()); -stdin.fd = Deno.stdin?.rid ?? -1; -Object.defineProperty(stdin, "isTTY", { - enumerable: true, - configurable: true, - get() { - return Deno.isatty?.(Deno.stdin.rid); - }, -}); -stdin._isRawMode = false; -stdin.setRawMode = (enable) => { - Deno.stdin?.setRaw?.(enable); - stdin._isRawMode = enable; - return stdin; -}; -Object.defineProperty(stdin, "isRaw", { - enumerable: true, - configurable: true, - get() { - return stdin._isRawMode; - }, -}); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.d.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.d.ts deleted file mode 100644 index aaba6fe..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.d.ts +++ /dev/null @@ -1,1488 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// deno-lint-ignore-file no-explicit-any - -// Forked from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/4f538975138678878fed5b2555c0672aa578ab7d/types/node/stream.d.ts - -import { Buffer } from "./buffer.ts"; -import { Abortable, EventEmitter } from "./_events.d.ts"; -import { - Buffered, - BufferEncoding, - ErrnoException, - ReadableStream, - ReadWriteStream, - WritableStream, -} from "./_global.d.ts"; - -export class Stream extends EventEmitter { - pipe( - destination: T, - options?: { - end?: boolean | undefined; - }, - ): T; - constructor(opts?: ReadableOptions); -} - -interface StreamOptions extends Abortable { - emitClose?: boolean | undefined; - highWaterMark?: number | undefined; - objectMode?: boolean | undefined; - construct?(this: T, callback: (error?: Error | null) => void): void; - destroy?( - this: T, - error: Error | null, - callback: (error: Error | null) => void, - ): void; - autoDestroy?: boolean | undefined; -} -export interface ReadableOptions extends StreamOptions { - encoding?: BufferEncoding | undefined; - read?(this: Readable, size: number): void; -} -/** - * @since v0.9.4 - */ -export class Readable extends Stream implements ReadableStream { - /** - * A utility method for creating Readable Streams out of iterators. - */ - static from( - iterable: Iterable | AsyncIterable, - options?: ReadableOptions, - ): Readable; - - /** - * A utility method for creating `Readable` from a `ReadableStream`. - * @since v17.0.0 - * @experimental - */ - static fromWeb( - readableStream: globalThis.ReadableStream, - options?: Pick< - ReadableOptions, - "encoding" | "highWaterMark" | "objectMode" | "signal" - >, - ): Readable; - - /** - * Returns whether the stream has been read from or cancelled. - * @since v16.8.0 - */ - static isDisturbed(stream: Readable | ReadableStream): boolean; - /** - * Returns whether the stream was destroyed or errored before emitting `'end'`. - * @since v16.8.0 - * @experimental - */ - readonly readableAborted: boolean; - /** - * Is `true` if it is safe to call `readable.read()`, which means - * the stream has not been destroyed or emitted `'error'` or `'end'`. - * @since v11.4.0 - */ - readable: boolean; - /** - * Returns whether `'data'` has been emitted. - * @since v16.7.0 - * @experimental - */ - readonly readableDidRead: boolean; - /** - * Getter for the property `encoding` of a given `Readable` stream. The `encoding`property can be set using the `readable.setEncoding()` method. - * @since v12.7.0 - */ - readonly readableEncoding: BufferEncoding | null; - /** - * Becomes `true` when `'end'` event is emitted. - * @since v12.9.0 - */ - readonly readableEnded: boolean; - /** - * This property reflects the current state of a `Readable` stream as described - * in the `Three states` section. - * @since v9.4.0 - */ - readonly readableFlowing: boolean | null; - /** - * Returns the value of `highWaterMark` passed when creating this `Readable`. - * @since v9.3.0 - */ - readonly readableHighWaterMark: number; - /** - * This property contains the number of bytes (or objects) in the queue - * ready to be read. The value provides introspection data regarding - * the status of the `highWaterMark`. - * @since v9.4.0 - */ - readonly readableLength: number; - /** - * Getter for the property `objectMode` of a given `Readable` stream. - * @since v12.3.0 - */ - readonly readableObjectMode: boolean; - /** - * Is `true` after `readable.destroy()` has been called. - * @since v8.0.0 - */ - destroyed: boolean; - constructor(opts?: ReadableOptions); - _construct?(callback: (error?: Error | null) => void): void; - _read(size: number): void; - _undestroy(): void; - /** - * The `readable.read()` method pulls some data out of the internal buffer and - * returns it. If no data available to be read, `null` is returned. By default, - * the data will be returned as a `Buffer` object unless an encoding has been - * specified using the `readable.setEncoding()` method or the stream is operating - * in object mode. - * - * The optional `size` argument specifies a specific number of bytes to read. If`size` bytes are not available to be read, `null` will be returned _unless_the stream has ended, in which - * case all of the data remaining in the internal - * buffer will be returned. - * - * If the `size` argument is not specified, all of the data contained in the - * internal buffer will be returned. - * - * The `size` argument must be less than or equal to 1 GiB. - * - * The `readable.read()` method should only be called on `Readable` streams - * operating in paused mode. In flowing mode, `readable.read()` is called - * automatically until the internal buffer is fully drained. - * - * ```js - * const readable = getReadableStreamSomehow(); - * - * // 'readable' may be triggered multiple times as data is buffered in - * readable.on('readable', () => { - * let chunk; - * console.log('Stream is readable (new data received in buffer)'); - * // Use a loop to make sure we read all currently available data - * while (null !== (chunk = readable.read())) { - * console.log(`Read ${chunk.length} bytes of data...`); - * } - * }); - * - * // 'end' will be triggered once when there is no more data available - * readable.on('end', () => { - * console.log('Reached end of stream.'); - * }); - * ``` - * - * Each call to `readable.read()` returns a chunk of data, or `null`. The chunks - * are not concatenated. A `while` loop is necessary to consume all data - * currently in the buffer. When reading a large file `.read()` may return `null`, - * having consumed all buffered content so far, but there is still more data to - * come not yet buffered. In this case a new `'readable'` event will be emitted - * when there is more data in the buffer. Finally the `'end'` event will be - * emitted when there is no more data to come. - * - * Therefore to read a file's whole contents from a `readable`, it is necessary - * to collect chunks across multiple `'readable'` events: - * - * ```js - * const chunks = []; - * - * readable.on('readable', () => { - * let chunk; - * while (null !== (chunk = readable.read())) { - * chunks.push(chunk); - * } - * }); - * - * readable.on('end', () => { - * const content = chunks.join(''); - * }); - * ``` - * - * A `Readable` stream in object mode will always return a single item from - * a call to `readable.read(size)`, regardless of the value of the`size` argument. - * - * If the `readable.read()` method returns a chunk of data, a `'data'` event will - * also be emitted. - * - * Calling {@link read} after the `'end'` event has - * been emitted will return `null`. No runtime error will be raised. - * @since v0.9.4 - * @param size Optional argument to specify how much data to read. - */ - read(size?: number): any; - /** - * The `readable.setEncoding()` method sets the character encoding for - * data read from the `Readable` stream. - * - * By default, no encoding is assigned and stream data will be returned as`Buffer` objects. Setting an encoding causes the stream data - * to be returned as strings of the specified encoding rather than as `Buffer`objects. For instance, calling `readable.setEncoding('utf8')` will cause the - * output data to be interpreted as UTF-8 data, and passed as strings. Calling`readable.setEncoding('hex')` will cause the data to be encoded in hexadecimal - * string format. - * - * The `Readable` stream will properly handle multi-byte characters delivered - * through the stream that would otherwise become improperly decoded if simply - * pulled from the stream as `Buffer` objects. - * - * ```js - * const readable = getReadableStreamSomehow(); - * readable.setEncoding('utf8'); - * readable.on('data', (chunk) => { - * assert.equal(typeof chunk, 'string'); - * console.log('Got %d characters of string data:', chunk.length); - * }); - * ``` - * @since v0.9.4 - * @param encoding The encoding to use. - */ - setEncoding(encoding: BufferEncoding): this; - /** - * The `readable.pause()` method will cause a stream in flowing mode to stop - * emitting `'data'` events, switching out of flowing mode. Any data that - * becomes available will remain in the internal buffer. - * - * ```js - * const readable = getReadableStreamSomehow(); - * readable.on('data', (chunk) => { - * console.log(`Received ${chunk.length} bytes of data.`); - * readable.pause(); - * console.log('There will be no additional data for 1 second.'); - * setTimeout(() => { - * console.log('Now data will start flowing again.'); - * readable.resume(); - * }, 1000); - * }); - * ``` - * - * The `readable.pause()` method has no effect if there is a `'readable'`event listener. - * @since v0.9.4 - */ - pause(): this; - /** - * The `readable.resume()` method causes an explicitly paused `Readable` stream to - * resume emitting `'data'` events, switching the stream into flowing mode. - * - * The `readable.resume()` method can be used to fully consume the data from a - * stream without actually processing any of that data: - * - * ```js - * getReadableStreamSomehow() - * .resume() - * .on('end', () => { - * console.log('Reached the end, but did not read anything.'); - * }); - * ``` - * - * The `readable.resume()` method has no effect if there is a `'readable'`event listener. - * @since v0.9.4 - */ - resume(): this; - /** - * The `readable.isPaused()` method returns the current operating state of the`Readable`. This is used primarily by the mechanism that underlies the`readable.pipe()` method. In most - * typical cases, there will be no reason to - * use this method directly. - * - * ```js - * const readable = new stream.Readable(); - * - * readable.isPaused(); // === false - * readable.pause(); - * readable.isPaused(); // === true - * readable.resume(); - * readable.isPaused(); // === false - * ``` - * @since v0.11.14 - */ - isPaused(): boolean; - /** - * The `readable.unpipe()` method detaches a `Writable` stream previously attached - * using the {@link pipe} method. - * - * If the `destination` is not specified, then _all_ pipes are detached. - * - * If the `destination` is specified, but no pipe is set up for it, then - * the method does nothing. - * - * ```js - * const fs = require('fs'); - * const readable = getReadableStreamSomehow(); - * const writable = fs.createWriteStream('file.txt'); - * // All the data from readable goes into 'file.txt', - * // but only for the first second. - * readable.pipe(writable); - * setTimeout(() => { - * console.log('Stop writing to file.txt.'); - * readable.unpipe(writable); - * console.log('Manually close the file stream.'); - * writable.end(); - * }, 1000); - * ``` - * @since v0.9.4 - * @param destination Optional specific stream to unpipe - */ - unpipe(destination?: WritableStream): this; - /** - * Passing `chunk` as `null` signals the end of the stream (EOF) and behaves the - * same as `readable.push(null)`, after which no more data can be written. The EOF - * signal is put at the end of the buffer and any buffered data will still be - * flushed. - * - * The `readable.unshift()` method pushes a chunk of data back into the internal - * buffer. This is useful in certain situations where a stream is being consumed by - * code that needs to "un-consume" some amount of data that it has optimistically - * pulled out of the source, so that the data can be passed on to some other party. - * - * The `stream.unshift(chunk)` method cannot be called after the `'end'` event - * has been emitted or a runtime error will be thrown. - * - * Developers using `stream.unshift()` often should consider switching to - * use of a `Transform` stream instead. See the `API for stream implementers` section for more information. - * - * ```js - * // Pull off a header delimited by \n\n. - * // Use unshift() if we get too much. - * // Call the callback with (error, header, stream). - * const { StringDecoder } = require('string_decoder'); - * function parseHeader(stream, callback) { - * stream.on('error', callback); - * stream.on('readable', onReadable); - * const decoder = new StringDecoder('utf8'); - * let header = ''; - * function onReadable() { - * let chunk; - * while (null !== (chunk = stream.read())) { - * const str = decoder.write(chunk); - * if (str.match(/\n\n/)) { - * // Found the header boundary. - * const split = str.split(/\n\n/); - * header += split.shift(); - * const remaining = split.join('\n\n'); - * const buf = Buffer.from(remaining, 'utf8'); - * stream.removeListener('error', callback); - * // Remove the 'readable' listener before unshifting. - * stream.removeListener('readable', onReadable); - * if (buf.length) - * stream.unshift(buf); - * // Now the body of the message can be read from the stream. - * callback(null, header, stream); - * } else { - * // Still reading the header. - * header += str; - * } - * } - * } - * } - * ``` - * - * Unlike {@link push}, `stream.unshift(chunk)` will not - * end the reading process by resetting the internal reading state of the stream. - * This can cause unexpected results if `readable.unshift()` is called during a - * read (i.e. from within a {@link _read} implementation on a - * custom stream). Following the call to `readable.unshift()` with an immediate {@link push} will reset the reading state appropriately, - * however it is best to simply avoid calling `readable.unshift()` while in the - * process of performing a read. - * @since v0.9.11 - * @param chunk Chunk of data to unshift onto the read queue. For streams not operating in object mode, `chunk` must be a string, `Buffer`, `Uint8Array` or `null`. For object mode - * streams, `chunk` may be any JavaScript value. - * @param encoding Encoding of string chunks. Must be a valid `Buffer` encoding, such as `'utf8'` or `'ascii'`. - */ - unshift(chunk: any, encoding?: BufferEncoding): void; - /** - * Prior to Node.js 0.10, streams did not implement the entire `stream` module API - * as it is currently defined. (See `Compatibility` for more information.) - * - * When using an older Node.js library that emits `'data'` events and has a {@link pause} method that is advisory only, the`readable.wrap()` method can be used to create a `Readable` - * stream that uses - * the old stream as its data source. - * - * It will rarely be necessary to use `readable.wrap()` but the method has been - * provided as a convenience for interacting with older Node.js applications and - * libraries. - * - * ```js - * const { OldReader } = require('./old-api-module.js'); - * const { Readable } = require('stream'); - * const oreader = new OldReader(); - * const myReader = new Readable().wrap(oreader); - * - * myReader.on('readable', () => { - * myReader.read(); // etc. - * }); - * ``` - * @since v0.9.4 - * @param stream An "old style" readable stream - */ - wrap(stream: ReadableStream): this; - push(chunk: any, encoding?: BufferEncoding): boolean; - _destroy( - error: Error | null, - callback: (error?: Error | null) => void, - ): void; - /** - * Destroy the stream. Optionally emit an `'error'` event, and emit a `'close'`event (unless `emitClose` is set to `false`). After this call, the readable - * stream will release any internal resources and subsequent calls to `push()`will be ignored. - * - * Once `destroy()` has been called any further calls will be a no-op and no - * further errors except from `_destroy()` may be emitted as `'error'`. - * - * Implementors should not override this method, but instead implement `readable._destroy()`. - * @since v8.0.0 - * @param error Error which will be passed as payload in `'error'` event - */ - destroy(error?: Error): void; - /** - * Event emitter - * The defined events on documents including: - * 1. close - * 2. data - * 3. end - * 4. error - * 5. pause - * 6. readable - * 7. resume - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "data", listener: (chunk: any) => void): this; - addListener(event: "end", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "pause", listener: () => void): this; - addListener(event: "readable", listener: () => void): this; - addListener(event: "resume", listener: () => void): this; - addListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; - emit(event: "close"): boolean; - emit(event: "data", chunk: any): boolean; - emit(event: "end"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "pause"): boolean; - emit(event: "readable"): boolean; - emit(event: "resume"): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - on(event: "close", listener: () => void): this; - on(event: "data", listener: (chunk: any) => void): this; - on(event: "end", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "pause", listener: () => void): this; - on(event: "readable", listener: () => void): this; - on(event: "resume", listener: () => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "data", listener: (chunk: any) => void): this; - once(event: "end", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "pause", listener: () => void): this; - once(event: "readable", listener: () => void): this; - once(event: "resume", listener: () => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "data", listener: (chunk: any) => void): this; - prependListener(event: "end", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "pause", listener: () => void): this; - prependListener(event: "readable", listener: () => void): this; - prependListener(event: "resume", listener: () => void): this; - prependListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "data", listener: (chunk: any) => void): this; - prependOnceListener(event: "end", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "pause", listener: () => void): this; - prependOnceListener(event: "readable", listener: () => void): this; - prependOnceListener(event: "resume", listener: () => void): this; - prependOnceListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; - removeListener(event: "close", listener: () => void): this; - removeListener(event: "data", listener: (chunk: any) => void): this; - removeListener(event: "end", listener: () => void): this; - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "pause", listener: () => void): this; - removeListener(event: "readable", listener: () => void): this; - removeListener(event: "resume", listener: () => void): this; - removeListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; - [Symbol.asyncIterator](): AsyncIterableIterator; -} -export interface WritableOptions extends StreamOptions { - decodeStrings?: boolean | undefined; - defaultEncoding?: BufferEncoding | undefined; - write?( - this: Writable, - chunk: any, - encoding: BufferEncoding, - callback: (error?: Error | null) => void, - ): void; - writev?( - this: Writable, - chunks: Array<{ - chunk: any; - encoding: BufferEncoding; - }>, - callback: (error?: Error | null) => void, - ): void; - final?(this: Writable, callback: (error?: Error | null) => void): void; -} -/** - * @since v0.9.4 - */ -export class Writable extends Stream implements WritableStream { - /** - * A utility method for creating `Writable` from a `WritableStream`. - * @since v17.0.0 - * @experimental - */ - static fromWeb( - writableStream: globalThis.WritableStream, - options?: Pick< - WritableOptions, - "decodeStrings" | "highWaterMark" | "objectMode" | "signal" - >, - ): Writable; - - /** - * Is `true` if it is safe to call `writable.write()`, which means - * the stream has not been destroyed, errored or ended. - * @since v11.4.0 - */ - readonly writable: boolean; - readonly writableBuffer?: Buffered[]; - /** - * Is `true` after `writable.end()` has been called. This property - * does not indicate whether the data has been flushed, for this use `writable.writableFinished` instead. - * @since v12.9.0 - */ - readonly writableEnded: boolean; - /** - * Is set to `true` immediately before the `'finish'` event is emitted. - * @since v12.6.0 - */ - readonly writableFinished: boolean; - /** - * Return the value of `highWaterMark` passed when creating this `Writable`. - * @since v9.3.0 - */ - readonly writableHighWaterMark: number; - /** - * This property contains the number of bytes (or objects) in the queue - * ready to be written. The value provides introspection data regarding - * the status of the `highWaterMark`. - * @since v9.4.0 - */ - readonly writableLength: number; - /** - * Getter for the property `objectMode` of a given `Writable` stream. - * @since v12.3.0 - */ - readonly writableObjectMode: boolean; - /** - * Number of times `writable.uncork()` needs to be - * called in order to fully uncork the stream. - * @since v13.2.0, v12.16.0 - */ - readonly writableCorked: number; - /** - * Is `true` after `writable.destroy()` has been called. - * @since v8.0.0 - */ - destroyed: boolean; - /** - * Is true after 'close' has been emitted. - * @since v8.0.0 - */ - readonly closed: boolean; - constructor(opts?: WritableOptions); - _write( - chunk: any, - encoding: BufferEncoding, - callback: (error?: Error | null) => void, - ): void; - _writev?( - chunks: Array<{ - chunk: any; - encoding: BufferEncoding; - }>, - callback: (error?: Error | null) => void, - ): void; - _construct?(callback: (error?: Error | null) => void): void; - _destroy( - error: Error | null, - callback: (error?: Error | null) => void, - ): void; - _final(callback: (error?: Error | null) => void): void; - /** - * The `writable.write()` method writes some data to the stream, and calls the - * supplied `callback` once the data has been fully handled. If an error - * occurs, the `callback` will be called with the error as its - * first argument. The `callback` is called asynchronously and before `'error'` is - * emitted. - * - * The return value is `true` if the internal buffer is less than the`highWaterMark` configured when the stream was created after admitting `chunk`. - * If `false` is returned, further attempts to write data to the stream should - * stop until the `'drain'` event is emitted. - * - * While a stream is not draining, calls to `write()` will buffer `chunk`, and - * return false. Once all currently buffered chunks are drained (accepted for - * delivery by the operating system), the `'drain'` event will be emitted. - * It is recommended that once `write()` returns false, no more chunks be written - * until the `'drain'` event is emitted. While calling `write()` on a stream that - * is not draining is allowed, Node.js will buffer all written chunks until - * maximum memory usage occurs, at which point it will abort unconditionally. - * Even before it aborts, high memory usage will cause poor garbage collector - * performance and high RSS (which is not typically released back to the system, - * even after the memory is no longer required). Since TCP sockets may never - * drain if the remote peer does not read the data, writing a socket that is - * not draining may lead to a remotely exploitable vulnerability. - * - * Writing data while the stream is not draining is particularly - * problematic for a `Transform`, because the `Transform` streams are paused - * by default until they are piped or a `'data'` or `'readable'` event handler - * is added. - * - * If the data to be written can be generated or fetched on demand, it is - * recommended to encapsulate the logic into a `Readable` and use {@link pipe}. However, if calling `write()` is preferred, it is - * possible to respect backpressure and avoid memory issues using the `'drain'` event: - * - * ```js - * function write(data, cb) { - * if (!stream.write(data)) { - * stream.once('drain', cb); - * } else { - * process.nextTick(cb); - * } - * } - * - * // Wait for cb to be called before doing any other write. - * write('hello', () => { - * console.log('Write completed, do more writes now.'); - * }); - * ``` - * - * A `Writable` stream in object mode will always ignore the `encoding` argument. - * @since v0.9.4 - * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a string, `Buffer` or `Uint8Array`. For object mode streams, `chunk` may be any - * JavaScript value other than `null`. - * @param [encoding='utf8'] The encoding, if `chunk` is a string. - * @param callback Callback for when this chunk of data is flushed. - * @return `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. - */ - write( - chunk: any, - callback?: (error: Error | null | undefined) => void, - ): boolean; - write( - chunk: any, - encoding: BufferEncoding, - callback?: (error: Error | null | undefined) => void, - ): boolean; - /** - * The `writable.setDefaultEncoding()` method sets the default `encoding` for a `Writable` stream. - * @since v0.11.15 - * @param encoding The new default encoding - */ - setDefaultEncoding(encoding: BufferEncoding): this; - /** - * Calling the `writable.end()` method signals that no more data will be written - * to the `Writable`. The optional `chunk` and `encoding` arguments allow one - * final additional chunk of data to be written immediately before closing the - * stream. - * - * Calling the {@link write} method after calling {@link end} will raise an error. - * - * ```js - * // Write 'hello, ' and then end with 'world!'. - * const fs = require('fs'); - * const file = fs.createWriteStream('example.txt'); - * file.write('hello, '); - * file.end('world!'); - * // Writing more now is not allowed! - * ``` - * @since v0.9.4 - * @param chunk Optional data to write. For streams not operating in object mode, `chunk` must be a string, `Buffer` or `Uint8Array`. For object mode streams, `chunk` may be any - * JavaScript value other than `null`. - * @param encoding The encoding if `chunk` is a string - * @param callback Callback for when the stream is finished. - */ - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding: BufferEncoding, cb?: () => void): void; - /** - * The `writable.cork()` method forces all written data to be buffered in memory. - * The buffered data will be flushed when either the {@link uncork} or {@link end} methods are called. - * - * The primary intent of `writable.cork()` is to accommodate a situation in which - * several small chunks are written to the stream in rapid succession. Instead of - * immediately forwarding them to the underlying destination, `writable.cork()`buffers all the chunks until `writable.uncork()` is called, which will pass them - * all to `writable._writev()`, if present. This prevents a head-of-line blocking - * situation where data is being buffered while waiting for the first small chunk - * to be processed. However, use of `writable.cork()` without implementing`writable._writev()` may have an adverse effect on throughput. - * - * See also: `writable.uncork()`, `writable._writev()`. - * @since v0.11.2 - */ - cork(): void; - /** - * The `writable.uncork()` method flushes all data buffered since {@link cork} was called. - * - * When using `writable.cork()` and `writable.uncork()` to manage the buffering - * of writes to a stream, it is recommended that calls to `writable.uncork()` be - * deferred using `process.nextTick()`. Doing so allows batching of all`writable.write()` calls that occur within a given Node.js event loop phase. - * - * ```js - * stream.cork(); - * stream.write('some '); - * stream.write('data '); - * process.nextTick(() => stream.uncork()); - * ``` - * - * If the `writable.cork()` method is called multiple times on a stream, the - * same number of calls to `writable.uncork()` must be called to flush the buffered - * data. - * - * ```js - * stream.cork(); - * stream.write('some '); - * stream.cork(); - * stream.write('data '); - * process.nextTick(() => { - * stream.uncork(); - * // The data will not be flushed until uncork() is called a second time. - * stream.uncork(); - * }); - * ``` - * - * See also: `writable.cork()`. - * @since v0.11.2 - */ - uncork(): void; - /** - * Destroy the stream. Optionally emit an `'error'` event, and emit a `'close'`event (unless `emitClose` is set to `false`). After this call, the writable - * stream has ended and subsequent calls to `write()` or `end()` will result in - * an `ERR_STREAM_DESTROYED` error. - * This is a destructive and immediate way to destroy a stream. Previous calls to`write()` may not have drained, and may trigger an `ERR_STREAM_DESTROYED` error. - * Use `end()` instead of destroy if data should flush before close, or wait for - * the `'drain'` event before destroying the stream. - * - * Once `destroy()` has been called any further calls will be a no-op and no - * further errors except from `_destroy()` may be emitted as `'error'`. - * - * Implementors should not override this method, - * but instead implement `writable._destroy()`. - * @since v8.0.0 - * @param error Optional, an error to emit with `'error'` event. - */ - destroy(error?: Error): void; - /** - * Event emitter - * The defined events on documents including: - * 1. close - * 2. drain - * 3. error - * 4. finish - * 5. pipe - * 6. unpipe - */ - addListener(event: "close", listener: () => void): this; - addListener(event: "drain", listener: () => void): this; - addListener(event: "error", listener: (err: Error) => void): this; - addListener(event: "finish", listener: () => void): this; - addListener(event: "pipe", listener: (src: Readable) => void): this; - addListener(event: "unpipe", listener: (src: Readable) => void): this; - addListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; - emit(event: "close"): boolean; - emit(event: "drain"): boolean; - emit(event: "error", err: Error): boolean; - emit(event: "finish"): boolean; - emit(event: "pipe", src: Readable): boolean; - emit(event: "unpipe", src: Readable): boolean; - emit(event: string | symbol, ...args: any[]): boolean; - on(event: "close", listener: () => void): this; - on(event: "drain", listener: () => void): this; - on(event: "error", listener: (err: Error) => void): this; - on(event: "finish", listener: () => void): this; - on(event: "pipe", listener: (src: Readable) => void): this; - on(event: "unpipe", listener: (src: Readable) => void): this; - on(event: string | symbol, listener: (...args: any[]) => void): this; - once(event: "close", listener: () => void): this; - once(event: "drain", listener: () => void): this; - once(event: "error", listener: (err: Error) => void): this; - once(event: "finish", listener: () => void): this; - once(event: "pipe", listener: (src: Readable) => void): this; - once(event: "unpipe", listener: (src: Readable) => void): this; - once(event: string | symbol, listener: (...args: any[]) => void): this; - prependListener(event: "close", listener: () => void): this; - prependListener(event: "drain", listener: () => void): this; - prependListener(event: "error", listener: (err: Error) => void): this; - prependListener(event: "finish", listener: () => void): this; - prependListener(event: "pipe", listener: (src: Readable) => void): this; - prependListener(event: "unpipe", listener: (src: Readable) => void): this; - prependListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; - prependOnceListener(event: "close", listener: () => void): this; - prependOnceListener(event: "drain", listener: () => void): this; - prependOnceListener(event: "error", listener: (err: Error) => void): this; - prependOnceListener(event: "finish", listener: () => void): this; - prependOnceListener(event: "pipe", listener: (src: Readable) => void): this; - prependOnceListener( - event: "unpipe", - listener: (src: Readable) => void, - ): this; - prependOnceListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; - removeListener(event: "close", listener: () => void): this; - removeListener(event: "drain", listener: () => void): this; - removeListener(event: "error", listener: (err: Error) => void): this; - removeListener(event: "finish", listener: () => void): this; - removeListener(event: "pipe", listener: (src: Readable) => void): this; - removeListener(event: "unpipe", listener: (src: Readable) => void): this; - removeListener( - event: string | symbol, - listener: (...args: any[]) => void, - ): this; -} -export interface DuplexOptions extends ReadableOptions, WritableOptions { - allowHalfOpen?: boolean | undefined; - readableObjectMode?: boolean | undefined; - writableObjectMode?: boolean | undefined; - readableHighWaterMark?: number | undefined; - writableHighWaterMark?: number | undefined; - writableCorked?: number | undefined; - construct?(this: Duplex, callback: (error?: Error | null) => void): void; - read?(this: Duplex, size: number): void; - write?( - this: Duplex, - chunk: any, - encoding: BufferEncoding, - callback: (error?: Error | null) => void, - ): void; - writev?( - this: Duplex, - chunks: Array<{ - chunk: any; - encoding: BufferEncoding; - }>, - callback: (error?: Error | null) => void, - ): void; - final?(this: Duplex, callback: (error?: Error | null) => void): void; - destroy?( - this: Duplex, - error: Error | null, - callback: (error: Error | null) => void, - ): void; -} -/** - * Duplex streams are streams that implement both the `Readable` and `Writable` interfaces. - * - * Examples of `Duplex` streams include: - * - * * `TCP sockets` - * * `zlib streams` - * * `crypto streams` - * @since v0.9.4 - */ -export class Duplex extends Readable implements Writable { - readonly writable: boolean; - readonly writableBuffer?: Buffered[]; - readonly writableEnded: boolean; - readonly writableFinished: boolean; - readonly writableHighWaterMark: number; - readonly writableLength: number; - readonly writableObjectMode: boolean; - readonly writableCorked: number; - readonly closed: boolean; - /** - * If `false` then the stream will automatically end the writable side when the - * readable side ends. Set initially by the `allowHalfOpen` constructor option, - * which defaults to `false`. - * - * This can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is - * emitted. - * @since v0.9.4 - */ - allowHalfOpen: boolean; - constructor(opts?: DuplexOptions); - /** - * A utility method for creating duplex streams. - * - * - `Stream` converts writable stream into writable `Duplex` and readable stream - * to `Duplex`. - * - `Blob` converts into readable `Duplex`. - * - `string` converts into readable `Duplex`. - * - `ArrayBuffer` converts into readable `Duplex`. - * - `AsyncIterable` converts into a readable `Duplex`. Cannot yield `null`. - * - `AsyncGeneratorFunction` converts into a readable/writable transform - * `Duplex`. Must take a source `AsyncIterable` as first parameter. Cannot yield - * `null`. - * - `AsyncFunction` converts into a writable `Duplex`. Must return - * either `null` or `undefined` - * - `Object ({ writable, readable })` converts `readable` and - * `writable` into `Stream` and then combines them into `Duplex` where the - * `Duplex` will write to the `writable` and read from the `readable`. - * - `Promise` converts into readable `Duplex`. Value `null` is ignored. - * - * @since v16.8.0 - */ - static from( - src: - | Stream - | Blob - | ArrayBuffer - | string - | Iterable - | AsyncIterable - | AsyncGeneratorFunction - | Promise - // deno-lint-ignore ban-types - | Object, - ): Duplex; - _write( - chunk: any, - encoding: BufferEncoding, - callback: (error?: Error | null) => void, - ): void; - _writev?( - chunks: Array<{ - chunk: any; - encoding: BufferEncoding; - }>, - callback: (error?: Error | null) => void, - ): void; - _destroy( - error: Error | null, - callback: (error: Error | null) => void, - ): void; - _final(callback: (error?: Error | null) => void): void; - write( - chunk: any, - encoding?: BufferEncoding, - cb?: (error: Error | null | undefined) => void, - ): boolean; - write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; - setDefaultEncoding(encoding: BufferEncoding): this; - end(cb?: () => void): void; - end(chunk: any, cb?: () => void): void; - end(chunk: any, encoding?: BufferEncoding, cb?: () => void): void; - cork(): void; - uncork(): void; -} -type TransformCallback = (error?: Error | null, data?: any) => void; -export interface TransformOptions extends DuplexOptions { - construct?(this: Transform, callback: (error?: Error | null) => void): void; - read?(this: Transform, size: number): void; - write?( - this: Transform, - chunk: any, - encoding: BufferEncoding, - callback: (error?: Error | null) => void, - ): void; - writev?( - this: Transform, - chunks: Array<{ - chunk: any; - encoding: BufferEncoding; - }>, - callback: (error?: Error | null) => void, - ): void; - final?(this: Transform, callback: (error?: Error | null) => void): void; - destroy?( - this: Transform, - error: Error | null, - callback: (error: Error | null) => void, - ): void; - transform?( - this: Transform, - chunk: any, - encoding: BufferEncoding, - callback: TransformCallback, - ): void; - flush?(this: Transform, callback: TransformCallback): void; -} -/** - * Transform streams are `Duplex` streams where the output is in some way - * related to the input. Like all `Duplex` streams, `Transform` streams - * implement both the `Readable` and `Writable` interfaces. - * - * Examples of `Transform` streams include: - * - * * `zlib streams` - * * `crypto streams` - * @since v0.9.4 - */ -export class Transform extends Duplex { - constructor(opts?: TransformOptions); - _transform( - chunk: any, - encoding: BufferEncoding, - callback: TransformCallback, - ): void; - _flush(callback: TransformCallback): void; -} -/** - * The `stream.PassThrough` class is a trivial implementation of a `Transform` stream that simply passes the input bytes across to the output. Its purpose is - * primarily for examples and testing, but there are some use cases where `stream.PassThrough` is useful as a building block for novel sorts of streams. - */ -export class PassThrough extends Transform {} -/** - * Attaches an AbortSignal to a readable or writeable stream. This lets code - * control stream destruction using an `AbortController`. - * - * Calling `abort` on the `AbortController` corresponding to the passed`AbortSignal` will behave the same way as calling `.destroy(new AbortError())`on the stream. - * - * ```js - * const fs = require('fs'); - * - * const controller = new AbortController(); - * const read = addAbortSignal( - * controller.signal, - * fs.createReadStream(('object.json')) - * ); - * // Later, abort the operation closing the stream - * controller.abort(); - * ``` - * - * Or using an `AbortSignal` with a readable stream as an async iterable: - * - * ```js - * const controller = new AbortController(); - * setTimeout(() => controller.abort(), 10_000); // set a timeout - * const stream = addAbortSignal( - * controller.signal, - * fs.createReadStream(('object.json')) - * ); - * (async () => { - * try { - * for await (const chunk of stream) { - * await process(chunk); - * } - * } catch (e) { - * if (e.name === 'AbortError') { - * // The operation was cancelled - * } else { - * throw e; - * } - * } - * })(); - * ``` - * @since v15.4.0 - * @param signal A signal representing possible cancellation - * @param stream a stream to attach a signal to - */ -export function addAbortSignal( - signal: AbortSignal, - stream: T, -): T; -interface FinishedOptions extends Abortable { - error?: boolean | undefined; - readable?: boolean | undefined; - writable?: boolean | undefined; -} -/** - * A function to get notified when a stream is no longer readable, writable - * or has experienced an error or a premature close event. - * - * ```js - * const { finished } = require('stream'); - * - * const rs = fs.createReadStream('archive.tar'); - * - * finished(rs, (err) => { - * if (err) { - * console.error('Stream failed.', err); - * } else { - * console.log('Stream is done reading.'); - * } - * }); - * - * rs.resume(); // Drain the stream. - * ``` - * - * Especially useful in error handling scenarios where a stream is destroyed - * prematurely (like an aborted HTTP request), and will not emit `'end'`or `'finish'`. - * - * The `finished` API provides promise version: - * - * ```js - * const { finished } = require('stream/promises'); - * - * const rs = fs.createReadStream('archive.tar'); - * - * async function run() { - * await finished(rs); - * console.log('Stream is done reading.'); - * } - * - * run().catch(console.error); - * rs.resume(); // Drain the stream. - * ``` - * - * `stream.finished()` leaves dangling event listeners (in particular`'error'`, `'end'`, `'finish'` and `'close'`) after `callback` has been - * invoked. The reason for this is so that unexpected `'error'` events (due to - * incorrect stream implementations) do not cause unexpected crashes. - * If this is unwanted behavior then the returned cleanup function needs to be - * invoked in the callback: - * - * ```js - * const cleanup = finished(rs, (err) => { - * cleanup(); - * // ... - * }); - * ``` - * @since v10.0.0 - * @param stream A readable and/or writable stream. - * @param callback A callback function that takes an optional error argument. - * @return A cleanup function which removes all registered listeners. - */ -export function finished( - stream: - | ReadableStream - | WritableStream - | ReadWriteStream, - options: FinishedOptions, - callback: (err?: ErrnoException | null) => void, -): () => void; -export function finished( - stream: - | ReadableStream - | WritableStream - | ReadWriteStream, - callback: (err?: ErrnoException | null) => void, -): () => void; -export namespace finished { - function __promisify__( - stream: - | ReadableStream - | WritableStream - | ReadWriteStream, - options?: FinishedOptions, - ): Promise; -} -type PipelineSourceFunction = () => Iterable | AsyncIterable; -type PipelineSource = - | Iterable - | AsyncIterable - | ReadableStream - | PipelineSourceFunction; -type PipelineTransform, U> = - | ReadWriteStream - | (( - source: S extends - (...args: any[]) => Iterable | AsyncIterable - ? AsyncIterable - : S, - ) => AsyncIterable); -type PipelineTransformSource = - | PipelineSource - | PipelineTransform; -type PipelineDestinationIterableFunction = ( - source: AsyncIterable, -) => AsyncIterable; -type PipelineDestinationPromiseFunction = ( - source: AsyncIterable, -) => Promise

; -type PipelineDestination, P> = S extends - PipelineTransformSource ? - | WritableStream - | PipelineDestinationIterableFunction - | PipelineDestinationPromiseFunction - : never; -type PipelineCallback> = S extends - PipelineDestinationPromiseFunction - ? (err: ErrnoException | null, value: P) => void - : (err: ErrnoException | null) => void; -type PipelinePromise> = S extends - PipelineDestinationPromiseFunction ? Promise

- : Promise; -interface PipelineOptions { - signal: AbortSignal; -} -/** - * A module method to pipe between streams and generators forwarding errors and - * properly cleaning up and provide a callback when the pipeline is complete. - * - * ```js - * const { pipeline } = require('stream'); - * const fs = require('fs'); - * const zlib = require('zlib'); - * - * // Use the pipeline API to easily pipe a series of streams - * // together and get notified when the pipeline is fully done. - * - * // A pipeline to gzip a potentially huge tar file efficiently: - * - * pipeline( - * fs.createReadStream('archive.tar'), - * zlib.createGzip(), - * fs.createWriteStream('archive.tar.gz'), - * (err) => { - * if (err) { - * console.error('Pipeline failed.', err); - * } else { - * console.log('Pipeline succeeded.'); - * } - * } - * ); - * ``` - * - * The `pipeline` API provides a promise version, which can also - * receive an options argument as the last parameter with a`signal` `AbortSignal` property. When the signal is aborted,`destroy` will be called on the underlying pipeline, with - * an`AbortError`. - * - * ```js - * const { pipeline } = require('stream/promises'); - * - * async function run() { - * await pipeline( - * fs.createReadStream('archive.tar'), - * zlib.createGzip(), - * fs.createWriteStream('archive.tar.gz') - * ); - * console.log('Pipeline succeeded.'); - * } - * - * run().catch(console.error); - * ``` - * - * To use an `AbortSignal`, pass it inside an options object, - * as the last argument: - * - * ```js - * const { pipeline } = require('stream/promises'); - * - * async function run() { - * const ac = new AbortController(); - * const signal = ac.signal; - * - * setTimeout(() => ac.abort(), 1); - * await pipeline( - * fs.createReadStream('archive.tar'), - * zlib.createGzip(), - * fs.createWriteStream('archive.tar.gz'), - * { signal }, - * ); - * } - * - * run().catch(console.error); // AbortError - * ``` - * - * The `pipeline` API also supports async generators: - * - * ```js - * const { pipeline } = require('stream/promises'); - * const fs = require('fs'); - * - * async function run() { - * await pipeline( - * fs.createReadStream('lowercase.txt'), - * async function* (source, signal) { - * source.setEncoding('utf8'); // Work with strings rather than `Buffer`s. - * for await (const chunk of source) { - * yield await processChunk(chunk, { signal }); - * } - * }, - * fs.createWriteStream('uppercase.txt') - * ); - * console.log('Pipeline succeeded.'); - * } - * - * run().catch(console.error); - * ``` - * - * Remember to handle the `signal` argument passed into the async generator. - * Especially in the case where the async generator is the source for the - * pipeline (i.e. first argument) or the pipeline will never complete. - * - * ```js - * const { pipeline } = require('stream/promises'); - * const fs = require('fs'); - * - * async function run() { - * await pipeline( - * async function * (signal) { - * await someLongRunningfn({ signal }); - * yield 'asd'; - * }, - * fs.createWriteStream('uppercase.txt') - * ); - * console.log('Pipeline succeeded.'); - * } - * - * run().catch(console.error); - * ``` - * - * `stream.pipeline()` will call `stream.destroy(err)` on all streams except: - * - * * `Readable` streams which have emitted `'end'` or `'close'`. - * * `Writable` streams which have emitted `'finish'` or `'close'`. - * - * `stream.pipeline()` leaves dangling event listeners on the streams - * after the `callback` has been invoked. In the case of reuse of streams after - * failure, this can cause event listener leaks and swallowed errors. - * @since v10.0.0 - * @param callback Called when the pipeline is fully done. - */ -export function pipeline< - A extends PipelineSource, - B extends PipelineDestination, ->( - source: A, - destination: B, - callback?: PipelineCallback, -): B extends WritableStream ? B : WritableStream; -export function pipeline< - A extends PipelineSource, - T1 extends PipelineTransform, - B extends PipelineDestination, ->( - source: A, - transform1: T1, - destination: B, - callback?: PipelineCallback, -): B extends WritableStream ? B : WritableStream; -export function pipeline< - A extends PipelineSource, - T1 extends PipelineTransform, - T2 extends PipelineTransform, - B extends PipelineDestination, ->( - source: A, - transform1: T1, - transform2: T2, - destination: B, - callback?: PipelineCallback, -): B extends WritableStream ? B : WritableStream; -export function pipeline< - A extends PipelineSource, - T1 extends PipelineTransform, - T2 extends PipelineTransform, - T3 extends PipelineTransform, - B extends PipelineDestination, ->( - source: A, - transform1: T1, - transform2: T2, - transform3: T3, - destination: B, - callback?: PipelineCallback, -): B extends WritableStream ? B : WritableStream; -export function pipeline< - A extends PipelineSource, - T1 extends PipelineTransform, - T2 extends PipelineTransform, - T3 extends PipelineTransform, - T4 extends PipelineTransform, - B extends PipelineDestination, ->( - source: A, - transform1: T1, - transform2: T2, - transform3: T3, - transform4: T4, - destination: B, - callback?: PipelineCallback, -): B extends WritableStream ? B : WritableStream; -export function pipeline( - streams: ReadonlyArray< - ReadableStream | WritableStream | ReadWriteStream - >, - callback?: (err: ErrnoException | null) => void, -): WritableStream; -export function pipeline( - stream1: ReadableStream, - stream2: ReadWriteStream | WritableStream, - ...streams: Array< - | ReadWriteStream - | WritableStream - | ((err: ErrnoException | null) => void) - > -): WritableStream; -export namespace pipeline { - function __promisify__< - A extends PipelineSource, - B extends PipelineDestination, - >(source: A, destination: B, options?: PipelineOptions): PipelinePromise; - function __promisify__< - A extends PipelineSource, - T1 extends PipelineTransform, - B extends PipelineDestination, - >( - source: A, - transform1: T1, - destination: B, - options?: PipelineOptions, - ): PipelinePromise; - function __promisify__< - A extends PipelineSource, - T1 extends PipelineTransform, - T2 extends PipelineTransform, - B extends PipelineDestination, - >( - source: A, - transform1: T1, - transform2: T2, - destination: B, - options?: PipelineOptions, - ): PipelinePromise; - function __promisify__< - A extends PipelineSource, - T1 extends PipelineTransform, - T2 extends PipelineTransform, - T3 extends PipelineTransform, - B extends PipelineDestination, - >( - source: A, - transform1: T1, - transform2: T2, - transform3: T3, - destination: B, - options?: PipelineOptions, - ): PipelinePromise; - function __promisify__< - A extends PipelineSource, - T1 extends PipelineTransform, - T2 extends PipelineTransform, - T3 extends PipelineTransform, - T4 extends PipelineTransform, - B extends PipelineDestination, - >( - source: A, - transform1: T1, - transform2: T2, - transform3: T3, - transform4: T4, - destination: B, - options?: PipelineOptions, - ): PipelinePromise; - function __promisify__( - streams: ReadonlyArray< - ReadableStream | WritableStream | ReadWriteStream - >, - options?: PipelineOptions, - ): Promise; - function __promisify__( - stream1: ReadableStream, - stream2: ReadWriteStream | WritableStream, - ...streams: Array< - ReadWriteStream | WritableStream | PipelineOptions - > - ): Promise; -} -interface Pipe { - close(): void; - hasRef(): boolean; - ref(): void; - unref(): void; -} - -// These have to be at the bottom of the file to work correctly, for some reason -export function _uint8ArrayToBuffer(chunk: Uint8Array): Buffer; -export function _isUint8Array(value: unknown): value is Uint8Array; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.mjs deleted file mode 100644 index 4c9c337..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.mjs +++ /dev/null @@ -1,746 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// deno-fmt-ignore-file -// deno-lint-ignore-file -import { nextTick } from "./_next_tick.ts"; -import { stdio } from "./_process/stdio.mjs"; - -/* esm.sh - esbuild bundle(readable-stream@4.2.0) es2022 production */ -const __process$ = { nextTick, stdio };import __buffer$ from "./buffer.ts";import __string_decoder$ from "./string_decoder.ts";import __events$ from "./events.ts";var pi=Object.create;var Bt=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var yi=Object.getOwnPropertyNames;var gi=Object.getPrototypeOf,Si=Object.prototype.hasOwnProperty;var E=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ei=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of yi(t))!Si.call(e,i)&&i!==n&&Bt(e,i,{get:()=>t[i],enumerable:!(r=wi(t,i))||r.enumerable});return e};var Ri=(e,t,n)=>(n=e!=null?pi(gi(e)):{},Ei(t||!e||!e.__esModule?Bt(n,"default",{value:e,enumerable:!0}):n,e));var m=g((Yf,Gt)=>{"use strict";Gt.exports={ArrayIsArray(e){return Array.isArray(e)},ArrayPrototypeIncludes(e,t){return e.includes(t)},ArrayPrototypeIndexOf(e,t){return e.indexOf(t)},ArrayPrototypeJoin(e,t){return e.join(t)},ArrayPrototypeMap(e,t){return e.map(t)},ArrayPrototypePop(e,t){return e.pop(t)},ArrayPrototypePush(e,t){return e.push(t)},ArrayPrototypeSlice(e,t,n){return e.slice(t,n)},Error,FunctionPrototypeCall(e,t,...n){return e.call(t,...n)},FunctionPrototypeSymbolHasInstance(e,t){return Function.prototype[Symbol.hasInstance].call(e,t)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(e,t){return Object.defineProperties(e,t)},ObjectDefineProperty(e,t,n){return Object.defineProperty(e,t,n)},ObjectGetOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)},ObjectKeys(e){return Object.keys(e)},ObjectSetPrototypeOf(e,t){return Object.setPrototypeOf(e,t)},Promise,PromisePrototypeCatch(e,t){return e.catch(t)},PromisePrototypeThen(e,t,n){return e.then(t,n)},PromiseReject(e){return Promise.reject(e)},ReflectApply:Reflect.apply,RegExpPrototypeTest(e,t){return e.test(t)},SafeSet:Set,String,StringPrototypeSlice(e,t,n){return e.slice(t,n)},StringPrototypeToLowerCase(e){return e.toLowerCase()},StringPrototypeToUpperCase(e){return e.toUpperCase()},StringPrototypeTrim(e){return e.trim()},Symbol,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(e,t,n){return e.set(t,n)},Uint8Array}});var j=g((Kf,Je)=>{"use strict";var Ai=__buffer$,mi=Object.getPrototypeOf(async function(){}).constructor,Ht=globalThis.Blob||Ai.Blob,Ti=typeof Ht<"u"?function(t){return t instanceof Ht}:function(t){return!1},Xe=class extends Error{constructor(t){if(!Array.isArray(t))throw new TypeError(`Expected input to be an Array, got ${typeof t}`);let n="";for(let r=0;r{e=r,t=i}),resolve:e,reject:t}},promisify(e){return new Promise((t,n)=>{e((r,...i)=>r?n(r):t(...i))})},debuglog(){return function(){}},format(e,...t){return e.replace(/%([sdifj])/g,function(...[n,r]){let i=t.shift();return r==="f"?i.toFixed(6):r==="j"?JSON.stringify(i):r==="s"&&typeof i=="object"?`${i.constructor!==Object?i.constructor.name:""} {}`.trim():i.toString()})},inspect(e){switch(typeof e){case"string":if(e.includes("'"))if(e.includes('"')){if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}else return`"${e}"`;return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction(e){return e instanceof mi},isArrayBufferView(e){return ArrayBuffer.isView(e)}},isBlob:Ti};Je.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")});var O=g((zf,Kt)=>{"use strict";var{format:Ii,inspect:Re,AggregateError:Mi}=j(),Ni=globalThis.AggregateError||Mi,Di=Symbol("kIsNodeError"),Oi=["string","function","number","object","Function","Object","boolean","bigint","symbol"],qi=/^([A-Z][a-z0-9]*)+$/,xi="__node_internal_",Ae={};function X(e,t){if(!e)throw new Ae.ERR_INTERNAL_ASSERTION(t)}function Vt(e){let t="",n=e.length,r=e[0]==="-"?1:0;for(;n>=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function Li(e,t,n){if(typeof t=="function")return X(t.length<=n.length,`Code: ${e}; The provided arguments length (${n.length}) does not match the required ones (${t.length}).`),t(...n);let r=(t.match(/%[dfijoOs]/g)||[]).length;return X(r===n.length,`Code: ${e}; The provided arguments length (${n.length}) does not match the required ones (${r}).`),n.length===0?t:Ii(t,...n)}function N(e,t,n){n||(n=Error);class r extends n{constructor(...o){super(Li(e,t,o))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(r.prototype,{name:{value:n.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),r.prototype.code=e,r.prototype[Di]=!0,Ae[e]=r}function Yt(e){let t=xi+e.name;return Object.defineProperty(e,"name",{value:t}),e}function Pi(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;let n=new Ni([t,e],t.message);return n.code=t.code,n}return e||t}var Qe=class extends Error{constructor(t="The operation was aborted",n=void 0){if(n!==void 0&&typeof n!="object")throw new Ae.ERR_INVALID_ARG_TYPE("options","Object",n);super(t,n),this.code="ABORT_ERR",this.name="AbortError"}};N("ERR_ASSERTION","%s",Error);N("ERR_INVALID_ARG_TYPE",(e,t,n)=>{X(typeof e=="string","'name' must be a string"),Array.isArray(t)||(t=[t]);let r="The ";e.endsWith(" argument")?r+=`${e} `:r+=`"${e}" ${e.includes(".")?"property":"argument"} `,r+="must be ";let i=[],o=[],l=[];for(let f of t)X(typeof f=="string","All expected entries have to be of type string"),Oi.includes(f)?i.push(f.toLowerCase()):qi.test(f)?o.push(f):(X(f!=="object",'The value "object" should be written as "Object"'),l.push(f));if(o.length>0){let f=i.indexOf("object");f!==-1&&(i.splice(i,f,1),o.push("Object"))}if(i.length>0){switch(i.length){case 1:r+=`of type ${i[0]}`;break;case 2:r+=`one of type ${i[0]} or ${i[1]}`;break;default:{let f=i.pop();r+=`one of type ${i.join(", ")}, or ${f}`}}(o.length>0||l.length>0)&&(r+=" or ")}if(o.length>0){switch(o.length){case 1:r+=`an instance of ${o[0]}`;break;case 2:r+=`an instance of ${o[0]} or ${o[1]}`;break;default:{let f=o.pop();r+=`an instance of ${o.join(", ")}, or ${f}`}}l.length>0&&(r+=" or ")}switch(l.length){case 0:break;case 1:l[0].toLowerCase()!==l[0]&&(r+="an "),r+=`${l[0]}`;break;case 2:r+=`one of ${l[0]} or ${l[1]}`;break;default:{let f=l.pop();r+=`one of ${l.join(", ")}, or ${f}`}}if(n==null)r+=`. Received ${n}`;else if(typeof n=="function"&&n.name)r+=`. Received function ${n.name}`;else if(typeof n=="object"){var u;(u=n.constructor)!==null&&u!==void 0&&u.name?r+=`. Received an instance of ${n.constructor.name}`:r+=`. Received ${Re(n,{depth:-1})}`}else{let f=Re(n,{colors:!1});f.length>25&&(f=`${f.slice(0,25)}...`),r+=`. Received type ${typeof n} (${f})`}return r},TypeError);N("ERR_INVALID_ARG_VALUE",(e,t,n="is invalid")=>{let r=Re(t);return r.length>128&&(r=r.slice(0,128)+"..."),`The ${e.includes(".")?"property":"argument"} '${e}' ${n}. Received ${r}`},TypeError);N("ERR_INVALID_RETURN_VALUE",(e,t,n)=>{var r;let i=n!=null&&(r=n.constructor)!==null&&r!==void 0&&r.name?`instance of ${n.constructor.name}`:`type ${typeof n}`;return`Expected ${e} to be returned from the "${t}" function but got ${i}.`},TypeError);N("ERR_MISSING_ARGS",(...e)=>{X(e.length>0,"At least one arg needs to be specified");let t,n=e.length;switch(e=(Array.isArray(e)?e:[e]).map(r=>`"${r}"`).join(" or "),n){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{let r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}break}return`${t} must be specified`},TypeError);N("ERR_OUT_OF_RANGE",(e,t,n)=>{X(t,'Missing "range" argument');let r;return Number.isInteger(n)&&Math.abs(n)>2**32?r=Vt(String(n)):typeof n=="bigint"?(r=String(n),(n>2n**32n||n<-(2n**32n))&&(r=Vt(r)),r+="n"):r=Re(n),`The value of "${e}" is out of range. It must be ${t}. Received ${r}`},RangeError);N("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error);N("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error);N("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error);N("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error);N("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error);N("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);N("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error);N("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error);N("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error);N("ERR_STREAM_WRITE_AFTER_END","write after end",Error);N("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError);Kt.exports={AbortError:Qe,aggregateTwoErrors:Yt(Pi),hideStackFrames:Yt,codes:Ae}});var _e=g((Xf,nn)=>{"use strict";var{ArrayIsArray:Jt,ArrayPrototypeIncludes:Qt,ArrayPrototypeJoin:Zt,ArrayPrototypeMap:ki,NumberIsInteger:et,NumberIsNaN:Wi,NumberMAX_SAFE_INTEGER:Ci,NumberMIN_SAFE_INTEGER:ji,NumberParseInt:$i,ObjectPrototypeHasOwnProperty:vi,RegExpPrototypeExec:Fi,String:Ui,StringPrototypeToUpperCase:Bi,StringPrototypeTrim:Gi}=m(),{hideStackFrames:k,codes:{ERR_SOCKET_BAD_PORT:Hi,ERR_INVALID_ARG_TYPE:q,ERR_INVALID_ARG_VALUE:me,ERR_OUT_OF_RANGE:J,ERR_UNKNOWN_SIGNAL:zt}}=O(),{normalizeEncoding:Vi}=j(),{isAsyncFunction:Yi,isArrayBufferView:Ki}=j().types,Xt={};function zi(e){return e===(e|0)}function Xi(e){return e===e>>>0}var Ji=/^[0-7]+$/,Qi="must be a 32-bit unsigned integer or an octal string";function Zi(e,t,n){if(typeof e>"u"&&(e=n),typeof e=="string"){if(Fi(Ji,e)===null)throw new me(t,e,Qi);e=$i(e,8)}return en(e,t),e}var eo=k((e,t,n=ji,r=Ci)=>{if(typeof e!="number")throw new q(t,"number",e);if(!et(e))throw new J(t,"an integer",e);if(er)throw new J(t,`>= ${n} && <= ${r}`,e)}),to=k((e,t,n=-2147483648,r=2147483647)=>{if(typeof e!="number")throw new q(t,"number",e);if(!et(e))throw new J(t,"an integer",e);if(er)throw new J(t,`>= ${n} && <= ${r}`,e)}),en=k((e,t,n=!1)=>{if(typeof e!="number")throw new q(t,"number",e);if(!et(e))throw new J(t,"an integer",e);let r=n?1:0,i=4294967295;if(ei)throw new J(t,`>= ${r} && <= ${i}`,e)});function tn(e,t){if(typeof e!="string")throw new q(t,"string",e)}function no(e,t,n=void 0,r){if(typeof e!="number")throw new q(t,"number",e);if(n!=null&&er||(n!=null||r!=null)&&Wi(e))throw new J(t,`${n!=null?`>= ${n}`:""}${n!=null&&r!=null?" && ":""}${r!=null?`<= ${r}`:""}`,e)}var ro=k((e,t,n)=>{if(!Qt(n,e)){let r=Zt(ki(n,o=>typeof o=="string"?`'${o}'`:Ui(o)),", "),i="must be one of: "+r;throw new me(t,e,i)}});function io(e,t){if(typeof e!="boolean")throw new q(t,"boolean",e)}function Ze(e,t,n){return e==null||!vi(e,t)?n:e[t]}var oo=k((e,t,n=null)=>{let r=Ze(n,"allowArray",!1),i=Ze(n,"allowFunction",!1);if(!Ze(n,"nullable",!1)&&e===null||!r&&Jt(e)||typeof e!="object"&&(!i||typeof e!="function"))throw new q(t,"Object",e)}),lo=k((e,t,n=0)=>{if(!Jt(e))throw new q(t,"Array",e);if(e.length{if(!Ki(e))throw new q(t,["Buffer","TypedArray","DataView"],e)});function uo(e,t){let n=Vi(t),r=e.length;if(n==="hex"&&r%2!==0)throw new me("encoding",t,`is invalid for data of length ${r}`)}function so(e,t="Port",n=!0){if(typeof e!="number"&&typeof e!="string"||typeof e=="string"&&Gi(e).length===0||+e!==+e>>>0||e>65535||e===0&&!n)throw new Hi(t,e,n);return e|0}var co=k((e,t)=>{if(e!==void 0&&(e===null||typeof e!="object"||!("aborted"in e)))throw new q(t,"AbortSignal",e)}),ho=k((e,t)=>{if(typeof e!="function")throw new q(t,"Function",e)}),bo=k((e,t)=>{if(typeof e!="function"||Yi(e))throw new q(t,"Function",e)}),_o=k((e,t)=>{if(e!==void 0)throw new q(t,"undefined",e)});function po(e,t,n){if(!Qt(n,e))throw new q(t,`('${Zt(n,"|")}')`,e)}nn.exports={isInt32:zi,isUint32:Xi,parseFileMode:Zi,validateArray:lo,validateBoolean:io,validateBuffer:fo,validateEncoding:uo,validateFunction:ho,validateInt32:to,validateInteger:eo,validateNumber:no,validateObject:oo,validateOneOf:ro,validatePlainFunction:bo,validatePort:so,validateSignalName:ao,validateString:tn,validateUint32:en,validateUndefined:_o,validateUnion:po,validateAbortSignal:co}});var V=g((Jf,_n)=>{"use strict";var{Symbol:Te,SymbolAsyncIterator:rn,SymbolIterator:on}=m(),ln=Te("kDestroyed"),an=Te("kIsErrored"),tt=Te("kIsReadable"),fn=Te("kIsDisturbed");function Ie(e,t=!1){var n;return!!(e&&typeof e.pipe=="function"&&typeof e.on=="function"&&(!t||typeof e.pause=="function"&&typeof e.resume=="function")&&(!e._writableState||((n=e._readableState)===null||n===void 0?void 0:n.readable)!==!1)&&(!e._writableState||e._readableState))}function Me(e){var t;return!!(e&&typeof e.write=="function"&&typeof e.on=="function"&&(!e._readableState||((t=e._writableState)===null||t===void 0?void 0:t.writable)!==!1))}function wo(e){return!!(e&&typeof e.pipe=="function"&&e._readableState&&typeof e.on=="function"&&typeof e.write=="function")}function Q(e){return e&&(e._readableState||e._writableState||typeof e.write=="function"&&typeof e.on=="function"||typeof e.pipe=="function"&&typeof e.on=="function")}function yo(e,t){return e==null?!1:t===!0?typeof e[rn]=="function":t===!1?typeof e[on]=="function":typeof e[rn]=="function"||typeof e[on]=="function"}function Ne(e){if(!Q(e))return null;let t=e._writableState,n=e._readableState,r=t||n;return!!(e.destroyed||e[ln]||r!=null&&r.destroyed)}function un(e){if(!Me(e))return null;if(e.writableEnded===!0)return!0;let t=e._writableState;return t!=null&&t.errored?!1:typeof t?.ended!="boolean"?null:t.ended}function go(e,t){if(!Me(e))return null;if(e.writableFinished===!0)return!0;let n=e._writableState;return n!=null&&n.errored?!1:typeof n?.finished!="boolean"?null:!!(n.finished||t===!1&&n.ended===!0&&n.length===0)}function So(e){if(!Ie(e))return null;if(e.readableEnded===!0)return!0;let t=e._readableState;return!t||t.errored?!1:typeof t?.ended!="boolean"?null:t.ended}function sn(e,t){if(!Ie(e))return null;let n=e._readableState;return n!=null&&n.errored?!1:typeof n?.endEmitted!="boolean"?null:!!(n.endEmitted||t===!1&&n.ended===!0&&n.length===0)}function dn(e){return e&&e[tt]!=null?e[tt]:typeof e?.readable!="boolean"?null:Ne(e)?!1:Ie(e)&&e.readable&&!sn(e)}function cn(e){return typeof e?.writable!="boolean"?null:Ne(e)?!1:Me(e)&&e.writable&&!un(e)}function Eo(e,t){return Q(e)?Ne(e)?!0:!(t?.readable!==!1&&dn(e)||t?.writable!==!1&&cn(e)):null}function Ro(e){var t,n;return Q(e)?e.writableErrored?e.writableErrored:(t=(n=e._writableState)===null||n===void 0?void 0:n.errored)!==null&&t!==void 0?t:null:null}function Ao(e){var t,n;return Q(e)?e.readableErrored?e.readableErrored:(t=(n=e._readableState)===null||n===void 0?void 0:n.errored)!==null&&t!==void 0?t:null:null}function mo(e){if(!Q(e))return null;if(typeof e.closed=="boolean")return e.closed;let t=e._writableState,n=e._readableState;return typeof t?.closed=="boolean"||typeof n?.closed=="boolean"?t?.closed||n?.closed:typeof e._closed=="boolean"&&hn(e)?e._closed:null}function hn(e){return typeof e._closed=="boolean"&&typeof e._defaultKeepAlive=="boolean"&&typeof e._removedConnection=="boolean"&&typeof e._removedContLen=="boolean"}function bn(e){return typeof e._sent100=="boolean"&&hn(e)}function To(e){var t;return typeof e._consuming=="boolean"&&typeof e._dumped=="boolean"&&((t=e.req)===null||t===void 0?void 0:t.upgradeOrConnect)===void 0}function Io(e){if(!Q(e))return null;let t=e._writableState,n=e._readableState,r=t||n;return!r&&bn(e)||!!(r&&r.autoDestroy&&r.emitClose&&r.closed===!1)}function Mo(e){var t;return!!(e&&((t=e[fn])!==null&&t!==void 0?t:e.readableDidRead||e.readableAborted))}function No(e){var t,n,r,i,o,l,u,f,a,c;return!!(e&&((t=(n=(r=(i=(o=(l=e[an])!==null&&l!==void 0?l:e.readableErrored)!==null&&o!==void 0?o:e.writableErrored)!==null&&i!==void 0?i:(u=e._readableState)===null||u===void 0?void 0:u.errorEmitted)!==null&&r!==void 0?r:(f=e._writableState)===null||f===void 0?void 0:f.errorEmitted)!==null&&n!==void 0?n:(a=e._readableState)===null||a===void 0?void 0:a.errored)!==null&&t!==void 0?t:(c=e._writableState)===null||c===void 0?void 0:c.errored))}_n.exports={kDestroyed:ln,isDisturbed:Mo,kIsDisturbed:fn,isErrored:No,kIsErrored:an,isReadable:dn,kIsReadable:tt,isClosed:mo,isDestroyed:Ne,isDuplexNodeStream:wo,isFinished:Eo,isIterable:yo,isReadableNodeStream:Ie,isReadableEnded:So,isReadableFinished:sn,isReadableErrored:Ao,isNodeStream:Q,isWritable:cn,isWritableNodeStream:Me,isWritableEnded:un,isWritableFinished:go,isWritableErrored:Ro,isServerRequest:To,isServerResponse:bn,willEmitClose:Io}});var Y=g((Qf,rt)=>{var oe=__process$,{AbortError:Do,codes:Oo}=O(),{ERR_INVALID_ARG_TYPE:qo,ERR_STREAM_PREMATURE_CLOSE:pn}=Oo,{kEmptyObject:wn,once:yn}=j(),{validateAbortSignal:xo,validateFunction:Lo,validateObject:Po}=_e(),{Promise:ko}=m(),{isClosed:Wo,isReadable:gn,isReadableNodeStream:nt,isReadableFinished:Sn,isReadableErrored:Co,isWritable:En,isWritableNodeStream:Rn,isWritableFinished:An,isWritableErrored:jo,isNodeStream:$o,willEmitClose:vo}=V();function Fo(e){return e.setHeader&&typeof e.abort=="function"}var Uo=()=>{};function mn(e,t,n){var r,i;arguments.length===2?(n=t,t=wn):t==null?t=wn:Po(t,"options"),Lo(n,"callback"),xo(t.signal,"options.signal"),n=yn(n);let o=(r=t.readable)!==null&&r!==void 0?r:nt(e),l=(i=t.writable)!==null&&i!==void 0?i:Rn(e);if(!$o(e))throw new qo("stream","Stream",e);let u=e._writableState,f=e._readableState,a=()=>{e.writable||b()},c=vo(e)&&nt(e)===o&&Rn(e)===l,s=An(e,!1),b=()=>{s=!0,e.destroyed&&(c=!1),!(c&&(!e.readable||o))&&(!o||d)&&n.call(e)},d=Sn(e,!1),h=()=>{d=!0,e.destroyed&&(c=!1),!(c&&(!e.writable||l))&&(!l||s)&&n.call(e)},D=M=>{n.call(e,M)},L=Wo(e),_=()=>{L=!0;let M=jo(e)||Co(e);if(M&&typeof M!="boolean")return n.call(e,M);if(o&&!d&&nt(e,!0)&&!Sn(e,!1))return n.call(e,new pn);if(l&&!s&&!An(e,!1))return n.call(e,new pn);n.call(e)},p=()=>{e.req.on("finish",b)};Fo(e)?(e.on("complete",b),c||e.on("abort",_),e.req?p():e.on("request",p)):l&&!u&&(e.on("end",a),e.on("close",a)),!c&&typeof e.aborted=="boolean"&&e.on("aborted",_),e.on("end",h),e.on("finish",b),t.error!==!1&&e.on("error",D),e.on("close",_),L?oe.nextTick(_):u!=null&&u.errorEmitted||f!=null&&f.errorEmitted?c||oe.nextTick(_):(!o&&(!c||gn(e))&&(s||En(e)===!1)||!l&&(!c||En(e))&&(d||gn(e)===!1)||f&&e.req&&e.aborted)&&oe.nextTick(_);let I=()=>{n=Uo,e.removeListener("aborted",_),e.removeListener("complete",b),e.removeListener("abort",_),e.removeListener("request",p),e.req&&e.req.removeListener("finish",b),e.removeListener("end",a),e.removeListener("close",a),e.removeListener("finish",b),e.removeListener("end",h),e.removeListener("error",D),e.removeListener("close",_)};if(t.signal&&!L){let M=()=>{let F=n;I(),F.call(e,new Do(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)oe.nextTick(M);else{let F=n;n=yn((...re)=>{t.signal.removeEventListener("abort",M),F.apply(e,re)}),t.signal.addEventListener("abort",M)}}return I}function Bo(e,t){return new ko((n,r)=>{mn(e,t,i=>{i?r(i):n()})})}rt.exports=mn;rt.exports.finished=Bo});var xn=g((Zf,lt)=>{"use strict";var Nn=globalThis.AbortController,{codes:{ERR_INVALID_ARG_TYPE:pe,ERR_MISSING_ARGS:Go,ERR_OUT_OF_RANGE:Ho},AbortError:$}=O(),{validateAbortSignal:le,validateInteger:Vo,validateObject:ae}=_e(),Yo=m().Symbol("kWeak"),{finished:Ko}=Y(),{ArrayPrototypePush:zo,MathFloor:Xo,Number:Jo,NumberIsNaN:Qo,Promise:Tn,PromiseReject:In,PromisePrototypeThen:Zo,Symbol:Dn}=m(),De=Dn("kEmpty"),Mn=Dn("kEof");function Oe(e,t){if(typeof e!="function")throw new pe("fn",["Function","AsyncFunction"],e);t!=null&&ae(t,"options"),t?.signal!=null&&le(t.signal,"options.signal");let n=1;return t?.concurrency!=null&&(n=Xo(t.concurrency)),Vo(n,"concurrency",1),async function*(){var i,o;let l=new Nn,u=this,f=[],a=l.signal,c={signal:a},s=()=>l.abort();t!=null&&(i=t.signal)!==null&&i!==void 0&&i.aborted&&s(),t==null||(o=t.signal)===null||o===void 0||o.addEventListener("abort",s);let b,d,h=!1;function D(){h=!0}async function L(){try{for await(let I of u){var _;if(h)return;if(a.aborted)throw new $;try{I=e(I,c)}catch(M){I=In(M)}I!==De&&(typeof((_=I)===null||_===void 0?void 0:_.catch)=="function"&&I.catch(D),f.push(I),b&&(b(),b=null),!h&&f.length&&f.length>=n&&await new Tn(M=>{d=M}))}f.push(Mn)}catch(I){let M=In(I);Zo(M,void 0,D),f.push(M)}finally{var p;h=!0,b&&(b(),b=null),t==null||(p=t.signal)===null||p===void 0||p.removeEventListener("abort",s)}}L();try{for(;;){for(;f.length>0;){let _=await f[0];if(_===Mn)return;if(a.aborted)throw new $;_!==De&&(yield _),f.shift(),d&&(d(),d=null)}await new Tn(_=>{b=_})}}finally{l.abort(),h=!0,d&&(d(),d=null)}}.call(this)}function el(e=void 0){return e!=null&&ae(e,"options"),e?.signal!=null&&le(e.signal,"options.signal"),async function*(){let n=0;for await(let i of this){var r;if(e!=null&&(r=e.signal)!==null&&r!==void 0&&r.aborted)throw new $({cause:e.signal.reason});yield[n++,i]}}.call(this)}async function On(e,t=void 0){for await(let n of ot.call(this,e,t))return!0;return!1}async function tl(e,t=void 0){if(typeof e!="function")throw new pe("fn",["Function","AsyncFunction"],e);return!await On.call(this,async(...n)=>!await e(...n),t)}async function nl(e,t){for await(let n of ot.call(this,e,t))return n}async function rl(e,t){if(typeof e!="function")throw new pe("fn",["Function","AsyncFunction"],e);async function n(r,i){return await e(r,i),De}for await(let r of Oe.call(this,n,t));}function ot(e,t){if(typeof e!="function")throw new pe("fn",["Function","AsyncFunction"],e);async function n(r,i){return await e(r,i)?r:De}return Oe.call(this,n,t)}var it=class extends Go{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function il(e,t,n){var r;if(typeof e!="function")throw new pe("reducer",["Function","AsyncFunction"],e);n!=null&&ae(n,"options"),n?.signal!=null&&le(n.signal,"options.signal");let i=arguments.length>1;if(n!=null&&(r=n.signal)!==null&&r!==void 0&&r.aborted){let a=new $(void 0,{cause:n.signal.reason});throw this.once("error",()=>{}),await Ko(this.destroy(a)),a}let o=new Nn,l=o.signal;if(n!=null&&n.signal){let a={once:!0,[Yo]:this};n.signal.addEventListener("abort",()=>o.abort(),a)}let u=!1;try{for await(let a of this){var f;if(u=!0,n!=null&&(f=n.signal)!==null&&f!==void 0&&f.aborted)throw new $;i?t=await e(t,a,{signal:l}):(t=a,i=!0)}if(!u&&!i)throw new it}finally{o.abort()}return t}async function ol(e){e!=null&&ae(e,"options"),e?.signal!=null&&le(e.signal,"options.signal");let t=[];for await(let r of this){var n;if(e!=null&&(n=e.signal)!==null&&n!==void 0&&n.aborted)throw new $(void 0,{cause:e.signal.reason});zo(t,r)}return t}function ll(e,t){let n=Oe.call(this,e,t);return async function*(){for await(let i of n)yield*i}.call(this)}function qn(e){if(e=Jo(e),Qo(e))return 0;if(e<0)throw new Ho("number",">= 0",e);return e}function al(e,t=void 0){return t!=null&&ae(t,"options"),t?.signal!=null&&le(t.signal,"options.signal"),e=qn(e),async function*(){var r;if(t!=null&&(r=t.signal)!==null&&r!==void 0&&r.aborted)throw new $;for await(let o of this){var i;if(t!=null&&(i=t.signal)!==null&&i!==void 0&&i.aborted)throw new $;e--<=0&&(yield o)}}.call(this)}function fl(e,t=void 0){return t!=null&&ae(t,"options"),t?.signal!=null&&le(t.signal,"options.signal"),e=qn(e),async function*(){var r;if(t!=null&&(r=t.signal)!==null&&r!==void 0&&r.aborted)throw new $;for await(let o of this){var i;if(t!=null&&(i=t.signal)!==null&&i!==void 0&&i.aborted)throw new $;if(e-- >0)yield o;else return}}.call(this)}lt.exports.streamReturningOperators={asIndexedPairs:el,drop:al,filter:ot,flatMap:ll,map:Oe,take:fl};lt.exports.promiseReturningOperators={every:tl,forEach:rl,reduce:il,toArray:ol,some:On,find:nl}});var Z=g((eu,vn)=>{"use strict";var K=__process$,{aggregateTwoErrors:ul,codes:{ERR_MULTIPLE_CALLBACK:sl},AbortError:dl}=O(),{Symbol:kn}=m(),{kDestroyed:cl,isDestroyed:hl,isFinished:bl,isServerRequest:_l}=V(),Wn=kn("kDestroy"),at=kn("kConstruct");function Cn(e,t,n){e&&(e.stack,t&&!t.errored&&(t.errored=e),n&&!n.errored&&(n.errored=e))}function pl(e,t){let n=this._readableState,r=this._writableState,i=r||n;return r&&r.destroyed||n&&n.destroyed?(typeof t=="function"&&t(),this):(Cn(e,r,n),r&&(r.destroyed=!0),n&&(n.destroyed=!0),i.constructed?Ln(this,e,t):this.once(Wn,function(o){Ln(this,ul(o,e),t)}),this)}function Ln(e,t,n){let r=!1;function i(o){if(r)return;r=!0;let l=e._readableState,u=e._writableState;Cn(o,u,l),u&&(u.closed=!0),l&&(l.closed=!0),typeof n=="function"&&n(o),o?K.nextTick(wl,e,o):K.nextTick(jn,e)}try{e._destroy(t||null,i)}catch(o){i(o)}}function wl(e,t){ft(e,t),jn(e)}function jn(e){let t=e._readableState,n=e._writableState;n&&(n.closeEmitted=!0),t&&(t.closeEmitted=!0),(n&&n.emitClose||t&&t.emitClose)&&e.emit("close")}function ft(e,t){let n=e._readableState,r=e._writableState;r&&r.errorEmitted||n&&n.errorEmitted||(r&&(r.errorEmitted=!0),n&&(n.errorEmitted=!0),e.emit("error",t))}function yl(){let e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=e.readable===!1,e.endEmitted=e.readable===!1),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=t.writable===!1,t.ending=t.writable===!1,t.finished=t.writable===!1)}function ut(e,t,n){let r=e._readableState,i=e._writableState;if(i&&i.destroyed||r&&r.destroyed)return this;r&&r.autoDestroy||i&&i.autoDestroy?e.destroy(t):t&&(t.stack,i&&!i.errored&&(i.errored=t),r&&!r.errored&&(r.errored=t),n?K.nextTick(ft,e,t):ft(e,t))}function gl(e,t){if(typeof e._construct!="function")return;let n=e._readableState,r=e._writableState;n&&(n.constructed=!1),r&&(r.constructed=!1),e.once(at,t),!(e.listenerCount(at)>1)&&K.nextTick(Sl,e)}function Sl(e){let t=!1;function n(r){if(t){ut(e,r??new sl);return}t=!0;let i=e._readableState,o=e._writableState,l=o||i;i&&(i.constructed=!0),o&&(o.constructed=!0),l.destroyed?e.emit(Wn,r):r?ut(e,r,!0):K.nextTick(El,e)}try{e._construct(n)}catch(r){n(r)}}function El(e){e.emit(at)}function Pn(e){return e&&e.setHeader&&typeof e.abort=="function"}function $n(e){e.emit("close")}function Rl(e,t){e.emit("error",t),K.nextTick($n,e)}function Al(e,t){!e||hl(e)||(!t&&!bl(e)&&(t=new dl),_l(e)?(e.socket=null,e.destroy(t)):Pn(e)?e.abort():Pn(e.req)?e.req.abort():typeof e.destroy=="function"?e.destroy(t):typeof e.close=="function"?e.close():t?K.nextTick(Rl,e,t):K.nextTick($n,e),e.destroyed||(e[cl]=!0))}vn.exports={construct:gl,destroyer:Al,destroy:pl,undestroy:yl,errorOrDestroy:ut}});var Le=g((tu,Un)=>{"use strict";var{ArrayIsArray:ml,ObjectSetPrototypeOf:Fn}=m(),{EventEmitter:qe}=__events$;function xe(e){qe.call(this,e)}Fn(xe.prototype,qe.prototype);Fn(xe,qe);xe.prototype.pipe=function(e,t){let n=this;function r(c){e.writable&&e.write(c)===!1&&n.pause&&n.pause()}n.on("data",r);function i(){n.readable&&n.resume&&n.resume()}e.on("drain",i),!e._isStdio&&(!t||t.end!==!1)&&(n.on("end",l),n.on("close",u));let o=!1;function l(){o||(o=!0,e.end())}function u(){o||(o=!0,typeof e.destroy=="function"&&e.destroy())}function f(c){a(),qe.listenerCount(this,"error")===0&&this.emit("error",c)}st(n,"error",f),st(e,"error",f);function a(){n.removeListener("data",r),e.removeListener("drain",i),n.removeListener("end",l),n.removeListener("close",u),n.removeListener("error",f),e.removeListener("error",f),n.removeListener("end",a),n.removeListener("close",a),e.removeListener("close",a)}return n.on("end",a),n.on("close",a),e.on("close",a),e.emit("pipe",n),e};function st(e,t,n){if(typeof e.prependListener=="function")return e.prependListener(t,n);!e._events||!e._events[t]?e.on(t,n):ml(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]}Un.exports={Stream:xe,prependListener:st}});var ke=g((nu,Pe)=>{"use strict";var{AbortError:Tl,codes:Il}=O(),Ml=Y(),{ERR_INVALID_ARG_TYPE:Bn}=Il,Nl=(e,t)=>{if(typeof e!="object"||!("aborted"in e))throw new Bn(t,"AbortSignal",e)};function Dl(e){return!!(e&&typeof e.pipe=="function")}Pe.exports.addAbortSignal=function(t,n){if(Nl(t,"signal"),!Dl(n))throw new Bn("stream","stream.Stream",n);return Pe.exports.addAbortSignalNoValidate(t,n)};Pe.exports.addAbortSignalNoValidate=function(e,t){if(typeof e!="object"||!("aborted"in e))return t;let n=()=>{t.destroy(new Tl(void 0,{cause:e.reason}))};return e.aborted?n():(e.addEventListener("abort",n),Ml(t,()=>e.removeEventListener("abort",n))),t}});var Vn=g((iu,Hn)=>{"use strict";var{StringPrototypeSlice:Gn,SymbolIterator:Ol,TypedArrayPrototypeSet:We,Uint8Array:ql}=m(),{Buffer:dt}=__buffer$,{inspect:xl}=j();Hn.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(t){let n={data:t,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}unshift(t){let n={data:t,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}shift(){if(this.length===0)return;let t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}clear(){this.head=this.tail=null,this.length=0}join(t){if(this.length===0)return"";let n=this.head,r=""+n.data;for(;(n=n.next)!==null;)r+=t+n.data;return r}concat(t){if(this.length===0)return dt.alloc(0);let n=dt.allocUnsafe(t>>>0),r=this.head,i=0;for(;r;)We(n,r.data,i),i+=r.data.length,r=r.next;return n}consume(t,n){let r=this.head.data;if(to.length)n+=o,t-=o.length;else{t===o.length?(n+=o,++i,r.next?this.head=r.next:this.head=this.tail=null):(n+=Gn(o,0,t),this.head=r,r.data=Gn(o,t));break}++i}while((r=r.next)!==null);return this.length-=i,n}_getBuffer(t){let n=dt.allocUnsafe(t),r=t,i=this.head,o=0;do{let l=i.data;if(t>l.length)We(n,l,r-t),t-=l.length;else{t===l.length?(We(n,l,r-t),++o,i.next?this.head=i.next:this.head=this.tail=null):(We(n,new ql(l.buffer,l.byteOffset,t),r-t),this.head=i,i.data=l.slice(t));break}++o}while((i=i.next)!==null);return this.length-=o,n}[Symbol.for("nodejs.util.inspect.custom")](t,n){return xl(this,{...n,depth:0,customInspect:!1})}}});var Ce=g((ou,Kn)=>{"use strict";var{MathFloor:Ll,NumberIsInteger:Pl}=m(),{ERR_INVALID_ARG_VALUE:kl}=O().codes;function Wl(e,t,n){return e.highWaterMark!=null?e.highWaterMark:t?e[n]:null}function Yn(e){return e?16:16*1024}function Cl(e,t,n,r){let i=Wl(t,r,n);if(i!=null){if(!Pl(i)||i<0){let o=r?`options.${n}`:"options.highWaterMark";throw new kl(o,i)}return Ll(i)}return Yn(e.objectMode)}Kn.exports={getHighWaterMark:Cl,getDefaultHighWaterMark:Yn}});var ct=g((lu,Qn)=>{"use strict";var zn=__process$,{PromisePrototypeThen:jl,SymbolAsyncIterator:Xn,SymbolIterator:Jn}=m(),{Buffer:$l}=__buffer$,{ERR_INVALID_ARG_TYPE:vl,ERR_STREAM_NULL_VALUES:Fl}=O().codes;function Ul(e,t,n){let r;if(typeof t=="string"||t instanceof $l)return new e({objectMode:!0,...n,read(){this.push(t),this.push(null)}});let i;if(t&&t[Xn])i=!0,r=t[Xn]();else if(t&&t[Jn])i=!1,r=t[Jn]();else throw new vl("iterable",["Iterable"],t);let o=new e({objectMode:!0,highWaterMark:1,...n}),l=!1;o._read=function(){l||(l=!0,f())},o._destroy=function(a,c){jl(u(a),()=>zn.nextTick(c,a),s=>zn.nextTick(c,s||a))};async function u(a){let c=a!=null,s=typeof r.throw=="function";if(c&&s){let{value:b,done:d}=await r.throw(a);if(await b,d)return}if(typeof r.return=="function"){let{value:b}=await r.return();await b}}async function f(){for(;;){try{let{value:a,done:c}=i?await r.next():r.next();if(c)o.push(null);else{let s=a&&typeof a.then=="function"?await a:a;if(s===null)throw l=!1,new Fl;if(o.push(s))continue;l=!1}}catch(a){o.destroy(a)}break}}return o}Qn.exports=Ul});var we=g((au,dr)=>{var W=__process$,{ArrayPrototypeIndexOf:Bl,NumberIsInteger:Gl,NumberIsNaN:Hl,NumberParseInt:Vl,ObjectDefineProperties:tr,ObjectKeys:Yl,ObjectSetPrototypeOf:nr,Promise:Kl,SafeSet:zl,SymbolAsyncIterator:Xl,Symbol:Jl}=m();dr.exports=w;w.ReadableState=yt;var{EventEmitter:Ql}=__events$,{Stream:z,prependListener:Zl}=Le(),{Buffer:ht}=__buffer$,{addAbortSignal:ea}=ke(),ta=Y(),y=j().debuglog("stream",e=>{y=e}),na=Vn(),ue=Z(),{getHighWaterMark:ra,getDefaultHighWaterMark:ia}=Ce(),{aggregateTwoErrors:Zn,codes:{ERR_INVALID_ARG_TYPE:oa,ERR_METHOD_NOT_IMPLEMENTED:la,ERR_OUT_OF_RANGE:aa,ERR_STREAM_PUSH_AFTER_EOF:fa,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:ua}}=O(),{validateObject:sa}=_e(),ee=Jl("kPaused"),{StringDecoder:rr}=__string_decoder$,da=ct();nr(w.prototype,z.prototype);nr(w,z);var bt=()=>{},{errorOrDestroy:fe}=ue;function yt(e,t,n){typeof n!="boolean"&&(n=t instanceof v()),this.objectMode=!!(e&&e.objectMode),n&&(this.objectMode=this.objectMode||!!(e&&e.readableObjectMode)),this.highWaterMark=e?ra(this,e,"readableHighWaterMark",n):ia(!1),this.buffer=new na,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[ee]=null,this.errorEmitted=!1,this.emitClose=!e||e.emitClose!==!1,this.autoDestroy=!e||e.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new rr(e.encoding),this.encoding=e.encoding)}function w(e){if(!(this instanceof w))return new w(e);let t=this instanceof v();this._readableState=new yt(e,this,t),e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.construct=="function"&&(this._construct=e.construct),e.signal&&!t&&ea(e.signal,this)),z.call(this,e),ue.construct(this,()=>{this._readableState.needReadable&&je(this,this._readableState)})}w.prototype.destroy=ue.destroy;w.prototype._undestroy=ue.undestroy;w.prototype._destroy=function(e,t){t(e)};w.prototype[Ql.captureRejectionSymbol]=function(e){this.destroy(e)};w.prototype.push=function(e,t){return ir(this,e,t,!1)};w.prototype.unshift=function(e,t){return ir(this,e,t,!0)};function ir(e,t,n,r){y("readableAddChunk",t);let i=e._readableState,o;if(i.objectMode||(typeof t=="string"?(n=n||i.defaultEncoding,i.encoding!==n&&(r&&i.encoding?t=ht.from(t,n).toString(i.encoding):(t=ht.from(t,n),n=""))):t instanceof ht?n="":z._isUint8Array(t)?(t=z._uint8ArrayToBuffer(t),n=""):t!=null&&(o=new oa("chunk",["string","Buffer","Uint8Array"],t))),o)fe(e,o);else if(t===null)i.reading=!1,ba(e,i);else if(i.objectMode||t&&t.length>0)if(r)if(i.endEmitted)fe(e,new ua);else{if(i.destroyed||i.errored)return!1;_t(e,i,t,!0)}else if(i.ended)fe(e,new fa);else{if(i.destroyed||i.errored)return!1;i.reading=!1,i.decoder&&!n?(t=i.decoder.write(t),i.objectMode||t.length!==0?_t(e,i,t,!1):je(e,i)):_t(e,i,t,!1)}else r||(i.reading=!1,je(e,i));return!i.ended&&(i.length0?(t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&$e(e)),je(e,t)}w.prototype.isPaused=function(){let e=this._readableState;return e[ee]===!0||e.flowing===!1};w.prototype.setEncoding=function(e){let t=new rr(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;let n=this._readableState.buffer,r="";for(let i of n)r+=t.write(i);return n.clear(),r!==""&&n.push(r),this._readableState.length=r.length,this};var ca=1073741824;function ha(e){if(e>ca)throw new aa("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++,e}function er(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:Hl(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}w.prototype.read=function(e){y("read",e),e===void 0?e=NaN:Gl(e)||(e=Vl(e,10));let t=this._readableState,n=e;if(e>t.highWaterMark&&(t.highWaterMark=ha(e)),e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return y("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?pt(this):$e(this),null;if(e=er(e,t),e===0&&t.ended)return t.length===0&&pt(this),null;let r=t.needReadable;if(y("need readable",r),(t.length===0||t.length-e0?i=ur(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),t.length===0&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&pt(this)),i!==null&&!t.errorEmitted&&!t.closeEmitted&&(t.dataEmitted=!0,this.emit("data",i)),i};function ba(e,t){if(y("onEofChunk"),!t.ended){if(t.decoder){let n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?$e(e):(t.needReadable=!1,t.emittedReadable=!0,or(e))}}function $e(e){let t=e._readableState;y("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(y("emitReadable",t.flowing),t.emittedReadable=!0,W.nextTick(or,e))}function or(e){let t=e._readableState;y("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&!t.errored&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,ar(e)}function je(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,W.nextTick(_a,e,t))}function _a(e,t){for(;!t.reading&&!t.ended&&(t.length1&&r.pipes.includes(e)&&(y("false write response, pause",r.awaitDrainWriters.size),r.awaitDrainWriters.add(e)),n.pause()),f||(f=pa(n,e),e.on("drain",f))}n.on("data",b);function b(_){y("ondata");let p=e.write(_);y("dest.write",p),p===!1&&s()}function d(_){if(y("onerror",_),L(),e.removeListener("error",d),e.listenerCount("error")===0){let p=e._writableState||e._readableState;p&&!p.errorEmitted?fe(e,_):e.emit("error",_)}}Zl(e,"error",d);function h(){e.removeListener("finish",D),L()}e.once("close",h);function D(){y("onfinish"),e.removeListener("close",h),L()}e.once("finish",D);function L(){y("unpipe"),n.unpipe(e)}return e.emit("pipe",n),e.writableNeedDrain===!0?r.flowing&&s():r.flowing||(y("pipe resume"),n.resume()),e};function pa(e,t){return function(){let r=e._readableState;r.awaitDrainWriters===t?(y("pipeOnDrain",1),r.awaitDrainWriters=null):r.multiAwaitDrain&&(y("pipeOnDrain",r.awaitDrainWriters.size),r.awaitDrainWriters.delete(t)),(!r.awaitDrainWriters||r.awaitDrainWriters.size===0)&&e.listenerCount("data")&&e.resume()}}w.prototype.unpipe=function(e){let t=this._readableState,n={hasUnpiped:!1};if(t.pipes.length===0)return this;if(!e){let i=t.pipes;t.pipes=[],this.pause();for(let o=0;o0,r.flowing!==!1&&this.resume()):e==="readable"&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,y("on readable",r.length,r.reading),r.length?$e(this):r.reading||W.nextTick(wa,this)),n};w.prototype.addListener=w.prototype.on;w.prototype.removeListener=function(e,t){let n=z.prototype.removeListener.call(this,e,t);return e==="readable"&&W.nextTick(lr,this),n};w.prototype.off=w.prototype.removeListener;w.prototype.removeAllListeners=function(e){let t=z.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&W.nextTick(lr,this),t};function lr(e){let t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&t[ee]===!1?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function wa(e){y("readable nexttick read 0"),e.read(0)}w.prototype.resume=function(){let e=this._readableState;return e.flowing||(y("resume"),e.flowing=!e.readableListening,ya(this,e)),e[ee]=!1,this};function ya(e,t){t.resumeScheduled||(t.resumeScheduled=!0,W.nextTick(ga,e,t))}function ga(e,t){y("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),ar(e),t.flowing&&!t.reading&&e.read(0)}w.prototype.pause=function(){return y("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(y("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[ee]=!0,this};function ar(e){let t=e._readableState;for(y("flow",t.flowing);t.flowing&&e.read()!==null;);}w.prototype.wrap=function(e){let t=!1;e.on("data",r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())}),e.on("end",()=>{this.push(null)}),e.on("error",r=>{fe(this,r)}),e.on("close",()=>{this.destroy()}),e.on("destroy",()=>{this.destroy()}),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};let n=Yl(e);for(let r=1;r{i=l?Zn(i,l):null,n(),n=bt});try{for(;;){let l=e.destroyed?null:e.read();if(l!==null)yield l;else{if(i)throw i;if(i===null)return;await new Kl(r)}}}catch(l){throw i=Zn(i,l),i}finally{(i||t?.destroyOnReturn!==!1)&&(i===void 0||e._readableState.autoDestroy)?ue.destroyer(e,null):(e.off("readable",r),o())}}tr(w.prototype,{readable:{__proto__:null,get(){let e=this._readableState;return!!e&&e.readable!==!1&&!e.destroyed&&!e.errorEmitted&&!e.endEmitted},set(e){this._readableState&&(this._readableState.readable=!!e)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(e){!this._readableState||(this._readableState.destroyed=e)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}});tr(yt.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[ee]!==!1},set(e){this[ee]=!!e}}});w._fromList=ur;function ur(e,t){if(t.length===0)return null;let n;return t.objectMode?n=t.buffer.shift():!e||e>=t.length?(t.decoder?n=t.buffer.join(""):t.buffer.length===1?n=t.buffer.first():n=t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n}function pt(e){let t=e._readableState;y("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,W.nextTick(Ea,t,e))}function Ea(e,t){if(y("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&e.length===0){if(e.endEmitted=!0,t.emit("end"),t.writable&&t.allowHalfOpen===!1)W.nextTick(Ra,t);else if(e.autoDestroy){let n=t._writableState;(!n||n.autoDestroy&&(n.finished||n.writable===!1))&&t.destroy()}}}function Ra(e){e.writable&&!e.writableEnded&&!e.destroyed&&e.end()}w.from=function(e,t){return da(w,e,t)};var wt;function sr(){return wt===void 0&&(wt={}),wt}w.fromWeb=function(e,t){return sr().newStreamReadableFromReadableStream(e,t)};w.toWeb=function(e,t){return sr().newReadableStreamFromStreamReadable(e,t)};w.wrap=function(e,t){var n,r;return new w({objectMode:(n=(r=e.readableObjectMode)!==null&&r!==void 0?r:e.objectMode)!==null&&n!==void 0?n:!0,...t,destroy(i,o){ue.destroyer(e,i),o(i)}}).wrap(e)}});var Tt=g((fu,Ar)=>{var te=__process$,{ArrayPrototypeSlice:br,Error:Aa,FunctionPrototypeSymbolHasInstance:_r,ObjectDefineProperty:pr,ObjectDefineProperties:ma,ObjectSetPrototypeOf:wr,StringPrototypeToLowerCase:Ta,Symbol:Ia,SymbolHasInstance:Ma}=m();Ar.exports=S;S.WritableState=Se;var{EventEmitter:Na}=__events$,ye=Le().Stream,{Buffer:ve}=__buffer$,Be=Z(),{addAbortSignal:Da}=ke(),{getHighWaterMark:Oa,getDefaultHighWaterMark:qa}=Ce(),{ERR_INVALID_ARG_TYPE:xa,ERR_METHOD_NOT_IMPLEMENTED:La,ERR_MULTIPLE_CALLBACK:yr,ERR_STREAM_CANNOT_PIPE:Pa,ERR_STREAM_DESTROYED:ge,ERR_STREAM_ALREADY_FINISHED:ka,ERR_STREAM_NULL_VALUES:Wa,ERR_STREAM_WRITE_AFTER_END:Ca,ERR_UNKNOWN_ENCODING:gr}=O().codes,{errorOrDestroy:se}=Be;wr(S.prototype,ye.prototype);wr(S,ye);function Et(){}var de=Ia("kOnFinished");function Se(e,t,n){typeof n!="boolean"&&(n=t instanceof v()),this.objectMode=!!(e&&e.objectMode),n&&(this.objectMode=this.objectMode||!!(e&&e.writableObjectMode)),this.highWaterMark=e?Oa(this,e,"writableHighWaterMark",n):qa(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let r=!!(e&&e.decodeStrings===!1);this.decodeStrings=!r,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=$a.bind(void 0,t),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,Ue(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!e||e.emitClose!==!1,this.autoDestroy=!e||e.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[de]=[]}function Ue(e){e.buffered=[],e.bufferedIndex=0,e.allBuffers=!0,e.allNoop=!0}Se.prototype.getBuffer=function(){return br(this.buffered,this.bufferedIndex)};pr(Se.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function S(e){let t=this instanceof v();if(!t&&!_r(S,this))return new S(e);this._writableState=new Se(e,this,t),e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final),typeof e.construct=="function"&&(this._construct=e.construct),e.signal&&Da(e.signal,this)),ye.call(this,e),Be.construct(this,()=>{let n=this._writableState;n.writing||At(this,n),mt(this,n)})}pr(S,Ma,{__proto__:null,value:function(e){return _r(this,e)?!0:this!==S?!1:e&&e._writableState instanceof Se}});S.prototype.pipe=function(){se(this,new Pa)};function Sr(e,t,n,r){let i=e._writableState;if(typeof n=="function")r=n,n=i.defaultEncoding;else{if(!n)n=i.defaultEncoding;else if(n!=="buffer"&&!ve.isEncoding(n))throw new gr(n);typeof r!="function"&&(r=Et)}if(t===null)throw new Wa;if(!i.objectMode)if(typeof t=="string")i.decodeStrings!==!1&&(t=ve.from(t,n),n="buffer");else if(t instanceof ve)n="buffer";else if(ye._isUint8Array(t))t=ye._uint8ArrayToBuffer(t),n="buffer";else throw new xa("chunk",["string","Buffer","Uint8Array"],t);let o;return i.ending?o=new Ca:i.destroyed&&(o=new ge("write")),o?(te.nextTick(r,o),se(e,o,!0),o):(i.pendingcb++,ja(e,i,t,n,r))}S.prototype.write=function(e,t,n){return Sr(this,e,t,n)===!0};S.prototype.cork=function(){this._writableState.corked++};S.prototype.uncork=function(){let e=this._writableState;e.corked&&(e.corked--,e.writing||At(this,e))};S.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=Ta(t)),!ve.isEncoding(t))throw new gr(t);return this._writableState.defaultEncoding=t,this};function ja(e,t,n,r,i){let o=t.objectMode?1:n.length;t.length+=o;let l=t.lengthn.bufferedIndex&&At(e,n),r?n.afterWriteTickInfo!==null&&n.afterWriteTickInfo.cb===i?n.afterWriteTickInfo.count++:(n.afterWriteTickInfo={count:1,cb:i,stream:e,state:n},te.nextTick(va,n.afterWriteTickInfo)):Er(e,n,1,i))}function va({stream:e,state:t,count:n,cb:r}){return t.afterWriteTickInfo=null,Er(e,t,n,r)}function Er(e,t,n,r){for(!t.ending&&!e.destroyed&&t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"));n-- >0;)t.pendingcb--,r();t.destroyed&&Rt(t),mt(e,t)}function Rt(e){if(e.writing)return;for(let i=e.bufferedIndex;i1&&e._writev){t.pendingcb-=o-1;let u=t.allNoop?Et:a=>{for(let c=l;c256?(n.splice(0,l),t.bufferedIndex=0):t.bufferedIndex=l}t.bufferProcessing=!1}S.prototype._write=function(e,t,n){if(this._writev)this._writev([{chunk:e,encoding:t}],n);else throw new La("_write()")};S.prototype._writev=null;S.prototype.end=function(e,t,n){let r=this._writableState;typeof e=="function"?(n=e,e=null,t=null):typeof t=="function"&&(n=t,t=null);let i;if(e!=null){let o=Sr(this,e,t);o instanceof Aa&&(i=o)}return r.corked&&(r.corked=1,this.uncork()),i||(!r.errored&&!r.ending?(r.ending=!0,mt(this,r,!0),r.ended=!0):r.finished?i=new ka("end"):r.destroyed&&(i=new ge("end"))),typeof n=="function"&&(i||r.finished?te.nextTick(n,i):r[de].push(n)),this};function Fe(e){return e.ending&&!e.destroyed&&e.constructed&&e.length===0&&!e.errored&&e.buffered.length===0&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function Fa(e,t){let n=!1;function r(i){if(n){se(e,i??yr());return}if(n=!0,t.pendingcb--,i){let o=t[de].splice(0);for(let l=0;l{Fe(i)?St(r,i):i.pendingcb--},e,t)):Fe(t)&&(t.pendingcb++,St(e,t))))}function St(e,t){t.pendingcb--,t.finished=!0;let n=t[de].splice(0);for(let r=0;r{var It=__process$,Ga=__buffer$,{isReadable:Ha,isWritable:Va,isIterable:mr,isNodeStream:Ya,isReadableNodeStream:Tr,isWritableNodeStream:Ir,isDuplexNodeStream:Ka}=V(),Mr=Y(),{AbortError:Lr,codes:{ERR_INVALID_ARG_TYPE:za,ERR_INVALID_RETURN_VALUE:Nr}}=O(),{destroyer:ce}=Z(),Xa=v(),Ja=we(),{createDeferredPromise:Dr}=j(),Or=ct(),qr=globalThis.Blob||Ga.Blob,Qa=typeof qr<"u"?function(t){return t instanceof qr}:function(t){return!1},Za=globalThis.AbortController,{FunctionPrototypeCall:xr}=m(),ne=class extends Xa{constructor(t){super(t),t?.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),t?.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};Pr.exports=function e(t,n){if(Ka(t))return t;if(Tr(t))return Ge({readable:t});if(Ir(t))return Ge({writable:t});if(Ya(t))return Ge({writable:!1,readable:!1});if(typeof t=="function"){let{value:i,write:o,final:l,destroy:u}=ef(t);if(mr(i))return Or(ne,i,{objectMode:!0,write:o,final:l,destroy:u});let f=i?.then;if(typeof f=="function"){let a,c=xr(f,i,s=>{if(s!=null)throw new Nr("nully","body",s)},s=>{ce(a,s)});return a=new ne({objectMode:!0,readable:!1,write:o,final(s){l(async()=>{try{await c,It.nextTick(s,null)}catch(b){It.nextTick(s,b)}})},destroy:u})}throw new Nr("Iterable, AsyncIterable or AsyncFunction",n,i)}if(Qa(t))return e(t.arrayBuffer());if(mr(t))return Or(ne,t,{objectMode:!0,writable:!1});if(typeof t?.writable=="object"||typeof t?.readable=="object"){let i=t!=null&&t.readable?Tr(t?.readable)?t?.readable:e(t.readable):void 0,o=t!=null&&t.writable?Ir(t?.writable)?t?.writable:e(t.writable):void 0;return Ge({readable:i,writable:o})}let r=t?.then;if(typeof r=="function"){let i;return xr(r,t,o=>{o!=null&&i.push(o),i.push(null)},o=>{ce(i,o)}),i=new ne({objectMode:!0,writable:!1,read(){}})}throw new za(n,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)};function ef(e){let{promise:t,resolve:n}=Dr(),r=new Za,i=r.signal;return{value:e(async function*(){for(;;){let l=t;t=null;let{chunk:u,done:f,cb:a}=await l;if(It.nextTick(a),f)return;if(i.aborted)throw new Lr(void 0,{cause:i.reason});({promise:t,resolve:n}=Dr()),yield u}}(),{signal:i}),write(l,u,f){let a=n;n=null,a({chunk:l,done:!1,cb:f})},final(l){let u=n;n=null,u({done:!0,cb:l})},destroy(l,u){r.abort(),u(l)}}}function Ge(e){let t=e.readable&&typeof e.readable.read!="function"?Ja.wrap(e.readable):e.readable,n=e.writable,r=!!Ha(t),i=!!Va(n),o,l,u,f,a;function c(s){let b=f;f=null,b?b(s):s?a.destroy(s):!r&&!i&&a.destroy()}return a=new ne({readableObjectMode:!!(t!=null&&t.readableObjectMode),writableObjectMode:!!(n!=null&&n.writableObjectMode),readable:r,writable:i}),i&&(Mr(n,s=>{i=!1,s&&ce(t,s),c(s)}),a._write=function(s,b,d){n.write(s,b)?d():o=d},a._final=function(s){n.end(),l=s},n.on("drain",function(){if(o){let s=o;o=null,s()}}),n.on("finish",function(){if(l){let s=l;l=null,s()}})),r&&(Mr(t,s=>{r=!1,s&&ce(t,s),c(s)}),t.on("readable",function(){if(u){let s=u;u=null,s()}}),t.on("end",function(){a.push(null)}),a._read=function(){for(;;){let s=t.read();if(s===null){u=a._read;return}if(!a.push(s))return}}),a._destroy=function(s,b){!s&&f!==null&&(s=new Lr),u=null,o=null,l=null,f===null?b(s):(f=b,ce(n,s),ce(t,s))},a}});var v=g((su,jr)=>{"use strict";var{ObjectDefineProperties:tf,ObjectGetOwnPropertyDescriptor:B,ObjectKeys:nf,ObjectSetPrototypeOf:Wr}=m();jr.exports=C;var Dt=we(),x=Tt();Wr(C.prototype,Dt.prototype);Wr(C,Dt);{let e=nf(x.prototype);for(let t=0;t{"use strict";var{ObjectSetPrototypeOf:$r,Symbol:rf}=m();vr.exports=G;var{ERR_METHOD_NOT_IMPLEMENTED:of}=O().codes,qt=v(),{getHighWaterMark:lf}=Ce();$r(G.prototype,qt.prototype);$r(G,qt);var Ee=rf("kCallback");function G(e){if(!(this instanceof G))return new G(e);let t=e?lf(this,e,"readableHighWaterMark",!0):null;t===0&&(e={...e,highWaterMark:null,readableHighWaterMark:t,writableHighWaterMark:e.writableHighWaterMark||0}),qt.call(this,e),this._readableState.sync=!1,this[Ee]=null,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",af)}function Ot(e){typeof this._flush=="function"&&!this.destroyed?this._flush((t,n)=>{if(t){e?e(t):this.destroy(t);return}n!=null&&this.push(n),this.push(null),e&&e()}):(this.push(null),e&&e())}function af(){this._final!==Ot&&Ot.call(this)}G.prototype._final=Ot;G.prototype._transform=function(e,t,n){throw new of("_transform()")};G.prototype._write=function(e,t,n){let r=this._readableState,i=this._writableState,o=r.length;this._transform(e,t,(l,u)=>{if(l){n(l);return}u!=null&&this.push(u),i.ended||o===r.length||r.length{"use strict";var{ObjectSetPrototypeOf:Fr}=m();Ur.exports=he;var Lt=xt();Fr(he.prototype,Lt.prototype);Fr(he,Lt);function he(e){if(!(this instanceof he))return new he(e);Lt.call(this,e)}he.prototype._transform=function(e,t,n){n(null,e)}});var Ye=g((hu,zr)=>{var He=__process$,{ArrayIsArray:ff,Promise:uf,SymbolAsyncIterator:sf}=m(),Ve=Y(),{once:df}=j(),cf=Z(),Br=v(),{aggregateTwoErrors:hf,codes:{ERR_INVALID_ARG_TYPE:Yr,ERR_INVALID_RETURN_VALUE:kt,ERR_MISSING_ARGS:bf,ERR_STREAM_DESTROYED:_f,ERR_STREAM_PREMATURE_CLOSE:pf},AbortError:wf}=O(),{validateFunction:yf,validateAbortSignal:gf}=_e(),{isIterable:be,isReadable:Wt,isReadableNodeStream:$t,isNodeStream:Gr}=V(),Sf=globalThis.AbortController,Ct,jt;function Hr(e,t,n){let r=!1;e.on("close",()=>{r=!0});let i=Ve(e,{readable:t,writable:n},o=>{r=!o});return{destroy:o=>{r||(r=!0,cf.destroyer(e,o||new _f("pipe")))},cleanup:i}}function Ef(e){return yf(e[e.length-1],"streams[stream.length - 1]"),e.pop()}function Rf(e){if(be(e))return e;if($t(e))return Af(e);throw new Yr("val",["Readable","Iterable","AsyncIterable"],e)}async function*Af(e){jt||(jt=we()),yield*jt.prototype[sf].call(e)}async function Vr(e,t,n,{end:r}){let i,o=null,l=a=>{if(a&&(i=a),o){let c=o;o=null,c()}},u=()=>new uf((a,c)=>{i?c(i):o=()=>{i?c(i):a()}});t.on("drain",l);let f=Ve(t,{readable:!1},l);try{t.writableNeedDrain&&await u();for await(let a of e)t.write(a)||await u();r&&t.end(),await u(),n()}catch(a){n(i!==a?hf(i,a):a)}finally{f(),t.off("drain",l)}}function mf(...e){return Kr(e,df(Ef(e)))}function Kr(e,t,n){if(e.length===1&&ff(e[0])&&(e=e[0]),e.length<2)throw new bf("streams");let r=new Sf,i=r.signal,o=n?.signal,l=[];gf(o,"options.signal");function u(){d(new wf)}o?.addEventListener("abort",u);let f,a,c=[],s=0;function b(_){d(_,--s===0)}function d(_,p){if(_&&(!f||f.code==="ERR_STREAM_PREMATURE_CLOSE")&&(f=_),!(!f&&!p)){for(;c.length;)c.shift()(f);o?.removeEventListener("abort",u),r.abort(),p&&(f||l.forEach(I=>I()),He.nextTick(t,f,a))}}let h;for(let _=0;_0,F=I||n?.end!==!1,re=_===e.length-1;if(Gr(p)){let P=function(U){U&&U.name!=="AbortError"&&U.code!=="ERR_STREAM_PREMATURE_CLOSE"&&b(U)};var L=P;if(F){let{destroy:U,cleanup:ze}=Hr(p,I,M);c.push(U),Wt(p)&&re&&l.push(ze)}p.on("error",P),Wt(p)&&re&&l.push(()=>{p.removeListener("error",P)})}if(_===0)if(typeof p=="function"){if(h=p({signal:i}),!be(h))throw new kt("Iterable, AsyncIterable or Stream","source",h)}else be(p)||$t(p)?h=p:h=Br.from(p);else if(typeof p=="function")if(h=Rf(h),h=p(h,{signal:i}),I){if(!be(h,!0))throw new kt("AsyncIterable",`transform[${_-1}]`,h)}else{var D;Ct||(Ct=Pt());let P=new Ct({objectMode:!0}),U=(D=h)===null||D===void 0?void 0:D.then;if(typeof U=="function")s++,U.call(h,ie=>{a=ie,ie!=null&&P.write(ie),F&&P.end(),He.nextTick(b)},ie=>{P.destroy(ie),He.nextTick(b,ie)});else if(be(h,!0))s++,Vr(h,P,b,{end:F});else throw new kt("AsyncIterable or Promise","destination",h);h=P;let{destroy:ze,cleanup:_i}=Hr(h,!1,!0);c.push(ze),re&&l.push(_i)}else if(Gr(p)){if($t(h)){s+=2;let P=Tf(h,p,b,{end:F});Wt(p)&&re&&l.push(P)}else if(be(h))s++,Vr(h,p,b,{end:F});else throw new Yr("val",["Readable","Iterable","AsyncIterable"],h);h=p}else h=Br.from(p)}return(i!=null&&i.aborted||o!=null&&o.aborted)&&He.nextTick(u),h}function Tf(e,t,n,{end:r}){let i=!1;return t.on("close",()=>{i||n(new pf)}),e.pipe(t,{end:r}),r?e.once("end",()=>{i=!0,t.end()}):n(),Ve(e,{readable:!0,writable:!1},o=>{let l=e._readableState;o&&o.code==="ERR_STREAM_PREMATURE_CLOSE"&&l&&l.ended&&!l.errored&&!l.errorEmitted?e.once("end",n).once("error",n):n(o)}),Ve(t,{readable:!1,writable:!0},n)}zr.exports={pipelineImpl:Kr,pipeline:mf}});var ei=g((bu,Zr)=>{"use strict";var{pipeline:If}=Ye(),Ke=v(),{destroyer:Mf}=Z(),{isNodeStream:Nf,isReadable:Xr,isWritable:Jr}=V(),{AbortError:Df,codes:{ERR_INVALID_ARG_VALUE:Qr,ERR_MISSING_ARGS:Of}}=O();Zr.exports=function(...t){if(t.length===0)throw new Of("streams");if(t.length===1)return Ke.from(t[0]);let n=[...t];if(typeof t[0]=="function"&&(t[0]=Ke.from(t[0])),typeof t[t.length-1]=="function"){let d=t.length-1;t[d]=Ke.from(t[d])}for(let d=0;d0&&!Jr(t[d]))throw new Qr(`streams[${d}]`,n[d],"must be writable")}let r,i,o,l,u;function f(d){let h=l;l=null,h?h(d):d?u.destroy(d):!b&&!s&&u.destroy()}let a=t[0],c=If(t,f),s=!!Jr(a),b=!!Xr(c);return u=new Ke({writableObjectMode:!!(a!=null&&a.writableObjectMode),readableObjectMode:!!(c!=null&&c.writableObjectMode),writable:s,readable:b}),s&&(u._write=function(d,h,D){a.write(d,h)?D():r=D},u._final=function(d){a.end(),i=d},a.on("drain",function(){if(r){let d=r;r=null,d()}}),c.on("finish",function(){if(i){let d=i;i=null,d()}})),b&&(c.on("readable",function(){if(o){let d=o;o=null,d()}}),c.on("end",function(){u.push(null)}),u._read=function(){for(;;){let d=c.read();if(d===null){o=u._read;return}if(!u.push(d))return}}),u._destroy=function(d,h){!d&&l!==null&&(d=new Df),o=null,r=null,i=null,l===null?h(d):(l=h,Mf(c,d))},u}});var vt=g((_u,ti)=>{"use strict";var{ArrayPrototypePop:qf,Promise:xf}=m(),{isIterable:Lf,isNodeStream:Pf}=V(),{pipelineImpl:kf}=Ye(),{finished:Wf}=Y();function Cf(...e){return new xf((t,n)=>{let r,i,o=e[e.length-1];if(o&&typeof o=="object"&&!Pf(o)&&!Lf(o)){let l=qf(e);r=l.signal,i=l.end}kf(e,(l,u)=>{l?n(l):t(u)},{signal:r,end:i})})}ti.exports={finished:Wf,pipeline:Cf}});var di=g((pu,si)=>{var{Buffer:jf}=__buffer$,{ObjectDefineProperty:H,ObjectKeys:ii,ReflectApply:oi}=m(),{promisify:{custom:li}}=j(),{streamReturningOperators:ni,promiseReturningOperators:ri}=xn(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:ai}}=O(),$f=ei(),{pipeline:fi}=Ye(),{destroyer:vf}=Z(),ui=Y(),Ft=vt(),Ut=V(),R=si.exports=Le().Stream;R.isDisturbed=Ut.isDisturbed;R.isErrored=Ut.isErrored;R.isReadable=Ut.isReadable;R.Readable=we();for(let e of ii(ni)){let n=function(...r){if(new.target)throw ai();return R.Readable.from(oi(t,this,r))};Uf=n;let t=ni[e];H(n,"name",{__proto__:null,value:t.name}),H(n,"length",{__proto__:null,value:t.length}),H(R.Readable.prototype,e,{__proto__:null,value:n,enumerable:!1,configurable:!0,writable:!0})}var Uf;for(let e of ii(ri)){let n=function(...i){if(new.target)throw ai();return oi(t,this,i)};Uf=n;let t=ri[e];H(n,"name",{__proto__:null,value:t.name}),H(n,"length",{__proto__:null,value:t.length}),H(R.Readable.prototype,e,{__proto__:null,value:n,enumerable:!1,configurable:!0,writable:!0})}var Uf;R.Writable=Tt();R.Duplex=v();R.Transform=xt();R.PassThrough=Pt();R.pipeline=fi;var{addAbortSignal:Ff}=ke();R.addAbortSignal=Ff;R.finished=ui;R.destroy=vf;R.compose=$f;H(R,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return Ft}});H(fi,li,{__proto__:null,enumerable:!0,get(){return Ft.pipeline}});H(ui,li,{__proto__:null,enumerable:!0,get(){return Ft.finished}});R.Stream=R;R._isUint8Array=function(t){return t instanceof Uint8Array};R._uint8ArrayToBuffer=function(t){return jf.from(t.buffer,t.byteOffset,t.byteLength)}});var ci=g((wu,A)=>{"use strict";var T=di(),Bf=vt(),Gf=T.Readable.destroy;A.exports=T.Readable;A.exports._uint8ArrayToBuffer=T._uint8ArrayToBuffer;A.exports._isUint8Array=T._isUint8Array;A.exports.isDisturbed=T.isDisturbed;A.exports.isErrored=T.isErrored;A.exports.isReadable=T.isReadable;A.exports.Readable=T.Readable;A.exports.Writable=T.Writable;A.exports.Duplex=T.Duplex;A.exports.Transform=T.Transform;A.exports.PassThrough=T.PassThrough;A.exports.addAbortSignal=T.addAbortSignal;A.exports.finished=T.finished;A.exports.destroy=T.destroy;A.exports.destroy=Gf;A.exports.pipeline=T.pipeline;A.exports.compose=T.compose;Object.defineProperty(T,"promises",{configurable:!0,enumerable:!0,get(){return Bf}});A.exports.Stream=T.Stream;A.exports.default=A.exports});var bi=Ri(ci()),{_uint8ArrayToBuffer:yu,_isUint8Array:gu,isDisturbed:Su,isErrored:Eu,isReadable:Ru,Readable:Au,Writable:mu,Duplex:Tu,Transform:Iu,PassThrough:Mu,addAbortSignal:Nu,finished:Du,destroy:Ou,pipeline:qu,compose:xu,Stream:Lu}=bi,{default:hi,...Hf}=bi,Pu=hi!==void 0?hi:Hf;export{Tu as Duplex,Mu as PassThrough,Au as Readable,Lu as Stream,Iu as Transform,mu as Writable,gu as _isUint8Array,yu as _uint8ArrayToBuffer,Nu as addAbortSignal,xu as compose,Pu as default,Ou as destroy,Du as finished,Su as isDisturbed,Eu as isErrored,Ru as isReadable,qu as pipeline}; -/* End esm.sh bundle */ - -// The following code implements Readable.fromWeb(), Writable.fromWeb(), and -// Duplex.fromWeb(). These functions are not properly implemented in the -// readable-stream module yet. This can be removed once the following upstream -// issue is resolved: https://github.com/nodejs/readable-stream/issues/482 - -import { - AbortError, - ERR_INVALID_ARG_TYPE, - ERR_INVALID_ARG_VALUE, - ERR_STREAM_PREMATURE_CLOSE, -} from "./internal/errors.ts"; -import { destroy } from "./internal/streams/destroy.mjs"; -import finished from "./internal/streams/end-of-stream.mjs"; -import { - isDestroyed, - isReadable, - isReadableEnded, - isWritable, - isWritableEnded, -} from "./internal/streams/utils.mjs"; -import { createDeferredPromise, kEmptyObject } from "./internal/util.mjs"; -import { validateBoolean, validateObject } from "./internal/validators.mjs"; - -const process = __process$; -const { Buffer } = __buffer$; -const Readable = Au; -const Writable = mu; -const Duplex = Tu; - -function isReadableStream(object) { - return object instanceof ReadableStream; -} - -function isWritableStream(object) { - return object instanceof WritableStream; -} - -Readable.fromWeb = function ( - readableStream, - options = kEmptyObject, -) { - if (!isReadableStream(readableStream)) { - throw new ERR_INVALID_ARG_TYPE( - "readableStream", - "ReadableStream", - readableStream, - ); - } - - validateObject(options, "options"); - const { - highWaterMark, - encoding, - objectMode = false, - signal, - } = options; - - if (encoding !== undefined && !Buffer.isEncoding(encoding)) { - throw new ERR_INVALID_ARG_VALUE(encoding, "options.encoding"); - } - validateBoolean(objectMode, "options.objectMode"); - - const reader = readableStream.getReader(); - let closed = false; - - const readable = new Readable({ - objectMode, - highWaterMark, - encoding, - signal, - - read() { - reader.read().then( - (chunk) => { - if (chunk.done) { - readable.push(null); - } else { - readable.push(chunk.value); - } - }, - (error) => destroy.call(readable, error), - ); - }, - - destroy(error, callback) { - function done() { - try { - callback(error); - } catch (error) { - // In a next tick because this is happening within - // a promise context, and if there are any errors - // thrown we don't want those to cause an unhandled - // rejection. Let's just escape the promise and - // handle it separately. - process.nextTick(() => { - throw error; - }); - } - } - - if (!closed) { - reader.cancel(error).then(done, done); - return; - } - - done(); - }, - }); - - reader.closed.then( - () => { - closed = true; - if (!isReadableEnded(readable)) { - readable.push(null); - } - }, - (error) => { - closed = true; - destroy.call(readable, error); - }, - ); - - return readable; -}; - -Writable.fromWeb = function ( - writableStream, - options = kEmptyObject, -) { - if (!isWritableStream(writableStream)) { - throw new ERR_INVALID_ARG_TYPE( - "writableStream", - "WritableStream", - writableStream, - ); - } - - validateObject(options, "options"); - const { - highWaterMark, - decodeStrings = true, - objectMode = false, - signal, - } = options; - - validateBoolean(objectMode, "options.objectMode"); - validateBoolean(decodeStrings, "options.decodeStrings"); - - const writer = writableStream.getWriter(); - let closed = false; - - const writable = new Writable({ - highWaterMark, - objectMode, - decodeStrings, - signal, - - writev(chunks, callback) { - function done(error) { - error = error.filter((e) => e); - try { - callback(error.length === 0 ? undefined : error); - } catch (error) { - // In a next tick because this is happening within - // a promise context, and if there are any errors - // thrown we don't want those to cause an unhandled - // rejection. Let's just escape the promise and - // handle it separately. - process.nextTick(() => destroy.call(writable, error)); - } - } - - writer.ready.then( - () => - Promise.all( - chunks.map((data) => writer.write(data.chunk)), - ).then(done, done), - done, - ); - }, - - write(chunk, encoding, callback) { - if (typeof chunk === "string" && decodeStrings && !objectMode) { - chunk = Buffer.from(chunk, encoding); - chunk = new Uint8Array( - chunk.buffer, - chunk.byteOffset, - chunk.byteLength, - ); - } - - function done(error) { - try { - callback(error); - } catch (error) { - destroy(this, duplex, error); - } - } - - writer.ready.then( - () => writer.write(chunk).then(done, done), - done, - ); - }, - - destroy(error, callback) { - function done() { - try { - callback(error); - } catch (error) { - // In a next tick because this is happening within - // a promise context, and if there are any errors - // thrown we don't want those to cause an unhandled - // rejection. Let's just escape the promise and - // handle it separately. - process.nextTick(() => { - throw error; - }); - } - } - - if (!closed) { - if (error != null) { - writer.abort(error).then(done, done); - } else { - writer.close().then(done, done); - } - return; - } - - done(); - }, - - final(callback) { - function done(error) { - try { - callback(error); - } catch (error) { - // In a next tick because this is happening within - // a promise context, and if there are any errors - // thrown we don't want those to cause an unhandled - // rejection. Let's just escape the promise and - // handle it separately. - process.nextTick(() => destroy.call(writable, error)); - } - } - - if (!closed) { - writer.close().then(done, done); - } - }, - }); - - writer.closed.then( - () => { - closed = true; - if (!isWritableEnded(writable)) { - destroy.call(writable, new ERR_STREAM_PREMATURE_CLOSE()); - } - }, - (error) => { - closed = true; - destroy.call(writable, error); - }, - ); - - return writable; -}; - -Duplex.fromWeb = function (pair, options = kEmptyObject) { - validateObject(pair, "pair"); - const { - readable: readableStream, - writable: writableStream, - } = pair; - - if (!isReadableStream(readableStream)) { - throw new ERR_INVALID_ARG_TYPE( - "pair.readable", - "ReadableStream", - readableStream, - ); - } - if (!isWritableStream(writableStream)) { - throw new ERR_INVALID_ARG_TYPE( - "pair.writable", - "WritableStream", - writableStream, - ); - } - - validateObject(options, "options"); - const { - allowHalfOpen = false, - objectMode = false, - encoding, - decodeStrings = true, - highWaterMark, - signal, - } = options; - - validateBoolean(objectMode, "options.objectMode"); - if (encoding !== undefined && !Buffer.isEncoding(encoding)) { - throw new ERR_INVALID_ARG_VALUE(encoding, "options.encoding"); - } - - const writer = writableStream.getWriter(); - const reader = readableStream.getReader(); - let writableClosed = false; - let readableClosed = false; - - const duplex = new Duplex({ - allowHalfOpen, - highWaterMark, - objectMode, - encoding, - decodeStrings, - signal, - - writev(chunks, callback) { - function done(error) { - error = error.filter((e) => e); - try { - callback(error.length === 0 ? undefined : error); - } catch (error) { - // In a next tick because this is happening within - // a promise context, and if there are any errors - // thrown we don't want those to cause an unhandled - // rejection. Let's just escape the promise and - // handle it separately. - process.nextTick(() => destroy(duplex, error)); - } - } - - writer.ready.then( - () => - Promise.all( - chunks.map((data) => writer.write(data.chunk)), - ).then(done, done), - done, - ); - }, - - write(chunk, encoding, callback) { - if (typeof chunk === "string" && decodeStrings && !objectMode) { - chunk = Buffer.from(chunk, encoding); - chunk = new Uint8Array( - chunk.buffer, - chunk.byteOffset, - chunk.byteLength, - ); - } - - function done(error) { - try { - callback(error); - } catch (error) { - destroy(duplex, error); - } - } - - writer.ready.then( - () => writer.write(chunk).then(done, done), - done, - ); - }, - - final(callback) { - function done(error) { - try { - callback(error); - } catch (error) { - // In a next tick because this is happening within - // a promise context, and if there are any errors - // thrown we don't want those to cause an unhandled - // rejection. Let's just escape the promise and - // handle it separately. - process.nextTick(() => destroy(duplex, error)); - } - } - - if (!writableClosed) { - writer.close().then(done, done); - } - }, - - read() { - reader.read().then( - (chunk) => { - if (chunk.done) { - duplex.push(null); - } else { - duplex.push(chunk.value); - } - }, - (error) => destroy(duplex, error), - ); - }, - - destroy(error, callback) { - function done() { - try { - callback(error); - } catch (error) { - // In a next tick because this is happening within - // a promise context, and if there are any errors - // thrown we don't want those to cause an unhandled - // rejection. Let's just escape the promise and - // handle it separately. - process.nextTick(() => { - throw error; - }); - } - } - - async function closeWriter() { - if (!writableClosed) { - await writer.abort(error); - } - } - - async function closeReader() { - if (!readableClosed) { - await reader.cancel(error); - } - } - - if (!writableClosed || !readableClosed) { - Promise.all([ - closeWriter(), - closeReader(), - ]).then(done, done); - return; - } - - done(); - }, - }); - - writer.closed.then( - () => { - writableClosed = true; - if (!isWritableEnded(duplex)) { - destroy(duplex, new ERR_STREAM_PREMATURE_CLOSE()); - } - }, - (error) => { - writableClosed = true; - readableClosed = true; - destroy(duplex, error); - }, - ); - - reader.closed.then( - () => { - readableClosed = true; - if (!isReadableEnded(duplex)) { - duplex.push(null); - } - }, - (error) => { - writableClosed = true; - readableClosed = true; - destroy(duplex, error); - }, - ); - - return duplex; -}; - -// readable-stream attaches these to Readable, but Node.js core does not. -// Delete them here to better match Node.js core. These can be removed once -// https://github.com/nodejs/readable-stream/issues/485 is resolved. -delete Readable.Duplex; -delete Readable.PassThrough; -delete Readable.Readable; -delete Readable.Stream; -delete Readable.Transform; -delete Readable.Writable; -delete Readable._isUint8Array; -delete Readable._uint8ArrayToBuffer; -delete Readable.addAbortSignal; -delete Readable.compose; -delete Readable.destroy; -delete Readable.finished; -delete Readable.isDisturbed; -delete Readable.isErrored; -delete Readable.isReadable; -delete Readable.pipeline; - -// The following code implements Readable.toWeb(), Writable.toWeb(), and -// Duplex.toWeb(). These functions are not properly implemented in the -// readable-stream module yet. This can be removed once the following upstream -// issue is resolved: https://github.com/nodejs/readable-stream/issues/482 -function newReadableStreamFromStreamReadable( - streamReadable, - options = kEmptyObject, -) { - // Not using the internal/streams/utils isReadableNodeStream utility - // here because it will return false if streamReadable is a Duplex - // whose readable option is false. For a Duplex that is not readable, - // we want it to pass this check but return a closed ReadableStream. - if (typeof streamReadable?._readableState !== "object") { - throw new ERR_INVALID_ARG_TYPE( - "streamReadable", - "stream.Readable", - streamReadable, - ); - } - - if (isDestroyed(streamReadable) || !isReadable(streamReadable)) { - const readable = new ReadableStream(); - readable.cancel(); - return readable; - } - - const objectMode = streamReadable.readableObjectMode; - const highWaterMark = streamReadable.readableHighWaterMark; - - const evaluateStrategyOrFallback = (strategy) => { - // If there is a strategy available, use it - if (strategy) { - return strategy; - } - - if (objectMode) { - // When running in objectMode explicitly but no strategy, we just fall - // back to CountQueuingStrategy - return new CountQueuingStrategy({ highWaterMark }); - } - - // When not running in objectMode explicitly, we just fall - // back to a minimal strategy that just specifies the highWaterMark - // and no size algorithm. Using a ByteLengthQueuingStrategy here - // is unnecessary. - return { highWaterMark }; - }; - - const strategy = evaluateStrategyOrFallback(options?.strategy); - - let controller; - - function onData(chunk) { - // Copy the Buffer to detach it from the pool. - if (Buffer.isBuffer(chunk) && !objectMode) { - chunk = new Uint8Array(chunk); - } - controller.enqueue(chunk); - if (controller.desiredSize <= 0) { - streamReadable.pause(); - } - } - - streamReadable.pause(); - - const cleanup = finished(streamReadable, (error) => { - if (error?.code === "ERR_STREAM_PREMATURE_CLOSE") { - const err = new AbortError(undefined, { cause: error }); - error = err; - } - - cleanup(); - // This is a protection against non-standard, legacy streams - // that happen to emit an error event again after finished is called. - streamReadable.on("error", () => {}); - if (error) { - return controller.error(error); - } - controller.close(); - }); - - streamReadable.on("data", onData); - - return new ReadableStream({ - start(c) { - controller = c; - }, - - pull() { - streamReadable.resume(); - }, - - cancel(reason) { - destroy(streamReadable, reason); - }, - }, strategy); -} - -function newWritableStreamFromStreamWritable(streamWritable) { - // Not using the internal/streams/utils isWritableNodeStream utility - // here because it will return false if streamWritable is a Duplex - // whose writable option is false. For a Duplex that is not writable, - // we want it to pass this check but return a closed WritableStream. - if (typeof streamWritable?._writableState !== "object") { - throw new ERR_INVALID_ARG_TYPE( - "streamWritable", - "stream.Writable", - streamWritable, - ); - } - - if (isDestroyed(streamWritable) || !isWritable(streamWritable)) { - const writable = new WritableStream(); - writable.close(); - return writable; - } - - const highWaterMark = streamWritable.writableHighWaterMark; - const strategy = streamWritable.writableObjectMode - ? new CountQueuingStrategy({ highWaterMark }) - : { highWaterMark }; - - let controller; - let backpressurePromise; - let closed; - - function onDrain() { - if (backpressurePromise !== undefined) { - backpressurePromise.resolve(); - } - } - - const cleanup = finished(streamWritable, (error) => { - if (error?.code === "ERR_STREAM_PREMATURE_CLOSE") { - const err = new AbortError(undefined, { cause: error }); - error = err; - } - - cleanup(); - // This is a protection against non-standard, legacy streams - // that happen to emit an error event again after finished is called. - streamWritable.on("error", () => {}); - if (error != null) { - if (backpressurePromise !== undefined) { - backpressurePromise.reject(error); - } - // If closed is not undefined, the error is happening - // after the WritableStream close has already started. - // We need to reject it here. - if (closed !== undefined) { - closed.reject(error); - closed = undefined; - } - controller.error(error); - controller = undefined; - return; - } - - if (closed !== undefined) { - closed.resolve(); - closed = undefined; - return; - } - controller.error(new AbortError()); - controller = undefined; - }); - - streamWritable.on("drain", onDrain); - - return new WritableStream({ - start(c) { - controller = c; - }, - - async write(chunk) { - if (streamWritable.writableNeedDrain || !streamWritable.write(chunk)) { - backpressurePromise = createDeferredPromise(); - return backpressurePromise.promise.finally(() => { - backpressurePromise = undefined; - }); - } - }, - - abort(reason) { - destroy(streamWritable, reason); - }, - - close() { - if (closed === undefined && !isWritableEnded(streamWritable)) { - closed = createDeferredPromise(); - streamWritable.end(); - return closed.promise; - } - - controller = undefined; - return Promise.resolve(); - }, - }, strategy); -} - -function newReadableWritablePairFromDuplex(duplex) { - // Not using the internal/streams/utils isWritableNodeStream and - // isReadableNodestream utilities here because they will return false - // if the duplex was created with writable or readable options set to - // false. Instead, we'll check the readable and writable state after - // and return closed WritableStream or closed ReadableStream as - // necessary. - if ( - typeof duplex?._writableState !== "object" || - typeof duplex?._readableState !== "object" - ) { - throw new ERR_INVALID_ARG_TYPE("duplex", "stream.Duplex", duplex); - } - - if (isDestroyed(duplex)) { - const writable = new WritableStream(); - const readable = new ReadableStream(); - writable.close(); - readable.cancel(); - return { readable, writable }; - } - - const writable = isWritable(duplex) - ? newWritableStreamFromStreamWritable(duplex) - : new WritableStream(); - - if (!isWritable(duplex)) { - writable.close(); - } - - const readable = isReadable(duplex) - ? newReadableStreamFromStreamReadable(duplex) - : new ReadableStream(); - - if (!isReadable(duplex)) { - readable.cancel(); - } - - return { writable, readable }; -} - -Readable.toWeb = newReadableStreamFromStreamReadable; -Writable.toWeb = newWritableStreamFromStreamWritable; -Duplex.toWeb = newReadableWritablePairFromDuplex; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts deleted file mode 100644 index 04e43f3..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// -// Adapted from Node.js. Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// These are simplified versions of the "real" errors in Node. - -import { nextTick } from "../_next_tick.ts"; - -class NodeFalsyValueRejectionError extends Error { - public reason: unknown; - public code = "ERR_FALSY_VALUE_REJECTION"; - constructor(reason: unknown) { - super("Promise was rejected with falsy value"); - this.reason = reason; - } -} -class NodeInvalidArgTypeError extends TypeError { - public code = "ERR_INVALID_ARG_TYPE"; - constructor(argumentName: string) { - super(`The ${argumentName} argument must be of type function.`); - } -} - -type Callback = - | ((err: Error) => void) - | ((err: null, result: ResultT) => void); - -function callbackify( - fn: () => PromiseLike, -): (callback: Callback) => void; -function callbackify( - fn: (arg: ArgT) => PromiseLike, -): (arg: ArgT, callback: Callback) => void; -function callbackify( - fn: (arg1: Arg1T, arg2: Arg2T) => PromiseLike, -): (arg1: Arg1T, arg2: Arg2T, callback: Callback) => void; -function callbackify( - fn: (arg1: Arg1T, arg2: Arg2T, arg3: Arg3T) => PromiseLike, -): (arg1: Arg1T, arg2: Arg2T, arg3: Arg3T, callback: Callback) => void; -function callbackify( - fn: ( - arg1: Arg1T, - arg2: Arg2T, - arg3: Arg3T, - arg4: Arg4T, - ) => PromiseLike, -): ( - arg1: Arg1T, - arg2: Arg2T, - arg3: Arg3T, - arg4: Arg4T, - callback: Callback, -) => void; -function callbackify( - fn: ( - arg1: Arg1T, - arg2: Arg2T, - arg3: Arg3T, - arg4: Arg4T, - arg5: Arg5T, - ) => PromiseLike, -): ( - arg1: Arg1T, - arg2: Arg2T, - arg3: Arg3T, - arg4: Arg4T, - arg5: Arg5T, - callback: Callback, -) => void; - -function callbackify( - original: (...args: unknown[]) => PromiseLike, -): (...args: unknown[]) => void { - if (typeof original !== "function") { - throw new NodeInvalidArgTypeError('"original"'); - } - - const callbackified = function (this: unknown, ...args: unknown[]) { - const maybeCb = args.pop(); - if (typeof maybeCb !== "function") { - throw new NodeInvalidArgTypeError("last"); - } - const cb = (...args: unknown[]) => { - maybeCb.apply(this, args); - }; - original.apply(this, args).then( - (ret: unknown) => { - nextTick(cb.bind(this, null, ret)); - }, - (rej: unknown) => { - rej = rej || new NodeFalsyValueRejectionError(rej); - nextTick(cb.bind(this, rej)); - }, - ); - }; - - const descriptors = Object.getOwnPropertyDescriptors(original); - // It is possible to manipulate a functions `length` or `name` property. This - // guards against the manipulation. - if (typeof descriptors.length.value === "number") { - descriptors.length.value++; - } - if (typeof descriptors.name.value === "string") { - descriptors.name.value += "Callbackified"; - } - Object.defineProperties(callbackified, descriptors); - return callbackified; -} - -export { callbackify }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_utils.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_utils.ts deleted file mode 100644 index 15e632e..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/_utils.ts +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -import { errorMap } from "./internal_binding/uv.ts"; -import { codes } from "./internal/error_codes.ts"; - -export type BinaryEncodings = "binary"; - -export type TextEncodings = - | "ascii" - | "utf8" - | "utf-8" - | "utf16le" - | "ucs2" - | "ucs-2" - | "base64" - | "latin1" - | "hex"; - -export type Encodings = BinaryEncodings | TextEncodings; - -export function notImplemented(msg: string): never { - const message = msg ? `Not implemented: ${msg}` : "Not implemented"; - throw new Error(message); -} - -export function warnNotImplemented(msg?: string) { - const message = msg - ? `Warning: Not implemented: ${msg}` - : "Warning: Not implemented"; - console.warn(message); -} - -export type _TextDecoder = typeof TextDecoder.prototype; -export const _TextDecoder = TextDecoder; - -export type _TextEncoder = typeof TextEncoder.prototype; -export const _TextEncoder = TextEncoder; - -// API helpers - -export type MaybeNull = T | null; -export type MaybeDefined = T | undefined; -export type MaybeEmpty = T | null | undefined; - -export function intoCallbackAPI( - // deno-lint-ignore no-explicit-any - func: (...args: any[]) => Promise, - cb: MaybeEmpty<(err: MaybeNull, value?: MaybeEmpty) => void>, - // deno-lint-ignore no-explicit-any - ...args: any[] -) { - func(...args).then( - (value) => cb && cb(null, value), - (err) => cb && cb(err), - ); -} - -export function intoCallbackAPIWithIntercept( - // deno-lint-ignore no-explicit-any - func: (...args: any[]) => Promise, - interceptor: (v: T1) => T2, - cb: MaybeEmpty<(err: MaybeNull, value?: MaybeEmpty) => void>, - // deno-lint-ignore no-explicit-any - ...args: any[] -) { - func(...args).then( - (value) => cb && cb(null, interceptor(value)), - (err) => cb && cb(err), - ); -} - -export function spliceOne(list: string[], index: number) { - for (; index + 1 < list.length; index++) list[index] = list[index + 1]; - list.pop(); -} - -// Taken from: https://github.com/nodejs/node/blob/ba684805b6c0eded76e5cd89ee00328ac7a59365/lib/internal/util.js#L125 -// Return undefined if there is no match. -// Move the "slow cases" to a separate function to make sure this function gets -// inlined properly. That prioritizes the common case. -export function normalizeEncoding( - enc: string | null, -): TextEncodings | undefined { - if (enc == null || enc === "utf8" || enc === "utf-8") return "utf8"; - return slowCases(enc); -} - -// https://github.com/nodejs/node/blob/ba684805b6c0eded76e5cd89ee00328ac7a59365/lib/internal/util.js#L130 -function slowCases(enc: string): TextEncodings | undefined { - switch (enc.length) { - case 4: - if (enc === "UTF8") return "utf8"; - if (enc === "ucs2" || enc === "UCS2") return "utf16le"; - enc = `${enc}`.toLowerCase(); - if (enc === "utf8") return "utf8"; - if (enc === "ucs2") return "utf16le"; - break; - case 3: - if (enc === "hex" || enc === "HEX" || `${enc}`.toLowerCase() === "hex") { - return "hex"; - } - break; - case 5: - if (enc === "ascii") return "ascii"; - if (enc === "ucs-2") return "utf16le"; - if (enc === "UTF-8") return "utf8"; - if (enc === "ASCII") return "ascii"; - if (enc === "UCS-2") return "utf16le"; - enc = `${enc}`.toLowerCase(); - if (enc === "utf-8") return "utf8"; - if (enc === "ascii") return "ascii"; - if (enc === "ucs-2") return "utf16le"; - break; - case 6: - if (enc === "base64") return "base64"; - if (enc === "latin1" || enc === "binary") return "latin1"; - if (enc === "BASE64") return "base64"; - if (enc === "LATIN1" || enc === "BINARY") return "latin1"; - enc = `${enc}`.toLowerCase(); - if (enc === "base64") return "base64"; - if (enc === "latin1" || enc === "binary") return "latin1"; - break; - case 7: - if ( - enc === "utf16le" || - enc === "UTF16LE" || - `${enc}`.toLowerCase() === "utf16le" - ) { - return "utf16le"; - } - break; - case 8: - if ( - enc === "utf-16le" || - enc === "UTF-16LE" || - `${enc}`.toLowerCase() === "utf-16le" - ) { - return "utf16le"; - } - break; - default: - if (enc === "") return "utf8"; - } -} - -export function validateIntegerRange( - value: number, - name: string, - min = -2147483648, - max = 2147483647, -) { - // The defaults for min and max correspond to the limits of 32-bit integers. - if (!Number.isInteger(value)) { - throw new Error(`${name} must be 'an integer' but was ${value}`); - } - - if (value < min || value > max) { - throw new Error( - `${name} must be >= ${min} && <= ${max}. Value was ${value}`, - ); - } -} - -type OptionalSpread = T extends undefined ? [] - : [T]; - -export function once( - callback: (...args: OptionalSpread) => void, -) { - let called = false; - return function (this: unknown, ...args: OptionalSpread) { - if (called) return; - called = true; - callback.apply(this, args); - }; -} - -export function makeMethodsEnumerable(klass: { new (): unknown }) { - const proto = klass.prototype; - for (const key of Object.getOwnPropertyNames(proto)) { - const value = proto[key]; - if (typeof value === "function") { - const desc = Reflect.getOwnPropertyDescriptor(proto, key); - if (desc) { - desc.enumerable = true; - Object.defineProperty(proto, key, desc); - } - } - } -} - -const NumberIsSafeInteger = Number.isSafeInteger; - -/** - * Returns a system error name from an error code number. - * @param code error code number - */ -export function getSystemErrorName(code: number): string | undefined { - if (typeof code !== "number") { - throw new codes.ERR_INVALID_ARG_TYPE("err", "number", code); - } - if (code >= 0 || !NumberIsSafeInteger(code)) { - throw new codes.ERR_OUT_OF_RANGE("err", "a negative integer", code); - } - return errorMap.get(code)?.[0]; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/assert.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/assert.ts deleted file mode 100644 index d88ba19..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/assert.ts +++ /dev/null @@ -1,940 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// deno-lint-ignore-file ban-types -import { - AssertionError, - AssertionErrorConstructorOptions, -} from "./assertion_error.ts"; -import * as asserts from "../testing/asserts.ts"; -import { inspect } from "./util.ts"; -import { - ERR_AMBIGUOUS_ARGUMENT, - ERR_INVALID_ARG_TYPE, - ERR_INVALID_ARG_VALUE, - ERR_INVALID_RETURN_VALUE, - ERR_MISSING_ARGS, -} from "./internal/errors.ts"; -import { isDeepEqual } from "./internal/util/comparisons.ts"; - -function innerFail(obj: { - actual?: unknown; - expected?: unknown; - message?: string | Error; - operator?: string; -}) { - if (obj.message instanceof Error) { - throw obj.message; - } - - throw new AssertionError({ - actual: obj.actual, - expected: obj.expected, - message: obj.message, - operator: obj.operator, - }); -} - -interface ExtendedAssertionErrorConstructorOptions - extends AssertionErrorConstructorOptions { - generatedMessage?: boolean; -} - -// TODO(uki00a): This function is a workaround for setting the `generatedMessage` property flexibly. -function createAssertionError( - options: ExtendedAssertionErrorConstructorOptions, -): AssertionError { - const error = new AssertionError(options); - if (options.generatedMessage) { - error.generatedMessage = true; - } - return error; -} - -/** Converts the std assertion error to node.js assertion error */ -function toNode( - fn: () => void, - opts?: { - actual: unknown; - expected: unknown; - message?: string | Error; - operator?: string; - }, -) { - const { operator, message, actual, expected } = opts || {}; - try { - fn(); - } catch (e) { - if (e instanceof asserts.AssertionError) { - if (typeof message === "string") { - throw new AssertionError({ - operator, - message, - actual, - expected, - }); - } else if (message instanceof Error) { - throw message; - } else { - throw new AssertionError({ - operator, - message: e.message, - actual, - expected, - }); - } - } - throw e; - } -} - -function assert(actual: unknown, message?: string | Error): asserts actual { - if (arguments.length === 0) { - throw new AssertionError({ - message: "No value argument passed to `assert.ok()`", - }); - } - toNode( - () => asserts.assert(actual), - { message, actual, expected: true }, - ); -} -const ok = assert; - -function throws( - fn: () => void, - error?: RegExp | Function | Error, - message?: string, -) { - // Check arg types - if (typeof fn !== "function") { - throw new ERR_INVALID_ARG_TYPE("fn", "function", fn); - } - if ( - typeof error === "object" && error !== null && - Object.getPrototypeOf(error) === Object.prototype && - Object.keys(error).length === 0 - ) { - // error is an empty object - throw new ERR_INVALID_ARG_VALUE( - "error", - error, - "may not be an empty object", - ); - } - if (typeof message === "string") { - if ( - !(error instanceof RegExp) && typeof error !== "function" && - !(error instanceof Error) && typeof error !== "object" - ) { - throw new ERR_INVALID_ARG_TYPE("error", [ - "Function", - "Error", - "RegExp", - "Object", - ], error); - } - } else { - if ( - typeof error !== "undefined" && typeof error !== "string" && - !(error instanceof RegExp) && typeof error !== "function" && - !(error instanceof Error) && typeof error !== "object" - ) { - throw new ERR_INVALID_ARG_TYPE("error", [ - "Function", - "Error", - "RegExp", - "Object", - ], error); - } - } - - // Checks test function - try { - fn(); - } catch (e) { - if ( - validateThrownError(e, error, message, { - operator: throws, - }) - ) { - return; - } - } - if (message) { - let msg = `Missing expected exception: ${message}`; - if (typeof error === "function" && error?.name) { - msg = `Missing expected exception (${error.name}): ${message}`; - } - throw new AssertionError({ - message: msg, - operator: "throws", - actual: undefined, - expected: error, - }); - } else if (typeof error === "string") { - // Use case of throws(fn, message) - throw new AssertionError({ - message: `Missing expected exception: ${error}`, - operator: "throws", - actual: undefined, - expected: undefined, - }); - } else if (typeof error === "function" && error?.prototype !== undefined) { - throw new AssertionError({ - message: `Missing expected exception (${error.name}).`, - operator: "throws", - actual: undefined, - expected: error, - }); - } else { - throw new AssertionError({ - message: "Missing expected exception.", - operator: "throws", - actual: undefined, - expected: error, - }); - } -} - -function doesNotThrow( - fn: () => void, - message?: string, -): void; -function doesNotThrow( - fn: () => void, - error?: Function, - message?: string | Error, -): void; -function doesNotThrow( - fn: () => void, - error?: RegExp, - message?: string, -): void; -function doesNotThrow( - fn: () => void, - expected?: Function | RegExp | string, - message?: string | Error, -) { - // Check arg type - if (typeof fn !== "function") { - throw new ERR_INVALID_ARG_TYPE("fn", "function", fn); - } else if ( - !(expected instanceof RegExp) && typeof expected !== "function" && - typeof expected !== "string" && typeof expected !== "undefined" - ) { - throw new ERR_INVALID_ARG_TYPE("expected", ["Function", "RegExp"], fn); - } - - // Checks test function - try { - fn(); - } catch (e) { - gotUnwantedException(e, expected, message, doesNotThrow); - } -} - -function equal( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - if (actual == expected) { - return; - } - - if (Number.isNaN(actual) && Number.isNaN(expected)) { - return; - } - - if (typeof message === "string") { - throw new AssertionError({ - message, - }); - } else if (message instanceof Error) { - throw message; - } - - toNode( - () => asserts.assertStrictEquals(actual, expected), - { - message: message || `${actual} == ${expected}`, - operator: "==", - actual, - expected, - }, - ); -} -function notEqual( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - if (Number.isNaN(actual) && Number.isNaN(expected)) { - throw new AssertionError({ - message: `${actual} != ${expected}`, - operator: "!=", - actual, - expected, - }); - } - if (actual != expected) { - return; - } - - if (typeof message === "string") { - throw new AssertionError({ - message, - }); - } else if (message instanceof Error) { - throw message; - } - - toNode( - () => asserts.assertNotStrictEquals(actual, expected), - { - message: message || `${actual} != ${expected}`, - operator: "!=", - actual, - expected, - }, - ); -} -function strictEqual( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - toNode( - () => asserts.assertStrictEquals(actual, expected), - { message, operator: "strictEqual", actual, expected }, - ); -} -function notStrictEqual( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - toNode( - () => asserts.assertNotStrictEquals(actual, expected), - { message, actual, expected, operator: "notStrictEqual" }, - ); -} - -function deepEqual( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - if (!isDeepEqual(actual, expected)) { - innerFail({ actual, expected, message, operator: "deepEqual" }); - } -} -function notDeepEqual( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - if (isDeepEqual(actual, expected)) { - innerFail({ actual, expected, message, operator: "notDeepEqual" }); - } -} -function deepStrictEqual( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - toNode( - () => asserts.assertEquals(actual, expected), - { message, actual, expected, operator: "deepStrictEqual" }, - ); -} -function notDeepStrictEqual( - actual: unknown, - expected: unknown, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "expected"); - } - - toNode( - () => asserts.assertNotEquals(actual, expected), - { message, actual, expected, operator: "deepNotStrictEqual" }, - ); -} - -function fail(message?: string | Error): never { - if (typeof message === "string" || message == null) { - throw createAssertionError({ - message: message ?? "Failed", - operator: "fail", - generatedMessage: message == null, - }); - } else { - throw message; - } -} -function match(actual: string, regexp: RegExp, message?: string | Error) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("actual", "regexp"); - } - if (!(regexp instanceof RegExp)) { - throw new ERR_INVALID_ARG_TYPE("regexp", "RegExp", regexp); - } - - toNode( - () => asserts.assertMatch(actual, regexp), - { message, actual, expected: regexp, operator: "match" }, - ); -} - -function doesNotMatch( - string: string, - regexp: RegExp, - message?: string | Error, -) { - if (arguments.length < 2) { - throw new ERR_MISSING_ARGS("string", "regexp"); - } - if (!(regexp instanceof RegExp)) { - throw new ERR_INVALID_ARG_TYPE("regexp", "RegExp", regexp); - } - if (typeof string !== "string") { - if (message instanceof Error) { - throw message; - } - throw new AssertionError({ - message: message || - `The "string" argument must be of type string. Received type ${typeof string} (${ - inspect(string) - })`, - actual: string, - expected: regexp, - operator: "doesNotMatch", - }); - } - - toNode( - () => asserts.assertNotMatch(string, regexp), - { message, actual: string, expected: regexp, operator: "doesNotMatch" }, - ); -} - -function strict(actual: unknown, message?: string | Error): asserts actual { - if (arguments.length === 0) { - throw new AssertionError({ - message: "No value argument passed to `assert.ok()`", - }); - } - assert(actual, message); -} - -function rejects( - // deno-lint-ignore no-explicit-any - asyncFn: Promise | (() => Promise), - error?: RegExp | Function | Error, -): Promise; - -function rejects( - // deno-lint-ignore no-explicit-any - asyncFn: Promise | (() => Promise), - message?: string, -): Promise; - -// Intentionally avoid using async/await because test-assert-async.js requires it -function rejects( - // deno-lint-ignore no-explicit-any - asyncFn: Promise | (() => Promise), - error?: RegExp | Function | Error | string, - message?: string, -) { - let promise: Promise; - if (typeof asyncFn === "function") { - try { - promise = asyncFn(); - } catch (err) { - // If `asyncFn` throws an error synchronously, this function returns a rejected promise. - return Promise.reject(err); - } - - if (!isValidThenable(promise)) { - return Promise.reject( - new ERR_INVALID_RETURN_VALUE( - "instance of Promise", - "promiseFn", - promise, - ), - ); - } - } else if (!isValidThenable(asyncFn)) { - return Promise.reject( - new ERR_INVALID_ARG_TYPE("promiseFn", ["function", "Promise"], asyncFn), - ); - } else { - promise = asyncFn; - } - - function onFulfilled() { - let message = "Missing expected rejection"; - if (typeof error === "string") { - message += `: ${error}`; - } else if (typeof error === "function" && error.prototype !== undefined) { - message += ` (${error.name}).`; - } else { - message += "."; - } - return Promise.reject(createAssertionError({ - message, - operator: "rejects", - generatedMessage: true, - })); - } - - // deno-lint-ignore camelcase - function rejects_onRejected(e: Error) { // TODO(uki00a): In order to `test-assert-async.js` pass, intentionally adds `rejects_` as a prefix. - if ( - validateThrownError(e, error, message, { - operator: rejects, - validationFunctionName: "validate", - }) - ) { - return; - } - } - - return promise.then(onFulfilled, rejects_onRejected); -} - -function doesNotReject( - // deno-lint-ignore no-explicit-any - asyncFn: Promise | (() => Promise), - error?: RegExp | Function, -): Promise; - -function doesNotReject( - // deno-lint-ignore no-explicit-any - asyncFn: Promise | (() => Promise), - message?: string, -): Promise; - -// Intentionally avoid using async/await because test-assert-async.js requires it -function doesNotReject( - // deno-lint-ignore no-explicit-any - asyncFn: Promise | (() => Promise), - error?: RegExp | Function | string, - message?: string, -) { - // deno-lint-ignore no-explicit-any - let promise: Promise; - if (typeof asyncFn === "function") { - try { - const value = asyncFn(); - if (!isValidThenable(value)) { - return Promise.reject( - new ERR_INVALID_RETURN_VALUE( - "instance of Promise", - "promiseFn", - value, - ), - ); - } - promise = value; - } catch (e) { - // If `asyncFn` throws an error synchronously, this function returns a rejected promise. - return Promise.reject(e); - } - } else if (!isValidThenable(asyncFn)) { - return Promise.reject( - new ERR_INVALID_ARG_TYPE("promiseFn", ["function", "Promise"], asyncFn), - ); - } else { - promise = asyncFn; - } - - return promise.then( - () => {}, - (e) => gotUnwantedException(e, error, message, doesNotReject), - ); -} - -function gotUnwantedException( - // deno-lint-ignore no-explicit-any - e: any, - expected: RegExp | Function | string | null | undefined, - message: string | Error | null | undefined, - operator: Function, -): never { - if (typeof expected === "string") { - // The use case of doesNotThrow(fn, message); - throw new AssertionError({ - message: - `Got unwanted exception: ${expected}\nActual message: "${e.message}"`, - operator: operator.name, - }); - } else if ( - typeof expected === "function" && expected.prototype !== undefined - ) { - // The use case of doesNotThrow(fn, Error, message); - if (e instanceof expected) { - let msg = `Got unwanted exception: ${e.constructor?.name}`; - if (message) { - msg += ` ${String(message)}`; - } - throw new AssertionError({ - message: msg, - operator: operator.name, - }); - } else if (expected.prototype instanceof Error) { - throw e; - } else { - const result = expected(e); - if (result === true) { - let msg = `Got unwanted rejection.\nActual message: "${e.message}"`; - if (message) { - msg += ` ${String(message)}`; - } - throw new AssertionError({ - message: msg, - operator: operator.name, - }); - } - } - throw e; - } else { - if (message) { - throw new AssertionError({ - message: `Got unwanted exception: ${message}\nActual message: "${ - e ? e.message : String(e) - }"`, - operator: operator.name, - }); - } - throw new AssertionError({ - message: `Got unwanted exception.\nActual message: "${ - e ? e.message : String(e) - }"`, - operator: operator.name, - }); - } -} - -/** - * Throws `value` if the value is not `null` or `undefined`. - * - * @param err - */ -// deno-lint-ignore no-explicit-any -function ifError(err: any) { - if (err !== null && err !== undefined) { - let message = "ifError got unwanted exception: "; - - if (typeof err === "object" && typeof err.message === "string") { - if (err.message.length === 0 && err.constructor) { - message += err.constructor.name; - } else { - message += err.message; - } - } else { - message += inspect(err); - } - - const newErr = new AssertionError({ - actual: err, - expected: null, - operator: "ifError", - message, - stackStartFn: ifError, - }); - - // Make sure we actually have a stack trace! - const origStack = err.stack; - - if (typeof origStack === "string") { - // This will remove any duplicated frames from the error frames taken - // from within `ifError` and add the original error frames to the newly - // created ones. - const tmp2 = origStack.split("\n"); - tmp2.shift(); - - // Filter all frames existing in err.stack. - let tmp1 = newErr!.stack?.split("\n"); - - for (const errFrame of tmp2) { - // Find the first occurrence of the frame. - const pos = tmp1?.indexOf(errFrame); - - if (pos !== -1) { - // Only keep new frames. - tmp1 = tmp1?.slice(0, pos); - - break; - } - } - - newErr.stack = `${tmp1?.join("\n")}\n${tmp2.join("\n")}`; - } - - throw newErr; - } -} - -interface ValidateThrownErrorOptions { - operator: Function; - validationFunctionName?: string; -} - -function validateThrownError( - // deno-lint-ignore no-explicit-any - e: any, - error: RegExp | Function | Error | string | null | undefined, - message: string | undefined | null, - options: ValidateThrownErrorOptions, -): boolean { - if (typeof error === "string") { - if (message != null) { - throw new ERR_INVALID_ARG_TYPE( - "error", - ["Object", "Error", "Function", "RegExp"], - error, - ); - } else if (typeof e === "object" && e !== null) { - if (e.message === error) { - throw new ERR_AMBIGUOUS_ARGUMENT( - "error/message", - `The error message "${e.message}" is identical to the message.`, - ); - } - } else if (e === error) { - throw new ERR_AMBIGUOUS_ARGUMENT( - "error/message", - `The error "${e}" is identical to the message.`, - ); - } - message = error; - error = undefined; - } - if ( - error instanceof Function && error.prototype !== undefined && - error.prototype instanceof Error - ) { - // error is a constructor - if (e instanceof error) { - return true; - } - throw createAssertionError({ - message: - `The error is expected to be an instance of "${error.name}". Received "${e?.constructor?.name}"\n\nError message:\n\n${e?.message}`, - actual: e, - expected: error, - operator: options.operator.name, - generatedMessage: true, - }); - } - if (error instanceof Function) { - const received = error(e); - if (received === true) { - return true; - } - throw createAssertionError({ - message: `The ${ - options.validationFunctionName - ? `"${options.validationFunctionName}" validation` - : "validation" - } function is expected to return "true". Received ${ - inspect(received) - }\n\nCaught error:\n\n${e}`, - actual: e, - expected: error, - operator: options.operator.name, - generatedMessage: true, - }); - } - if (error instanceof RegExp) { - if (error.test(String(e))) { - return true; - } - throw createAssertionError({ - message: - `The input did not match the regular expression ${error.toString()}. Input:\n\n'${ - String(e) - }'\n`, - actual: e, - expected: error, - operator: options.operator.name, - generatedMessage: true, - }); - } - if (typeof error === "object" && error !== null) { - const keys = Object.keys(error); - if (error instanceof Error) { - keys.push("name", "message"); - } - for (const k of keys) { - if (e == null) { - throw createAssertionError({ - message: message || "object is expected to thrown, but got null", - actual: e, - expected: error, - operator: options.operator.name, - generatedMessage: message == null, - }); - } - - if (typeof e === "string") { - throw createAssertionError({ - message: message || - `object is expected to thrown, but got string: ${e}`, - actual: e, - expected: error, - operator: options.operator.name, - generatedMessage: message == null, - }); - } - if (typeof e === "number") { - throw createAssertionError({ - message: message || - `object is expected to thrown, but got number: ${e}`, - actual: e, - expected: error, - operator: options.operator.name, - generatedMessage: message == null, - }); - } - if (!(k in e)) { - throw createAssertionError({ - message: message || `A key in the expected object is missing: ${k}`, - actual: e, - expected: error, - operator: options.operator.name, - generatedMessage: message == null, - }); - } - const actual = e[k]; - // deno-lint-ignore no-explicit-any - const expected = (error as any)[k]; - if (typeof actual === "string" && expected instanceof RegExp) { - match(actual, expected); - } else { - deepStrictEqual(actual, expected); - } - } - return true; - } - if (typeof error === "undefined") { - return true; - } - throw createAssertionError({ - message: `Invalid expectation: ${error}`, - operator: options.operator.name, - generatedMessage: true, - }); -} - -// deno-lint-ignore no-explicit-any -function isValidThenable(maybeThennable: any): boolean { - if (!maybeThennable) { - return false; - } - - if (maybeThennable instanceof Promise) { - return true; - } - - const isThenable = typeof maybeThennable.then === "function" && - typeof maybeThennable.catch === "function"; - - return isThenable && typeof maybeThennable !== "function"; -} - -Object.assign(strict, { - AssertionError, - deepEqual: deepStrictEqual, - deepStrictEqual, - doesNotMatch, - doesNotReject, - doesNotThrow, - equal: strictEqual, - fail, - ifError, - match, - notDeepEqual: notDeepStrictEqual, - notDeepStrictEqual, - notEqual: notStrictEqual, - notStrictEqual, - ok, - rejects, - strict, - strictEqual, - throws, -}); - -export default Object.assign(assert, { - AssertionError, - deepEqual, - deepStrictEqual, - doesNotMatch, - doesNotReject, - doesNotThrow, - equal, - fail, - ifError, - match, - notDeepEqual, - notDeepStrictEqual, - notEqual, - notStrictEqual, - ok, - rejects, - strict, - strictEqual, - throws, -}); - -export { - AssertionError, - deepEqual, - deepStrictEqual, - doesNotMatch, - doesNotReject, - doesNotThrow, - equal, - fail, - ifError, - match, - notDeepEqual, - notDeepStrictEqual, - notEqual, - notStrictEqual, - ok, - rejects, - strict, - strictEqual, - throws, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/assertion_error.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/assertion_error.ts deleted file mode 100644 index 13c1b4a..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/assertion_error.ts +++ /dev/null @@ -1,579 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -// Adapted from Node.js. Copyright Joyent, Inc. and other Node contributors. - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import { inspect } from "./util.ts"; -import { stripColor as removeColors } from "../fmt/colors.ts"; - -function getConsoleWidth(): number { - try { - return Deno.consoleSize().columns; - } catch { - return 80; - } -} - -// TODO(schwarzkopfb): we should implement Node's concept of "primordials" -// Ref: https://github.com/denoland/deno/issues/6040#issuecomment-637305828 -const MathMax = Math.max; -const { Error } = globalThis; -const { - create: ObjectCreate, - defineProperty: ObjectDefineProperty, - getPrototypeOf: ObjectGetPrototypeOf, - getOwnPropertyDescriptor: ObjectGetOwnPropertyDescriptor, - keys: ObjectKeys, -} = Object; - -import { ERR_INVALID_ARG_TYPE } from "./internal/errors.ts"; - -let blue = ""; -let green = ""; -let red = ""; -let defaultColor = ""; - -const kReadableOperator: { [key: string]: string } = { - deepStrictEqual: "Expected values to be strictly deep-equal:", - strictEqual: "Expected values to be strictly equal:", - strictEqualObject: 'Expected "actual" to be reference-equal to "expected":', - deepEqual: "Expected values to be loosely deep-equal:", - notDeepStrictEqual: 'Expected "actual" not to be strictly deep-equal to:', - notStrictEqual: 'Expected "actual" to be strictly unequal to:', - notStrictEqualObject: - 'Expected "actual" not to be reference-equal to "expected":', - notDeepEqual: 'Expected "actual" not to be loosely deep-equal to:', - notIdentical: "Values have same structure but are not reference-equal:", - notDeepEqualUnequal: "Expected values not to be loosely deep-equal:", -}; - -// Comparing short primitives should just show === / !== instead of using the -// diff. -const kMaxShortLength = 12; - -export function copyError(source: Error): Error { - const keys = ObjectKeys(source); - const target = ObjectCreate(ObjectGetPrototypeOf(source)); - for (const key of keys) { - const desc = ObjectGetOwnPropertyDescriptor(source, key); - - if (desc !== undefined) { - ObjectDefineProperty(target, key, desc); - } - } - ObjectDefineProperty(target, "message", { value: source.message }); - return target; -} - -export function inspectValue(val: unknown): string { - // The util.inspect default values could be changed. This makes sure the - // error messages contain the necessary information nevertheless. - return inspect( - val, - { - compact: true, - customInspect: false, - depth: 1000, - maxArrayLength: Infinity, - // Assert compares only enumerable properties (with a few exceptions). - showHidden: false, - // Assert does not detect proxies currently. - showProxy: false, - sorted: true, - // Inspect getters as we also check them when comparing entries. - getters: true, - }, - ); -} - -export function createErrDiff( - actual: unknown, - expected: unknown, - operator: string, -): string { - let other = ""; - let res = ""; - let end = ""; - let skipped = false; - const actualInspected = inspectValue(actual); - const actualLines = actualInspected.split("\n"); - const expectedLines = inspectValue(expected).split("\n"); - - let i = 0; - let indicator = ""; - - // In case both values are objects or functions explicitly mark them as not - // reference equal for the `strictEqual` operator. - if ( - operator === "strictEqual" && - ((typeof actual === "object" && actual !== null && - typeof expected === "object" && expected !== null) || - (typeof actual === "function" && typeof expected === "function")) - ) { - operator = "strictEqualObject"; - } - - // If "actual" and "expected" fit on a single line and they are not strictly - // equal, check further special handling. - if ( - actualLines.length === 1 && expectedLines.length === 1 && - actualLines[0] !== expectedLines[0] - ) { - // Check for the visible length using the `removeColors()` function, if - // appropriate. - const c = inspect.defaultOptions.colors; - const actualRaw = c ? removeColors(actualLines[0]) : actualLines[0]; - const expectedRaw = c ? removeColors(expectedLines[0]) : expectedLines[0]; - const inputLength = actualRaw.length + expectedRaw.length; - // If the character length of "actual" and "expected" together is less than - // kMaxShortLength and if neither is an object and at least one of them is - // not `zero`, use the strict equal comparison to visualize the output. - if (inputLength <= kMaxShortLength) { - if ( - (typeof actual !== "object" || actual === null) && - (typeof expected !== "object" || expected === null) && - (actual !== 0 || expected !== 0) - ) { // -0 === +0 - return `${kReadableOperator[operator]}\n\n` + - `${actualLines[0]} !== ${expectedLines[0]}\n`; - } - } else if (operator !== "strictEqualObject") { - // If the stderr is a tty and the input length is lower than the current - // columns per line, add a mismatch indicator below the output. If it is - // not a tty, use a default value of 80 characters. - const maxLength = Deno.isatty(Deno.stderr.rid) ? getConsoleWidth() : 80; - if (inputLength < maxLength) { - while (actualRaw[i] === expectedRaw[i]) { - i++; - } - // Ignore the first characters. - if (i > 2) { - // Add position indicator for the first mismatch in case it is a - // single line and the input length is less than the column length. - indicator = `\n ${" ".repeat(i)}^`; - i = 0; - } - } - } - } - - // Remove all ending lines that match (this optimizes the output for - // readability by reducing the number of total changed lines). - let a = actualLines[actualLines.length - 1]; - let b = expectedLines[expectedLines.length - 1]; - while (a === b) { - if (i++ < 3) { - end = `\n ${a}${end}`; - } else { - other = a; - } - actualLines.pop(); - expectedLines.pop(); - if (actualLines.length === 0 || expectedLines.length === 0) { - break; - } - a = actualLines[actualLines.length - 1]; - b = expectedLines[expectedLines.length - 1]; - } - - const maxLines = MathMax(actualLines.length, expectedLines.length); - // Strict equal with identical objects that are not identical by reference. - // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() }) - if (maxLines === 0) { - // We have to get the result again. The lines were all removed before. - const actualLines = actualInspected.split("\n"); - - // Only remove lines in case it makes sense to collapse those. - if (actualLines.length > 50) { - actualLines[46] = `${blue}...${defaultColor}`; - while (actualLines.length > 47) { - actualLines.pop(); - } - } - - return `${kReadableOperator.notIdentical}\n\n${actualLines.join("\n")}\n`; - } - - // There were at least five identical lines at the end. Mark a couple of - // skipped. - if (i >= 5) { - end = `\n${blue}...${defaultColor}${end}`; - skipped = true; - } - if (other !== "") { - end = `\n ${other}${end}`; - other = ""; - } - - let printedLines = 0; - let identical = 0; - const msg = kReadableOperator[operator] + - `\n${green}+ actual${defaultColor} ${red}- expected${defaultColor}`; - const skippedMsg = ` ${blue}...${defaultColor} Lines skipped`; - - let lines = actualLines; - let plusMinus = `${green}+${defaultColor}`; - let maxLength = expectedLines.length; - if (actualLines.length < maxLines) { - lines = expectedLines; - plusMinus = `${red}-${defaultColor}`; - maxLength = actualLines.length; - } - - for (i = 0; i < maxLines; i++) { - if (maxLength < i + 1) { - // If more than two former lines are identical, print them. Collapse them - // in case more than five lines were identical. - if (identical > 2) { - if (identical > 3) { - if (identical > 4) { - if (identical === 5) { - res += `\n ${lines[i - 3]}`; - printedLines++; - } else { - res += `\n${blue}...${defaultColor}`; - skipped = true; - } - } - res += `\n ${lines[i - 2]}`; - printedLines++; - } - res += `\n ${lines[i - 1]}`; - printedLines++; - } - // No identical lines before. - identical = 0; - // Add the expected line to the cache. - if (lines === actualLines) { - res += `\n${plusMinus} ${lines[i]}`; - } else { - other += `\n${plusMinus} ${lines[i]}`; - } - printedLines++; - // Only extra actual lines exist - // Lines diverge - } else { - const expectedLine = expectedLines[i]; - let actualLine = actualLines[i]; - // If the lines diverge, specifically check for lines that only diverge by - // a trailing comma. In that case it is actually identical and we should - // mark it as such. - let divergingLines = actualLine !== expectedLine && - (!actualLine.endsWith(",") || - actualLine.slice(0, -1) !== expectedLine); - // If the expected line has a trailing comma but is otherwise identical, - // add a comma at the end of the actual line. Otherwise the output could - // look weird as in: - // - // [ - // 1 // No comma at the end! - // + 2 - // ] - // - if ( - divergingLines && - expectedLine.endsWith(",") && - expectedLine.slice(0, -1) === actualLine - ) { - divergingLines = false; - actualLine += ","; - } - if (divergingLines) { - // If more than two former lines are identical, print them. Collapse - // them in case more than five lines were identical. - if (identical > 2) { - if (identical > 3) { - if (identical > 4) { - if (identical === 5) { - res += `\n ${actualLines[i - 3]}`; - printedLines++; - } else { - res += `\n${blue}...${defaultColor}`; - skipped = true; - } - } - res += `\n ${actualLines[i - 2]}`; - printedLines++; - } - res += `\n ${actualLines[i - 1]}`; - printedLines++; - } - // No identical lines before. - identical = 0; - // Add the actual line to the result and cache the expected diverging - // line so consecutive diverging lines show up as +++--- and not +-+-+-. - res += `\n${green}+${defaultColor} ${actualLine}`; - other += `\n${red}-${defaultColor} ${expectedLine}`; - printedLines += 2; - // Lines are identical - } else { - // Add all cached information to the result before adding other things - // and reset the cache. - res += other; - other = ""; - identical++; - // The very first identical line since the last diverging line is be - // added to the result. - if (identical <= 2) { - res += `\n ${actualLine}`; - printedLines++; - } - } - } - // Inspected object to big (Show ~50 rows max) - if (printedLines > 50 && i < maxLines - 2) { - return `${msg}${skippedMsg}\n${res}\n${blue}...${defaultColor}${other}\n` + - `${blue}...${defaultColor}`; - } - } - - return `${msg}${skipped ? skippedMsg : ""}\n${res}${other}${end}${indicator}`; -} - -export interface AssertionErrorDetailsDescriptor { - message: string; - actual: unknown; - expected: unknown; - operator: string; - stack: Error; -} - -export interface AssertionErrorConstructorOptions { - message?: string; - actual?: unknown; - expected?: unknown; - operator?: string; - details?: AssertionErrorDetailsDescriptor[]; - // deno-lint-ignore ban-types - stackStartFn?: Function; - // Compatibility with older versions. - // deno-lint-ignore ban-types - stackStartFunction?: Function; -} - -interface ErrorWithStackTraceLimit extends ErrorConstructor { - stackTraceLimit: number; -} - -export class AssertionError extends Error { - [key: string]: unknown; - - // deno-lint-ignore constructor-super - constructor(options: AssertionErrorConstructorOptions) { - if (typeof options !== "object" || options === null) { - throw new ERR_INVALID_ARG_TYPE("options", "Object", options); - } - const { - message, - operator, - stackStartFn, - details, - // Compatibility with older versions. - stackStartFunction, - } = options; - let { - actual, - expected, - } = options; - - // TODO(schwarzkopfb): `stackTraceLimit` should be added to `ErrorConstructor` in - // cli/dts/lib.deno.shared_globals.d.ts - const limit = (Error as ErrorWithStackTraceLimit).stackTraceLimit; - (Error as ErrorWithStackTraceLimit).stackTraceLimit = 0; - - if (message != null) { - super(String(message)); - } else { - if (Deno.isatty(Deno.stderr.rid)) { - // Reset on each call to make sure we handle dynamically set environment - // variables correct. - if (Deno.noColor) { - blue = ""; - green = ""; - defaultColor = ""; - red = ""; - } else { - blue = "\u001b[34m"; - green = "\u001b[32m"; - defaultColor = "\u001b[39m"; - red = "\u001b[31m"; - } - } - // Prevent the error stack from being visible by duplicating the error - // in a very close way to the original in case both sides are actually - // instances of Error. - if ( - typeof actual === "object" && actual !== null && - typeof expected === "object" && expected !== null && - "stack" in actual && actual instanceof Error && - "stack" in expected && expected instanceof Error - ) { - actual = copyError(actual); - expected = copyError(expected); - } - - if (operator === "deepStrictEqual" || operator === "strictEqual") { - super(createErrDiff(actual, expected, operator)); - } else if ( - operator === "notDeepStrictEqual" || - operator === "notStrictEqual" - ) { - // In case the objects are equal but the operator requires unequal, show - // the first object and say A equals B - let base = kReadableOperator[operator]; - const res = inspectValue(actual).split("\n"); - - // In case "actual" is an object or a function, it should not be - // reference equal. - if ( - operator === "notStrictEqual" && - ((typeof actual === "object" && actual !== null) || - typeof actual === "function") - ) { - base = kReadableOperator.notStrictEqualObject; - } - - // Only remove lines in case it makes sense to collapse those. - if (res.length > 50) { - res[46] = `${blue}...${defaultColor}`; - while (res.length > 47) { - res.pop(); - } - } - - // Only print a single input. - if (res.length === 1) { - super(`${base}${res[0].length > 5 ? "\n\n" : " "}${res[0]}`); - } else { - super(`${base}\n\n${res.join("\n")}\n`); - } - } else { - let res = inspectValue(actual); - let other = inspectValue(expected); - const knownOperator = kReadableOperator[operator ?? ""]; - if (operator === "notDeepEqual" && res === other) { - res = `${knownOperator}\n\n${res}`; - if (res.length > 1024) { - res = `${res.slice(0, 1021)}...`; - } - super(res); - } else { - if (res.length > 512) { - res = `${res.slice(0, 509)}...`; - } - if (other.length > 512) { - other = `${other.slice(0, 509)}...`; - } - if (operator === "deepEqual") { - res = `${knownOperator}\n\n${res}\n\nshould loosely deep-equal\n\n`; - } else { - const newOp = kReadableOperator[`${operator}Unequal`]; - if (newOp) { - res = `${newOp}\n\n${res}\n\nshould not loosely deep-equal\n\n`; - } else { - other = ` ${operator} ${other}`; - } - } - super(`${res}${other}`); - } - } - } - - (Error as ErrorWithStackTraceLimit).stackTraceLimit = limit; - - this.generatedMessage = !message; - ObjectDefineProperty(this, "name", { - __proto__: null, - value: "AssertionError [ERR_ASSERTION]", - enumerable: false, - writable: true, - configurable: true, - // deno-lint-ignore no-explicit-any - } as any); - this.code = "ERR_ASSERTION"; - - if (details) { - this.actual = undefined; - this.expected = undefined; - this.operator = undefined; - - for (let i = 0; i < details.length; i++) { - this["message " + i] = details[i].message; - this["actual " + i] = details[i].actual; - this["expected " + i] = details[i].expected; - this["operator " + i] = details[i].operator; - this["stack trace " + i] = details[i].stack; - } - } else { - this.actual = actual; - this.expected = expected; - this.operator = operator; - } - - // @ts-ignore this function is not available in lib.dom.d.ts - Error.captureStackTrace(this, stackStartFn || stackStartFunction); - // Create error message including the error code in the name. - this.stack; - // Reset the name. - this.name = "AssertionError"; - } - - override toString() { - return `${this.name} [${this.code}]: ${this.message}`; - } - - [inspect.custom](_recurseTimes: number, ctx: Record) { - // Long strings should not be fully inspected. - const tmpActual = this.actual; - const tmpExpected = this.expected; - - for (const name of ["actual", "expected"]) { - if (typeof this[name] === "string") { - const value = this[name] as string; - const lines = value.split("\n"); - if (lines.length > 10) { - lines.length = 10; - this[name] = `${lines.join("\n")}\n...`; - } else if (value.length > 512) { - this[name] = `${value.slice(512)}...`; - } - } - } - - // This limits the `actual` and `expected` property default inspection to - // the minimum depth. Otherwise those values would be too verbose compared - // to the actual error message which contains a combined view of these two - // input values. - const result = inspect(this, { - ...ctx, - customInspect: false, - depth: 0, - }); - - // Reset the properties after inspection. - this.actual = tmpActual; - this.expected = tmpExpected; - - return result; - } -} - -export default AssertionError; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/async_hooks.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/async_hooks.ts deleted file mode 100644 index 5c9a0ae..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/async_hooks.ts +++ /dev/null @@ -1,331 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. - -// This implementation is inspired by "workerd" AsyncLocalStorage implementation: -// https://github.com/cloudflare/workerd/blob/77fd0ed6ddba184414f0216508fc62b06e716cab/src/workerd/api/node/async-hooks.c++#L9 - -import { validateFunction } from "./internal/validators.mjs"; -import { core } from "./_core.ts"; - -function assert(cond: boolean) { - if (!cond) throw new Error("Assertion failed"); -} -const asyncContextStack: AsyncContextFrame[] = []; - -function pushAsyncFrame(frame: AsyncContextFrame) { - asyncContextStack.push(frame); -} - -function popAsyncFrame() { - assert(asyncContextStack.length > 0); - asyncContextStack.pop(); -} - -let rootAsyncFrame: AsyncContextFrame | undefined = undefined; -let promiseHooksSet = false; - -const asyncContext = Symbol("asyncContext"); -function isRejected(promise: Promise) { - const [state] = core.getPromiseDetails(promise); - return state == 2; -} - -function setPromiseHooks() { - if (promiseHooksSet) { - return; - } - promiseHooksSet = true; - - const init = (promise: Promise) => { - const currentFrame = AsyncContextFrame.current(); - if (!currentFrame.isRoot()) { - assert(AsyncContextFrame.tryGetContext(promise) == null); - AsyncContextFrame.attachContext(promise); - } - }; - const before = (promise: Promise) => { - const maybeFrame = AsyncContextFrame.tryGetContext(promise); - if (maybeFrame) { - pushAsyncFrame(maybeFrame); - } else { - pushAsyncFrame(AsyncContextFrame.getRootAsyncContext()); - } - }; - const after = (promise: Promise) => { - popAsyncFrame(); - if (!isRejected(promise)) { - // @ts-ignore promise async context - delete promise[asyncContext]; - } - }; - const resolve = (promise: Promise) => { - const currentFrame = AsyncContextFrame.current(); - if ( - !currentFrame.isRoot() && isRejected(promise) && - AsyncContextFrame.tryGetContext(promise) == null - ) { - AsyncContextFrame.attachContext(promise); - } - }; - - core.setPromiseHooks(init, before, after, resolve); -} - -class AsyncContextFrame { - storage: StorageEntry[]; - constructor( - maybeParent?: AsyncContextFrame | null, - maybeStorageEntry?: StorageEntry | null, - isRoot = false, - ) { - this.storage = []; - - setPromiseHooks(); - - const propagate = (parent: AsyncContextFrame) => { - parent.storage = parent.storage.filter((entry) => !entry.key.isDead()); - parent.storage.forEach((entry) => this.storage.push(entry)); - - if (maybeStorageEntry) { - const existingEntry = this.storage.find((entry) => - entry.key === maybeStorageEntry.key - ); - if (existingEntry) { - existingEntry.value = maybeStorageEntry.value; - } else { - this.storage.push(maybeStorageEntry); - } - } - }; - - if (!isRoot) { - if (maybeParent) { - propagate(maybeParent); - } else { - propagate(AsyncContextFrame.current()); - } - } - } - - static tryGetContext(promise: Promise) { - // @ts-ignore promise async context - return promise[asyncContext]; - } - - static attachContext(promise: Promise) { - assert(!(asyncContext in promise)); - // @ts-ignore promise async context - promise[asyncContext] = AsyncContextFrame.current(); - } - - static getRootAsyncContext() { - if (typeof rootAsyncFrame !== "undefined") { - return rootAsyncFrame; - } - - rootAsyncFrame = new AsyncContextFrame(null, null, true); - return rootAsyncFrame; - } - - static current() { - if (asyncContextStack.length === 0) { - return AsyncContextFrame.getRootAsyncContext(); - } - - return asyncContextStack[asyncContextStack.length - 1]; - } - - static create( - maybeParent?: AsyncContextFrame | null, - maybeStorageEntry?: StorageEntry | null, - ) { - return new AsyncContextFrame(maybeParent, maybeStorageEntry); - } - - static wrap( - fn: () => unknown, - maybeFrame: AsyncContextFrame | undefined, - // deno-lint-ignore no-explicit-any - thisArg: any, - ) { - // deno-lint-ignore no-explicit-any - return (...args: any) => { - const frame = maybeFrame || AsyncContextFrame.current(); - Scope.enter(frame); - try { - return fn.apply(thisArg, args); - } finally { - Scope.exit(); - } - }; - } - - get(key: StorageKey) { - assert(!key.isDead()); - this.storage = this.storage.filter((entry) => !entry.key.isDead()); - const entry = this.storage.find((entry) => entry.key === key); - if (entry) { - return entry.value; - } - return undefined; - } - - isRoot() { - return AsyncContextFrame.getRootAsyncContext() == this; - } -} - -export class AsyncResource { - frame: AsyncContextFrame; - type: string; - constructor(type: string) { - this.type = type; - this.frame = AsyncContextFrame.current(); - } - - runInAsyncScope( - fn: (...args: unknown[]) => unknown, - thisArg: unknown, - ...args: unknown[] - ) { - Scope.enter(this.frame); - - try { - return fn.apply(thisArg, args); - } finally { - Scope.exit(); - } - } - - bind(fn: (...args: unknown[]) => unknown, thisArg = this) { - validateFunction(fn, "fn"); - const frame = AsyncContextFrame.current(); - const bound = AsyncContextFrame.wrap(fn, frame, thisArg); - - Object.defineProperties(bound, { - "length": { - configurable: true, - enumerable: false, - value: fn.length, - writable: false, - }, - "asyncResource": { - configurable: true, - enumerable: true, - value: this, - writable: true, - }, - }); - return bound; - } - - static bind( - fn: (...args: unknown[]) => unknown, - type?: string, - thisArg?: AsyncResource, - ) { - type = type || fn.name; - return (new AsyncResource(type || "AsyncResource")).bind(fn, thisArg); - } -} - -class Scope { - static enter(maybeFrame?: AsyncContextFrame) { - if (maybeFrame) { - pushAsyncFrame(maybeFrame); - } else { - pushAsyncFrame(AsyncContextFrame.getRootAsyncContext()); - } - } - - static exit() { - popAsyncFrame(); - } -} - -class StorageEntry { - key: StorageKey; - value: unknown; - constructor(key: StorageKey, value: unknown) { - this.key = key; - this.value = value; - } -} - -class StorageKey { - #dead = false; - - reset() { - this.#dead = true; - } - - isDead() { - return this.#dead; - } -} - -const fnReg = new FinalizationRegistry((key: StorageKey) => { - key.reset(); -}); - -export class AsyncLocalStorage { - #key; - - constructor() { - this.#key = new StorageKey(); - fnReg.register(this, this.#key); - } - - // deno-lint-ignore no-explicit-any - run(store: any, callback: any, ...args: any[]): any { - const frame = AsyncContextFrame.create( - null, - new StorageEntry(this.#key, store), - ); - Scope.enter(frame); - let res; - try { - res = callback(...args); - } finally { - Scope.exit(); - } - return res; - } - - // deno-lint-ignore no-explicit-any - exit(callback: (...args: unknown[]) => any, ...args: any[]): any { - return this.run(undefined, callback, args); - } - - // deno-lint-ignore no-explicit-any - getStore(): any { - const currentFrame = AsyncContextFrame.current(); - return currentFrame.get(this.#key); - } -} - -export function executionAsyncId() { - return 1; -} - -class AsyncHook { - enable() { - } - - disable() { - } -} - -export function createHook() { - return new AsyncHook(); -} - -// Placing all exports down here because the exported classes won't export -// otherwise. -export default { - // Embedder API - AsyncResource, - executionAsyncId, - createHook, - AsyncLocalStorage, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/buffer.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/buffer.ts deleted file mode 100644 index b7a0a24..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/buffer.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// @deno-types="./internal/buffer.d.ts" -export { - atob, - Blob, - btoa, - Buffer, - constants, - default, - kMaxLength, - kStringMaxLength, - SlowBuffer, -} from "./internal/buffer.mjs"; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/events.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/events.ts deleted file mode 100644 index aca8621..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/events.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// @deno-types="./_events.d.ts" -export { - captureRejectionSymbol, - default, - defaultMaxListeners, - errorMonitor, - EventEmitter, - getEventListeners, - listenerCount, - on, - once, - setMaxListeners, -} from "./_events.mjs"; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts deleted file mode 100644 index d1c3678..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts +++ /dev/null @@ -1,2074 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright DefinitelyTyped contributors. All rights reserved. MIT license. - -/** - * One of many allowed encodings for the buffer content - * - ascii - * - base64 - * - base64url - * - binary - * - hex - * - latin1 - * - ucs-2 - * - ucs2 - * - utf-8 - * - utf16le - * - utf8 - */ -type Encoding = unknown; - -type WithImplicitCoercion = - | T - | { - valueOf(): T; - }; - -/** - * `Buffer` objects are used to represent a fixed-length sequence of bytes. Many - * Node.js APIs support `Buffer`s. - * - * The `Buffer` class is a subclass of JavaScript's [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) class and - * extends it with methods that cover additional use cases. Node.js APIs accept - * plain [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) s wherever `Buffer`s are supported as well. - * - * While the `Buffer` class is available within the global scope, it is still - * recommended to explicitly reference it via an import or require statement. - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Creates a zero-filled Buffer of length 10. - * const buf1 = Buffer.alloc(10); - * - * // Creates a Buffer of length 10, - * // filled with bytes which all have the value `1`. - * const buf2 = Buffer.alloc(10, 1); - * - * // Creates an uninitialized buffer of length 10. - * // This is faster than calling Buffer.alloc() but the returned - * // Buffer instance might contain old data that needs to be - * // overwritten using fill(), write(), or other functions that fill the Buffer's - * // contents. - * const buf3 = Buffer.allocUnsafe(10); - * - * // Creates a Buffer containing the bytes [1, 2, 3]. - * const buf4 = Buffer.from([1, 2, 3]); - * - * // Creates a Buffer containing the bytes [1, 1, 1, 1] – the entries - * // are all truncated using `(value & 255)` to fit into the range 0–255. - * const buf5 = Buffer.from([257, 257.5, -255, '1']); - * - * // Creates a Buffer containing the UTF-8-encoded bytes for the string 'tést': - * // [0x74, 0xc3, 0xa9, 0x73, 0x74] (in hexadecimal notation) - * // [116, 195, 169, 115, 116] (in decimal notation) - * const buf6 = Buffer.from('tést'); - * - * // Creates a Buffer containing the Latin-1 bytes [0x74, 0xe9, 0x73, 0x74]. - * const buf7 = Buffer.from('tést', 'latin1'); - * ``` - * @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/buffer.js) - */ -export class Buffer extends Uint8Array { - /** - * Allocates a new buffer containing the given {str}. - * - * @param str String to store in buffer. - * @param encoding encoding to use, optional. Default is 'utf8' - * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. - */ - constructor(str: string, encoding?: Encoding); - /** - * Allocates a new buffer of {size} octets. - * - * @param size count of octets to allocate. - * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`). - */ - constructor(size: number); - /** - * Allocates a new buffer containing the given {array} of octets. - * - * @param array The octets to store. - * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. - */ - constructor(array: Uint8Array); - /** - * Produces a Buffer backed by the same allocated memory as - * the given {ArrayBuffer}/{SharedArrayBuffer}. - * - * @param arrayBuffer The ArrayBuffer with which to share memory. - * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. - */ - constructor(arrayBuffer: ArrayBuffer | SharedArrayBuffer); - /** - * Allocates a new buffer containing the given {array} of octets. - * - * @param array The octets to store. - * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. - */ - constructor(array: ReadonlyArray); - /** - * Copies the passed {buffer} data onto a new {Buffer} instance. - * - * @param buffer The buffer to copy. - * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead. - */ - constructor(buffer: Buffer); - /** - * Allocates a new `Buffer` using an `array` of bytes in the range `0` – `255`. - * Array entries outside that range will be truncated to fit into it. - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Creates a new Buffer containing the UTF-8 bytes of the string 'buffer'. - * const buf = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]); - * ``` - * - * A `TypeError` will be thrown if `array` is not an `Array` or another type - * appropriate for `Buffer.from()` variants. - * - * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal`Buffer` pool like `Buffer.allocUnsafe()` does. - * @since v5.10.0 - */ - static from( - arrayBuffer: WithImplicitCoercion, - byteOffset?: number, - length?: number, - ): Buffer; - /** - * Creates a new Buffer using the passed {data} - * @param data data to create a new Buffer - */ - static from(data: Uint8Array | ReadonlyArray): Buffer; - static from( - data: WithImplicitCoercion | string>, - ): Buffer; - /** - * Creates a new Buffer containing the given JavaScript string {str}. - * If provided, the {encoding} parameter identifies the character encoding. - * If not provided, {encoding} defaults to 'utf8'. - */ - static from( - str: - | WithImplicitCoercion - | { - [Symbol.toPrimitive](hint: "string"): string; - }, - encoding?: Encoding, - ): Buffer; - /** - * Creates a new Buffer using the passed {data} - * @param values to create a new Buffer - */ - static of(...items: number[]): Buffer; - /** - * Returns `true` if `obj` is a `Buffer`, `false` otherwise. - * - * ```js - * import { Buffer } from 'buffer'; - * - * Buffer.isBuffer(Buffer.alloc(10)); // true - * Buffer.isBuffer(Buffer.from('foo')); // true - * Buffer.isBuffer('a string'); // false - * Buffer.isBuffer([]); // false - * Buffer.isBuffer(new Uint8Array(1024)); // false - * ``` - * @since v0.1.101 - */ - static isBuffer(obj: unknown): obj is Buffer; - /** - * Returns `true` if `encoding` is the name of a supported character encoding, - * or `false` otherwise. - * - * ```js - * import { Buffer } from 'buffer'; - * - * console.log(Buffer.isEncoding('utf8')); - * // Prints: true - * - * console.log(Buffer.isEncoding('hex')); - * // Prints: true - * - * console.log(Buffer.isEncoding('utf/8')); - * // Prints: false - * - * console.log(Buffer.isEncoding('')); - * // Prints: false - * ``` - * @since v0.9.1 - * @param encoding A character encoding name to check. - */ - static isEncoding(encoding: string): boolean; - /** - * Returns the byte length of a string when encoded using `encoding`. - * This is not the same as [`String.prototype.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length), which does not account - * for the encoding that is used to convert the string into bytes. - * - * For `'base64'`, `'base64url'`, and `'hex'`, this function assumes valid input. - * For strings that contain non-base64/hex-encoded data (e.g. whitespace), the - * return value might be greater than the length of a `Buffer` created from the - * string. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const str = '\u00bd + \u00bc = \u00be'; - * - * console.log(`${str}: ${str.length} characters, ` + - * `${Buffer.byteLength(str, 'utf8')} bytes`); - * // Prints: ½ + ¼ = ¾: 9 characters, 12 bytes - * ``` - * - * When `string` is a - * `Buffer`/[`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView)/[`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/- - * Reference/Global_Objects/TypedArray)/[`ArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)/[`SharedArrayBuffer`](https://develop- - * er.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer), the byte length as reported by `.byteLength`is returned. - * @since v0.1.90 - * @param string A value to calculate the length of. - * @param [encoding='utf8'] If `string` is a string, this is its encoding. - * @return The number of bytes contained within `string`. - */ - static byteLength( - string: - | string - | ArrayBufferView - | ArrayBuffer - | SharedArrayBuffer, - encoding?: Encoding, - ): number; - /** - * Returns a new `Buffer` which is the result of concatenating all the `Buffer`instances in the `list` together. - * - * If the list has no items, or if the `totalLength` is 0, then a new zero-length`Buffer` is returned. - * - * If `totalLength` is not provided, it is calculated from the `Buffer` instances - * in `list` by adding their lengths. - * - * If `totalLength` is provided, it is coerced to an unsigned integer. If the - * combined length of the `Buffer`s in `list` exceeds `totalLength`, the result is - * truncated to `totalLength`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Create a single `Buffer` from a list of three `Buffer` instances. - * - * const buf1 = Buffer.alloc(10); - * const buf2 = Buffer.alloc(14); - * const buf3 = Buffer.alloc(18); - * const totalLength = buf1.length + buf2.length + buf3.length; - * - * console.log(totalLength); - * // Prints: 42 - * - * const bufA = Buffer.concat([buf1, buf2, buf3], totalLength); - * - * console.log(bufA); - * // Prints: - * console.log(bufA.length); - * // Prints: 42 - * ``` - * - * `Buffer.concat()` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does. - * @since v0.7.11 - * @param list List of `Buffer` or {@link Uint8Array} instances to concatenate. - * @param totalLength Total length of the `Buffer` instances in `list` when concatenated. - */ - static concat( - list: ReadonlyArray, - totalLength?: number, - ): Buffer; - /** - * Compares `buf1` to `buf2`, typically for the purpose of sorting arrays of`Buffer` instances. This is equivalent to calling `buf1.compare(buf2)`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.from('1234'); - * const buf2 = Buffer.from('0123'); - * const arr = [buf1, buf2]; - * - * console.log(arr.sort(Buffer.compare)); - * // Prints: [ , ] - * // (This result is equal to: [buf2, buf1].) - * ``` - * @since v0.11.13 - * @return Either `-1`, `0`, or `1`, depending on the result of the comparison. See `compare` for details. - */ - static compare(buf1: Uint8Array, buf2: Uint8Array): number; - /** - * Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the`Buffer` will be zero-filled. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.alloc(5); - * - * console.log(buf); - * // Prints: - * ``` - * - * If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_INVALID_ARG_VALUE` is thrown. - * - * If `fill` is specified, the allocated `Buffer` will be initialized by calling `buf.fill(fill)`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.alloc(5, 'a'); - * - * console.log(buf); - * // Prints: - * ``` - * - * If both `fill` and `encoding` are specified, the allocated `Buffer` will be - * initialized by calling `buf.fill(fill, encoding)`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); - * - * console.log(buf); - * // Prints: - * ``` - * - * Calling `Buffer.alloc()` can be measurably slower than the alternative `Buffer.allocUnsafe()` but ensures that the newly created `Buffer` instance - * contents will never contain sensitive data from previous allocations, including - * data that might not have been allocated for `Buffer`s. - * - * A `TypeError` will be thrown if `size` is not a number. - * @since v5.10.0 - * @param size The desired length of the new `Buffer`. - * @param [fill=0] A value to pre-fill the new `Buffer` with. - * @param [encoding='utf8'] If `fill` is a string, this is its encoding. - */ - static alloc( - size: number, - fill?: string | Uint8Array | number, - encoding?: Encoding, - ): Buffer; - /** - * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_INVALID_ARG_VALUE` is thrown. - * - * The underlying memory for `Buffer` instances created in this way is _not_ - * _initialized_. The contents of the newly created `Buffer` are unknown and_may contain sensitive data_. Use `Buffer.alloc()` instead to initialize`Buffer` instances with zeroes. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(10); - * - * console.log(buf); - * // Prints (contents may vary): - * - * buf.fill(0); - * - * console.log(buf); - * // Prints: - * ``` - * - * A `TypeError` will be thrown if `size` is not a number. - * - * The `Buffer` module pre-allocates an internal `Buffer` instance of - * size `Buffer.poolSize` that is used as a pool for the fast allocation of new`Buffer` instances created using `Buffer.allocUnsafe()`,`Buffer.from(array)`, `Buffer.concat()`, and the - * deprecated`new Buffer(size)` constructor only when `size` is less than or equal - * to `Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). - * - * Use of this pre-allocated internal memory pool is a key difference between - * calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`. - * Specifically, `Buffer.alloc(size, fill)` will _never_ use the internal `Buffer`pool, while `Buffer.allocUnsafe(size).fill(fill)`_will_ use the internal`Buffer` pool if `size` is less - * than or equal to half `Buffer.poolSize`. The - * difference is subtle but can be important when an application requires the - * additional performance that `Buffer.allocUnsafe()` provides. - * @since v5.10.0 - * @param size The desired length of the new `Buffer`. - */ - static allocUnsafe(size: number): Buffer; - /** - * Allocates a new `Buffer` of `size` bytes. If `size` is larger than {@link constants.MAX_LENGTH} or smaller than 0, `ERR_INVALID_ARG_VALUE` is thrown. A zero-length `Buffer` is created - * if `size` is 0. - * - * The underlying memory for `Buffer` instances created in this way is _not_ - * _initialized_. The contents of the newly created `Buffer` are unknown and_may contain sensitive data_. Use `buf.fill(0)` to initialize - * such `Buffer` instances with zeroes. - * - * When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances, - * allocations under 4 KB are sliced from a single pre-allocated `Buffer`. This - * allows applications to avoid the garbage collection overhead of creating many - * individually allocated `Buffer` instances. This approach improves both - * performance and memory usage by eliminating the need to track and clean up as - * many individual `ArrayBuffer` objects. - * - * However, in the case where a developer may need to retain a small chunk of - * memory from a pool for an indeterminate amount of time, it may be appropriate - * to create an un-pooled `Buffer` instance using `Buffer.allocUnsafeSlow()` and - * then copying out the relevant bits. - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Need to keep around a few small chunks of memory. - * const store = []; - * - * socket.on('readable', () => { - * let data; - * while (null !== (data = readable.read())) { - * // Allocate for retained data. - * const sb = Buffer.allocUnsafeSlow(10); - * - * // Copy the data into the new allocation. - * data.copy(sb, 0, 0, 10); - * - * store.push(sb); - * } - * }); - * ``` - * - * A `TypeError` will be thrown if `size` is not a number. - * @since v5.12.0 - * @param size The desired length of the new `Buffer`. - */ - static allocUnsafeSlow(size: number): Buffer; - // /** - // * This is the size (in bytes) of pre-allocated internal `Buffer` instances used - // * for pooling. This value may be modified. - // * @since v0.11.3 - // */ - // static poolSize: number; - - /** - * Writes `string` to `buf` at `offset` according to the character encoding in`encoding`. The `length` parameter is the number of bytes to write. If `buf` did - * not contain enough space to fit the entire string, only part of `string` will be - * written. However, partially encoded characters will not be written. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.alloc(256); - * - * const len = buf.write('\u00bd + \u00bc = \u00be', 0); - * - * console.log(`${len} bytes: ${buf.toString('utf8', 0, len)}`); - * // Prints: 12 bytes: ½ + ¼ = ¾ - * - * const buffer = Buffer.alloc(10); - * - * const length = buffer.write('abcd', 8); - * - * console.log(`${length} bytes: ${buffer.toString('utf8', 8, 10)}`); - * // Prints: 2 bytes : ab - * ``` - * @since v0.1.90 - * @param string String to write to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write `string`. - * @param [length=buf.length - offset] Maximum number of bytes to write (written bytes will not exceed `buf.length - offset`). - * @param [encoding='utf8'] The character encoding of `string`. - * @return Number of bytes written. - */ - write(string: string, encoding?: Encoding): number; - write(string: string, offset: number, encoding?: Encoding): number; - write( - string: string, - offset: number, - length: number, - encoding?: Encoding, - ): number; - /** - * Decodes `buf` to a string according to the specified character encoding in`encoding`. `start` and `end` may be passed to decode only a subset of `buf`. - * - * If `encoding` is `'utf8'` and a byte sequence in the input is not valid UTF-8, - * then each invalid byte is replaced with the replacement character `U+FFFD`. - * - * The maximum length of a string instance (in UTF-16 code units) is available - * as {@link constants.MAX_STRING_LENGTH}. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.allocUnsafe(26); - * - * for (let i = 0; i < 26; i++) { - * // 97 is the decimal ASCII value for 'a'. - * buf1[i] = i + 97; - * } - * - * console.log(buf1.toString('utf8')); - * // Prints: abcdefghijklmnopqrstuvwxyz - * console.log(buf1.toString('utf8', 0, 5)); - * // Prints: abcde - * - * const buf2 = Buffer.from('tést'); - * - * console.log(buf2.toString('hex')); - * // Prints: 74c3a97374 - * console.log(buf2.toString('utf8', 0, 3)); - * // Prints: té - * console.log(buf2.toString(undefined, 0, 3)); - * // Prints: té - * ``` - * @since v0.1.90 - * @param [encoding='utf8'] The character encoding to use. - * @param [start=0] The byte offset to start decoding at. - * @param [end=buf.length] The byte offset to stop decoding at (not inclusive). - */ - toString(encoding?: Encoding, start?: number, end?: number): string; - /** - * Returns a JSON representation of `buf`. [`JSON.stringify()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) implicitly calls - * this function when stringifying a `Buffer` instance. - * - * `Buffer.from()` accepts objects in the format returned from this method. - * In particular, `Buffer.from(buf.toJSON())` works like `Buffer.from(buf)`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]); - * const json = JSON.stringify(buf); - * - * console.log(json); - * // Prints: {"type":"Buffer","data":[1,2,3,4,5]} - * - * const copy = JSON.parse(json, (key, value) => { - * return value && value.type === 'Buffer' ? - * Buffer.from(value) : - * value; - * }); - * - * console.log(copy); - * // Prints: - * ``` - * @since v0.9.2 - */ - toJSON(): { - type: "Buffer"; - data: number[]; - }; - /** - * Returns `true` if both `buf` and `otherBuffer` have exactly the same bytes,`false` otherwise. Equivalent to `buf.compare(otherBuffer) === 0`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.from('ABC'); - * const buf2 = Buffer.from('414243', 'hex'); - * const buf3 = Buffer.from('ABCD'); - * - * console.log(buf1.equals(buf2)); - * // Prints: true - * console.log(buf1.equals(buf3)); - * // Prints: false - * ``` - * @since v0.11.13 - * @param otherBuffer A `Buffer` or {@link Uint8Array} with which to compare `buf`. - */ - equals(otherBuffer: Uint8Array): boolean; - /** - * Compares `buf` with `target` and returns a number indicating whether `buf`comes before, after, or is the same as `target` in sort order. - * Comparison is based on the actual sequence of bytes in each `Buffer`. - * - * * `0` is returned if `target` is the same as `buf` - * * `1` is returned if `target` should come _before_`buf` when sorted. - * * `-1` is returned if `target` should come _after_`buf` when sorted. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.from('ABC'); - * const buf2 = Buffer.from('BCD'); - * const buf3 = Buffer.from('ABCD'); - * - * console.log(buf1.compare(buf1)); - * // Prints: 0 - * console.log(buf1.compare(buf2)); - * // Prints: -1 - * console.log(buf1.compare(buf3)); - * // Prints: -1 - * console.log(buf2.compare(buf1)); - * // Prints: 1 - * console.log(buf2.compare(buf3)); - * // Prints: 1 - * console.log([buf1, buf2, buf3].sort(Buffer.compare)); - * // Prints: [ , , ] - * // (This result is equal to: [buf1, buf3, buf2].) - * ``` - * - * The optional `targetStart`, `targetEnd`, `sourceStart`, and `sourceEnd`arguments can be used to limit the comparison to specific ranges within `target`and `buf` respectively. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]); - * const buf2 = Buffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]); - * - * console.log(buf1.compare(buf2, 5, 9, 0, 4)); - * // Prints: 0 - * console.log(buf1.compare(buf2, 0, 6, 4)); - * // Prints: -1 - * console.log(buf1.compare(buf2, 5, 6, 5)); - * // Prints: 1 - * ``` - * - * `ERR_OUT_OF_RANGE` is thrown if `targetStart < 0`, `sourceStart < 0`,`targetEnd > target.byteLength`, or `sourceEnd > source.byteLength`. - * @since v0.11.13 - * @param target A `Buffer` or {@link Uint8Array} with which to compare `buf`. - * @param [targetStart=0] The offset within `target` at which to begin comparison. - * @param [targetEnd=target.length] The offset within `target` at which to end comparison (not inclusive). - * @param [sourceStart=0] The offset within `buf` at which to begin comparison. - * @param [sourceEnd=buf.length] The offset within `buf` at which to end comparison (not inclusive). - */ - compare( - target: Uint8Array, - targetStart?: number, - targetEnd?: number, - sourceStart?: number, - sourceEnd?: number, - ): number; - /** - * Copies data from a region of `buf` to a region in `target`, even if the `target`memory region overlaps with `buf`. - * - * [`TypedArray.prototype.set()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set) performs the same operation, and is available - * for all TypedArrays, including Node.js `Buffer`s, although it takes - * different function arguments. - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Create two `Buffer` instances. - * const buf1 = Buffer.allocUnsafe(26); - * const buf2 = Buffer.allocUnsafe(26).fill('!'); - * - * for (let i = 0; i < 26; i++) { - * // 97 is the decimal ASCII value for 'a'. - * buf1[i] = i + 97; - * } - * - * // Copy `buf1` bytes 16 through 19 into `buf2` starting at byte 8 of `buf2`. - * buf1.copy(buf2, 8, 16, 20); - * // This is equivalent to: - * // buf2.set(buf1.subarray(16, 20), 8); - * - * console.log(buf2.toString('ascii', 0, 25)); - * // Prints: !!!!!!!!qrst!!!!!!!!!!!!! - * ``` - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Create a `Buffer` and copy data from one region to an overlapping region - * // within the same `Buffer`. - * - * const buf = Buffer.allocUnsafe(26); - * - * for (let i = 0; i < 26; i++) { - * // 97 is the decimal ASCII value for 'a'. - * buf[i] = i + 97; - * } - * - * buf.copy(buf, 0, 4, 10); - * - * console.log(buf.toString()); - * // Prints: efghijghijklmnopqrstuvwxyz - * ``` - * @since v0.1.90 - * @param target A `Buffer` or {@link Uint8Array} to copy into. - * @param [targetStart=0] The offset within `target` at which to begin writing. - * @param [sourceStart=0] The offset within `buf` from which to begin copying. - * @param [sourceEnd=buf.length] The offset within `buf` at which to stop copying (not inclusive). - * @return The number of bytes copied. - */ - copy( - target: Uint8Array, - targetStart?: number, - sourceStart?: number, - sourceEnd?: number, - ): number; - /** - * Returns a new `Buffer` that references the same memory as the original, but - * offset and cropped by the `start` and `end` indices. - * - * This is the same behavior as `buf.subarray()`. - * - * This method is not compatible with the `Uint8Array.prototype.slice()`, - * which is a superclass of `Buffer`. To copy the slice, use`Uint8Array.prototype.slice()`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('buffer'); - * - * const copiedBuf = Uint8Array.prototype.slice.call(buf); - * copiedBuf[0]++; - * console.log(copiedBuf.toString()); - * // Prints: cuffer - * - * console.log(buf.toString()); - * // Prints: buffer - * ``` - * @since v0.3.0 - * @param [start=0] Where the new `Buffer` will start. - * @param [end=buf.length] Where the new `Buffer` will end (not inclusive). - */ - slice(start?: number, end?: number): Buffer; - /** - * Returns a new `Buffer` that references the same memory as the original, but - * offset and cropped by the `start` and `end` indices. - * - * Specifying `end` greater than `buf.length` will return the same result as - * that of `end` equal to `buf.length`. - * - * This method is inherited from [`TypedArray.prototype.subarray()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray). - * - * Modifying the new `Buffer` slice will modify the memory in the original `Buffer`because the allocated memory of the two objects overlap. - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Create a `Buffer` with the ASCII alphabet, take a slice, and modify one byte - * // from the original `Buffer`. - * - * const buf1 = Buffer.allocUnsafe(26); - * - * for (let i = 0; i < 26; i++) { - * // 97 is the decimal ASCII value for 'a'. - * buf1[i] = i + 97; - * } - * - * const buf2 = buf1.subarray(0, 3); - * - * console.log(buf2.toString('ascii', 0, buf2.length)); - * // Prints: abc - * - * buf1[0] = 33; - * - * console.log(buf2.toString('ascii', 0, buf2.length)); - * // Prints: !bc - * ``` - * - * Specifying negative indexes causes the slice to be generated relative to the - * end of `buf` rather than the beginning. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('buffer'); - * - * console.log(buf.subarray(-6, -1).toString()); - * // Prints: buffe - * // (Equivalent to buf.subarray(0, 5).) - * - * console.log(buf.subarray(-6, -2).toString()); - * // Prints: buff - * // (Equivalent to buf.subarray(0, 4).) - * - * console.log(buf.subarray(-5, -2).toString()); - * // Prints: uff - * // (Equivalent to buf.subarray(1, 4).) - * ``` - * @since v3.0.0 - * @param [start=0] Where the new `Buffer` will start. - * @param [end=buf.length] Where the new `Buffer` will end (not inclusive). - */ - subarray(start?: number, end?: number): Buffer; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. - * - * `value` is interpreted and written as a two's complement signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(8); - * - * buf.writeBigInt64BE(0x0102030405060708n, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v12.0.0, v10.20.0 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. - * @return `offset` plus the number of bytes written. - */ - writeBigInt64BE(value: bigint, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian. - * - * `value` is interpreted and written as a two's complement signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(8); - * - * buf.writeBigInt64LE(0x0102030405060708n, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v12.0.0, v10.20.0 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. - * @return `offset` plus the number of bytes written. - */ - writeBigInt64LE(value: bigint, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. - * - * This function is also available under the `writeBigUint64BE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(8); - * - * buf.writeBigUInt64BE(0xdecafafecacefaden, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v12.0.0, v10.20.0 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. - * @return `offset` plus the number of bytes written. - */ - writeBigUInt64BE(value: bigint, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(8); - * - * buf.writeBigUInt64LE(0xdecafafecacefaden, 0); - * - * console.log(buf); - * // Prints: - * ``` - * - * This function is also available under the `writeBigUint64LE` alias. - * @since v12.0.0, v10.20.0 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy: `0 <= offset <= buf.length - 8`. - * @return `offset` plus the number of bytes written. - */ - writeBigUInt64LE(value: bigint, offset?: number): number; - /** - * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined - * when `value` is anything other than an unsigned integer. - * - * This function is also available under the `writeUintLE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(6); - * - * buf.writeUIntLE(0x1234567890ab, 0, 6); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. - * @return `offset` plus the number of bytes written. - */ - writeUIntLE(value: number, offset: number, byteLength: number): number; - /** - * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined - * when `value` is anything other than an unsigned integer. - * - * This function is also available under the `writeUintBE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(6); - * - * buf.writeUIntBE(0x1234567890ab, 0, 6); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. - * @return `offset` plus the number of bytes written. - */ - writeUIntBE(value: number, offset: number, byteLength: number): number; - /** - * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as little-endian. Supports up to 48 bits of accuracy. Behavior is undefined - * when `value` is anything other than a signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(6); - * - * buf.writeIntLE(0x1234567890ab, 0, 6); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.11.15 - * @param value Number to be written to `buf`. - * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. - * @return `offset` plus the number of bytes written. - */ - writeIntLE(value: number, offset: number, byteLength: number): number; - /** - * Writes `byteLength` bytes of `value` to `buf` at the specified `offset`as big-endian. Supports up to 48 bits of accuracy. Behavior is undefined when`value` is anything other than a - * signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(6); - * - * buf.writeIntBE(0x1234567890ab, 0, 6); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.11.15 - * @param value Number to be written to `buf`. - * @param offset Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to write. Must satisfy `0 < byteLength <= 6`. - * @return `offset` plus the number of bytes written. - */ - writeIntBE(value: number, offset: number, byteLength: number): number; - /** - * Reads an unsigned, big-endian 64-bit integer from `buf` at the specified`offset`. - * - * This function is also available under the `readBigUint64BE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]); - * - * console.log(buf.readBigUInt64BE(0)); - * // Prints: 4294967295n - * ``` - * @since v12.0.0, v10.20.0 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. - */ - readBigUInt64BE(offset?: number): bigint; - /** - * Reads an unsigned, little-endian 64-bit integer from `buf` at the specified`offset`. - * - * This function is also available under the `readBigUint64LE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff]); - * - * console.log(buf.readBigUInt64LE(0)); - * // Prints: 18446744069414584320n - * ``` - * @since v12.0.0, v10.20.0 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. - */ - readBigUInt64LE(offset?: number): bigint; - /** - * Reads a signed, big-endian 64-bit integer from `buf` at the specified `offset`. - * - * Integers read from a `Buffer` are interpreted as two's complement signed - * values. - * @since v12.0.0, v10.20.0 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. - */ - readBigInt64BE(offset?: number): bigint; - /** - * Reads a signed, little-endian 64-bit integer from `buf` at the specified`offset`. - * - * Integers read from a `Buffer` are interpreted as two's complement signed - * values. - * @since v12.0.0, v10.20.0 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy: `0 <= offset <= buf.length - 8`. - */ - readBigInt64LE(offset?: number): bigint; - /** - * Reads `byteLength` number of bytes from `buf` at the specified `offset`and interprets the result as an unsigned, little-endian integer supporting - * up to 48 bits of accuracy. - * - * This function is also available under the `readUintLE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); - * - * console.log(buf.readUIntLE(0, 6).toString(16)); - * // Prints: ab9078563412 - * ``` - * @since v0.11.15 - * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. - */ - readUIntLE(offset: number, byteLength: number): number; - /** - * Reads `byteLength` number of bytes from `buf` at the specified `offset`and interprets the result as an unsigned big-endian integer supporting - * up to 48 bits of accuracy. - * - * This function is also available under the `readUintBE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); - * - * console.log(buf.readUIntBE(0, 6).toString(16)); - * // Prints: 1234567890ab - * console.log(buf.readUIntBE(1, 6).toString(16)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.11.15 - * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. - */ - readUIntBE(offset: number, byteLength: number): number; - /** - * Reads `byteLength` number of bytes from `buf` at the specified `offset`and interprets the result as a little-endian, two's complement signed value - * supporting up to 48 bits of accuracy. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); - * - * console.log(buf.readIntLE(0, 6).toString(16)); - * // Prints: -546f87a9cbee - * ``` - * @since v0.11.15 - * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. - */ - readIntLE(offset: number, byteLength: number): number; - /** - * Reads `byteLength` number of bytes from `buf` at the specified `offset`and interprets the result as a big-endian, two's complement signed value - * supporting up to 48 bits of accuracy. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); - * - * console.log(buf.readIntBE(0, 6).toString(16)); - * // Prints: 1234567890ab - * console.log(buf.readIntBE(1, 6).toString(16)); - * // Throws ERR_OUT_OF_RANGE. - * console.log(buf.readIntBE(1, 0).toString(16)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.11.15 - * @param offset Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - byteLength`. - * @param byteLength Number of bytes to read. Must satisfy `0 < byteLength <= 6`. - */ - readIntBE(offset: number, byteLength: number): number; - /** - * Reads an unsigned 8-bit integer from `buf` at the specified `offset`. - * - * This function is also available under the `readUint8` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([1, -2]); - * - * console.log(buf.readUInt8(0)); - * // Prints: 1 - * console.log(buf.readUInt8(1)); - * // Prints: 254 - * console.log(buf.readUInt8(2)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.5.0 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`. - */ - readUInt8(offset?: number): number; - /** - * Reads an unsigned, little-endian 16-bit integer from `buf` at the specified`offset`. - * - * This function is also available under the `readUint16LE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56]); - * - * console.log(buf.readUInt16LE(0).toString(16)); - * // Prints: 3412 - * console.log(buf.readUInt16LE(1).toString(16)); - * // Prints: 5634 - * console.log(buf.readUInt16LE(2).toString(16)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. - */ - readUInt16LE(offset?: number): number; - /** - * Reads an unsigned, big-endian 16-bit integer from `buf` at the specified`offset`. - * - * This function is also available under the `readUint16BE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56]); - * - * console.log(buf.readUInt16BE(0).toString(16)); - * // Prints: 1234 - * console.log(buf.readUInt16BE(1).toString(16)); - * // Prints: 3456 - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. - */ - readUInt16BE(offset?: number): number; - /** - * Reads an unsigned, little-endian 32-bit integer from `buf` at the specified`offset`. - * - * This function is also available under the `readUint32LE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]); - * - * console.log(buf.readUInt32LE(0).toString(16)); - * // Prints: 78563412 - * console.log(buf.readUInt32LE(1).toString(16)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. - */ - readUInt32LE(offset?: number): number; - /** - * Reads an unsigned, big-endian 32-bit integer from `buf` at the specified`offset`. - * - * This function is also available under the `readUint32BE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0x12, 0x34, 0x56, 0x78]); - * - * console.log(buf.readUInt32BE(0).toString(16)); - * // Prints: 12345678 - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. - */ - readUInt32BE(offset?: number): number; - /** - * Reads a signed 8-bit integer from `buf` at the specified `offset`. - * - * Integers read from a `Buffer` are interpreted as two's complement signed values. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([-1, 5]); - * - * console.log(buf.readInt8(0)); - * // Prints: -1 - * console.log(buf.readInt8(1)); - * // Prints: 5 - * console.log(buf.readInt8(2)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.5.0 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 1`. - */ - readInt8(offset?: number): number; - /** - * Reads a signed, little-endian 16-bit integer from `buf` at the specified`offset`. - * - * Integers read from a `Buffer` are interpreted as two's complement signed values. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0, 5]); - * - * console.log(buf.readInt16LE(0)); - * // Prints: 1280 - * console.log(buf.readInt16LE(1)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. - */ - readInt16LE(offset?: number): number; - /** - * Reads a signed, big-endian 16-bit integer from `buf` at the specified `offset`. - * - * Integers read from a `Buffer` are interpreted as two's complement signed values. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0, 5]); - * - * console.log(buf.readInt16BE(0)); - * // Prints: 5 - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 2`. - */ - readInt16BE(offset?: number): number; - /** - * Reads a signed, little-endian 32-bit integer from `buf` at the specified`offset`. - * - * Integers read from a `Buffer` are interpreted as two's complement signed values. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0, 0, 0, 5]); - * - * console.log(buf.readInt32LE(0)); - * // Prints: 83886080 - * console.log(buf.readInt32LE(1)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. - */ - readInt32LE(offset?: number): number; - /** - * Reads a signed, big-endian 32-bit integer from `buf` at the specified `offset`. - * - * Integers read from a `Buffer` are interpreted as two's complement signed values. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([0, 0, 0, 5]); - * - * console.log(buf.readInt32BE(0)); - * // Prints: 5 - * ``` - * @since v0.5.5 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. - */ - readInt32BE(offset?: number): number; - /** - * Reads a 32-bit, little-endian float from `buf` at the specified `offset`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([1, 2, 3, 4]); - * - * console.log(buf.readFloatLE(0)); - * // Prints: 1.539989614439558e-36 - * console.log(buf.readFloatLE(1)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.11.15 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. - */ - readFloatLE(offset?: number): number; - /** - * Reads a 32-bit, big-endian float from `buf` at the specified `offset`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([1, 2, 3, 4]); - * - * console.log(buf.readFloatBE(0)); - * // Prints: 2.387939260590663e-38 - * ``` - * @since v0.11.15 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 4`. - */ - readFloatBE(offset?: number): number; - /** - * Reads a 64-bit, little-endian double from `buf` at the specified `offset`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); - * - * console.log(buf.readDoubleLE(0)); - * // Prints: 5.447603722011605e-270 - * console.log(buf.readDoubleLE(1)); - * // Throws ERR_OUT_OF_RANGE. - * ``` - * @since v0.11.15 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`. - */ - readDoubleLE(offset?: number): number; - /** - * Reads a 64-bit, big-endian double from `buf` at the specified `offset`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); - * - * console.log(buf.readDoubleBE(0)); - * // Prints: 8.20788039913184e-304 - * ``` - * @since v0.11.15 - * @param [offset=0] Number of bytes to skip before starting to read. Must satisfy `0 <= offset <= buf.length - 8`. - */ - readDoubleBE(offset?: number): number; - reverse(): this; - /** - * Interprets `buf` as an array of unsigned 16-bit integers and swaps the - * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 2. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); - * - * console.log(buf1); - * // Prints: - * - * buf1.swap16(); - * - * console.log(buf1); - * // Prints: - * - * const buf2 = Buffer.from([0x1, 0x2, 0x3]); - * - * buf2.swap16(); - * // Throws ERR_INVALID_BUFFER_SIZE. - * ``` - * - * One convenient use of `buf.swap16()` is to perform a fast in-place conversion - * between UTF-16 little-endian and UTF-16 big-endian: - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('This is little-endian UTF-16', 'utf16le'); - * buf.swap16(); // Convert to big-endian UTF-16 text. - * ``` - * @since v5.10.0 - * @return A reference to `buf`. - */ - swap16(): Buffer; - /** - * Interprets `buf` as an array of unsigned 32-bit integers and swaps the - * byte order _in-place_. Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 4. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); - * - * console.log(buf1); - * // Prints: - * - * buf1.swap32(); - * - * console.log(buf1); - * // Prints: - * - * const buf2 = Buffer.from([0x1, 0x2, 0x3]); - * - * buf2.swap32(); - * // Throws ERR_INVALID_BUFFER_SIZE. - * ``` - * @since v5.10.0 - * @return A reference to `buf`. - */ - swap32(): Buffer; - /** - * Interprets `buf` as an array of 64-bit numbers and swaps byte order _in-place_. - * Throws `ERR_INVALID_BUFFER_SIZE` if `buf.length` is not a multiple of 8. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf1 = Buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); - * - * console.log(buf1); - * // Prints: - * - * buf1.swap64(); - * - * console.log(buf1); - * // Prints: - * - * const buf2 = Buffer.from([0x1, 0x2, 0x3]); - * - * buf2.swap64(); - * // Throws ERR_INVALID_BUFFER_SIZE. - * ``` - * @since v6.3.0 - * @return A reference to `buf`. - */ - swap64(): Buffer; - /** - * Writes `value` to `buf` at the specified `offset`. `value` must be a - * valid unsigned 8-bit integer. Behavior is undefined when `value` is anything - * other than an unsigned 8-bit integer. - * - * This function is also available under the `writeUint8` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeUInt8(0x3, 0); - * buf.writeUInt8(0x4, 1); - * buf.writeUInt8(0x23, 2); - * buf.writeUInt8(0x42, 3); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.0 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`. - * @return `offset` plus the number of bytes written. - */ - writeUInt8(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a valid unsigned 16-bit integer. Behavior is undefined when `value` is - * anything other than an unsigned 16-bit integer. - * - * This function is also available under the `writeUint16LE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeUInt16LE(0xdead, 0); - * buf.writeUInt16LE(0xbeef, 2); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. - * @return `offset` plus the number of bytes written. - */ - writeUInt16LE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a valid unsigned 16-bit integer. Behavior is undefined when `value`is anything other than an - * unsigned 16-bit integer. - * - * This function is also available under the `writeUint16BE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeUInt16BE(0xdead, 0); - * buf.writeUInt16BE(0xbeef, 2); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. - * @return `offset` plus the number of bytes written. - */ - writeUInt16BE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a valid unsigned 32-bit integer. Behavior is undefined when `value` is - * anything other than an unsigned 32-bit integer. - * - * This function is also available under the `writeUint32LE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeUInt32LE(0xfeedface, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. - * @return `offset` plus the number of bytes written. - */ - writeUInt32LE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a valid unsigned 32-bit integer. Behavior is undefined when `value`is anything other than an - * unsigned 32-bit integer. - * - * This function is also available under the `writeUint32BE` alias. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeUInt32BE(0xfeedface, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. - * @return `offset` plus the number of bytes written. - */ - writeUInt32BE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset`. `value` must be a valid - * signed 8-bit integer. Behavior is undefined when `value` is anything other than - * a signed 8-bit integer. - * - * `value` is interpreted and written as a two's complement signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(2); - * - * buf.writeInt8(2, 0); - * buf.writeInt8(-2, 1); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.0 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 1`. - * @return `offset` plus the number of bytes written. - */ - writeInt8(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a valid signed 16-bit integer. Behavior is undefined when `value` is - * anything other than a signed 16-bit integer. - * - * The `value` is interpreted and written as a two's complement signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(2); - * - * buf.writeInt16LE(0x0304, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. - * @return `offset` plus the number of bytes written. - */ - writeInt16LE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a valid signed 16-bit integer. Behavior is undefined when `value` is - * anything other than a signed 16-bit integer. - * - * The `value` is interpreted and written as a two's complement signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(2); - * - * buf.writeInt16BE(0x0102, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 2`. - * @return `offset` plus the number of bytes written. - */ - writeInt16BE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a valid signed 32-bit integer. Behavior is undefined when `value` is - * anything other than a signed 32-bit integer. - * - * The `value` is interpreted and written as a two's complement signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeInt32LE(0x05060708, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. - * @return `offset` plus the number of bytes written. - */ - writeInt32LE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a valid signed 32-bit integer. Behavior is undefined when `value` is - * anything other than a signed 32-bit integer. - * - * The `value` is interpreted and written as a two's complement signed integer. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeInt32BE(0x01020304, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.5.5 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. - * @return `offset` plus the number of bytes written. - */ - writeInt32BE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian. Behavior is - * undefined when `value` is anything other than a JavaScript number. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeFloatLE(0xcafebabe, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.11.15 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. - * @return `offset` plus the number of bytes written. - */ - writeFloatLE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. Behavior is - * undefined when `value` is anything other than a JavaScript number. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(4); - * - * buf.writeFloatBE(0xcafebabe, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.11.15 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 4`. - * @return `offset` plus the number of bytes written. - */ - writeFloatBE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as little-endian. The `value`must be a JavaScript number. Behavior is undefined when `value` is anything - * other than a JavaScript number. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(8); - * - * buf.writeDoubleLE(123.456, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.11.15 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`. - * @return `offset` plus the number of bytes written. - */ - writeDoubleLE(value: number, offset?: number): number; - /** - * Writes `value` to `buf` at the specified `offset` as big-endian. The `value`must be a JavaScript number. Behavior is undefined when `value` is anything - * other than a JavaScript number. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(8); - * - * buf.writeDoubleBE(123.456, 0); - * - * console.log(buf); - * // Prints: - * ``` - * @since v0.11.15 - * @param value Number to be written to `buf`. - * @param [offset=0] Number of bytes to skip before starting to write. Must satisfy `0 <= offset <= buf.length - 8`. - * @return `offset` plus the number of bytes written. - */ - writeDoubleBE(value: number, offset?: number): number; - /** - * Fills `buf` with the specified `value`. If the `offset` and `end` are not given, - * the entire `buf` will be filled: - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Fill a `Buffer` with the ASCII character 'h'. - * - * const b = Buffer.allocUnsafe(50).fill('h'); - * - * console.log(b.toString()); - * // Prints: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh - * ``` - * - * `value` is coerced to a `uint32` value if it is not a string, `Buffer`, or - * integer. If the resulting integer is greater than `255` (decimal), `buf` will be - * filled with `value & 255`. - * - * If the final write of a `fill()` operation falls on a multi-byte character, - * then only the bytes of that character that fit into `buf` are written: - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Fill a `Buffer` with character that takes up two bytes in UTF-8. - * - * console.log(Buffer.allocUnsafe(5).fill('\u0222')); - * // Prints: - * ``` - * - * If `value` contains invalid characters, it is truncated; if no valid - * fill data remains, an exception is thrown: - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.allocUnsafe(5); - * - * console.log(buf.fill('a')); - * // Prints: - * console.log(buf.fill('aazz', 'hex')); - * // Prints: - * console.log(buf.fill('zz', 'hex')); - * // Throws an exception. - * ``` - * @since v0.5.0 - * @param value The value with which to fill `buf`. - * @param [offset=0] Number of bytes to skip before starting to fill `buf`. - * @param [end=buf.length] Where to stop filling `buf` (not inclusive). - * @param [encoding='utf8'] The encoding for `value` if `value` is a string. - * @return A reference to `buf`. - */ - fill( - value: string | Uint8Array | number, - offset?: number, - end?: number, - encoding?: Encoding, - ): this; - /** - * If `value` is: - * - * * a string, `value` is interpreted according to the character encoding in`encoding`. - * * a `Buffer` or [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array), `value` will be used in its entirety. - * To compare a partial `Buffer`, use `buf.slice()`. - * * a number, `value` will be interpreted as an unsigned 8-bit integer - * value between `0` and `255`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('this is a buffer'); - * - * console.log(buf.indexOf('this')); - * // Prints: 0 - * console.log(buf.indexOf('is')); - * // Prints: 2 - * console.log(buf.indexOf(Buffer.from('a buffer'))); - * // Prints: 8 - * console.log(buf.indexOf(97)); - * // Prints: 8 (97 is the decimal ASCII value for 'a') - * console.log(buf.indexOf(Buffer.from('a buffer example'))); - * // Prints: -1 - * console.log(buf.indexOf(Buffer.from('a buffer example').slice(0, 8))); - * // Prints: 8 - * - * const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le'); - * - * console.log(utf16Buffer.indexOf('\u03a3', 0, 'utf16le')); - * // Prints: 4 - * console.log(utf16Buffer.indexOf('\u03a3', -4, 'utf16le')); - * // Prints: 6 - * ``` - * - * If `value` is not a string, number, or `Buffer`, this method will throw a`TypeError`. If `value` is a number, it will be coerced to a valid byte value, - * an integer between 0 and 255. - * - * If `byteOffset` is not a number, it will be coerced to a number. If the result - * of coercion is `NaN` or `0`, then the entire buffer will be searched. This - * behavior matches [`String.prototype.indexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf). - * - * ```js - * import { Buffer } from 'buffer'; - * - * const b = Buffer.from('abcdef'); - * - * // Passing a value that's a number, but not a valid byte. - * // Prints: 2, equivalent to searching for 99 or 'c'. - * console.log(b.indexOf(99.9)); - * console.log(b.indexOf(256 + 99)); - * - * // Passing a byteOffset that coerces to NaN or 0. - * // Prints: 1, searching the whole buffer. - * console.log(b.indexOf('b', undefined)); - * console.log(b.indexOf('b', {})); - * console.log(b.indexOf('b', null)); - * console.log(b.indexOf('b', [])); - * ``` - * - * If `value` is an empty string or empty `Buffer` and `byteOffset` is less - * than `buf.length`, `byteOffset` will be returned. If `value` is empty and`byteOffset` is at least `buf.length`, `buf.length` will be returned. - * @since v1.5.0 - * @param value What to search for. - * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`. - * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`. - * @return The index of the first occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`. - */ - indexOf( - value: string | number | Uint8Array, - byteOffset?: number, - encoding?: Encoding, - ): number; - /** - * Identical to `buf.indexOf()`, except the last occurrence of `value` is found - * rather than the first occurrence. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('this buffer is a buffer'); - * - * console.log(buf.lastIndexOf('this')); - * // Prints: 0 - * console.log(buf.lastIndexOf('buffer')); - * // Prints: 17 - * console.log(buf.lastIndexOf(Buffer.from('buffer'))); - * // Prints: 17 - * console.log(buf.lastIndexOf(97)); - * // Prints: 15 (97 is the decimal ASCII value for 'a') - * console.log(buf.lastIndexOf(Buffer.from('yolo'))); - * // Prints: -1 - * console.log(buf.lastIndexOf('buffer', 5)); - * // Prints: 5 - * console.log(buf.lastIndexOf('buffer', 4)); - * // Prints: -1 - * - * const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le'); - * - * console.log(utf16Buffer.lastIndexOf('\u03a3', undefined, 'utf16le')); - * // Prints: 6 - * console.log(utf16Buffer.lastIndexOf('\u03a3', -5, 'utf16le')); - * // Prints: 4 - * ``` - * - * If `value` is not a string, number, or `Buffer`, this method will throw a`TypeError`. If `value` is a number, it will be coerced to a valid byte value, - * an integer between 0 and 255. - * - * If `byteOffset` is not a number, it will be coerced to a number. Any arguments - * that coerce to `NaN`, like `{}` or `undefined`, will search the whole buffer. - * This behavior matches [`String.prototype.lastIndexOf()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf). - * - * ```js - * import { Buffer } from 'buffer'; - * - * const b = Buffer.from('abcdef'); - * - * // Passing a value that's a number, but not a valid byte. - * // Prints: 2, equivalent to searching for 99 or 'c'. - * console.log(b.lastIndexOf(99.9)); - * console.log(b.lastIndexOf(256 + 99)); - * - * // Passing a byteOffset that coerces to NaN. - * // Prints: 1, searching the whole buffer. - * console.log(b.lastIndexOf('b', undefined)); - * console.log(b.lastIndexOf('b', {})); - * - * // Passing a byteOffset that coerces to 0. - * // Prints: -1, equivalent to passing 0. - * console.log(b.lastIndexOf('b', null)); - * console.log(b.lastIndexOf('b', [])); - * ``` - * - * If `value` is an empty string or empty `Buffer`, `byteOffset` will be returned. - * @since v6.0.0 - * @param value What to search for. - * @param [byteOffset=buf.length - 1] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`. - * @param [encoding='utf8'] If `value` is a string, this is the encoding used to determine the binary representation of the string that will be searched for in `buf`. - * @return The index of the last occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`. - */ - lastIndexOf( - value: string | number | Uint8Array, - byteOffset?: number, - encoding?: Encoding, - ): number; - /** - * Creates and returns an [iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) of `[index, byte]` pairs from the contents - * of `buf`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * // Log the entire contents of a `Buffer`. - * - * const buf = Buffer.from('buffer'); - * - * for (const pair of buf.entries()) { - * console.log(pair); - * } - * // Prints: - * // [0, 98] - * // [1, 117] - * // [2, 102] - * // [3, 102] - * // [4, 101] - * // [5, 114] - * ``` - * @since v1.1.0 - */ - entries(): IterableIterator<[number, number]>; - /** - * Equivalent to `buf.indexOf() !== -1`. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('this is a buffer'); - * - * console.log(buf.includes('this')); - * // Prints: true - * console.log(buf.includes('is')); - * // Prints: true - * console.log(buf.includes(Buffer.from('a buffer'))); - * // Prints: true - * console.log(buf.includes(97)); - * // Prints: true (97 is the decimal ASCII value for 'a') - * console.log(buf.includes(Buffer.from('a buffer example'))); - * // Prints: false - * console.log(buf.includes(Buffer.from('a buffer example').slice(0, 8))); - * // Prints: true - * console.log(buf.includes('this', 4)); - * // Prints: false - * ``` - * @since v5.3.0 - * @param value What to search for. - * @param [byteOffset=0] Where to begin searching in `buf`. If negative, then offset is calculated from the end of `buf`. - * @param [encoding='utf8'] If `value` is a string, this is its encoding. - * @return `true` if `value` was found in `buf`, `false` otherwise. - */ - includes( - value: string | number | Buffer, - byteOffset?: number, - encoding?: Encoding, - ): boolean; - /** - * Creates and returns an [iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) of `buf` keys (indices). - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('buffer'); - * - * for (const key of buf.keys()) { - * console.log(key); - * } - * // Prints: - * // 0 - * // 1 - * // 2 - * // 3 - * // 4 - * // 5 - * ``` - * @since v1.1.0 - */ - keys(): IterableIterator; - /** - * Creates and returns an [iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) for `buf` values (bytes). This function is - * called automatically when a `Buffer` is used in a `for..of` statement. - * - * ```js - * import { Buffer } from 'buffer'; - * - * const buf = Buffer.from('buffer'); - * - * for (const value of buf.values()) { - * console.log(value); - * } - * // Prints: - * // 98 - * // 117 - * // 102 - * // 102 - * // 101 - * // 114 - * - * for (const value of buf) { - * console.log(value); - * } - * // Prints: - * // 98 - * // 117 - * // 102 - * // 102 - * // 101 - * // 114 - * ``` - * @since v1.1.0 - */ - values(): IterableIterator; -} - -export const SlowBuffer: { - /** @deprecated since v6.0.0, use `Buffer.allocUnsafeSlow()` */ - new (size: number): Buffer; - prototype: Buffer; -}; - -export const atob: typeof globalThis.atob; -export const Blob: Blob; -export const btoa: typeof globalThis.btoa; -export const constants: { - MAX_LENGTH: number; - MAX_STRING_LENGTH: number; -}; -export const kMaxLength: number; -export const kStringMaxLength: number; - -declare const exports: { - atob: typeof atob; - Blob: Blob; - btoa: typeof btoa; - Buffer: Buffer; - constants: typeof constants; - kMaxLength: typeof kMaxLength; - kStringMaxLength: typeof kStringMaxLength; - SlowBuffer: typeof SlowBuffer; -}; - -export default exports; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs deleted file mode 100644 index 5407884..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs +++ /dev/null @@ -1,2607 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// Copyright Feross Aboukhadijeh, and other contributors. All rights reserved. MIT license. - -import { codes } from "./error_codes.ts"; -import { encodings } from "../internal_binding/string_decoder.ts"; -import { indexOfBuffer, indexOfNumber } from "../internal_binding/buffer.ts"; -import { - asciiToBytes, - base64ToBytes, - base64UrlToBytes, - bytesToAscii, - bytesToUtf16le, - hexToBytes, - utf16leToBytes, -} from "../internal_binding/_utils.ts"; -import { isAnyArrayBuffer, isArrayBufferView } from "./util/types.ts"; -import { normalizeEncoding } from "./util.mjs"; -import { validateBuffer } from "./validators.mjs"; -import { isUint8Array } from "./util/types.ts"; -import * as base64 from "../../encoding/base64.ts"; -import * as base64url from "../../encoding/base64url.ts"; - -const utf8Encoder = new TextEncoder(); - -// Temporary buffers to convert numbers. -const float32Array = new Float32Array(1); -const uInt8Float32Array = new Uint8Array(float32Array.buffer); -const float64Array = new Float64Array(1); -const uInt8Float64Array = new Uint8Array(float64Array.buffer); - -// Check endianness. -float32Array[0] = -1; // 0xBF800000 -// Either it is [0, 0, 128, 191] or [191, 128, 0, 0]. It is not possible to -// check this with `os.endianness()` because that is determined at compile time. -export const bigEndian = uInt8Float32Array[3] === 0; - -export const kMaxLength = 2147483647; -export const kStringMaxLength = 536870888; -const MAX_UINT32 = 2 ** 32; - -const customInspectSymbol = - typeof Symbol === "function" && typeof Symbol["for"] === "function" - ? Symbol["for"]("nodejs.util.inspect.custom") - : null; - -const INSPECT_MAX_BYTES = 50; - -export const constants = { - MAX_LENGTH: kMaxLength, - MAX_STRING_LENGTH: kStringMaxLength, -}; - -Object.defineProperty(Buffer.prototype, "parent", { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) { - return void 0; - } - return this.buffer; - }, -}); - -Object.defineProperty(Buffer.prototype, "offset", { - enumerable: true, - get: function () { - if (!Buffer.isBuffer(this)) { - return void 0; - } - return this.byteOffset; - }, -}); - -function createBuffer(length) { - if (length > kMaxLength) { - throw new RangeError( - 'The value "' + length + '" is invalid for option "size"', - ); - } - const buf = new Uint8Array(length); - Object.setPrototypeOf(buf, Buffer.prototype); - return buf; -} - -export function Buffer(arg, encodingOrOffset, length) { - if (typeof arg === "number") { - if (typeof encodingOrOffset === "string") { - throw new codes.ERR_INVALID_ARG_TYPE( - "string", - "string", - arg, - ); - } - return _allocUnsafe(arg); - } - return _from(arg, encodingOrOffset, length); -} - -Buffer.poolSize = 8192; - -function _from(value, encodingOrOffset, length) { - if (typeof value === "string") { - return fromString(value, encodingOrOffset); - } - - if (typeof value === "object" && value !== null) { - if (isAnyArrayBuffer(value)) { - return fromArrayBuffer(value, encodingOrOffset, length); - } - - const valueOf = value.valueOf && value.valueOf(); - if ( - valueOf != null && - valueOf !== value && - (typeof valueOf === "string" || typeof valueOf === "object") - ) { - return _from(valueOf, encodingOrOffset, length); - } - - const b = fromObject(value); - if (b) { - return b; - } - - if (typeof value[Symbol.toPrimitive] === "function") { - const primitive = value[Symbol.toPrimitive]("string"); - if (typeof primitive === "string") { - return fromString(primitive, encodingOrOffset); - } - } - } - - throw new codes.ERR_INVALID_ARG_TYPE( - "first argument", - ["string", "Buffer", "ArrayBuffer", "Array", "Array-like Object"], - value, - ); -} - -Buffer.from = function from(value, encodingOrOffset, length) { - return _from(value, encodingOrOffset, length); -}; - -Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype); - -Object.setPrototypeOf(Buffer, Uint8Array); - -function assertSize(size) { - validateNumber(size, "size"); - if (!(size >= 0 && size <= kMaxLength)) { - throw new codes.ERR_INVALID_ARG_VALUE.RangeError("size", size); - } -} - -function _alloc(size, fill, encoding) { - assertSize(size); - - const buffer = createBuffer(size); - if (fill !== undefined) { - if (encoding !== undefined && typeof encoding !== "string") { - throw new codes.ERR_INVALID_ARG_TYPE( - "encoding", - "string", - encoding, - ); - } - return buffer.fill(fill, encoding); - } - return buffer; -} - -Buffer.alloc = function alloc(size, fill, encoding) { - return _alloc(size, fill, encoding); -}; - -function _allocUnsafe(size) { - assertSize(size); - return createBuffer(size < 0 ? 0 : checked(size) | 0); -} - -Buffer.allocUnsafe = function allocUnsafe(size) { - return _allocUnsafe(size); -}; - -Buffer.allocUnsafeSlow = function allocUnsafeSlow(size) { - return _allocUnsafe(size); -}; - -function fromString(string, encoding) { - if (typeof encoding !== "string" || encoding === "") { - encoding = "utf8"; - } - if (!Buffer.isEncoding(encoding)) { - throw new codes.ERR_UNKNOWN_ENCODING(encoding); - } - const length = byteLength(string, encoding) | 0; - let buf = createBuffer(length); - const actual = buf.write(string, encoding); - if (actual !== length) { - buf = buf.slice(0, actual); - } - return buf; -} - -function fromArrayLike(array) { - const length = array.length < 0 ? 0 : checked(array.length) | 0; - const buf = createBuffer(length); - for (let i = 0; i < length; i += 1) { - buf[i] = array[i] & 255; - } - return buf; -} - -function fromObject(obj) { - if (obj.length !== undefined || isAnyArrayBuffer(obj.buffer)) { - if (typeof obj.length !== "number") { - return createBuffer(0); - } - return fromArrayLike(obj); - } - - if (obj.type === "Buffer" && Array.isArray(obj.data)) { - return fromArrayLike(obj.data); - } -} - -function checked(length) { - if (length >= kMaxLength) { - throw new RangeError( - "Attempt to allocate Buffer larger than maximum size: 0x" + - kMaxLength.toString(16) + " bytes", - ); - } - return length | 0; -} - -export function SlowBuffer(length) { - assertSize(length); - return Buffer.alloc(+length); -} - -Object.setPrototypeOf(SlowBuffer.prototype, Uint8Array.prototype); - -Object.setPrototypeOf(SlowBuffer, Uint8Array); - -Buffer.isBuffer = function isBuffer(b) { - return b != null && b._isBuffer === true && b !== Buffer.prototype; -}; - -Buffer.compare = function compare(a, b) { - if (isInstance(a, Uint8Array)) { - a = Buffer.from(a, a.offset, a.byteLength); - } - if (isInstance(b, Uint8Array)) { - b = Buffer.from(b, b.offset, b.byteLength); - } - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError( - 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array', - ); - } - if (a === b) { - return 0; - } - let x = a.length; - let y = b.length; - for (let i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i]; - y = b[i]; - break; - } - } - if (x < y) { - return -1; - } - if (y < x) { - return 1; - } - return 0; -}; - -Buffer.isEncoding = function isEncoding(encoding) { - return typeof encoding === "string" && encoding.length !== 0 && - normalizeEncoding(encoding) !== undefined; -}; - -Buffer.concat = function concat(list, length) { - if (!Array.isArray(list)) { - throw new codes.ERR_INVALID_ARG_TYPE("list", "Array", list); - } - - if (list.length === 0) { - return Buffer.alloc(0); - } - - if (length === undefined) { - length = 0; - for (let i = 0; i < list.length; i++) { - if (list[i].length) { - length += list[i].length; - } - } - } else { - validateOffset(length, "length"); - } - - const buffer = Buffer.allocUnsafe(length); - let pos = 0; - for (let i = 0; i < list.length; i++) { - const buf = list[i]; - if (!isUint8Array(buf)) { - // TODO(BridgeAR): This should not be of type ERR_INVALID_ARG_TYPE. - // Instead, find the proper error code for this. - throw new codes.ERR_INVALID_ARG_TYPE( - `list[${i}]`, - ["Buffer", "Uint8Array"], - list[i], - ); - } - pos += _copyActual(buf, buffer, pos, 0, buf.length); - } - - // Note: `length` is always equal to `buffer.length` at this point - if (pos < length) { - // Zero-fill the remaining bytes if the specified `length` was more than - // the actual total length, i.e. if we have some remaining allocated bytes - // there were not initialized. - buffer.fill(0, pos, length); - } - - return buffer; -}; - -function byteLength(string, encoding) { - if (typeof string !== "string") { - if (isArrayBufferView(string) || isAnyArrayBuffer(string)) { - return string.byteLength; - } - - throw new codes.ERR_INVALID_ARG_TYPE( - "string", - ["string", "Buffer", "ArrayBuffer"], - string, - ); - } - - const len = string.length; - const mustMatch = arguments.length > 2 && arguments[2] === true; - if (!mustMatch && len === 0) { - return 0; - } - - if (!encoding) { - return (mustMatch ? -1 : byteLengthUtf8(string)); - } - - const ops = getEncodingOps(encoding); - if (ops === undefined) { - return (mustMatch ? -1 : byteLengthUtf8(string)); - } - return ops.byteLength(string); -} - -Buffer.byteLength = byteLength; - -Buffer.prototype._isBuffer = true; - -function swap(b, n, m) { - const i = b[n]; - b[n] = b[m]; - b[m] = i; -} - -Buffer.prototype.swap16 = function swap16() { - const len = this.length; - if (len % 2 !== 0) { - throw new RangeError("Buffer size must be a multiple of 16-bits"); - } - for (let i = 0; i < len; i += 2) { - swap(this, i, i + 1); - } - return this; -}; - -Buffer.prototype.swap32 = function swap32() { - const len = this.length; - if (len % 4 !== 0) { - throw new RangeError("Buffer size must be a multiple of 32-bits"); - } - for (let i = 0; i < len; i += 4) { - swap(this, i, i + 3); - swap(this, i + 1, i + 2); - } - return this; -}; - -Buffer.prototype.swap64 = function swap64() { - const len = this.length; - if (len % 8 !== 0) { - throw new RangeError("Buffer size must be a multiple of 64-bits"); - } - for (let i = 0; i < len; i += 8) { - swap(this, i, i + 7); - swap(this, i + 1, i + 6); - swap(this, i + 2, i + 5); - swap(this, i + 3, i + 4); - } - return this; -}; - -Buffer.prototype.toString = function toString(encoding, start, end) { - if (arguments.length === 0) { - return this.utf8Slice(0, this.length); - } - - const len = this.length; - - if (start <= 0) { - start = 0; - } else if (start >= len) { - return ""; - } else { - start |= 0; - } - - if (end === undefined || end > len) { - end = len; - } else { - end |= 0; - } - - if (end <= start) { - return ""; - } - - if (encoding === undefined) { - return this.utf8Slice(start, end); - } - - const ops = getEncodingOps(encoding); - if (ops === undefined) { - throw new codes.ERR_UNKNOWN_ENCODING(encoding); - } - - return ops.slice(this, start, end); -}; - -Buffer.prototype.toLocaleString = Buffer.prototype.toString; - -Buffer.prototype.equals = function equals(b) { - if (!isUint8Array(b)) { - throw new codes.ERR_INVALID_ARG_TYPE( - "otherBuffer", - ["Buffer", "Uint8Array"], - b, - ); - } - if (this === b) { - return true; - } - return Buffer.compare(this, b) === 0; -}; - -Buffer.prototype.inspect = function inspect() { - let str = ""; - const max = INSPECT_MAX_BYTES; - str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim(); - if (this.length > max) { - str += " ... "; - } - return ""; -}; - -if (customInspectSymbol) { - Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect; -} - -Buffer.prototype.compare = function compare( - target, - start, - end, - thisStart, - thisEnd, -) { - if (isInstance(target, Uint8Array)) { - target = Buffer.from(target, target.offset, target.byteLength); - } - if (!Buffer.isBuffer(target)) { - throw new codes.ERR_INVALID_ARG_TYPE( - "target", - ["Buffer", "Uint8Array"], - target, - ); - } - - if (start === undefined) { - start = 0; - } else { - validateOffset(start, "targetStart", 0, kMaxLength); - } - - if (end === undefined) { - end = target.length; - } else { - validateOffset(end, "targetEnd", 0, target.length); - } - - if (thisStart === undefined) { - thisStart = 0; - } else { - validateOffset(start, "sourceStart", 0, kMaxLength); - } - - if (thisEnd === undefined) { - thisEnd = this.length; - } else { - validateOffset(end, "sourceEnd", 0, this.length); - } - - if ( - start < 0 || end > target.length || thisStart < 0 || - thisEnd > this.length - ) { - throw new codes.ERR_OUT_OF_RANGE("out of range index", "range"); - } - - if (thisStart >= thisEnd && start >= end) { - return 0; - } - if (thisStart >= thisEnd) { - return -1; - } - if (start >= end) { - return 1; - } - start >>>= 0; - end >>>= 0; - thisStart >>>= 0; - thisEnd >>>= 0; - if (this === target) { - return 0; - } - let x = thisEnd - thisStart; - let y = end - start; - const len = Math.min(x, y); - const thisCopy = this.slice(thisStart, thisEnd); - const targetCopy = target.slice(start, end); - for (let i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i]; - y = targetCopy[i]; - break; - } - } - if (x < y) { - return -1; - } - if (y < x) { - return 1; - } - return 0; -}; - -function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { - validateBuffer(buffer); - - if (typeof byteOffset === "string") { - encoding = byteOffset; - byteOffset = undefined; - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff; - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000; - } - byteOffset = +byteOffset; - if (Number.isNaN(byteOffset)) { - byteOffset = dir ? 0 : (buffer.length || buffer.byteLength); - } - dir = !!dir; - - if (typeof val === "number") { - return indexOfNumber(buffer, val >>> 0, byteOffset, dir); - } - - let ops; - if (encoding === undefined) { - ops = encodingOps.utf8; - } else { - ops = getEncodingOps(encoding); - } - - if (typeof val === "string") { - if (ops === undefined) { - throw new codes.ERR_UNKNOWN_ENCODING(encoding); - } - return ops.indexOf(buffer, val, byteOffset, dir); - } - - if (isUint8Array(val)) { - const encodingVal = ops === undefined ? encodingsMap.utf8 : ops.encodingVal; - return indexOfBuffer(buffer, val, byteOffset, encodingVal, dir); - } - - throw new codes.ERR_INVALID_ARG_TYPE( - "value", - ["number", "string", "Buffer", "Uint8Array"], - val, - ); -} - -Buffer.prototype.includes = function includes(val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1; -}; - -Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true); -}; - -Buffer.prototype.lastIndexOf = function lastIndexOf( - val, - byteOffset, - encoding, -) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false); -}; - -Buffer.prototype.asciiSlice = function asciiSlice(offset, length) { - if (offset === 0 && length === this.length) { - return bytesToAscii(this); - } else { - return bytesToAscii(this.slice(offset, length)); - } -}; - -Buffer.prototype.asciiWrite = function asciiWrite(string, offset, length) { - return blitBuffer(asciiToBytes(string), this, offset, length); -}; - -Buffer.prototype.base64Slice = function base64Slice( - offset, - length, -) { - if (offset === 0 && length === this.length) { - return base64.encode(this); - } else { - return base64.encode(this.slice(offset, length)); - } -}; - -Buffer.prototype.base64Write = function base64Write( - string, - offset, - length, -) { - return blitBuffer(base64ToBytes(string), this, offset, length); -}; - -Buffer.prototype.base64urlSlice = function base64urlSlice( - offset, - length, -) { - if (offset === 0 && length === this.length) { - return base64url.encode(this); - } else { - return base64url.encode(this.slice(offset, length)); - } -}; - -Buffer.prototype.base64urlWrite = function base64urlWrite( - string, - offset, - length, -) { - return blitBuffer(base64UrlToBytes(string), this, offset, length); -}; - -Buffer.prototype.hexWrite = function hexWrite(string, offset, length) { - return blitBuffer( - hexToBytes(string, this.length - offset), - this, - offset, - length, - ); -}; - -Buffer.prototype.hexSlice = function hexSlice(string, offset, length) { - return _hexSlice(this, string, offset, length); -}; - -Buffer.prototype.latin1Slice = function latin1Slice( - string, - offset, - length, -) { - return _latin1Slice(this, string, offset, length); -}; - -Buffer.prototype.latin1Write = function latin1Write( - string, - offset, - length, -) { - return blitBuffer(asciiToBytes(string), this, offset, length); -}; - -Buffer.prototype.ucs2Slice = function ucs2Slice(offset, length) { - if (offset === 0 && length === this.length) { - return bytesToUtf16le(this); - } else { - return bytesToUtf16le(this.slice(offset, length)); - } -}; - -Buffer.prototype.ucs2Write = function ucs2Write(string, offset, length) { - return blitBuffer( - utf16leToBytes(string, this.length - offset), - this, - offset, - length, - ); -}; - -Buffer.prototype.utf8Slice = function utf8Slice(string, offset, length) { - return _utf8Slice(this, string, offset, length); -}; - -Buffer.prototype.utf8Write = function utf8Write(string, offset, length) { - return blitBuffer( - utf8ToBytes(string, this.length - offset), - this, - offset, - length, - ); -}; - -Buffer.prototype.write = function write(string, offset, length, encoding) { - // Buffer#write(string); - if (offset === undefined) { - return this.utf8Write(string, 0, this.length); - } - // Buffer#write(string, encoding) - if (length === undefined && typeof offset === "string") { - encoding = offset; - length = this.length; - offset = 0; - - // Buffer#write(string, offset[, length][, encoding]) - } else { - validateOffset(offset, "offset", 0, this.length); - - const remaining = this.length - offset; - - if (length === undefined) { - length = remaining; - } else if (typeof length === "string") { - encoding = length; - length = remaining; - } else { - validateOffset(length, "length", 0, this.length); - if (length > remaining) { - length = remaining; - } - } - } - - if (!encoding) { - return this.utf8Write(string, offset, length); - } - - const ops = getEncodingOps(encoding); - if (ops === undefined) { - throw new codes.ERR_UNKNOWN_ENCODING(encoding); - } - return ops.write(this, string, offset, length); -}; - -Buffer.prototype.toJSON = function toJSON() { - return { - type: "Buffer", - data: Array.prototype.slice.call(this._arr || this, 0), - }; -}; -function fromArrayBuffer(obj, byteOffset, length) { - // Convert byteOffset to integer - if (byteOffset === undefined) { - byteOffset = 0; - } else { - byteOffset = +byteOffset; - if (Number.isNaN(byteOffset)) { - byteOffset = 0; - } - } - - const maxLength = obj.byteLength - byteOffset; - - if (maxLength < 0) { - throw new codes.ERR_BUFFER_OUT_OF_BOUNDS("offset"); - } - - if (length === undefined) { - length = maxLength; - } else { - // Convert length to non-negative integer. - length = +length; - if (length > 0) { - if (length > maxLength) { - throw new codes.ERR_BUFFER_OUT_OF_BOUNDS("length"); - } - } else { - length = 0; - } - } - - const buffer = new Uint8Array(obj, byteOffset, length); - Object.setPrototypeOf(buffer, Buffer.prototype); - return buffer; -} - -function _base64Slice(buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.encode(buf); - } else { - return base64.encode(buf.slice(start, end)); - } -} - -const decoder = new TextDecoder(); - -function _utf8Slice(buf, start, end) { - return decoder.decode(buf.slice(start, end)); -} - -function _latin1Slice(buf, start, end) { - let ret = ""; - end = Math.min(buf.length, end); - for (let i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]); - } - return ret; -} - -function _hexSlice(buf, start, end) { - const len = buf.length; - if (!start || start < 0) { - start = 0; - } - if (!end || end < 0 || end > len) { - end = len; - } - let out = ""; - for (let i = start; i < end; ++i) { - out += hexSliceLookupTable[buf[i]]; - } - return out; -} - -Buffer.prototype.slice = function slice(start, end) { - const len = this.length; - start = ~~start; - end = end === void 0 ? len : ~~end; - if (start < 0) { - start += len; - if (start < 0) { - start = 0; - } - } else if (start > len) { - start = len; - } - if (end < 0) { - end += len; - if (end < 0) { - end = 0; - } - } else if (end > len) { - end = len; - } - if (end < start) { - end = start; - } - const newBuf = this.subarray(start, end); - Object.setPrototypeOf(newBuf, Buffer.prototype); - return newBuf; -}; - -Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE( - offset, - byteLength, -) { - if (offset === undefined) { - throw new codes.ERR_INVALID_ARG_TYPE("offset", "number", offset); - } - if (byteLength === 6) { - return readUInt48LE(this, offset); - } - if (byteLength === 5) { - return readUInt40LE(this, offset); - } - if (byteLength === 3) { - return readUInt24LE(this, offset); - } - if (byteLength === 4) { - return this.readUInt32LE(offset); - } - if (byteLength === 2) { - return this.readUInt16LE(offset); - } - if (byteLength === 1) { - return this.readUInt8(offset); - } - - boundsError(byteLength, 6, "byteLength"); -}; - -Buffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function readUIntBE( - offset, - byteLength, -) { - if (offset === undefined) { - throw new codes.ERR_INVALID_ARG_TYPE("offset", "number", offset); - } - if (byteLength === 6) { - return readUInt48BE(this, offset); - } - if (byteLength === 5) { - return readUInt40BE(this, offset); - } - if (byteLength === 3) { - return readUInt24BE(this, offset); - } - if (byteLength === 4) { - return this.readUInt32BE(offset); - } - if (byteLength === 2) { - return this.readUInt16BE(offset); - } - if (byteLength === 1) { - return this.readUInt8(offset); - } - - boundsError(byteLength, 6, "byteLength"); -}; - -Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8( - offset = 0, -) { - validateNumber(offset, "offset"); - const val = this[offset]; - if (val === undefined) { - boundsError(offset, this.length - 1); - } - - return val; -}; - -Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = readUInt16BE; - -Buffer.prototype.readUint16LE = - Buffer.prototype.readUInt16LE = - function readUInt16LE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 1]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 2); - } - - return first + last * 2 ** 8; - }; - -Buffer.prototype.readUint32LE = - Buffer.prototype.readUInt32LE = - function readUInt32LE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 3]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 4); - } - - return first + - this[++offset] * 2 ** 8 + - this[++offset] * 2 ** 16 + - last * 2 ** 24; - }; - -Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = readUInt32BE; - -Buffer.prototype.readBigUint64LE = - Buffer.prototype.readBigUInt64LE = - defineBigIntMethod( - function readBigUInt64LE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const lo = first + this[++offset] * 2 ** 8 + - this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 24; - const hi = this[++offset] + this[++offset] * 2 ** 8 + - this[++offset] * 2 ** 16 + last * 2 ** 24; - return BigInt(lo) + (BigInt(hi) << BigInt(32)); - }, - ); - -Buffer.prototype.readBigUint64BE = - Buffer.prototype.readBigUInt64BE = - defineBigIntMethod( - function readBigUInt64BE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 8 + this[++offset]; - const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 8 + last; - return (BigInt(hi) << BigInt(32)) + BigInt(lo); - }, - ); - -Buffer.prototype.readIntLE = function readIntLE( - offset, - byteLength, -) { - if (offset === undefined) { - throw new codes.ERR_INVALID_ARG_TYPE("offset", "number", offset); - } - if (byteLength === 6) { - return readInt48LE(this, offset); - } - if (byteLength === 5) { - return readInt40LE(this, offset); - } - if (byteLength === 3) { - return readInt24LE(this, offset); - } - if (byteLength === 4) { - return this.readInt32LE(offset); - } - if (byteLength === 2) { - return this.readInt16LE(offset); - } - if (byteLength === 1) { - return this.readInt8(offset); - } - - boundsError(byteLength, 6, "byteLength"); -}; - -Buffer.prototype.readIntBE = function readIntBE(offset, byteLength) { - if (offset === undefined) { - throw new codes.ERR_INVALID_ARG_TYPE("offset", "number", offset); - } - if (byteLength === 6) { - return readInt48BE(this, offset); - } - if (byteLength === 5) { - return readInt40BE(this, offset); - } - if (byteLength === 3) { - return readInt24BE(this, offset); - } - if (byteLength === 4) { - return this.readInt32BE(offset); - } - if (byteLength === 2) { - return this.readInt16BE(offset); - } - if (byteLength === 1) { - return this.readInt8(offset); - } - - boundsError(byteLength, 6, "byteLength"); -}; - -Buffer.prototype.readInt8 = function readInt8(offset = 0) { - validateNumber(offset, "offset"); - const val = this[offset]; - if (val === undefined) { - boundsError(offset, this.length - 1); - } - - return val | (val & 2 ** 7) * 0x1fffffe; -}; - -Buffer.prototype.readInt16LE = function readInt16LE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 1]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 2); - } - - const val = first + last * 2 ** 8; - return val | (val & 2 ** 15) * 0x1fffe; -}; - -Buffer.prototype.readInt16BE = function readInt16BE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 1]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 2); - } - - const val = first * 2 ** 8 + last; - return val | (val & 2 ** 15) * 0x1fffe; -}; - -Buffer.prototype.readInt32LE = function readInt32LE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 3]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 4); - } - - return first + - this[++offset] * 2 ** 8 + - this[++offset] * 2 ** 16 + - (last << 24); // Overflow -}; - -Buffer.prototype.readInt32BE = function readInt32BE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 3]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 4); - } - - return (first << 24) + // Overflow - this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 8 + - last; -}; - -Buffer.prototype.readBigInt64LE = defineBigIntMethod( - function readBigInt64LE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + - this[offset + 6] * 2 ** 16 + (last << 24); - return (BigInt(val) << BigInt(32)) + - BigInt( - first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 24, - ); - }, -); - -Buffer.prototype.readBigInt64BE = defineBigIntMethod( - function readBigInt64BE(offset) { - offset = offset >>> 0; - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 7]; - if (first === void 0 || last === void 0) { - boundsError(offset, this.length - 8); - } - const val = (first << 24) + this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 8 + this[++offset]; - return (BigInt(val) << BigInt(32)) + - BigInt( - this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 8 + last, - ); - }, -); - -Buffer.prototype.readFloatLE = function readFloatLE(offset) { - return bigEndian - ? readFloatBackwards(this, offset) - : readFloatForwards(this, offset); -}; - -Buffer.prototype.readFloatBE = function readFloatBE(offset) { - return bigEndian - ? readFloatForwards(this, offset) - : readFloatBackwards(this, offset); -}; - -Buffer.prototype.readDoubleLE = function readDoubleLE(offset) { - return bigEndian - ? readDoubleBackwards(this, offset) - : readDoubleForwards(this, offset); -}; - -Buffer.prototype.readDoubleBE = function readDoubleBE(offset) { - return bigEndian - ? readDoubleForwards(this, offset) - : readDoubleBackwards(this, offset); -}; - -Buffer.prototype.writeUintLE = - Buffer.prototype.writeUIntLE = - function writeUIntLE(value, offset, byteLength) { - if (byteLength === 6) { - return writeU_Int48LE(this, value, offset, 0, 0xffffffffffff); - } - if (byteLength === 5) { - return writeU_Int40LE(this, value, offset, 0, 0xffffffffff); - } - if (byteLength === 3) { - return writeU_Int24LE(this, value, offset, 0, 0xffffff); - } - if (byteLength === 4) { - return writeU_Int32LE(this, value, offset, 0, 0xffffffff); - } - if (byteLength === 2) { - return writeU_Int16LE(this, value, offset, 0, 0xffff); - } - if (byteLength === 1) { - return writeU_Int8(this, value, offset, 0, 0xff); - } - - boundsError(byteLength, 6, "byteLength"); - }; - -Buffer.prototype.writeUintBE = - Buffer.prototype.writeUIntBE = - function writeUIntBE(value, offset, byteLength) { - if (byteLength === 6) { - return writeU_Int48BE(this, value, offset, 0, 0xffffffffffff); - } - if (byteLength === 5) { - return writeU_Int40BE(this, value, offset, 0, 0xffffffffff); - } - if (byteLength === 3) { - return writeU_Int24BE(this, value, offset, 0, 0xffffff); - } - if (byteLength === 4) { - return writeU_Int32BE(this, value, offset, 0, 0xffffffff); - } - if (byteLength === 2) { - return writeU_Int16BE(this, value, offset, 0, 0xffff); - } - if (byteLength === 1) { - return writeU_Int8(this, value, offset, 0, 0xff); - } - - boundsError(byteLength, 6, "byteLength"); - }; - -Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8( - value, - offset = 0, -) { - return writeU_Int8(this, value, offset, 0, 0xff); -}; - -Buffer.prototype.writeUint16LE = - Buffer.prototype.writeUInt16LE = - function writeUInt16LE(value, offset = 0) { - return writeU_Int16LE(this, value, offset, 0, 0xffff); - }; - -Buffer.prototype.writeUint16BE = - Buffer.prototype.writeUInt16BE = - function writeUInt16BE(value, offset = 0) { - return writeU_Int16BE(this, value, offset, 0, 0xffff); - }; - -Buffer.prototype.writeUint32LE = - Buffer.prototype.writeUInt32LE = - function writeUInt32LE(value, offset = 0) { - return _writeUInt32LE(this, value, offset, 0, 0xffffffff); - }; - -Buffer.prototype.writeUint32BE = - Buffer.prototype.writeUInt32BE = - function writeUInt32BE(value, offset = 0) { - return _writeUInt32BE(this, value, offset, 0, 0xffffffff); - }; - -function wrtBigUInt64LE(buf, value, offset, min, max) { - checkIntBI(value, min, max, buf, offset, 7); - let lo = Number(value & BigInt(4294967295)); - buf[offset++] = lo; - lo = lo >> 8; - buf[offset++] = lo; - lo = lo >> 8; - buf[offset++] = lo; - lo = lo >> 8; - buf[offset++] = lo; - let hi = Number(value >> BigInt(32) & BigInt(4294967295)); - buf[offset++] = hi; - hi = hi >> 8; - buf[offset++] = hi; - hi = hi >> 8; - buf[offset++] = hi; - hi = hi >> 8; - buf[offset++] = hi; - return offset; -} - -function wrtBigUInt64BE(buf, value, offset, min, max) { - checkIntBI(value, min, max, buf, offset, 7); - let lo = Number(value & BigInt(4294967295)); - buf[offset + 7] = lo; - lo = lo >> 8; - buf[offset + 6] = lo; - lo = lo >> 8; - buf[offset + 5] = lo; - lo = lo >> 8; - buf[offset + 4] = lo; - let hi = Number(value >> BigInt(32) & BigInt(4294967295)); - buf[offset + 3] = hi; - hi = hi >> 8; - buf[offset + 2] = hi; - hi = hi >> 8; - buf[offset + 1] = hi; - hi = hi >> 8; - buf[offset] = hi; - return offset + 8; -} - -Buffer.prototype.writeBigUint64LE = - Buffer.prototype.writeBigUInt64LE = - defineBigIntMethod( - function writeBigUInt64LE(value, offset = 0) { - return wrtBigUInt64LE( - this, - value, - offset, - BigInt(0), - BigInt("0xffffffffffffffff"), - ); - }, - ); - -Buffer.prototype.writeBigUint64BE = - Buffer.prototype.writeBigUInt64BE = - defineBigIntMethod( - function writeBigUInt64BE(value, offset = 0) { - return wrtBigUInt64BE( - this, - value, - offset, - BigInt(0), - BigInt("0xffffffffffffffff"), - ); - }, - ); - -Buffer.prototype.writeIntLE = function writeIntLE( - value, - offset, - byteLength, -) { - if (byteLength === 6) { - return writeU_Int48LE( - this, - value, - offset, - -0x800000000000, - 0x7fffffffffff, - ); - } - if (byteLength === 5) { - return writeU_Int40LE(this, value, offset, -0x8000000000, 0x7fffffffff); - } - if (byteLength === 3) { - return writeU_Int24LE(this, value, offset, -0x800000, 0x7fffff); - } - if (byteLength === 4) { - return writeU_Int32LE(this, value, offset, -0x80000000, 0x7fffffff); - } - if (byteLength === 2) { - return writeU_Int16LE(this, value, offset, -0x8000, 0x7fff); - } - if (byteLength === 1) { - return writeU_Int8(this, value, offset, -0x80, 0x7f); - } - - boundsError(byteLength, 6, "byteLength"); -}; - -Buffer.prototype.writeIntBE = function writeIntBE( - value, - offset, - byteLength, -) { - if (byteLength === 6) { - return writeU_Int48BE( - this, - value, - offset, - -0x800000000000, - 0x7fffffffffff, - ); - } - if (byteLength === 5) { - return writeU_Int40BE(this, value, offset, -0x8000000000, 0x7fffffffff); - } - if (byteLength === 3) { - return writeU_Int24BE(this, value, offset, -0x800000, 0x7fffff); - } - if (byteLength === 4) { - return writeU_Int32BE(this, value, offset, -0x80000000, 0x7fffffff); - } - if (byteLength === 2) { - return writeU_Int16BE(this, value, offset, -0x8000, 0x7fff); - } - if (byteLength === 1) { - return writeU_Int8(this, value, offset, -0x80, 0x7f); - } - - boundsError(byteLength, 6, "byteLength"); -}; - -Buffer.prototype.writeInt8 = function writeInt8(value, offset = 0) { - return writeU_Int8(this, value, offset, -0x80, 0x7f); -}; - -Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset = 0) { - return writeU_Int16LE(this, value, offset, -0x8000, 0x7fff); -}; - -Buffer.prototype.writeInt16BE = function writeInt16BE( - value, - offset = 0, -) { - return writeU_Int16BE(this, value, offset, -0x8000, 0x7fff); -}; - -Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset = 0) { - return writeU_Int32LE(this, value, offset, -0x80000000, 0x7fffffff); -}; - -Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset = 0) { - return writeU_Int32BE(this, value, offset, -0x80000000, 0x7fffffff); -}; - -Buffer.prototype.writeBigInt64LE = defineBigIntMethod( - function writeBigInt64LE(value, offset = 0) { - return wrtBigUInt64LE( - this, - value, - offset, - -BigInt("0x8000000000000000"), - BigInt("0x7fffffffffffffff"), - ); - }, -); - -Buffer.prototype.writeBigInt64BE = defineBigIntMethod( - function writeBigInt64BE(value, offset = 0) { - return wrtBigUInt64BE( - this, - value, - offset, - -BigInt("0x8000000000000000"), - BigInt("0x7fffffffffffffff"), - ); - }, -); - -Buffer.prototype.writeFloatLE = function writeFloatLE( - value, - offset, -) { - return bigEndian - ? writeFloatBackwards(this, value, offset) - : writeFloatForwards(this, value, offset); -}; - -Buffer.prototype.writeFloatBE = function writeFloatBE( - value, - offset, -) { - return bigEndian - ? writeFloatForwards(this, value, offset) - : writeFloatBackwards(this, value, offset); -}; - -Buffer.prototype.writeDoubleLE = function writeDoubleLE( - value, - offset, -) { - return bigEndian - ? writeDoubleBackwards(this, value, offset) - : writeDoubleForwards(this, value, offset); -}; - -Buffer.prototype.writeDoubleBE = function writeDoubleBE( - value, - offset, -) { - return bigEndian - ? writeDoubleForwards(this, value, offset) - : writeDoubleBackwards(this, value, offset); -}; - -Buffer.prototype.copy = function copy( - target, - targetStart, - sourceStart, - sourceEnd, -) { - if (!isUint8Array(this)) { - throw new codes.ERR_INVALID_ARG_TYPE( - "source", - ["Buffer", "Uint8Array"], - this, - ); - } - - if (!isUint8Array(target)) { - throw new codes.ERR_INVALID_ARG_TYPE( - "target", - ["Buffer", "Uint8Array"], - target, - ); - } - - if (targetStart === undefined) { - targetStart = 0; - } else { - targetStart = toInteger(targetStart, 0); - if (targetStart < 0) { - throw new codes.ERR_OUT_OF_RANGE("targetStart", ">= 0", targetStart); - } - } - - if (sourceStart === undefined) { - sourceStart = 0; - } else { - sourceStart = toInteger(sourceStart, 0); - if (sourceStart < 0) { - throw new codes.ERR_OUT_OF_RANGE("sourceStart", ">= 0", sourceStart); - } - if (sourceStart >= MAX_UINT32) { - throw new codes.ERR_OUT_OF_RANGE( - "sourceStart", - `< ${MAX_UINT32}`, - sourceStart, - ); - } - } - - if (sourceEnd === undefined) { - sourceEnd = this.length; - } else { - sourceEnd = toInteger(sourceEnd, 0); - if (sourceEnd < 0) { - throw new codes.ERR_OUT_OF_RANGE("sourceEnd", ">= 0", sourceEnd); - } - if (sourceEnd >= MAX_UINT32) { - throw new codes.ERR_OUT_OF_RANGE( - "sourceEnd", - `< ${MAX_UINT32}`, - sourceEnd, - ); - } - } - - if (targetStart >= target.length) { - return 0; - } - - if (sourceEnd > 0 && sourceEnd < sourceStart) { - sourceEnd = sourceStart; - } - if (sourceEnd === sourceStart) { - return 0; - } - if (target.length === 0 || this.length === 0) { - return 0; - } - - if (sourceEnd > this.length) { - sourceEnd = this.length; - } - - if (target.length - targetStart < sourceEnd - sourceStart) { - sourceEnd = target.length - targetStart + sourceStart; - } - - const len = sourceEnd - sourceStart; - if ( - this === target && typeof Uint8Array.prototype.copyWithin === "function" - ) { - this.copyWithin(targetStart, sourceStart, sourceEnd); - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(sourceStart, sourceEnd), - targetStart, - ); - } - return len; -}; - -Buffer.prototype.fill = function fill(val, start, end, encoding) { - if (typeof val === "string") { - if (typeof start === "string") { - encoding = start; - start = 0; - end = this.length; - } else if (typeof end === "string") { - encoding = end; - end = this.length; - } - if (encoding !== void 0 && typeof encoding !== "string") { - throw new TypeError("encoding must be a string"); - } - if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) { - throw new TypeError("Unknown encoding: " + encoding); - } - if (val.length === 1) { - const code = val.charCodeAt(0); - if (encoding === "utf8" && code < 128 || encoding === "latin1") { - val = code; - } - } - } else if (typeof val === "number") { - val = val & 255; - } else if (typeof val === "boolean") { - val = Number(val); - } - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError("Out of range index"); - } - if (end <= start) { - return this; - } - start = start >>> 0; - end = end === void 0 ? this.length : end >>> 0; - if (!val) { - val = 0; - } - let i; - if (typeof val === "number") { - for (i = start; i < end; ++i) { - this[i] = val; - } - } else { - const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding); - const len = bytes.length; - if (len === 0) { - throw new codes.ERR_INVALID_ARG_VALUE( - "value", - val, - ); - } - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len]; - } - } - return this; -}; - -function checkBounds(buf, offset, byteLength2) { - validateNumber(offset, "offset"); - if (buf[offset] === void 0 || buf[offset + byteLength2] === void 0) { - boundsError(offset, buf.length - (byteLength2 + 1)); - } -} - -function checkIntBI(value, min, max, buf, offset, byteLength2) { - if (value > max || value < min) { - const n = typeof min === "bigint" ? "n" : ""; - let range; - if (byteLength2 > 3) { - if (min === 0 || min === BigInt(0)) { - range = `>= 0${n} and < 2${n} ** ${(byteLength2 + 1) * 8}${n}`; - } else { - range = `>= -(2${n} ** ${(byteLength2 + 1) * 8 - 1}${n}) and < 2 ** ${ - (byteLength2 + 1) * 8 - 1 - }${n}`; - } - } else { - range = `>= ${min}${n} and <= ${max}${n}`; - } - throw new codes.ERR_OUT_OF_RANGE("value", range, value); - } - checkBounds(buf, offset, byteLength2); -} - -function utf8ToBytes(string, units) { - units = units || Infinity; - let codePoint; - const length = string.length; - let leadSurrogate = null; - const bytes = []; - for (let i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i); - if (codePoint > 55295 && codePoint < 57344) { - if (!leadSurrogate) { - if (codePoint > 56319) { - if ((units -= 3) > -1) { - bytes.push(239, 191, 189); - } - continue; - } else if (i + 1 === length) { - if ((units -= 3) > -1) { - bytes.push(239, 191, 189); - } - continue; - } - leadSurrogate = codePoint; - continue; - } - if (codePoint < 56320) { - if ((units -= 3) > -1) { - bytes.push(239, 191, 189); - } - leadSurrogate = codePoint; - continue; - } - codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; - } else if (leadSurrogate) { - if ((units -= 3) > -1) { - bytes.push(239, 191, 189); - } - } - leadSurrogate = null; - if (codePoint < 128) { - if ((units -= 1) < 0) { - break; - } - bytes.push(codePoint); - } else if (codePoint < 2048) { - if ((units -= 2) < 0) { - break; - } - bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128); - } else if (codePoint < 65536) { - if ((units -= 3) < 0) { - break; - } - bytes.push( - codePoint >> 12 | 224, - codePoint >> 6 & 63 | 128, - codePoint & 63 | 128, - ); - } else if (codePoint < 1114112) { - if ((units -= 4) < 0) { - break; - } - bytes.push( - codePoint >> 18 | 240, - codePoint >> 12 & 63 | 128, - codePoint >> 6 & 63 | 128, - codePoint & 63 | 128, - ); - } else { - throw new Error("Invalid code point"); - } - } - return bytes; -} - -function blitBuffer(src, dst, offset, byteLength) { - let i; - const length = byteLength === undefined ? src.length : byteLength; - for (i = 0; i < length; ++i) { - if (i + offset >= dst.length || i >= src.length) { - break; - } - dst[i + offset] = src[i]; - } - return i; -} - -function isInstance(obj, type) { - return obj instanceof type || - obj != null && obj.constructor != null && - obj.constructor.name != null && obj.constructor.name === type.name; -} - -const hexSliceLookupTable = function () { - const alphabet = "0123456789abcdef"; - const table = new Array(256); - for (let i = 0; i < 16; ++i) { - const i16 = i * 16; - for (let j = 0; j < 16; ++j) { - table[i16 + j] = alphabet[i] + alphabet[j]; - } - } - return table; -}(); - -function defineBigIntMethod(fn) { - return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn; -} - -function BufferBigIntNotDefined() { - throw new Error("BigInt not supported"); -} - -export const atob = globalThis.atob; -export const Blob = globalThis.Blob; -export const btoa = globalThis.btoa; - -export function readUInt48LE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 5]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 6); - } - - return first + - buf[++offset] * 2 ** 8 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 24 + - (buf[++offset] + last * 2 ** 8) * 2 ** 32; -} - -export function readUInt40LE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 4]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 5); - } - - return first + - buf[++offset] * 2 ** 8 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 24 + - last * 2 ** 32; -} - -export function readUInt24LE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 2]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 3); - } - - return first + buf[++offset] * 2 ** 8 + last * 2 ** 16; -} - -export function readUInt48BE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 5]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 6); - } - - return (first * 2 ** 8 + buf[++offset]) * 2 ** 32 + - buf[++offset] * 2 ** 24 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 8 + - last; -} - -export function readUInt40BE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 4]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 5); - } - - return first * 2 ** 32 + - buf[++offset] * 2 ** 24 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 8 + - last; -} - -export function readUInt24BE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 2]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 3); - } - - return first * 2 ** 16 + buf[++offset] * 2 ** 8 + last; -} - -export function readUInt16BE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 1]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 2); - } - - return first * 2 ** 8 + last; -} - -export function readUInt32BE(offset = 0) { - validateNumber(offset, "offset"); - const first = this[offset]; - const last = this[offset + 3]; - if (first === undefined || last === undefined) { - boundsError(offset, this.length - 4); - } - - return first * 2 ** 24 + - this[++offset] * 2 ** 16 + - this[++offset] * 2 ** 8 + - last; -} - -export function readDoubleBackwards(buffer, offset = 0) { - validateNumber(offset, "offset"); - const first = buffer[offset]; - const last = buffer[offset + 7]; - if (first === undefined || last === undefined) { - boundsError(offset, buffer.length - 8); - } - - uInt8Float64Array[7] = first; - uInt8Float64Array[6] = buffer[++offset]; - uInt8Float64Array[5] = buffer[++offset]; - uInt8Float64Array[4] = buffer[++offset]; - uInt8Float64Array[3] = buffer[++offset]; - uInt8Float64Array[2] = buffer[++offset]; - uInt8Float64Array[1] = buffer[++offset]; - uInt8Float64Array[0] = last; - return float64Array[0]; -} - -export function readDoubleForwards(buffer, offset = 0) { - validateNumber(offset, "offset"); - const first = buffer[offset]; - const last = buffer[offset + 7]; - if (first === undefined || last === undefined) { - boundsError(offset, buffer.length - 8); - } - - uInt8Float64Array[0] = first; - uInt8Float64Array[1] = buffer[++offset]; - uInt8Float64Array[2] = buffer[++offset]; - uInt8Float64Array[3] = buffer[++offset]; - uInt8Float64Array[4] = buffer[++offset]; - uInt8Float64Array[5] = buffer[++offset]; - uInt8Float64Array[6] = buffer[++offset]; - uInt8Float64Array[7] = last; - return float64Array[0]; -} - -export function writeDoubleForwards(buffer, val, offset = 0) { - val = +val; - checkBounds(buffer, offset, 7); - - float64Array[0] = val; - buffer[offset++] = uInt8Float64Array[0]; - buffer[offset++] = uInt8Float64Array[1]; - buffer[offset++] = uInt8Float64Array[2]; - buffer[offset++] = uInt8Float64Array[3]; - buffer[offset++] = uInt8Float64Array[4]; - buffer[offset++] = uInt8Float64Array[5]; - buffer[offset++] = uInt8Float64Array[6]; - buffer[offset++] = uInt8Float64Array[7]; - return offset; -} - -export function writeDoubleBackwards(buffer, val, offset = 0) { - val = +val; - checkBounds(buffer, offset, 7); - - float64Array[0] = val; - buffer[offset++] = uInt8Float64Array[7]; - buffer[offset++] = uInt8Float64Array[6]; - buffer[offset++] = uInt8Float64Array[5]; - buffer[offset++] = uInt8Float64Array[4]; - buffer[offset++] = uInt8Float64Array[3]; - buffer[offset++] = uInt8Float64Array[2]; - buffer[offset++] = uInt8Float64Array[1]; - buffer[offset++] = uInt8Float64Array[0]; - return offset; -} - -export function readFloatBackwards(buffer, offset = 0) { - validateNumber(offset, "offset"); - const first = buffer[offset]; - const last = buffer[offset + 3]; - if (first === undefined || last === undefined) { - boundsError(offset, buffer.length - 4); - } - - uInt8Float32Array[3] = first; - uInt8Float32Array[2] = buffer[++offset]; - uInt8Float32Array[1] = buffer[++offset]; - uInt8Float32Array[0] = last; - return float32Array[0]; -} - -export function readFloatForwards(buffer, offset = 0) { - validateNumber(offset, "offset"); - const first = buffer[offset]; - const last = buffer[offset + 3]; - if (first === undefined || last === undefined) { - boundsError(offset, buffer.length - 4); - } - - uInt8Float32Array[0] = first; - uInt8Float32Array[1] = buffer[++offset]; - uInt8Float32Array[2] = buffer[++offset]; - uInt8Float32Array[3] = last; - return float32Array[0]; -} - -export function writeFloatForwards(buffer, val, offset = 0) { - val = +val; - checkBounds(buffer, offset, 3); - - float32Array[0] = val; - buffer[offset++] = uInt8Float32Array[0]; - buffer[offset++] = uInt8Float32Array[1]; - buffer[offset++] = uInt8Float32Array[2]; - buffer[offset++] = uInt8Float32Array[3]; - return offset; -} - -export function writeFloatBackwards(buffer, val, offset = 0) { - val = +val; - checkBounds(buffer, offset, 3); - - float32Array[0] = val; - buffer[offset++] = uInt8Float32Array[3]; - buffer[offset++] = uInt8Float32Array[2]; - buffer[offset++] = uInt8Float32Array[1]; - buffer[offset++] = uInt8Float32Array[0]; - return offset; -} - -export function readInt24LE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 2]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 3); - } - - const val = first + buf[++offset] * 2 ** 8 + last * 2 ** 16; - return val | (val & 2 ** 23) * 0x1fe; -} - -export function readInt40LE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 4]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 5); - } - - return (last | (last & 2 ** 7) * 0x1fffffe) * 2 ** 32 + - first + - buf[++offset] * 2 ** 8 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 24; -} - -export function readInt48LE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 5]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 6); - } - - const val = buf[offset + 4] + last * 2 ** 8; - return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 + - first + - buf[++offset] * 2 ** 8 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 24; -} - -export function readInt24BE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 2]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 3); - } - - const val = first * 2 ** 16 + buf[++offset] * 2 ** 8 + last; - return val | (val & 2 ** 23) * 0x1fe; -} - -export function readInt48BE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 5]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 6); - } - - const val = buf[++offset] + first * 2 ** 8; - return (val | (val & 2 ** 15) * 0x1fffe) * 2 ** 32 + - buf[++offset] * 2 ** 24 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 8 + - last; -} - -export function readInt40BE(buf, offset = 0) { - validateNumber(offset, "offset"); - const first = buf[offset]; - const last = buf[offset + 4]; - if (first === undefined || last === undefined) { - boundsError(offset, buf.length - 5); - } - - return (first | (first & 2 ** 7) * 0x1fffffe) * 2 ** 32 + - buf[++offset] * 2 ** 24 + - buf[++offset] * 2 ** 16 + - buf[++offset] * 2 ** 8 + - last; -} - -export function byteLengthUtf8(str) { - return utf8Encoder.encode(str).length; -} - -function base64ByteLength(str, bytes) { - // Handle padding - if (str.charCodeAt(bytes - 1) === 0x3D) { - bytes--; - } - if (bytes > 1 && str.charCodeAt(bytes - 1) === 0x3D) { - bytes--; - } - - // Base64 ratio: 3/4 - return (bytes * 3) >>> 2; -} - -export const encodingsMap = Object.create(null); -for (let i = 0; i < encodings.length; ++i) { - encodingsMap[encodings[i]] = i; -} - -export const encodingOps = { - ascii: { - byteLength: (string) => string.length, - encoding: "ascii", - encodingVal: encodingsMap.ascii, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - asciiToBytes(val), - byteOffset, - encodingsMap.ascii, - dir, - ), - slice: (buf, start, end) => buf.asciiSlice(start, end), - write: (buf, string, offset, len) => buf.asciiWrite(string, offset, len), - }, - base64: { - byteLength: (string) => base64ByteLength(string, string.length), - encoding: "base64", - encodingVal: encodingsMap.base64, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - base64ToBytes(val), - byteOffset, - encodingsMap.base64, - dir, - ), - slice: (buf, start, end) => buf.base64Slice(start, end), - write: (buf, string, offset, len) => buf.base64Write(string, offset, len), - }, - base64url: { - byteLength: (string) => base64ByteLength(string, string.length), - encoding: "base64url", - encodingVal: encodingsMap.base64url, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - base64UrlToBytes(val), - byteOffset, - encodingsMap.base64url, - dir, - ), - slice: (buf, start, end) => buf.base64urlSlice(start, end), - write: (buf, string, offset, len) => - buf.base64urlWrite(string, offset, len), - }, - hex: { - byteLength: (string) => string.length >>> 1, - encoding: "hex", - encodingVal: encodingsMap.hex, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - hexToBytes(val), - byteOffset, - encodingsMap.hex, - dir, - ), - slice: (buf, start, end) => buf.hexSlice(start, end), - write: (buf, string, offset, len) => buf.hexWrite(string, offset, len), - }, - latin1: { - byteLength: (string) => string.length, - encoding: "latin1", - encodingVal: encodingsMap.latin1, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - asciiToBytes(val), - byteOffset, - encodingsMap.latin1, - dir, - ), - slice: (buf, start, end) => buf.latin1Slice(start, end), - write: (buf, string, offset, len) => buf.latin1Write(string, offset, len), - }, - ucs2: { - byteLength: (string) => string.length * 2, - encoding: "ucs2", - encodingVal: encodingsMap.utf16le, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - utf16leToBytes(val), - byteOffset, - encodingsMap.utf16le, - dir, - ), - slice: (buf, start, end) => buf.ucs2Slice(start, end), - write: (buf, string, offset, len) => buf.ucs2Write(string, offset, len), - }, - utf8: { - byteLength: byteLengthUtf8, - encoding: "utf8", - encodingVal: encodingsMap.utf8, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - utf8Encoder.encode(val), - byteOffset, - encodingsMap.utf8, - dir, - ), - slice: (buf, start, end) => buf.utf8Slice(start, end), - write: (buf, string, offset, len) => buf.utf8Write(string, offset, len), - }, - utf16le: { - byteLength: (string) => string.length * 2, - encoding: "utf16le", - encodingVal: encodingsMap.utf16le, - indexOf: (buf, val, byteOffset, dir) => - indexOfBuffer( - buf, - utf16leToBytes(val), - byteOffset, - encodingsMap.utf16le, - dir, - ), - slice: (buf, start, end) => buf.ucs2Slice(start, end), - write: (buf, string, offset, len) => buf.ucs2Write(string, offset, len), - }, -}; - -export function getEncodingOps(encoding) { - encoding = String(encoding).toLowerCase(); - switch (encoding.length) { - case 4: - if (encoding === "utf8") return encodingOps.utf8; - if (encoding === "ucs2") return encodingOps.ucs2; - break; - case 5: - if (encoding === "utf-8") return encodingOps.utf8; - if (encoding === "ascii") return encodingOps.ascii; - if (encoding === "ucs-2") return encodingOps.ucs2; - break; - case 7: - if (encoding === "utf16le") { - return encodingOps.utf16le; - } - break; - case 8: - if (encoding === "utf-16le") { - return encodingOps.utf16le; - } - break; - // deno-lint-ignore no-fallthrough - case 6: - if (encoding === "latin1" || encoding === "binary") { - return encodingOps.latin1; - } - if (encoding === "base64") return encodingOps.base64; - case 3: - if (encoding === "hex") { - return encodingOps.hex; - } - break; - case 9: - if (encoding === "base64url") { - return encodingOps.base64url; - } - break; - } -} - -export function _copyActual( - source, - target, - targetStart, - sourceStart, - sourceEnd, -) { - if (sourceEnd - sourceStart > target.length - targetStart) { - sourceEnd = sourceStart + target.length - targetStart; - } - - let nb = sourceEnd - sourceStart; - const sourceLen = source.length - sourceStart; - if (nb > sourceLen) { - nb = sourceLen; - } - - if (sourceStart !== 0 || sourceEnd < source.length) { - source = new Uint8Array(source.buffer, source.byteOffset + sourceStart, nb); - } - - target.set(source, targetStart); - - return nb; -} - -export function boundsError(value, length, type) { - if (Math.floor(value) !== value) { - validateNumber(value, type); - throw new codes.ERR_OUT_OF_RANGE(type || "offset", "an integer", value); - } - - if (length < 0) { - throw new codes.ERR_BUFFER_OUT_OF_BOUNDS(); - } - - throw new codes.ERR_OUT_OF_RANGE( - type || "offset", - `>= ${type ? 1 : 0} and <= ${length}`, - value, - ); -} - -export function validateNumber(value, name) { - if (typeof value !== "number") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); - } -} - -function checkInt(value, min, max, buf, offset, byteLength) { - if (value > max || value < min) { - const n = typeof min === "bigint" ? "n" : ""; - let range; - if (byteLength > 3) { - if (min === 0 || min === 0n) { - range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`; - } else { - range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and ` + - `< 2${n} ** ${(byteLength + 1) * 8 - 1}${n}`; - } - } else { - range = `>= ${min}${n} and <= ${max}${n}`; - } - throw new codes.ERR_OUT_OF_RANGE("value", range, value); - } - checkBounds(buf, offset, byteLength); -} - -export function toInteger(n, defaultVal) { - n = +n; - if ( - !Number.isNaN(n) && - n >= Number.MIN_SAFE_INTEGER && - n <= Number.MAX_SAFE_INTEGER - ) { - return ((n % 1) === 0 ? n : Math.floor(n)); - } - return defaultVal; -} - -// deno-lint-ignore camelcase -export function writeU_Int8(buf, value, offset, min, max) { - value = +value; - validateNumber(offset, "offset"); - if (value > max || value < min) { - throw new codes.ERR_OUT_OF_RANGE("value", `>= ${min} and <= ${max}`, value); - } - if (buf[offset] === undefined) { - boundsError(offset, buf.length - 1); - } - - buf[offset] = value; - return offset + 1; -} - -// deno-lint-ignore camelcase -export function writeU_Int16BE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 1); - - buf[offset++] = value >>> 8; - buf[offset++] = value; - return offset; -} - -export function _writeUInt32LE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 3); - - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - return offset; -} - -// deno-lint-ignore camelcase -export function writeU_Int16LE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 1); - - buf[offset++] = value; - buf[offset++] = value >>> 8; - return offset; -} - -export function _writeUInt32BE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 3); - - buf[offset + 3] = value; - value = value >>> 8; - buf[offset + 2] = value; - value = value >>> 8; - buf[offset + 1] = value; - value = value >>> 8; - buf[offset] = value; - return offset + 4; -} - -// deno-lint-ignore camelcase -export function writeU_Int48BE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 5); - - const newVal = Math.floor(value * 2 ** -32); - buf[offset++] = newVal >>> 8; - buf[offset++] = newVal; - buf[offset + 3] = value; - value = value >>> 8; - buf[offset + 2] = value; - value = value >>> 8; - buf[offset + 1] = value; - value = value >>> 8; - buf[offset] = value; - return offset + 4; -} - -// deno-lint-ignore camelcase -export function writeU_Int40BE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 4); - - buf[offset++] = Math.floor(value * 2 ** -32); - buf[offset + 3] = value; - value = value >>> 8; - buf[offset + 2] = value; - value = value >>> 8; - buf[offset + 1] = value; - value = value >>> 8; - buf[offset] = value; - return offset + 4; -} - -// deno-lint-ignore camelcase -export function writeU_Int32BE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 3); - - buf[offset + 3] = value; - value = value >>> 8; - buf[offset + 2] = value; - value = value >>> 8; - buf[offset + 1] = value; - value = value >>> 8; - buf[offset] = value; - return offset + 4; -} - -// deno-lint-ignore camelcase -export function writeU_Int24BE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 2); - - buf[offset + 2] = value; - value = value >>> 8; - buf[offset + 1] = value; - value = value >>> 8; - buf[offset] = value; - return offset + 3; -} - -export function validateOffset( - value, - name, - min = 0, - max = Number.MAX_SAFE_INTEGER, -) { - if (typeof value !== "number") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); - } - if (!Number.isInteger(value)) { - throw new codes.ERR_OUT_OF_RANGE(name, "an integer", value); - } - if (value < min || value > max) { - throw new codes.ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); - } -} - -// deno-lint-ignore camelcase -export function writeU_Int48LE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 5); - - const newVal = Math.floor(value * 2 ** -32); - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - buf[offset++] = newVal; - buf[offset++] = newVal >>> 8; - return offset; -} - -// deno-lint-ignore camelcase -export function writeU_Int40LE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 4); - - const newVal = value; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - buf[offset++] = Math.floor(newVal * 2 ** -32); - return offset; -} - -// deno-lint-ignore camelcase -export function writeU_Int32LE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 3); - - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - return offset; -} - -// deno-lint-ignore camelcase -export function writeU_Int24LE(buf, value, offset, min, max) { - value = +value; - checkInt(value, min, max, buf, offset, 2); - - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - value = value >>> 8; - buf[offset++] = value; - return offset; -} - -export default { - atob, - btoa, - Blob, - Buffer, - constants, - kMaxLength, - kStringMaxLength, - SlowBuffer, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts deleted file mode 100644 index 4397460..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { kKeyObject } from "./constants.ts"; - -export const kKeyType = Symbol("kKeyType"); - -export function isKeyObject(obj: unknown): boolean { - return ( - obj != null && (obj as Record)[kKeyType] !== undefined - ); -} - -export function isCryptoKey(obj: unknown): boolean { - return ( - obj != null && (obj as Record)[kKeyObject] !== undefined - ); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts deleted file mode 100644 index d624153..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license. - -export const kHandle = Symbol("kHandle"); -export const kKeyObject = Symbol("kKeyObject"); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts deleted file mode 100644 index 6af88bb..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -// Lazily initializes the error classes in this object. -// This trick is necessary for avoiding circular dendencies between -// `internal/errors` and other modules. -// deno-lint-ignore no-explicit-any -export const codes: Record = {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/errors.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/errors.ts deleted file mode 100644 index 8e94704..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/errors.ts +++ /dev/null @@ -1,2867 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Node.js contributors. All rights reserved. MIT License. -/** NOT IMPLEMENTED - * ERR_MANIFEST_ASSERT_INTEGRITY - * ERR_QUICSESSION_VERSION_NEGOTIATION - * ERR_REQUIRE_ESM - * ERR_TLS_CERT_ALTNAME_INVALID - * ERR_WORKER_INVALID_EXEC_ARGV - * ERR_WORKER_PATH - * ERR_QUIC_ERROR - * ERR_SYSTEM_ERROR //System error, shouldn't ever happen inside Deno - * ERR_TTY_INIT_FAILED //System error, shouldn't ever happen inside Deno - * ERR_INVALID_PACKAGE_CONFIG // package.json stuff, probably useless - */ - -import { inspect } from "../internal/util/inspect.mjs"; -import { codes } from "./error_codes.ts"; -import { - codeMap, - errorMap, - mapSysErrnoToUvErrno, -} from "../internal_binding/uv.ts"; -import { assert } from "../../_util/asserts.ts"; -import { isWindows } from "../../_util/os.ts"; -import { os as osConstants } from "../internal_binding/constants.ts"; -const { - errno: { ENOTDIR, ENOENT }, -} = osConstants; -import { hideStackFrames } from "./hide_stack_frames.ts"; -import { getSystemErrorName } from "../_utils.ts"; - -export { errorMap }; - -const kIsNodeError = Symbol("kIsNodeError"); - -/** - * @see https://github.com/nodejs/node/blob/f3eb224/lib/internal/errors.js - */ -const classRegExp = /^([A-Z][a-z0-9]*)+$/; - -/** - * @see https://github.com/nodejs/node/blob/f3eb224/lib/internal/errors.js - * @description Sorted by a rough estimate on most frequently used entries. - */ -const kTypes = [ - "string", - "function", - "number", - "object", - // Accept 'Function' and 'Object' as alternative to the lower cased version. - "Function", - "Object", - "boolean", - "bigint", - "symbol", -]; - -// Node uses an AbortError that isn't exactly the same as the DOMException -// to make usage of the error in userland and readable-stream easier. -// It is a regular error with `.code` and `.name`. -export class AbortError extends Error { - code: string; - - constructor(message = "The operation was aborted", options?: ErrorOptions) { - if (options !== undefined && typeof options !== "object") { - throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options); - } - super(message, options); - this.code = "ABORT_ERR"; - this.name = "AbortError"; - } -} - -let maxStack_ErrorName: string | undefined; -let maxStack_ErrorMessage: string | undefined; -/** - * Returns true if `err.name` and `err.message` are equal to engine-specific - * values indicating max call stack size has been exceeded. - * "Maximum call stack size exceeded" in V8. - */ -export function isStackOverflowError(err: Error): boolean { - if (maxStack_ErrorMessage === undefined) { - try { - // deno-lint-ignore no-inner-declarations - function overflowStack() { - overflowStack(); - } - overflowStack(); - // deno-lint-ignore no-explicit-any - } catch (err: any) { - maxStack_ErrorMessage = err.message; - maxStack_ErrorName = err.name; - } - } - - return err && err.name === maxStack_ErrorName && - err.message === maxStack_ErrorMessage; -} - -function addNumericalSeparator(val: string) { - let res = ""; - let i = val.length; - const start = val[0] === "-" ? 1 : 0; - for (; i >= start + 4; i -= 3) { - res = `_${val.slice(i - 3, i)}${res}`; - } - return `${val.slice(0, i)}${res}`; -} - -const captureLargerStackTrace = hideStackFrames( - function captureLargerStackTrace(err) { - // @ts-ignore this function is not available in lib.dom.d.ts - Error.captureStackTrace(err); - - return err; - }, -); - -export interface ErrnoException extends Error { - errno?: number; - code?: string; - path?: string; - syscall?: string; - spawnargs?: string[]; -} - -/** - * This creates an error compatible with errors produced in the C++ - * This function should replace the deprecated - * `exceptionWithHostPort()` function. - * - * @param err A libuv error number - * @param syscall - * @param address - * @param port - * @return The error. - */ -export const uvExceptionWithHostPort = hideStackFrames( - function uvExceptionWithHostPort( - err: number, - syscall: string, - address?: string | null, - port?: number | null, - ) { - const { 0: code, 1: uvmsg } = uvErrmapGet(err) || uvUnmappedError; - const message = `${syscall} ${code}: ${uvmsg}`; - let details = ""; - - if (port && port > 0) { - details = ` ${address}:${port}`; - } else if (address) { - details = ` ${address}`; - } - - // deno-lint-ignore no-explicit-any - const ex: any = new Error(`${message}${details}`); - ex.code = code; - ex.errno = err; - ex.syscall = syscall; - ex.address = address; - - if (port) { - ex.port = port; - } - - return captureLargerStackTrace(ex); - }, -); - -/** - * This used to be `util._errnoException()`. - * - * @param err A libuv error number - * @param syscall - * @param original - * @return A `ErrnoException` - */ -export const errnoException = hideStackFrames(function errnoException( - err, - syscall, - original?, -): ErrnoException { - const code = getSystemErrorName(err); - const message = original - ? `${syscall} ${code} ${original}` - : `${syscall} ${code}`; - - // deno-lint-ignore no-explicit-any - const ex: any = new Error(message); - ex.errno = err; - ex.code = code; - ex.syscall = syscall; - - return captureLargerStackTrace(ex); -}); - -function uvErrmapGet(name: number) { - return errorMap.get(name); -} - -const uvUnmappedError = ["UNKNOWN", "unknown error"]; - -/** - * This creates an error compatible with errors produced in the C++ - * function UVException using a context object with data assembled in C++. - * The goal is to migrate them to ERR_* errors later when compatibility is - * not a concern. - * - * @param ctx - * @return The error. - */ -export const uvException = hideStackFrames(function uvException(ctx) { - const { 0: code, 1: uvmsg } = uvErrmapGet(ctx.errno) || uvUnmappedError; - - let message = `${code}: ${ctx.message || uvmsg}, ${ctx.syscall}`; - - let path; - let dest; - - if (ctx.path) { - path = ctx.path.toString(); - message += ` '${path}'`; - } - if (ctx.dest) { - dest = ctx.dest.toString(); - message += ` -> '${dest}'`; - } - - // deno-lint-ignore no-explicit-any - const err: any = new Error(message); - - for (const prop of Object.keys(ctx)) { - if (prop === "message" || prop === "path" || prop === "dest") { - continue; - } - - err[prop] = ctx[prop]; - } - - err.code = code; - - if (path) { - err.path = path; - } - - if (dest) { - err.dest = dest; - } - - return captureLargerStackTrace(err); -}); - -/** - * Deprecated, new function is `uvExceptionWithHostPort()` - * New function added the error description directly - * from C++. this method for backwards compatibility - * @param err A libuv error number - * @param syscall - * @param address - * @param port - * @param additional - */ -export const exceptionWithHostPort = hideStackFrames( - function exceptionWithHostPort( - err: number, - syscall: string, - address: string, - port: number, - additional?: string, - ) { - const code = getSystemErrorName(err); - let details = ""; - - if (port && port > 0) { - details = ` ${address}:${port}`; - } else if (address) { - details = ` ${address}`; - } - - if (additional) { - details += ` - Local (${additional})`; - } - - // deno-lint-ignore no-explicit-any - const ex: any = new Error(`${syscall} ${code}${details}`); - ex.errno = err; - ex.code = code; - ex.syscall = syscall; - ex.address = address; - - if (port) { - ex.port = port; - } - - return captureLargerStackTrace(ex); - }, -); - -/** - * @param code A libuv error number or a c-ares error code - * @param syscall - * @param hostname - */ -export const dnsException = hideStackFrames(function (code, syscall, hostname) { - let errno; - - // If `code` is of type number, it is a libuv error number, else it is a - // c-ares error code. - if (typeof code === "number") { - errno = code; - // ENOTFOUND is not a proper POSIX error, but this error has been in place - // long enough that it's not practical to remove it. - if ( - code === codeMap.get("EAI_NODATA") || - code === codeMap.get("EAI_NONAME") - ) { - code = "ENOTFOUND"; // Fabricated error name. - } else { - code = getSystemErrorName(code); - } - } - - const message = `${syscall} ${code}${hostname ? ` ${hostname}` : ""}`; - - // deno-lint-ignore no-explicit-any - const ex: any = new Error(message); - ex.errno = errno; - ex.code = code; - ex.syscall = syscall; - - if (hostname) { - ex.hostname = hostname; - } - - return captureLargerStackTrace(ex); -}); - -/** - * All error instances in Node have additional methods and properties - * This export class is meant to be extended by these instances abstracting native JS error instances - */ -export class NodeErrorAbstraction extends Error { - code: string; - - constructor(name: string, code: string, message: string) { - super(message); - this.code = code; - this.name = name; - //This number changes depending on the name of this class - //20 characters as of now - this.stack = this.stack && `${name} [${this.code}]${this.stack.slice(20)}`; - } - - override toString() { - return `${this.name} [${this.code}]: ${this.message}`; - } -} - -export class NodeError extends NodeErrorAbstraction { - constructor(code: string, message: string) { - super(Error.prototype.name, code, message); - } -} - -export class NodeSyntaxError extends NodeErrorAbstraction - implements SyntaxError { - constructor(code: string, message: string) { - super(SyntaxError.prototype.name, code, message); - Object.setPrototypeOf(this, SyntaxError.prototype); - this.toString = function () { - return `${this.name} [${this.code}]: ${this.message}`; - }; - } -} - -export class NodeRangeError extends NodeErrorAbstraction { - constructor(code: string, message: string) { - super(RangeError.prototype.name, code, message); - Object.setPrototypeOf(this, RangeError.prototype); - this.toString = function () { - return `${this.name} [${this.code}]: ${this.message}`; - }; - } -} - -export class NodeTypeError extends NodeErrorAbstraction implements TypeError { - constructor(code: string, message: string) { - super(TypeError.prototype.name, code, message); - Object.setPrototypeOf(this, TypeError.prototype); - this.toString = function () { - return `${this.name} [${this.code}]: ${this.message}`; - }; - } -} - -export class NodeURIError extends NodeErrorAbstraction implements URIError { - constructor(code: string, message: string) { - super(URIError.prototype.name, code, message); - Object.setPrototypeOf(this, URIError.prototype); - this.toString = function () { - return `${this.name} [${this.code}]: ${this.message}`; - }; - } -} - -export interface NodeSystemErrorCtx { - code: string; - syscall: string; - message: string; - errno: number; - path?: string; - dest?: string; -} -// A specialized Error that includes an additional info property with -// additional information about the error condition. -// It has the properties present in a UVException but with a custom error -// message followed by the uv error code and uv error message. -// It also has its own error code with the original uv error context put into -// `err.info`. -// The context passed into this error must have .code, .syscall and .message, -// and may have .path and .dest. -class NodeSystemError extends NodeErrorAbstraction { - constructor(key: string, context: NodeSystemErrorCtx, msgPrefix: string) { - let message = `${msgPrefix}: ${context.syscall} returned ` + - `${context.code} (${context.message})`; - - if (context.path !== undefined) { - message += ` ${context.path}`; - } - if (context.dest !== undefined) { - message += ` => ${context.dest}`; - } - - super("SystemError", key, message); - - captureLargerStackTrace(this); - - Object.defineProperties(this, { - [kIsNodeError]: { - value: true, - enumerable: false, - writable: false, - configurable: true, - }, - info: { - value: context, - enumerable: true, - configurable: true, - writable: false, - }, - errno: { - get() { - return context.errno; - }, - set: (value) => { - context.errno = value; - }, - enumerable: true, - configurable: true, - }, - syscall: { - get() { - return context.syscall; - }, - set: (value) => { - context.syscall = value; - }, - enumerable: true, - configurable: true, - }, - }); - - if (context.path !== undefined) { - Object.defineProperty(this, "path", { - get() { - return context.path; - }, - set: (value) => { - context.path = value; - }, - enumerable: true, - configurable: true, - }); - } - - if (context.dest !== undefined) { - Object.defineProperty(this, "dest", { - get() { - return context.dest; - }, - set: (value) => { - context.dest = value; - }, - enumerable: true, - configurable: true, - }); - } - } - - override toString() { - return `${this.name} [${this.code}]: ${this.message}`; - } -} - -function makeSystemErrorWithCode(key: string, msgPrfix: string) { - return class NodeError extends NodeSystemError { - constructor(ctx: NodeSystemErrorCtx) { - super(key, ctx, msgPrfix); - } - }; -} - -export const ERR_FS_EISDIR = makeSystemErrorWithCode( - "ERR_FS_EISDIR", - "Path is a directory", -); - -function createInvalidArgType( - name: string, - expected: string | string[], -): string { - // https://github.com/nodejs/node/blob/f3eb224/lib/internal/errors.js#L1037-L1087 - expected = Array.isArray(expected) ? expected : [expected]; - let msg = "The "; - if (name.endsWith(" argument")) { - // For cases like 'first argument' - msg += `${name} `; - } else { - const type = name.includes(".") ? "property" : "argument"; - msg += `"${name}" ${type} `; - } - msg += "must be "; - - const types = []; - const instances = []; - const other = []; - for (const value of expected) { - if (kTypes.includes(value)) { - types.push(value.toLocaleLowerCase()); - } else if (classRegExp.test(value)) { - instances.push(value); - } else { - other.push(value); - } - } - - // Special handle `object` in case other instances are allowed to outline - // the differences between each other. - if (instances.length > 0) { - const pos = types.indexOf("object"); - if (pos !== -1) { - types.splice(pos, 1); - instances.push("Object"); - } - } - - if (types.length > 0) { - if (types.length > 2) { - const last = types.pop(); - msg += `one of type ${types.join(", ")}, or ${last}`; - } else if (types.length === 2) { - msg += `one of type ${types[0]} or ${types[1]}`; - } else { - msg += `of type ${types[0]}`; - } - if (instances.length > 0 || other.length > 0) { - msg += " or "; - } - } - - if (instances.length > 0) { - if (instances.length > 2) { - const last = instances.pop(); - msg += `an instance of ${instances.join(", ")}, or ${last}`; - } else { - msg += `an instance of ${instances[0]}`; - if (instances.length === 2) { - msg += ` or ${instances[1]}`; - } - } - if (other.length > 0) { - msg += " or "; - } - } - - if (other.length > 0) { - if (other.length > 2) { - const last = other.pop(); - msg += `one of ${other.join(", ")}, or ${last}`; - } else if (other.length === 2) { - msg += `one of ${other[0]} or ${other[1]}`; - } else { - if (other[0].toLowerCase() !== other[0]) { - msg += "an "; - } - msg += `${other[0]}`; - } - } - - return msg; -} - -export class ERR_INVALID_ARG_TYPE_RANGE extends NodeRangeError { - constructor(name: string, expected: string | string[], actual: unknown) { - const msg = createInvalidArgType(name, expected); - - super("ERR_INVALID_ARG_TYPE", `${msg}.${invalidArgTypeHelper(actual)}`); - } -} - -export class ERR_INVALID_ARG_TYPE extends NodeTypeError { - constructor(name: string, expected: string | string[], actual: unknown) { - const msg = createInvalidArgType(name, expected); - - super("ERR_INVALID_ARG_TYPE", `${msg}.${invalidArgTypeHelper(actual)}`); - } - - static RangeError = ERR_INVALID_ARG_TYPE_RANGE; -} - -export class ERR_INVALID_ARG_VALUE_RANGE extends NodeRangeError { - constructor(name: string, value: unknown, reason: string = "is invalid") { - const type = name.includes(".") ? "property" : "argument"; - const inspected = inspect(value); - - super( - "ERR_INVALID_ARG_VALUE", - `The ${type} '${name}' ${reason}. Received ${inspected}`, - ); - } -} - -export class ERR_INVALID_ARG_VALUE extends NodeTypeError { - constructor(name: string, value: unknown, reason: string = "is invalid") { - const type = name.includes(".") ? "property" : "argument"; - const inspected = inspect(value); - - super( - "ERR_INVALID_ARG_VALUE", - `The ${type} '${name}' ${reason}. Received ${inspected}`, - ); - } - - static RangeError = ERR_INVALID_ARG_VALUE_RANGE; -} - -// A helper function to simplify checking for ERR_INVALID_ARG_TYPE output. -// deno-lint-ignore no-explicit-any -function invalidArgTypeHelper(input: any) { - if (input == null) { - return ` Received ${input}`; - } - if (typeof input === "function" && input.name) { - return ` Received function ${input.name}`; - } - if (typeof input === "object") { - if (input.constructor && input.constructor.name) { - return ` Received an instance of ${input.constructor.name}`; - } - return ` Received ${inspect(input, { depth: -1 })}`; - } - let inspected = inspect(input, { colors: false }); - if (inspected.length > 25) { - inspected = `${inspected.slice(0, 25)}...`; - } - return ` Received type ${typeof input} (${inspected})`; -} - -export class ERR_OUT_OF_RANGE extends RangeError { - code = "ERR_OUT_OF_RANGE"; - - constructor( - str: string, - range: string, - input: unknown, - replaceDefaultBoolean = false, - ) { - assert(range, 'Missing "range" argument'); - let msg = replaceDefaultBoolean - ? str - : `The value of "${str}" is out of range.`; - let received; - if (Number.isInteger(input) && Math.abs(input as number) > 2 ** 32) { - received = addNumericalSeparator(String(input)); - } else if (typeof input === "bigint") { - received = String(input); - if (input > 2n ** 32n || input < -(2n ** 32n)) { - received = addNumericalSeparator(received); - } - received += "n"; - } else { - received = inspect(input); - } - msg += ` It must be ${range}. Received ${received}`; - - super(msg); - - const { name } = this; - // Add the error code to the name to include it in the stack trace. - this.name = `${name} [${this.code}]`; - // Access the stack to generate the error message including the error code from the name. - this.stack; - // Reset the name to the actual name. - this.name = name; - } -} - -export class ERR_AMBIGUOUS_ARGUMENT extends NodeTypeError { - constructor(x: string, y: string) { - super("ERR_AMBIGUOUS_ARGUMENT", `The "${x}" argument is ambiguous. ${y}`); - } -} - -export class ERR_ARG_NOT_ITERABLE extends NodeTypeError { - constructor(x: string) { - super("ERR_ARG_NOT_ITERABLE", `${x} must be iterable`); - } -} - -export class ERR_ASSERTION extends NodeError { - constructor(x: string) { - super("ERR_ASSERTION", `${x}`); - } -} - -export class ERR_ASYNC_CALLBACK extends NodeTypeError { - constructor(x: string) { - super("ERR_ASYNC_CALLBACK", `${x} must be a function`); - } -} - -export class ERR_ASYNC_TYPE extends NodeTypeError { - constructor(x: string) { - super("ERR_ASYNC_TYPE", `Invalid name for async "type": ${x}`); - } -} - -export class ERR_BROTLI_INVALID_PARAM extends NodeRangeError { - constructor(x: string) { - super("ERR_BROTLI_INVALID_PARAM", `${x} is not a valid Brotli parameter`); - } -} - -export class ERR_BUFFER_OUT_OF_BOUNDS extends NodeRangeError { - constructor(name?: string) { - super( - "ERR_BUFFER_OUT_OF_BOUNDS", - name - ? `"${name}" is outside of buffer bounds` - : "Attempt to access memory outside buffer bounds", - ); - } -} - -export class ERR_BUFFER_TOO_LARGE extends NodeRangeError { - constructor(x: string) { - super( - "ERR_BUFFER_TOO_LARGE", - `Cannot create a Buffer larger than ${x} bytes`, - ); - } -} - -export class ERR_CANNOT_WATCH_SIGINT extends NodeError { - constructor() { - super("ERR_CANNOT_WATCH_SIGINT", "Cannot watch for SIGINT signals"); - } -} - -export class ERR_CHILD_CLOSED_BEFORE_REPLY extends NodeError { - constructor() { - super( - "ERR_CHILD_CLOSED_BEFORE_REPLY", - "Child closed before reply received", - ); - } -} - -export class ERR_CHILD_PROCESS_IPC_REQUIRED extends NodeError { - constructor(x: string) { - super( - "ERR_CHILD_PROCESS_IPC_REQUIRED", - `Forked processes must have an IPC channel, missing value 'ipc' in ${x}`, - ); - } -} - -export class ERR_CHILD_PROCESS_STDIO_MAXBUFFER extends NodeRangeError { - constructor(x: string) { - super( - "ERR_CHILD_PROCESS_STDIO_MAXBUFFER", - `${x} maxBuffer length exceeded`, - ); - } -} - -export class ERR_CONSOLE_WRITABLE_STREAM extends NodeTypeError { - constructor(x: string) { - super( - "ERR_CONSOLE_WRITABLE_STREAM", - `Console expects a writable stream instance for ${x}`, - ); - } -} - -export class ERR_CONTEXT_NOT_INITIALIZED extends NodeError { - constructor() { - super("ERR_CONTEXT_NOT_INITIALIZED", "context used is not initialized"); - } -} - -export class ERR_CPU_USAGE extends NodeError { - constructor(x: string) { - super("ERR_CPU_USAGE", `Unable to obtain cpu usage ${x}`); - } -} - -export class ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED extends NodeError { - constructor() { - super( - "ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED", - "Custom engines not supported by this OpenSSL", - ); - } -} - -export class ERR_CRYPTO_ECDH_INVALID_FORMAT extends NodeTypeError { - constructor(x: string) { - super("ERR_CRYPTO_ECDH_INVALID_FORMAT", `Invalid ECDH format: ${x}`); - } -} - -export class ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY extends NodeError { - constructor() { - super( - "ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY", - "Public key is not valid for specified curve", - ); - } -} - -export class ERR_CRYPTO_ENGINE_UNKNOWN extends NodeError { - constructor(x: string) { - super("ERR_CRYPTO_ENGINE_UNKNOWN", `Engine "${x}" was not found`); - } -} - -export class ERR_CRYPTO_FIPS_FORCED extends NodeError { - constructor() { - super( - "ERR_CRYPTO_FIPS_FORCED", - "Cannot set FIPS mode, it was forced with --force-fips at startup.", - ); - } -} - -export class ERR_CRYPTO_FIPS_UNAVAILABLE extends NodeError { - constructor() { - super( - "ERR_CRYPTO_FIPS_UNAVAILABLE", - "Cannot set FIPS mode in a non-FIPS build.", - ); - } -} - -export class ERR_CRYPTO_HASH_FINALIZED extends NodeError { - constructor() { - super("ERR_CRYPTO_HASH_FINALIZED", "Digest already called"); - } -} - -export class ERR_CRYPTO_HASH_UPDATE_FAILED extends NodeError { - constructor() { - super("ERR_CRYPTO_HASH_UPDATE_FAILED", "Hash update failed"); - } -} - -export class ERR_CRYPTO_INCOMPATIBLE_KEY extends NodeError { - constructor(x: string, y: string) { - super("ERR_CRYPTO_INCOMPATIBLE_KEY", `Incompatible ${x}: ${y}`); - } -} - -export class ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS extends NodeError { - constructor(x: string, y: string) { - super( - "ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS", - `The selected key encoding ${x} ${y}.`, - ); - } -} - -export class ERR_CRYPTO_INVALID_DIGEST extends NodeTypeError { - constructor(x: string) { - super("ERR_CRYPTO_INVALID_DIGEST", `Invalid digest: ${x}`); - } -} - -export class ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE extends NodeTypeError { - constructor(x: string, y: string) { - super( - "ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE", - `Invalid key object type ${x}, expected ${y}.`, - ); - } -} - -export class ERR_CRYPTO_INVALID_STATE extends NodeError { - constructor(x: string) { - super("ERR_CRYPTO_INVALID_STATE", `Invalid state for operation ${x}`); - } -} - -export class ERR_CRYPTO_PBKDF2_ERROR extends NodeError { - constructor() { - super("ERR_CRYPTO_PBKDF2_ERROR", "PBKDF2 error"); - } -} - -export class ERR_CRYPTO_SCRYPT_INVALID_PARAMETER extends NodeError { - constructor() { - super("ERR_CRYPTO_SCRYPT_INVALID_PARAMETER", "Invalid scrypt parameter"); - } -} - -export class ERR_CRYPTO_SCRYPT_NOT_SUPPORTED extends NodeError { - constructor() { - super("ERR_CRYPTO_SCRYPT_NOT_SUPPORTED", "Scrypt algorithm not supported"); - } -} - -export class ERR_CRYPTO_SIGN_KEY_REQUIRED extends NodeError { - constructor() { - super("ERR_CRYPTO_SIGN_KEY_REQUIRED", "No key provided to sign"); - } -} - -export class ERR_DIR_CLOSED extends NodeError { - constructor() { - super("ERR_DIR_CLOSED", "Directory handle was closed"); - } -} - -export class ERR_DIR_CONCURRENT_OPERATION extends NodeError { - constructor() { - super( - "ERR_DIR_CONCURRENT_OPERATION", - "Cannot do synchronous work on directory handle with concurrent asynchronous operations", - ); - } -} - -export class ERR_DNS_SET_SERVERS_FAILED extends NodeError { - constructor(x: string, y: string) { - super( - "ERR_DNS_SET_SERVERS_FAILED", - `c-ares failed to set servers: "${x}" [${y}]`, - ); - } -} - -export class ERR_DOMAIN_CALLBACK_NOT_AVAILABLE extends NodeError { - constructor() { - super( - "ERR_DOMAIN_CALLBACK_NOT_AVAILABLE", - "A callback was registered through " + - "process.setUncaughtExceptionCaptureCallback(), which is mutually " + - "exclusive with using the `domain` module", - ); - } -} - -export class ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE - extends NodeError { - constructor() { - super( - "ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE", - "The `domain` module is in use, which is mutually exclusive with calling " + - "process.setUncaughtExceptionCaptureCallback()", - ); - } -} - -export class ERR_ENCODING_INVALID_ENCODED_DATA extends NodeErrorAbstraction - implements TypeError { - errno: number; - constructor(encoding: string, ret: number) { - super( - TypeError.prototype.name, - "ERR_ENCODING_INVALID_ENCODED_DATA", - `The encoded data was not valid for encoding ${encoding}`, - ); - Object.setPrototypeOf(this, TypeError.prototype); - - this.errno = ret; - } -} - -export class ERR_ENCODING_NOT_SUPPORTED extends NodeRangeError { - constructor(x: string) { - super("ERR_ENCODING_NOT_SUPPORTED", `The "${x}" encoding is not supported`); - } -} -export class ERR_EVAL_ESM_CANNOT_PRINT extends NodeError { - constructor() { - super("ERR_EVAL_ESM_CANNOT_PRINT", `--print cannot be used with ESM input`); - } -} -export class ERR_EVENT_RECURSION extends NodeError { - constructor(x: string) { - super( - "ERR_EVENT_RECURSION", - `The event "${x}" is already being dispatched`, - ); - } -} -export class ERR_FEATURE_UNAVAILABLE_ON_PLATFORM extends NodeTypeError { - constructor(x: string) { - super( - "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM", - `The feature ${x} is unavailable on the current platform, which is being used to run Node.js`, - ); - } -} -export class ERR_FS_FILE_TOO_LARGE extends NodeRangeError { - constructor(x: string) { - super("ERR_FS_FILE_TOO_LARGE", `File size (${x}) is greater than 2 GB`); - } -} -export class ERR_FS_INVALID_SYMLINK_TYPE extends NodeError { - constructor(x: string) { - super( - "ERR_FS_INVALID_SYMLINK_TYPE", - `Symlink type must be one of "dir", "file", or "junction". Received "${x}"`, - ); - } -} -export class ERR_HTTP2_ALTSVC_INVALID_ORIGIN extends NodeTypeError { - constructor() { - super( - "ERR_HTTP2_ALTSVC_INVALID_ORIGIN", - `HTTP/2 ALTSVC frames require a valid origin`, - ); - } -} -export class ERR_HTTP2_ALTSVC_LENGTH extends NodeTypeError { - constructor() { - super( - "ERR_HTTP2_ALTSVC_LENGTH", - `HTTP/2 ALTSVC frames are limited to 16382 bytes`, - ); - } -} -export class ERR_HTTP2_CONNECT_AUTHORITY extends NodeError { - constructor() { - super( - "ERR_HTTP2_CONNECT_AUTHORITY", - `:authority header is required for CONNECT requests`, - ); - } -} -export class ERR_HTTP2_CONNECT_PATH extends NodeError { - constructor() { - super( - "ERR_HTTP2_CONNECT_PATH", - `The :path header is forbidden for CONNECT requests`, - ); - } -} -export class ERR_HTTP2_CONNECT_SCHEME extends NodeError { - constructor() { - super( - "ERR_HTTP2_CONNECT_SCHEME", - `The :scheme header is forbidden for CONNECT requests`, - ); - } -} -export class ERR_HTTP2_GOAWAY_SESSION extends NodeError { - constructor() { - super( - "ERR_HTTP2_GOAWAY_SESSION", - `New streams cannot be created after receiving a GOAWAY`, - ); - } -} -export class ERR_HTTP2_HEADERS_AFTER_RESPOND extends NodeError { - constructor() { - super( - "ERR_HTTP2_HEADERS_AFTER_RESPOND", - `Cannot specify additional headers after response initiated`, - ); - } -} -export class ERR_HTTP2_HEADERS_SENT extends NodeError { - constructor() { - super("ERR_HTTP2_HEADERS_SENT", `Response has already been initiated.`); - } -} -export class ERR_HTTP2_HEADER_SINGLE_VALUE extends NodeTypeError { - constructor(x: string) { - super( - "ERR_HTTP2_HEADER_SINGLE_VALUE", - `Header field "${x}" must only have a single value`, - ); - } -} -export class ERR_HTTP2_INFO_STATUS_NOT_ALLOWED extends NodeRangeError { - constructor() { - super( - "ERR_HTTP2_INFO_STATUS_NOT_ALLOWED", - `Informational status codes cannot be used`, - ); - } -} -export class ERR_HTTP2_INVALID_CONNECTION_HEADERS extends NodeTypeError { - constructor(x: string) { - super( - "ERR_HTTP2_INVALID_CONNECTION_HEADERS", - `HTTP/1 Connection specific headers are forbidden: "${x}"`, - ); - } -} -export class ERR_HTTP2_INVALID_HEADER_VALUE extends NodeTypeError { - constructor(x: string, y: string) { - super( - "ERR_HTTP2_INVALID_HEADER_VALUE", - `Invalid value "${x}" for header "${y}"`, - ); - } -} -export class ERR_HTTP2_INVALID_INFO_STATUS extends NodeRangeError { - constructor(x: string) { - super( - "ERR_HTTP2_INVALID_INFO_STATUS", - `Invalid informational status code: ${x}`, - ); - } -} -export class ERR_HTTP2_INVALID_ORIGIN extends NodeTypeError { - constructor() { - super( - "ERR_HTTP2_INVALID_ORIGIN", - `HTTP/2 ORIGIN frames require a valid origin`, - ); - } -} -export class ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH extends NodeRangeError { - constructor() { - super( - "ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH", - `Packed settings length must be a multiple of six`, - ); - } -} -export class ERR_HTTP2_INVALID_PSEUDOHEADER extends NodeTypeError { - constructor(x: string) { - super( - "ERR_HTTP2_INVALID_PSEUDOHEADER", - `"${x}" is an invalid pseudoheader or is used incorrectly`, - ); - } -} -export class ERR_HTTP2_INVALID_SESSION extends NodeError { - constructor() { - super("ERR_HTTP2_INVALID_SESSION", `The session has been destroyed`); - } -} -export class ERR_HTTP2_INVALID_STREAM extends NodeError { - constructor() { - super("ERR_HTTP2_INVALID_STREAM", `The stream has been destroyed`); - } -} -export class ERR_HTTP2_MAX_PENDING_SETTINGS_ACK extends NodeError { - constructor() { - super( - "ERR_HTTP2_MAX_PENDING_SETTINGS_ACK", - `Maximum number of pending settings acknowledgements`, - ); - } -} -export class ERR_HTTP2_NESTED_PUSH extends NodeError { - constructor() { - super( - "ERR_HTTP2_NESTED_PUSH", - `A push stream cannot initiate another push stream.`, - ); - } -} -export class ERR_HTTP2_NO_SOCKET_MANIPULATION extends NodeError { - constructor() { - super( - "ERR_HTTP2_NO_SOCKET_MANIPULATION", - `HTTP/2 sockets should not be directly manipulated (e.g. read and written)`, - ); - } -} -export class ERR_HTTP2_ORIGIN_LENGTH extends NodeTypeError { - constructor() { - super( - "ERR_HTTP2_ORIGIN_LENGTH", - `HTTP/2 ORIGIN frames are limited to 16382 bytes`, - ); - } -} -export class ERR_HTTP2_OUT_OF_STREAMS extends NodeError { - constructor() { - super( - "ERR_HTTP2_OUT_OF_STREAMS", - `No stream ID is available because maximum stream ID has been reached`, - ); - } -} -export class ERR_HTTP2_PAYLOAD_FORBIDDEN extends NodeError { - constructor(x: string) { - super( - "ERR_HTTP2_PAYLOAD_FORBIDDEN", - `Responses with ${x} status must not have a payload`, - ); - } -} -export class ERR_HTTP2_PING_CANCEL extends NodeError { - constructor() { - super("ERR_HTTP2_PING_CANCEL", `HTTP2 ping cancelled`); - } -} -export class ERR_HTTP2_PING_LENGTH extends NodeRangeError { - constructor() { - super("ERR_HTTP2_PING_LENGTH", `HTTP2 ping payload must be 8 bytes`); - } -} -export class ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED extends NodeTypeError { - constructor() { - super( - "ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED", - `Cannot set HTTP/2 pseudo-headers`, - ); - } -} -export class ERR_HTTP2_PUSH_DISABLED extends NodeError { - constructor() { - super("ERR_HTTP2_PUSH_DISABLED", `HTTP/2 client has disabled push streams`); - } -} -export class ERR_HTTP2_SEND_FILE extends NodeError { - constructor() { - super("ERR_HTTP2_SEND_FILE", `Directories cannot be sent`); - } -} -export class ERR_HTTP2_SEND_FILE_NOSEEK extends NodeError { - constructor() { - super( - "ERR_HTTP2_SEND_FILE_NOSEEK", - `Offset or length can only be specified for regular files`, - ); - } -} -export class ERR_HTTP2_SESSION_ERROR extends NodeError { - constructor(x: string) { - super("ERR_HTTP2_SESSION_ERROR", `Session closed with error code ${x}`); - } -} -export class ERR_HTTP2_SETTINGS_CANCEL extends NodeError { - constructor() { - super("ERR_HTTP2_SETTINGS_CANCEL", `HTTP2 session settings canceled`); - } -} -export class ERR_HTTP2_SOCKET_BOUND extends NodeError { - constructor() { - super( - "ERR_HTTP2_SOCKET_BOUND", - `The socket is already bound to an Http2Session`, - ); - } -} -export class ERR_HTTP2_SOCKET_UNBOUND extends NodeError { - constructor() { - super( - "ERR_HTTP2_SOCKET_UNBOUND", - `The socket has been disconnected from the Http2Session`, - ); - } -} -export class ERR_HTTP2_STATUS_101 extends NodeError { - constructor() { - super( - "ERR_HTTP2_STATUS_101", - `HTTP status code 101 (Switching Protocols) is forbidden in HTTP/2`, - ); - } -} -export class ERR_HTTP2_STATUS_INVALID extends NodeRangeError { - constructor(x: string) { - super("ERR_HTTP2_STATUS_INVALID", `Invalid status code: ${x}`); - } -} -export class ERR_HTTP2_STREAM_ERROR extends NodeError { - constructor(x: string) { - super("ERR_HTTP2_STREAM_ERROR", `Stream closed with error code ${x}`); - } -} -export class ERR_HTTP2_STREAM_SELF_DEPENDENCY extends NodeError { - constructor() { - super( - "ERR_HTTP2_STREAM_SELF_DEPENDENCY", - `A stream cannot depend on itself`, - ); - } -} -export class ERR_HTTP2_TRAILERS_ALREADY_SENT extends NodeError { - constructor() { - super( - "ERR_HTTP2_TRAILERS_ALREADY_SENT", - `Trailing headers have already been sent`, - ); - } -} -export class ERR_HTTP2_TRAILERS_NOT_READY extends NodeError { - constructor() { - super( - "ERR_HTTP2_TRAILERS_NOT_READY", - `Trailing headers cannot be sent until after the wantTrailers event is emitted`, - ); - } -} -export class ERR_HTTP2_UNSUPPORTED_PROTOCOL extends NodeError { - constructor(x: string) { - super("ERR_HTTP2_UNSUPPORTED_PROTOCOL", `protocol "${x}" is unsupported.`); - } -} -export class ERR_HTTP_HEADERS_SENT extends NodeError { - constructor(x: string) { - super( - "ERR_HTTP_HEADERS_SENT", - `Cannot ${x} headers after they are sent to the client`, - ); - } -} -export class ERR_HTTP_INVALID_HEADER_VALUE extends NodeTypeError { - constructor(x: string, y: string) { - super( - "ERR_HTTP_INVALID_HEADER_VALUE", - `Invalid value "${x}" for header "${y}"`, - ); - } -} -export class ERR_HTTP_INVALID_STATUS_CODE extends NodeRangeError { - constructor(x: string) { - super("ERR_HTTP_INVALID_STATUS_CODE", `Invalid status code: ${x}`); - } -} -export class ERR_HTTP_SOCKET_ENCODING extends NodeError { - constructor() { - super( - "ERR_HTTP_SOCKET_ENCODING", - `Changing the socket encoding is not allowed per RFC7230 Section 3.`, - ); - } -} -export class ERR_HTTP_TRAILER_INVALID extends NodeError { - constructor() { - super( - "ERR_HTTP_TRAILER_INVALID", - `Trailers are invalid with this transfer encoding`, - ); - } -} -export class ERR_INCOMPATIBLE_OPTION_PAIR extends NodeTypeError { - constructor(x: string, y: string) { - super( - "ERR_INCOMPATIBLE_OPTION_PAIR", - `Option "${x}" cannot be used in combination with option "${y}"`, - ); - } -} -export class ERR_INPUT_TYPE_NOT_ALLOWED extends NodeError { - constructor() { - super( - "ERR_INPUT_TYPE_NOT_ALLOWED", - `--input-type can only be used with string input via --eval, --print, or STDIN`, - ); - } -} -export class ERR_INSPECTOR_ALREADY_ACTIVATED extends NodeError { - constructor() { - super( - "ERR_INSPECTOR_ALREADY_ACTIVATED", - `Inspector is already activated. Close it with inspector.close() before activating it again.`, - ); - } -} -export class ERR_INSPECTOR_ALREADY_CONNECTED extends NodeError { - constructor(x: string) { - super("ERR_INSPECTOR_ALREADY_CONNECTED", `${x} is already connected`); - } -} -export class ERR_INSPECTOR_CLOSED extends NodeError { - constructor() { - super("ERR_INSPECTOR_CLOSED", `Session was closed`); - } -} -export class ERR_INSPECTOR_COMMAND extends NodeError { - constructor(x: number, y: string) { - super("ERR_INSPECTOR_COMMAND", `Inspector error ${x}: ${y}`); - } -} -export class ERR_INSPECTOR_NOT_ACTIVE extends NodeError { - constructor() { - super("ERR_INSPECTOR_NOT_ACTIVE", `Inspector is not active`); - } -} -export class ERR_INSPECTOR_NOT_AVAILABLE extends NodeError { - constructor() { - super("ERR_INSPECTOR_NOT_AVAILABLE", `Inspector is not available`); - } -} -export class ERR_INSPECTOR_NOT_CONNECTED extends NodeError { - constructor() { - super("ERR_INSPECTOR_NOT_CONNECTED", `Session is not connected`); - } -} -export class ERR_INSPECTOR_NOT_WORKER extends NodeError { - constructor() { - super("ERR_INSPECTOR_NOT_WORKER", `Current thread is not a worker`); - } -} -export class ERR_INVALID_ASYNC_ID extends NodeRangeError { - constructor(x: string, y: string | number) { - super("ERR_INVALID_ASYNC_ID", `Invalid ${x} value: ${y}`); - } -} -export class ERR_INVALID_BUFFER_SIZE extends NodeRangeError { - constructor(x: string) { - super("ERR_INVALID_BUFFER_SIZE", `Buffer size must be a multiple of ${x}`); - } -} -export class ERR_INVALID_CURSOR_POS extends NodeTypeError { - constructor() { - super( - "ERR_INVALID_CURSOR_POS", - `Cannot set cursor row without setting its column`, - ); - } -} -export class ERR_INVALID_FD extends NodeRangeError { - constructor(x: string) { - super("ERR_INVALID_FD", `"fd" must be a positive integer: ${x}`); - } -} -export class ERR_INVALID_FD_TYPE extends NodeTypeError { - constructor(x: string) { - super("ERR_INVALID_FD_TYPE", `Unsupported fd type: ${x}`); - } -} -export class ERR_INVALID_FILE_URL_HOST extends NodeTypeError { - constructor(x: string) { - super( - "ERR_INVALID_FILE_URL_HOST", - `File URL host must be "localhost" or empty on ${x}`, - ); - } -} -export class ERR_INVALID_FILE_URL_PATH extends NodeTypeError { - constructor(x: string) { - super("ERR_INVALID_FILE_URL_PATH", `File URL path ${x}`); - } -} -export class ERR_INVALID_HANDLE_TYPE extends NodeTypeError { - constructor() { - super("ERR_INVALID_HANDLE_TYPE", `This handle type cannot be sent`); - } -} -export class ERR_INVALID_HTTP_TOKEN extends NodeTypeError { - constructor(x: string, y: string) { - super("ERR_INVALID_HTTP_TOKEN", `${x} must be a valid HTTP token ["${y}"]`); - } -} -export class ERR_INVALID_IP_ADDRESS extends NodeTypeError { - constructor(x: string) { - super("ERR_INVALID_IP_ADDRESS", `Invalid IP address: ${x}`); - } -} -export class ERR_INVALID_OPT_VALUE_ENCODING extends NodeTypeError { - constructor(x: string) { - super( - "ERR_INVALID_OPT_VALUE_ENCODING", - `The value "${x}" is invalid for option "encoding"`, - ); - } -} -export class ERR_INVALID_PERFORMANCE_MARK extends NodeError { - constructor(x: string) { - super( - "ERR_INVALID_PERFORMANCE_MARK", - `The "${x}" performance mark has not been set`, - ); - } -} -export class ERR_INVALID_PROTOCOL extends NodeTypeError { - constructor(x: string, y: string) { - super( - "ERR_INVALID_PROTOCOL", - `Protocol "${x}" not supported. Expected "${y}"`, - ); - } -} -export class ERR_INVALID_REPL_EVAL_CONFIG extends NodeTypeError { - constructor() { - super( - "ERR_INVALID_REPL_EVAL_CONFIG", - `Cannot specify both "breakEvalOnSigint" and "eval" for REPL`, - ); - } -} -export class ERR_INVALID_REPL_INPUT extends NodeTypeError { - constructor(x: string) { - super("ERR_INVALID_REPL_INPUT", `${x}`); - } -} -export class ERR_INVALID_SYNC_FORK_INPUT extends NodeTypeError { - constructor(x: string) { - super( - "ERR_INVALID_SYNC_FORK_INPUT", - `Asynchronous forks do not support Buffer, TypedArray, DataView or string input: ${x}`, - ); - } -} -export class ERR_INVALID_THIS extends NodeTypeError { - constructor(x: string) { - super("ERR_INVALID_THIS", `Value of "this" must be of type ${x}`); - } -} -export class ERR_INVALID_TUPLE extends NodeTypeError { - constructor(x: string, y: string) { - super("ERR_INVALID_TUPLE", `${x} must be an iterable ${y} tuple`); - } -} -export class ERR_INVALID_URI extends NodeURIError { - constructor() { - super("ERR_INVALID_URI", `URI malformed`); - } -} -export class ERR_IPC_CHANNEL_CLOSED extends NodeError { - constructor() { - super("ERR_IPC_CHANNEL_CLOSED", `Channel closed`); - } -} -export class ERR_IPC_DISCONNECTED extends NodeError { - constructor() { - super("ERR_IPC_DISCONNECTED", `IPC channel is already disconnected`); - } -} -export class ERR_IPC_ONE_PIPE extends NodeError { - constructor() { - super("ERR_IPC_ONE_PIPE", `Child process can have only one IPC pipe`); - } -} -export class ERR_IPC_SYNC_FORK extends NodeError { - constructor() { - super("ERR_IPC_SYNC_FORK", `IPC cannot be used with synchronous forks`); - } -} -export class ERR_MANIFEST_DEPENDENCY_MISSING extends NodeError { - constructor(x: string, y: string) { - super( - "ERR_MANIFEST_DEPENDENCY_MISSING", - `Manifest resource ${x} does not list ${y} as a dependency specifier`, - ); - } -} -export class ERR_MANIFEST_INTEGRITY_MISMATCH extends NodeSyntaxError { - constructor(x: string) { - super( - "ERR_MANIFEST_INTEGRITY_MISMATCH", - `Manifest resource ${x} has multiple entries but integrity lists do not match`, - ); - } -} -export class ERR_MANIFEST_INVALID_RESOURCE_FIELD extends NodeTypeError { - constructor(x: string, y: string) { - super( - "ERR_MANIFEST_INVALID_RESOURCE_FIELD", - `Manifest resource ${x} has invalid property value for ${y}`, - ); - } -} -export class ERR_MANIFEST_TDZ extends NodeError { - constructor() { - super("ERR_MANIFEST_TDZ", `Manifest initialization has not yet run`); - } -} -export class ERR_MANIFEST_UNKNOWN_ONERROR extends NodeSyntaxError { - constructor(x: string) { - super( - "ERR_MANIFEST_UNKNOWN_ONERROR", - `Manifest specified unknown error behavior "${x}".`, - ); - } -} -export class ERR_METHOD_NOT_IMPLEMENTED extends NodeError { - constructor(x: string) { - super("ERR_METHOD_NOT_IMPLEMENTED", `The ${x} method is not implemented`); - } -} -export class ERR_MISSING_ARGS extends NodeTypeError { - constructor(...args: (string | string[])[]) { - let msg = "The "; - - const len = args.length; - - const wrap = (a: unknown) => `"${a}"`; - - args = args.map((a) => - Array.isArray(a) ? a.map(wrap).join(" or ") : wrap(a) - ); - - switch (len) { - case 1: - msg += `${args[0]} argument`; - break; - case 2: - msg += `${args[0]} and ${args[1]} arguments`; - break; - default: - msg += args.slice(0, len - 1).join(", "); - msg += `, and ${args[len - 1]} arguments`; - break; - } - - super("ERR_MISSING_ARGS", `${msg} must be specified`); - } -} -export class ERR_MISSING_OPTION extends NodeTypeError { - constructor(x: string) { - super("ERR_MISSING_OPTION", `${x} is required`); - } -} -export class ERR_MULTIPLE_CALLBACK extends NodeError { - constructor() { - super("ERR_MULTIPLE_CALLBACK", `Callback called multiple times`); - } -} -export class ERR_NAPI_CONS_FUNCTION extends NodeTypeError { - constructor() { - super("ERR_NAPI_CONS_FUNCTION", `Constructor must be a function`); - } -} -export class ERR_NAPI_INVALID_DATAVIEW_ARGS extends NodeRangeError { - constructor() { - super( - "ERR_NAPI_INVALID_DATAVIEW_ARGS", - `byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in`, - ); - } -} -export class ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT extends NodeRangeError { - constructor(x: string, y: string) { - super( - "ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT", - `start offset of ${x} should be a multiple of ${y}`, - ); - } -} -export class ERR_NAPI_INVALID_TYPEDARRAY_LENGTH extends NodeRangeError { - constructor() { - super("ERR_NAPI_INVALID_TYPEDARRAY_LENGTH", `Invalid typed array length`); - } -} -export class ERR_NO_CRYPTO extends NodeError { - constructor() { - super( - "ERR_NO_CRYPTO", - `Node.js is not compiled with OpenSSL crypto support`, - ); - } -} -export class ERR_NO_ICU extends NodeTypeError { - constructor(x: string) { - super( - "ERR_NO_ICU", - `${x} is not supported on Node.js compiled without ICU`, - ); - } -} -export class ERR_QUICCLIENTSESSION_FAILED extends NodeError { - constructor(x: string) { - super( - "ERR_QUICCLIENTSESSION_FAILED", - `Failed to create a new QuicClientSession: ${x}`, - ); - } -} -export class ERR_QUICCLIENTSESSION_FAILED_SETSOCKET extends NodeError { - constructor() { - super( - "ERR_QUICCLIENTSESSION_FAILED_SETSOCKET", - `Failed to set the QuicSocket`, - ); - } -} -export class ERR_QUICSESSION_DESTROYED extends NodeError { - constructor(x: string) { - super( - "ERR_QUICSESSION_DESTROYED", - `Cannot call ${x} after a QuicSession has been destroyed`, - ); - } -} -export class ERR_QUICSESSION_INVALID_DCID extends NodeError { - constructor(x: string) { - super("ERR_QUICSESSION_INVALID_DCID", `Invalid DCID value: ${x}`); - } -} -export class ERR_QUICSESSION_UPDATEKEY extends NodeError { - constructor() { - super("ERR_QUICSESSION_UPDATEKEY", `Unable to update QuicSession keys`); - } -} -export class ERR_QUICSOCKET_DESTROYED extends NodeError { - constructor(x: string) { - super( - "ERR_QUICSOCKET_DESTROYED", - `Cannot call ${x} after a QuicSocket has been destroyed`, - ); - } -} -export class ERR_QUICSOCKET_INVALID_STATELESS_RESET_SECRET_LENGTH - extends NodeError { - constructor() { - super( - "ERR_QUICSOCKET_INVALID_STATELESS_RESET_SECRET_LENGTH", - `The stateResetToken must be exactly 16-bytes in length`, - ); - } -} -export class ERR_QUICSOCKET_LISTENING extends NodeError { - constructor() { - super("ERR_QUICSOCKET_LISTENING", `This QuicSocket is already listening`); - } -} -export class ERR_QUICSOCKET_UNBOUND extends NodeError { - constructor(x: string) { - super( - "ERR_QUICSOCKET_UNBOUND", - `Cannot call ${x} before a QuicSocket has been bound`, - ); - } -} -export class ERR_QUICSTREAM_DESTROYED extends NodeError { - constructor(x: string) { - super( - "ERR_QUICSTREAM_DESTROYED", - `Cannot call ${x} after a QuicStream has been destroyed`, - ); - } -} -export class ERR_QUICSTREAM_INVALID_PUSH extends NodeError { - constructor() { - super( - "ERR_QUICSTREAM_INVALID_PUSH", - `Push streams are only supported on client-initiated, bidirectional streams`, - ); - } -} -export class ERR_QUICSTREAM_OPEN_FAILED extends NodeError { - constructor() { - super("ERR_QUICSTREAM_OPEN_FAILED", `Opening a new QuicStream failed`); - } -} -export class ERR_QUICSTREAM_UNSUPPORTED_PUSH extends NodeError { - constructor() { - super( - "ERR_QUICSTREAM_UNSUPPORTED_PUSH", - `Push streams are not supported on this QuicSession`, - ); - } -} -export class ERR_QUIC_TLS13_REQUIRED extends NodeError { - constructor() { - super("ERR_QUIC_TLS13_REQUIRED", `QUIC requires TLS version 1.3`); - } -} -export class ERR_SCRIPT_EXECUTION_INTERRUPTED extends NodeError { - constructor() { - super( - "ERR_SCRIPT_EXECUTION_INTERRUPTED", - "Script execution was interrupted by `SIGINT`", - ); - } -} -export class ERR_SERVER_ALREADY_LISTEN extends NodeError { - constructor() { - super( - "ERR_SERVER_ALREADY_LISTEN", - `Listen method has been called more than once without closing.`, - ); - } -} -export class ERR_SERVER_NOT_RUNNING extends NodeError { - constructor() { - super("ERR_SERVER_NOT_RUNNING", `Server is not running.`); - } -} -export class ERR_SOCKET_ALREADY_BOUND extends NodeError { - constructor() { - super("ERR_SOCKET_ALREADY_BOUND", `Socket is already bound`); - } -} -export class ERR_SOCKET_BAD_BUFFER_SIZE extends NodeTypeError { - constructor() { - super( - "ERR_SOCKET_BAD_BUFFER_SIZE", - `Buffer size must be a positive integer`, - ); - } -} -export class ERR_SOCKET_BAD_PORT extends NodeRangeError { - constructor(name: string, port: unknown, allowZero = true) { - assert( - typeof allowZero === "boolean", - "The 'allowZero' argument must be of type boolean.", - ); - - const operator = allowZero ? ">=" : ">"; - - super( - "ERR_SOCKET_BAD_PORT", - `${name} should be ${operator} 0 and < 65536. Received ${port}.`, - ); - } -} -export class ERR_SOCKET_BAD_TYPE extends NodeTypeError { - constructor() { - super( - "ERR_SOCKET_BAD_TYPE", - `Bad socket type specified. Valid types are: udp4, udp6`, - ); - } -} -export class ERR_SOCKET_BUFFER_SIZE extends NodeSystemError { - constructor(ctx: NodeSystemErrorCtx) { - super("ERR_SOCKET_BUFFER_SIZE", ctx, "Could not get or set buffer size"); - } -} -export class ERR_SOCKET_CLOSED extends NodeError { - constructor() { - super("ERR_SOCKET_CLOSED", `Socket is closed`); - } -} -export class ERR_SOCKET_DGRAM_IS_CONNECTED extends NodeError { - constructor() { - super("ERR_SOCKET_DGRAM_IS_CONNECTED", `Already connected`); - } -} -export class ERR_SOCKET_DGRAM_NOT_CONNECTED extends NodeError { - constructor() { - super("ERR_SOCKET_DGRAM_NOT_CONNECTED", `Not connected`); - } -} -export class ERR_SOCKET_DGRAM_NOT_RUNNING extends NodeError { - constructor() { - super("ERR_SOCKET_DGRAM_NOT_RUNNING", `Not running`); - } -} -export class ERR_SRI_PARSE extends NodeSyntaxError { - constructor(name: string, char: string, position: number) { - super( - "ERR_SRI_PARSE", - `Subresource Integrity string ${name} had an unexpected ${char} at position ${position}`, - ); - } -} -export class ERR_STREAM_ALREADY_FINISHED extends NodeError { - constructor(x: string) { - super( - "ERR_STREAM_ALREADY_FINISHED", - `Cannot call ${x} after a stream was finished`, - ); - } -} -export class ERR_STREAM_CANNOT_PIPE extends NodeError { - constructor() { - super("ERR_STREAM_CANNOT_PIPE", `Cannot pipe, not readable`); - } -} -export class ERR_STREAM_DESTROYED extends NodeError { - constructor(x: string) { - super( - "ERR_STREAM_DESTROYED", - `Cannot call ${x} after a stream was destroyed`, - ); - } -} -export class ERR_STREAM_NULL_VALUES extends NodeTypeError { - constructor() { - super("ERR_STREAM_NULL_VALUES", `May not write null values to stream`); - } -} -export class ERR_STREAM_PREMATURE_CLOSE extends NodeError { - constructor() { - super("ERR_STREAM_PREMATURE_CLOSE", `Premature close`); - } -} -export class ERR_STREAM_PUSH_AFTER_EOF extends NodeError { - constructor() { - super("ERR_STREAM_PUSH_AFTER_EOF", `stream.push() after EOF`); - } -} -export class ERR_STREAM_UNSHIFT_AFTER_END_EVENT extends NodeError { - constructor() { - super( - "ERR_STREAM_UNSHIFT_AFTER_END_EVENT", - `stream.unshift() after end event`, - ); - } -} -export class ERR_STREAM_WRAP extends NodeError { - constructor() { - super( - "ERR_STREAM_WRAP", - `Stream has StringDecoder set or is in objectMode`, - ); - } -} -export class ERR_STREAM_WRITE_AFTER_END extends NodeError { - constructor() { - super("ERR_STREAM_WRITE_AFTER_END", `write after end`); - } -} -export class ERR_SYNTHETIC extends NodeError { - constructor() { - super("ERR_SYNTHETIC", `JavaScript Callstack`); - } -} -export class ERR_TLS_CERT_ALTNAME_INVALID extends NodeError { - reason: string; - host: string; - cert: string; - - constructor(reason: string, host: string, cert: string) { - super( - "ERR_TLS_CERT_ALTNAME_INVALID", - `Hostname/IP does not match certificate's altnames: ${reason}`, - ); - this.reason = reason; - this.host = host; - this.cert = cert; - } -} -export class ERR_TLS_DH_PARAM_SIZE extends NodeError { - constructor(x: string) { - super("ERR_TLS_DH_PARAM_SIZE", `DH parameter size ${x} is less than 2048`); - } -} -export class ERR_TLS_HANDSHAKE_TIMEOUT extends NodeError { - constructor() { - super("ERR_TLS_HANDSHAKE_TIMEOUT", `TLS handshake timeout`); - } -} -export class ERR_TLS_INVALID_CONTEXT extends NodeTypeError { - constructor(x: string) { - super("ERR_TLS_INVALID_CONTEXT", `${x} must be a SecureContext`); - } -} -export class ERR_TLS_INVALID_STATE extends NodeError { - constructor() { - super( - "ERR_TLS_INVALID_STATE", - `TLS socket connection must be securely established`, - ); - } -} -export class ERR_TLS_INVALID_PROTOCOL_VERSION extends NodeTypeError { - constructor(protocol: string, x: string) { - super( - "ERR_TLS_INVALID_PROTOCOL_VERSION", - `${protocol} is not a valid ${x} TLS protocol version`, - ); - } -} -export class ERR_TLS_PROTOCOL_VERSION_CONFLICT extends NodeTypeError { - constructor(prevProtocol: string, protocol: string) { - super( - "ERR_TLS_PROTOCOL_VERSION_CONFLICT", - `TLS protocol version ${prevProtocol} conflicts with secureProtocol ${protocol}`, - ); - } -} -export class ERR_TLS_RENEGOTIATION_DISABLED extends NodeError { - constructor() { - super( - "ERR_TLS_RENEGOTIATION_DISABLED", - `TLS session renegotiation disabled for this socket`, - ); - } -} -export class ERR_TLS_REQUIRED_SERVER_NAME extends NodeError { - constructor() { - super( - "ERR_TLS_REQUIRED_SERVER_NAME", - `"servername" is required parameter for Server.addContext`, - ); - } -} -export class ERR_TLS_SESSION_ATTACK extends NodeError { - constructor() { - super( - "ERR_TLS_SESSION_ATTACK", - `TLS session renegotiation attack detected`, - ); - } -} -export class ERR_TLS_SNI_FROM_SERVER extends NodeError { - constructor() { - super( - "ERR_TLS_SNI_FROM_SERVER", - `Cannot issue SNI from a TLS server-side socket`, - ); - } -} -export class ERR_TRACE_EVENTS_CATEGORY_REQUIRED extends NodeTypeError { - constructor() { - super( - "ERR_TRACE_EVENTS_CATEGORY_REQUIRED", - `At least one category is required`, - ); - } -} -export class ERR_TRACE_EVENTS_UNAVAILABLE extends NodeError { - constructor() { - super("ERR_TRACE_EVENTS_UNAVAILABLE", `Trace events are unavailable`); - } -} -export class ERR_UNAVAILABLE_DURING_EXIT extends NodeError { - constructor() { - super( - "ERR_UNAVAILABLE_DURING_EXIT", - `Cannot call function in process exit handler`, - ); - } -} -export class ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET extends NodeError { - constructor() { - super( - "ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET", - "`process.setupUncaughtExceptionCapture()` was called while a capture callback was already active", - ); - } -} -export class ERR_UNESCAPED_CHARACTERS extends NodeTypeError { - constructor(x: string) { - super("ERR_UNESCAPED_CHARACTERS", `${x} contains unescaped characters`); - } -} -export class ERR_UNHANDLED_ERROR extends NodeError { - constructor(x: string) { - super("ERR_UNHANDLED_ERROR", `Unhandled error. (${x})`); - } -} -export class ERR_UNKNOWN_BUILTIN_MODULE extends NodeError { - constructor(x: string) { - super("ERR_UNKNOWN_BUILTIN_MODULE", `No such built-in module: ${x}`); - } -} -export class ERR_UNKNOWN_CREDENTIAL extends NodeError { - constructor(x: string, y: string) { - super("ERR_UNKNOWN_CREDENTIAL", `${x} identifier does not exist: ${y}`); - } -} -export class ERR_UNKNOWN_ENCODING extends NodeTypeError { - constructor(x: string) { - super("ERR_UNKNOWN_ENCODING", `Unknown encoding: ${x}`); - } -} -export class ERR_UNKNOWN_FILE_EXTENSION extends NodeTypeError { - constructor(x: string, y: string) { - super( - "ERR_UNKNOWN_FILE_EXTENSION", - `Unknown file extension "${x}" for ${y}`, - ); - } -} -export class ERR_UNKNOWN_MODULE_FORMAT extends NodeRangeError { - constructor(x: string) { - super("ERR_UNKNOWN_MODULE_FORMAT", `Unknown module format: ${x}`); - } -} -export class ERR_UNKNOWN_SIGNAL extends NodeTypeError { - constructor(x: string) { - super("ERR_UNKNOWN_SIGNAL", `Unknown signal: ${x}`); - } -} -export class ERR_UNSUPPORTED_DIR_IMPORT extends NodeError { - constructor(x: string, y: string) { - super( - "ERR_UNSUPPORTED_DIR_IMPORT", - `Directory import '${x}' is not supported resolving ES modules, imported from ${y}`, - ); - } -} -export class ERR_UNSUPPORTED_ESM_URL_SCHEME extends NodeError { - constructor() { - super( - "ERR_UNSUPPORTED_ESM_URL_SCHEME", - `Only file and data URLs are supported by the default ESM loader`, - ); - } -} -export class ERR_USE_AFTER_CLOSE extends NodeError { - constructor(x: string) { - super( - "ERR_USE_AFTER_CLOSE", - `${x} was closed`, - ); - } -} -export class ERR_V8BREAKITERATOR extends NodeError { - constructor() { - super( - "ERR_V8BREAKITERATOR", - `Full ICU data not installed. See https://github.com/nodejs/node/wiki/Intl`, - ); - } -} -export class ERR_VALID_PERFORMANCE_ENTRY_TYPE extends NodeError { - constructor() { - super( - "ERR_VALID_PERFORMANCE_ENTRY_TYPE", - `At least one valid performance entry type is required`, - ); - } -} -export class ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING extends NodeTypeError { - constructor() { - super( - "ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING", - `A dynamic import callback was not specified.`, - ); - } -} -export class ERR_VM_MODULE_ALREADY_LINKED extends NodeError { - constructor() { - super("ERR_VM_MODULE_ALREADY_LINKED", `Module has already been linked`); - } -} -export class ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA extends NodeError { - constructor() { - super( - "ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA", - `Cached data cannot be created for a module which has been evaluated`, - ); - } -} -export class ERR_VM_MODULE_DIFFERENT_CONTEXT extends NodeError { - constructor() { - super( - "ERR_VM_MODULE_DIFFERENT_CONTEXT", - `Linked modules must use the same context`, - ); - } -} -export class ERR_VM_MODULE_LINKING_ERRORED extends NodeError { - constructor() { - super( - "ERR_VM_MODULE_LINKING_ERRORED", - `Linking has already failed for the provided module`, - ); - } -} -export class ERR_VM_MODULE_NOT_MODULE extends NodeError { - constructor() { - super( - "ERR_VM_MODULE_NOT_MODULE", - `Provided module is not an instance of Module`, - ); - } -} -export class ERR_VM_MODULE_STATUS extends NodeError { - constructor(x: string) { - super("ERR_VM_MODULE_STATUS", `Module status ${x}`); - } -} -export class ERR_WASI_ALREADY_STARTED extends NodeError { - constructor() { - super("ERR_WASI_ALREADY_STARTED", `WASI instance has already started`); - } -} -export class ERR_WORKER_INIT_FAILED extends NodeError { - constructor(x: string) { - super("ERR_WORKER_INIT_FAILED", `Worker initialization failure: ${x}`); - } -} -export class ERR_WORKER_NOT_RUNNING extends NodeError { - constructor() { - super("ERR_WORKER_NOT_RUNNING", `Worker instance not running`); - } -} -export class ERR_WORKER_OUT_OF_MEMORY extends NodeError { - constructor(x: string) { - super( - "ERR_WORKER_OUT_OF_MEMORY", - `Worker terminated due to reaching memory limit: ${x}`, - ); - } -} -export class ERR_WORKER_UNSERIALIZABLE_ERROR extends NodeError { - constructor() { - super( - "ERR_WORKER_UNSERIALIZABLE_ERROR", - `Serializing an uncaught exception failed`, - ); - } -} -export class ERR_WORKER_UNSUPPORTED_EXTENSION extends NodeTypeError { - constructor(x: string) { - super( - "ERR_WORKER_UNSUPPORTED_EXTENSION", - `The worker script extension must be ".js", ".mjs", or ".cjs". Received "${x}"`, - ); - } -} -export class ERR_WORKER_UNSUPPORTED_OPERATION extends NodeTypeError { - constructor(x: string) { - super( - "ERR_WORKER_UNSUPPORTED_OPERATION", - `${x} is not supported in workers`, - ); - } -} -export class ERR_ZLIB_INITIALIZATION_FAILED extends NodeError { - constructor() { - super("ERR_ZLIB_INITIALIZATION_FAILED", `Initialization failed`); - } -} -export class ERR_FALSY_VALUE_REJECTION extends NodeError { - reason: string; - constructor(reason: string) { - super("ERR_FALSY_VALUE_REJECTION", "Promise was rejected with falsy value"); - this.reason = reason; - } -} -export class ERR_HTTP2_INVALID_SETTING_VALUE extends NodeRangeError { - actual: unknown; - min?: number; - max?: number; - - constructor(name: string, actual: unknown, min?: number, max?: number) { - super( - "ERR_HTTP2_INVALID_SETTING_VALUE", - `Invalid value for setting "${name}": ${actual}`, - ); - this.actual = actual; - if (min !== undefined) { - this.min = min; - this.max = max; - } - } -} -export class ERR_HTTP2_STREAM_CANCEL extends NodeError { - override cause?: Error; - constructor(error: Error) { - super( - "ERR_HTTP2_STREAM_CANCEL", - typeof error.message === "string" - ? `The pending stream has been canceled (caused by: ${error.message})` - : "The pending stream has been canceled", - ); - if (error) { - this.cause = error; - } - } -} - -export class ERR_INVALID_ADDRESS_FAMILY extends NodeRangeError { - host: string; - port: number; - constructor(addressType: string, host: string, port: number) { - super( - "ERR_INVALID_ADDRESS_FAMILY", - `Invalid address family: ${addressType} ${host}:${port}`, - ); - this.host = host; - this.port = port; - } -} - -export class ERR_INVALID_CHAR extends NodeTypeError { - constructor(name: string, field?: string) { - super( - "ERR_INVALID_CHAR", - field - ? `Invalid character in ${name}` - : `Invalid character in ${name} ["${field}"]`, - ); - } -} - -export class ERR_INVALID_OPT_VALUE extends NodeTypeError { - constructor(name: string, value: unknown) { - super( - "ERR_INVALID_OPT_VALUE", - `The value "${value}" is invalid for option "${name}"`, - ); - } -} - -export class ERR_INVALID_RETURN_PROPERTY extends NodeTypeError { - constructor(input: string, name: string, prop: string, value: string) { - super( - "ERR_INVALID_RETURN_PROPERTY", - `Expected a valid ${input} to be returned for the "${prop}" from the "${name}" function but got ${value}.`, - ); - } -} - -// deno-lint-ignore no-explicit-any -function buildReturnPropertyType(value: any) { - if (value && value.constructor && value.constructor.name) { - return `instance of ${value.constructor.name}`; - } else { - return `type ${typeof value}`; - } -} - -export class ERR_INVALID_RETURN_PROPERTY_VALUE extends NodeTypeError { - constructor(input: string, name: string, prop: string, value: unknown) { - super( - "ERR_INVALID_RETURN_PROPERTY_VALUE", - `Expected ${input} to be returned for the "${prop}" from the "${name}" function but got ${ - buildReturnPropertyType( - value, - ) - }.`, - ); - } -} - -export class ERR_INVALID_RETURN_VALUE extends NodeTypeError { - constructor(input: string, name: string, value: unknown) { - super( - "ERR_INVALID_RETURN_VALUE", - `Expected ${input} to be returned from the "${name}" function but got ${ - determineSpecificType( - value, - ) - }.`, - ); - } -} - -export class ERR_INVALID_URL extends NodeTypeError { - input: string; - constructor(input: string) { - super("ERR_INVALID_URL", `Invalid URL: ${input}`); - this.input = input; - } -} - -export class ERR_INVALID_URL_SCHEME extends NodeTypeError { - constructor(expected: string | [string] | [string, string]) { - expected = Array.isArray(expected) ? expected : [expected]; - const res = expected.length === 2 - ? `one of scheme ${expected[0]} or ${expected[1]}` - : `of scheme ${expected[0]}`; - super("ERR_INVALID_URL_SCHEME", `The URL must be ${res}`); - } -} - -export class ERR_MODULE_NOT_FOUND extends NodeError { - constructor(path: string, base: string, type: string = "package") { - super( - "ERR_MODULE_NOT_FOUND", - `Cannot find ${type} '${path}' imported from ${base}`, - ); - } -} - -export class ERR_INVALID_PACKAGE_CONFIG extends NodeError { - constructor(path: string, base?: string, message?: string) { - const msg = `Invalid package config ${path}${ - base ? ` while importing ${base}` : "" - }${message ? `. ${message}` : ""}`; - super("ERR_INVALID_PACKAGE_CONFIG", msg); - } -} - -export class ERR_INVALID_MODULE_SPECIFIER extends NodeTypeError { - constructor(request: string, reason: string, base?: string) { - super( - "ERR_INVALID_MODULE_SPECIFIER", - `Invalid module "${request}" ${reason}${ - base ? ` imported from ${base}` : "" - }`, - ); - } -} - -export class ERR_INVALID_PACKAGE_TARGET extends NodeError { - constructor( - pkgPath: string, - key: string, - // deno-lint-ignore no-explicit-any - target: any, - isImport?: boolean, - base?: string, - ) { - let msg: string; - const relError = typeof target === "string" && - !isImport && - target.length && - !target.startsWith("./"); - if (key === ".") { - assert(isImport === false); - msg = `Invalid "exports" main target ${JSON.stringify(target)} defined ` + - `in the package config ${pkgPath}package.json${ - base ? ` imported from ${base}` : "" - }${relError ? '; targets must start with "./"' : ""}`; - } else { - msg = `Invalid "${isImport ? "imports" : "exports"}" target ${ - JSON.stringify( - target, - ) - } defined for '${key}' in the package config ${pkgPath}package.json${ - base ? ` imported from ${base}` : "" - }${relError ? '; targets must start with "./"' : ""}`; - } - super("ERR_INVALID_PACKAGE_TARGET", msg); - } -} - -export class ERR_PACKAGE_IMPORT_NOT_DEFINED extends NodeTypeError { - constructor( - specifier: string, - packagePath: string | undefined, - base: string, - ) { - const msg = `Package import specifier "${specifier}" is not defined${ - packagePath ? ` in package ${packagePath}package.json` : "" - } imported from ${base}`; - - super("ERR_PACKAGE_IMPORT_NOT_DEFINED", msg); - } -} - -export class ERR_PACKAGE_PATH_NOT_EXPORTED extends NodeError { - constructor(subpath: string, pkgPath: string, basePath?: string) { - let msg: string; - if (subpath === ".") { - msg = `No "exports" main defined in ${pkgPath}package.json${ - basePath ? ` imported from ${basePath}` : "" - }`; - } else { - msg = - `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${ - basePath ? ` imported from ${basePath}` : "" - }`; - } - - super("ERR_PACKAGE_PATH_NOT_EXPORTED", msg); - } -} - -export class ERR_INTERNAL_ASSERTION extends NodeError { - constructor(message?: string) { - const suffix = "This is caused by either a bug in Node.js " + - "or incorrect usage of Node.js internals.\n" + - "Please open an issue with this stack trace at " + - "https://github.com/nodejs/node/issues\n"; - super( - "ERR_INTERNAL_ASSERTION", - message === undefined ? suffix : `${message}\n${suffix}`, - ); - } -} - -// Using `fs.rmdir` on a path that is a file results in an ENOENT error on Windows and an ENOTDIR error on POSIX. -export class ERR_FS_RMDIR_ENOTDIR extends NodeSystemError { - constructor(path: string) { - const code = isWindows ? "ENOENT" : "ENOTDIR"; - const ctx: NodeSystemErrorCtx = { - message: "not a directory", - path, - syscall: "rmdir", - code, - errno: isWindows ? ENOENT : ENOTDIR, - }; - super(code, ctx, "Path is not a directory"); - } -} - -interface UvExceptionContext { - syscall: string; - path?: string; -} -export function denoErrorToNodeError(e: Error, ctx: UvExceptionContext) { - const errno = extractOsErrorNumberFromErrorMessage(e); - if (typeof errno === "undefined") { - return e; - } - - const ex = uvException({ - errno: mapSysErrnoToUvErrno(errno), - ...ctx, - }); - return ex; -} - -function extractOsErrorNumberFromErrorMessage(e: unknown): number | undefined { - const match = e instanceof Error - ? e.message.match(/\(os error (\d+)\)/) - : false; - - if (match) { - return +match[1]; - } - - return undefined; -} - -export function connResetException(msg: string) { - const ex = new Error(msg); - // deno-lint-ignore no-explicit-any - (ex as any).code = "ECONNRESET"; - return ex; -} - -export function aggregateTwoErrors( - innerError: AggregateError, - outerError: AggregateError & { code: string }, -) { - if (innerError && outerError && innerError !== outerError) { - if (Array.isArray(outerError.errors)) { - // If `outerError` is already an `AggregateError`. - outerError.errors.push(innerError); - return outerError; - } - // eslint-disable-next-line no-restricted-syntax - const err = new AggregateError( - [ - outerError, - innerError, - ], - outerError.message, - ); - // deno-lint-ignore no-explicit-any - (err as any).code = outerError.code; - return err; - } - return innerError || outerError; -} -codes.ERR_IPC_CHANNEL_CLOSED = ERR_IPC_CHANNEL_CLOSED; -codes.ERR_INVALID_ARG_TYPE = ERR_INVALID_ARG_TYPE; -codes.ERR_INVALID_ARG_VALUE = ERR_INVALID_ARG_VALUE; -codes.ERR_OUT_OF_RANGE = ERR_OUT_OF_RANGE; -codes.ERR_SOCKET_BAD_PORT = ERR_SOCKET_BAD_PORT; -codes.ERR_BUFFER_OUT_OF_BOUNDS = ERR_BUFFER_OUT_OF_BOUNDS; -codes.ERR_UNKNOWN_ENCODING = ERR_UNKNOWN_ENCODING; -// TODO(kt3k): assign all error classes here. - -/** - * This creates a generic Node.js error. - * - * @param message The error message. - * @param errorProperties Object with additional properties to be added to the error. - * @returns - */ -const genericNodeError = hideStackFrames( - function genericNodeError(message, errorProperties) { - // eslint-disable-next-line no-restricted-syntax - const err = new Error(message); - Object.assign(err, errorProperties); - - return err; - }, -); - -/** - * Determine the specific type of a value for type-mismatch errors. - * @param {*} value - * @returns {string} - */ -// deno-lint-ignore no-explicit-any -function determineSpecificType(value: any) { - if (value == null) { - return "" + value; - } - if (typeof value === "function" && value.name) { - return `function ${value.name}`; - } - if (typeof value === "object") { - if (value.constructor?.name) { - return `an instance of ${value.constructor.name}`; - } - return `${inspect(value, { depth: -1 })}`; - } - let inspected = inspect(value, { colors: false }); - if (inspected.length > 28) inspected = `${inspected.slice(0, 25)}...`; - - return `type ${typeof value} (${inspected})`; -} - -export { codes, genericNodeError, hideStackFrames }; - -export default { - AbortError, - ERR_AMBIGUOUS_ARGUMENT, - ERR_ARG_NOT_ITERABLE, - ERR_ASSERTION, - ERR_ASYNC_CALLBACK, - ERR_ASYNC_TYPE, - ERR_BROTLI_INVALID_PARAM, - ERR_BUFFER_OUT_OF_BOUNDS, - ERR_BUFFER_TOO_LARGE, - ERR_CANNOT_WATCH_SIGINT, - ERR_CHILD_CLOSED_BEFORE_REPLY, - ERR_CHILD_PROCESS_IPC_REQUIRED, - ERR_CHILD_PROCESS_STDIO_MAXBUFFER, - ERR_CONSOLE_WRITABLE_STREAM, - ERR_CONTEXT_NOT_INITIALIZED, - ERR_CPU_USAGE, - ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED, - ERR_CRYPTO_ECDH_INVALID_FORMAT, - ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY, - ERR_CRYPTO_ENGINE_UNKNOWN, - ERR_CRYPTO_FIPS_FORCED, - ERR_CRYPTO_FIPS_UNAVAILABLE, - ERR_CRYPTO_HASH_FINALIZED, - ERR_CRYPTO_HASH_UPDATE_FAILED, - ERR_CRYPTO_INCOMPATIBLE_KEY, - ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS, - ERR_CRYPTO_INVALID_DIGEST, - ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE, - ERR_CRYPTO_INVALID_STATE, - ERR_CRYPTO_PBKDF2_ERROR, - ERR_CRYPTO_SCRYPT_INVALID_PARAMETER, - ERR_CRYPTO_SCRYPT_NOT_SUPPORTED, - ERR_CRYPTO_SIGN_KEY_REQUIRED, - ERR_DIR_CLOSED, - ERR_DIR_CONCURRENT_OPERATION, - ERR_DNS_SET_SERVERS_FAILED, - ERR_DOMAIN_CALLBACK_NOT_AVAILABLE, - ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE, - ERR_ENCODING_INVALID_ENCODED_DATA, - ERR_ENCODING_NOT_SUPPORTED, - ERR_EVAL_ESM_CANNOT_PRINT, - ERR_EVENT_RECURSION, - ERR_FALSY_VALUE_REJECTION, - ERR_FEATURE_UNAVAILABLE_ON_PLATFORM, - ERR_FS_EISDIR, - ERR_FS_FILE_TOO_LARGE, - ERR_FS_INVALID_SYMLINK_TYPE, - ERR_FS_RMDIR_ENOTDIR, - ERR_HTTP2_ALTSVC_INVALID_ORIGIN, - ERR_HTTP2_ALTSVC_LENGTH, - ERR_HTTP2_CONNECT_AUTHORITY, - ERR_HTTP2_CONNECT_PATH, - ERR_HTTP2_CONNECT_SCHEME, - ERR_HTTP2_GOAWAY_SESSION, - ERR_HTTP2_HEADERS_AFTER_RESPOND, - ERR_HTTP2_HEADERS_SENT, - ERR_HTTP2_HEADER_SINGLE_VALUE, - ERR_HTTP2_INFO_STATUS_NOT_ALLOWED, - ERR_HTTP2_INVALID_CONNECTION_HEADERS, - ERR_HTTP2_INVALID_HEADER_VALUE, - ERR_HTTP2_INVALID_INFO_STATUS, - ERR_HTTP2_INVALID_ORIGIN, - ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH, - ERR_HTTP2_INVALID_PSEUDOHEADER, - ERR_HTTP2_INVALID_SESSION, - ERR_HTTP2_INVALID_SETTING_VALUE, - ERR_HTTP2_INVALID_STREAM, - ERR_HTTP2_MAX_PENDING_SETTINGS_ACK, - ERR_HTTP2_NESTED_PUSH, - ERR_HTTP2_NO_SOCKET_MANIPULATION, - ERR_HTTP2_ORIGIN_LENGTH, - ERR_HTTP2_OUT_OF_STREAMS, - ERR_HTTP2_PAYLOAD_FORBIDDEN, - ERR_HTTP2_PING_CANCEL, - ERR_HTTP2_PING_LENGTH, - ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED, - ERR_HTTP2_PUSH_DISABLED, - ERR_HTTP2_SEND_FILE, - ERR_HTTP2_SEND_FILE_NOSEEK, - ERR_HTTP2_SESSION_ERROR, - ERR_HTTP2_SETTINGS_CANCEL, - ERR_HTTP2_SOCKET_BOUND, - ERR_HTTP2_SOCKET_UNBOUND, - ERR_HTTP2_STATUS_101, - ERR_HTTP2_STATUS_INVALID, - ERR_HTTP2_STREAM_CANCEL, - ERR_HTTP2_STREAM_ERROR, - ERR_HTTP2_STREAM_SELF_DEPENDENCY, - ERR_HTTP2_TRAILERS_ALREADY_SENT, - ERR_HTTP2_TRAILERS_NOT_READY, - ERR_HTTP2_UNSUPPORTED_PROTOCOL, - ERR_HTTP_HEADERS_SENT, - ERR_HTTP_INVALID_HEADER_VALUE, - ERR_HTTP_INVALID_STATUS_CODE, - ERR_HTTP_SOCKET_ENCODING, - ERR_HTTP_TRAILER_INVALID, - ERR_INCOMPATIBLE_OPTION_PAIR, - ERR_INPUT_TYPE_NOT_ALLOWED, - ERR_INSPECTOR_ALREADY_ACTIVATED, - ERR_INSPECTOR_ALREADY_CONNECTED, - ERR_INSPECTOR_CLOSED, - ERR_INSPECTOR_COMMAND, - ERR_INSPECTOR_NOT_ACTIVE, - ERR_INSPECTOR_NOT_AVAILABLE, - ERR_INSPECTOR_NOT_CONNECTED, - ERR_INSPECTOR_NOT_WORKER, - ERR_INTERNAL_ASSERTION, - ERR_INVALID_ADDRESS_FAMILY, - ERR_INVALID_ARG_TYPE, - ERR_INVALID_ARG_TYPE_RANGE, - ERR_INVALID_ARG_VALUE, - ERR_INVALID_ARG_VALUE_RANGE, - ERR_INVALID_ASYNC_ID, - ERR_INVALID_BUFFER_SIZE, - ERR_INVALID_CHAR, - ERR_INVALID_CURSOR_POS, - ERR_INVALID_FD, - ERR_INVALID_FD_TYPE, - ERR_INVALID_FILE_URL_HOST, - ERR_INVALID_FILE_URL_PATH, - ERR_INVALID_HANDLE_TYPE, - ERR_INVALID_HTTP_TOKEN, - ERR_INVALID_IP_ADDRESS, - ERR_INVALID_MODULE_SPECIFIER, - ERR_INVALID_OPT_VALUE, - ERR_INVALID_OPT_VALUE_ENCODING, - ERR_INVALID_PACKAGE_CONFIG, - ERR_INVALID_PACKAGE_TARGET, - ERR_INVALID_PERFORMANCE_MARK, - ERR_INVALID_PROTOCOL, - ERR_INVALID_REPL_EVAL_CONFIG, - ERR_INVALID_REPL_INPUT, - ERR_INVALID_RETURN_PROPERTY, - ERR_INVALID_RETURN_PROPERTY_VALUE, - ERR_INVALID_RETURN_VALUE, - ERR_INVALID_SYNC_FORK_INPUT, - ERR_INVALID_THIS, - ERR_INVALID_TUPLE, - ERR_INVALID_URI, - ERR_INVALID_URL, - ERR_INVALID_URL_SCHEME, - ERR_IPC_CHANNEL_CLOSED, - ERR_IPC_DISCONNECTED, - ERR_IPC_ONE_PIPE, - ERR_IPC_SYNC_FORK, - ERR_MANIFEST_DEPENDENCY_MISSING, - ERR_MANIFEST_INTEGRITY_MISMATCH, - ERR_MANIFEST_INVALID_RESOURCE_FIELD, - ERR_MANIFEST_TDZ, - ERR_MANIFEST_UNKNOWN_ONERROR, - ERR_METHOD_NOT_IMPLEMENTED, - ERR_MISSING_ARGS, - ERR_MISSING_OPTION, - ERR_MODULE_NOT_FOUND, - ERR_MULTIPLE_CALLBACK, - ERR_NAPI_CONS_FUNCTION, - ERR_NAPI_INVALID_DATAVIEW_ARGS, - ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT, - ERR_NAPI_INVALID_TYPEDARRAY_LENGTH, - ERR_NO_CRYPTO, - ERR_NO_ICU, - ERR_OUT_OF_RANGE, - ERR_PACKAGE_IMPORT_NOT_DEFINED, - ERR_PACKAGE_PATH_NOT_EXPORTED, - ERR_QUICCLIENTSESSION_FAILED, - ERR_QUICCLIENTSESSION_FAILED_SETSOCKET, - ERR_QUICSESSION_DESTROYED, - ERR_QUICSESSION_INVALID_DCID, - ERR_QUICSESSION_UPDATEKEY, - ERR_QUICSOCKET_DESTROYED, - ERR_QUICSOCKET_INVALID_STATELESS_RESET_SECRET_LENGTH, - ERR_QUICSOCKET_LISTENING, - ERR_QUICSOCKET_UNBOUND, - ERR_QUICSTREAM_DESTROYED, - ERR_QUICSTREAM_INVALID_PUSH, - ERR_QUICSTREAM_OPEN_FAILED, - ERR_QUICSTREAM_UNSUPPORTED_PUSH, - ERR_QUIC_TLS13_REQUIRED, - ERR_SCRIPT_EXECUTION_INTERRUPTED, - ERR_SERVER_ALREADY_LISTEN, - ERR_SERVER_NOT_RUNNING, - ERR_SOCKET_ALREADY_BOUND, - ERR_SOCKET_BAD_BUFFER_SIZE, - ERR_SOCKET_BAD_PORT, - ERR_SOCKET_BAD_TYPE, - ERR_SOCKET_BUFFER_SIZE, - ERR_SOCKET_CLOSED, - ERR_SOCKET_DGRAM_IS_CONNECTED, - ERR_SOCKET_DGRAM_NOT_CONNECTED, - ERR_SOCKET_DGRAM_NOT_RUNNING, - ERR_SRI_PARSE, - ERR_STREAM_ALREADY_FINISHED, - ERR_STREAM_CANNOT_PIPE, - ERR_STREAM_DESTROYED, - ERR_STREAM_NULL_VALUES, - ERR_STREAM_PREMATURE_CLOSE, - ERR_STREAM_PUSH_AFTER_EOF, - ERR_STREAM_UNSHIFT_AFTER_END_EVENT, - ERR_STREAM_WRAP, - ERR_STREAM_WRITE_AFTER_END, - ERR_SYNTHETIC, - ERR_TLS_CERT_ALTNAME_INVALID, - ERR_TLS_DH_PARAM_SIZE, - ERR_TLS_HANDSHAKE_TIMEOUT, - ERR_TLS_INVALID_CONTEXT, - ERR_TLS_INVALID_PROTOCOL_VERSION, - ERR_TLS_INVALID_STATE, - ERR_TLS_PROTOCOL_VERSION_CONFLICT, - ERR_TLS_RENEGOTIATION_DISABLED, - ERR_TLS_REQUIRED_SERVER_NAME, - ERR_TLS_SESSION_ATTACK, - ERR_TLS_SNI_FROM_SERVER, - ERR_TRACE_EVENTS_CATEGORY_REQUIRED, - ERR_TRACE_EVENTS_UNAVAILABLE, - ERR_UNAVAILABLE_DURING_EXIT, - ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET, - ERR_UNESCAPED_CHARACTERS, - ERR_UNHANDLED_ERROR, - ERR_UNKNOWN_BUILTIN_MODULE, - ERR_UNKNOWN_CREDENTIAL, - ERR_UNKNOWN_ENCODING, - ERR_UNKNOWN_FILE_EXTENSION, - ERR_UNKNOWN_MODULE_FORMAT, - ERR_UNKNOWN_SIGNAL, - ERR_UNSUPPORTED_DIR_IMPORT, - ERR_UNSUPPORTED_ESM_URL_SCHEME, - ERR_USE_AFTER_CLOSE, - ERR_V8BREAKITERATOR, - ERR_VALID_PERFORMANCE_ENTRY_TYPE, - ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING, - ERR_VM_MODULE_ALREADY_LINKED, - ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA, - ERR_VM_MODULE_DIFFERENT_CONTEXT, - ERR_VM_MODULE_LINKING_ERRORED, - ERR_VM_MODULE_NOT_MODULE, - ERR_VM_MODULE_STATUS, - ERR_WASI_ALREADY_STARTED, - ERR_WORKER_INIT_FAILED, - ERR_WORKER_NOT_RUNNING, - ERR_WORKER_OUT_OF_MEMORY, - ERR_WORKER_UNSERIALIZABLE_ERROR, - ERR_WORKER_UNSUPPORTED_EXTENSION, - ERR_WORKER_UNSUPPORTED_OPERATION, - ERR_ZLIB_INITIALIZATION_FAILED, - NodeError, - NodeErrorAbstraction, - NodeRangeError, - NodeSyntaxError, - NodeTypeError, - NodeURIError, - aggregateTwoErrors, - codes, - connResetException, - denoErrorToNodeError, - dnsException, - errnoException, - errorMap, - exceptionWithHostPort, - genericNodeError, - hideStackFrames, - isStackOverflowError, - uvException, - uvExceptionWithHostPort, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts deleted file mode 100644 index e6b8db7..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. - -// Currently optimal queue size, tested on V8 6.0 - 6.6. Must be power of two. -const kSize = 2048; -const kMask = kSize - 1; - -// The FixedQueue is implemented as a singly-linked list of fixed-size -// circular buffers. It looks something like this: -// -// head tail -// | | -// v v -// +-----------+ <-----\ +-----------+ <------\ +-----------+ -// | [null] | \----- | next | \------- | next | -// +-----------+ +-----------+ +-----------+ -// | item | <-- bottom | item | <-- bottom | [empty] | -// | item | | item | | [empty] | -// | item | | item | | [empty] | -// | item | | item | | [empty] | -// | item | | item | bottom --> | item | -// | item | | item | | item | -// | ... | | ... | | ... | -// | item | | item | | item | -// | item | | item | | item | -// | [empty] | <-- top | item | | item | -// | [empty] | | item | | item | -// | [empty] | | [empty] | <-- top top --> | [empty] | -// +-----------+ +-----------+ +-----------+ -// -// Or, if there is only one circular buffer, it looks something -// like either of these: -// -// head tail head tail -// | | | | -// v v v v -// +-----------+ +-----------+ -// | [null] | | [null] | -// +-----------+ +-----------+ -// | [empty] | | item | -// | [empty] | | item | -// | item | <-- bottom top --> | [empty] | -// | item | | [empty] | -// | [empty] | <-- top bottom --> | item | -// | [empty] | | item | -// +-----------+ +-----------+ -// -// Adding a value means moving `top` forward by one, removing means -// moving `bottom` forward by one. After reaching the end, the queue -// wraps around. -// -// When `top === bottom` the current queue is empty and when -// `top + 1 === bottom` it's full. This wastes a single space of storage -// but allows much quicker checks. - -class FixedCircularBuffer { - bottom: number; - top: number; - list: undefined | Array; - next: FixedCircularBuffer | null; - - constructor() { - this.bottom = 0; - this.top = 0; - this.list = new Array(kSize); - this.next = null; - } - - isEmpty() { - return this.top === this.bottom; - } - - isFull() { - return ((this.top + 1) & kMask) === this.bottom; - } - - push(data: unknown) { - this.list![this.top] = data; - this.top = (this.top + 1) & kMask; - } - - shift() { - const nextItem = this.list![this.bottom]; - if (nextItem === undefined) { - return null; - } - this.list![this.bottom] = undefined; - this.bottom = (this.bottom + 1) & kMask; - return nextItem; - } -} - -export class FixedQueue { - head: FixedCircularBuffer; - tail: FixedCircularBuffer; - - constructor() { - this.head = this.tail = new FixedCircularBuffer(); - } - - isEmpty() { - return this.head.isEmpty(); - } - - push(data: unknown) { - if (this.head.isFull()) { - // Head is full: Creates a new queue, sets the old queue's `.next` to it, - // and sets it as the new main queue. - this.head = this.head.next = new FixedCircularBuffer(); - } - this.head.push(data); - } - - shift() { - const tail = this.tail; - const next = tail.shift(); - if (tail.isEmpty() && tail.next !== null) { - // If there is another queue, it forms the new tail. - this.tail = tail.next; - } - return next; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts deleted file mode 100644 index e1a6e4c..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -// deno-lint-ignore no-explicit-any -type GenericFunction = (...args: any[]) => any; - -/** This function removes unnecessary frames from Node.js core errors. */ -export function hideStackFrames( - fn: T, -): T { - // We rename the functions that will be hidden to cut off the stacktrace - // at the outermost one. - const hidden = "__node_internal_" + fn.name; - Object.defineProperty(fn, "name", { value: hidden }); - - return fn; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/net.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/net.ts deleted file mode 100644 index 0fcfe41..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/net.ts +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import { Buffer } from "../buffer.ts"; -import { uvException } from "./errors.ts"; -import { writeBuffer } from "../internal_binding/node_file.ts"; - -// IPv4 Segment -const v4Seg = "(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"; -const v4Str = `(${v4Seg}[.]){3}${v4Seg}`; -const IPv4Reg = new RegExp(`^${v4Str}$`); - -// IPv6 Segment -const v6Seg = "(?:[0-9a-fA-F]{1,4})"; -const IPv6Reg = new RegExp( - "^(" + - `(?:${v6Seg}:){7}(?:${v6Seg}|:)|` + - `(?:${v6Seg}:){6}(?:${v4Str}|:${v6Seg}|:)|` + - `(?:${v6Seg}:){5}(?::${v4Str}|(:${v6Seg}){1,2}|:)|` + - `(?:${v6Seg}:){4}(?:(:${v6Seg}){0,1}:${v4Str}|(:${v6Seg}){1,3}|:)|` + - `(?:${v6Seg}:){3}(?:(:${v6Seg}){0,2}:${v4Str}|(:${v6Seg}){1,4}|:)|` + - `(?:${v6Seg}:){2}(?:(:${v6Seg}){0,3}:${v4Str}|(:${v6Seg}){1,5}|:)|` + - `(?:${v6Seg}:){1}(?:(:${v6Seg}){0,4}:${v4Str}|(:${v6Seg}){1,6}|:)|` + - `(?::((?::${v6Seg}){0,5}:${v4Str}|(?::${v6Seg}){1,7}|:))` + - ")(%[0-9a-zA-Z-.:]{1,})?$", -); - -export function isIPv4(ip: string) { - return RegExp.prototype.test.call(IPv4Reg, ip); -} - -export function isIPv6(ip: string) { - return RegExp.prototype.test.call(IPv6Reg, ip); -} - -export function isIP(ip: string) { - if (isIPv4(ip)) { - return 4; - } - if (isIPv6(ip)) { - return 6; - } - - return 0; -} - -export function makeSyncWrite(fd: number) { - return function ( - // deno-lint-ignore no-explicit-any - this: any, - // deno-lint-ignore no-explicit-any - chunk: any, - enc: string, - cb: (err?: Error) => void, - ) { - if (enc !== "buffer") { - chunk = Buffer.from(chunk, enc); - } - - this._handle.bytesWritten += chunk.length; - - const ctx: { errno?: number } = {}; - writeBuffer(fd, chunk, 0, chunk.length, null, ctx); - - if (ctx.errno !== undefined) { - const ex = uvException(ctx); - ex.errno = ctx.errno; - - return cb(ex); - } - - cb(); - }; -} - -export const normalizedArgsSymbol = Symbol("normalizedArgs"); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs deleted file mode 100644 index 788c86c..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export function normalizeEncoding(enc) { - if (enc == null || enc === "utf8" || enc === "utf-8") return "utf8"; - return slowCases(enc); -} - -export function slowCases(enc) { - switch (enc.length) { - case 4: - if (enc === "UTF8") return "utf8"; - if (enc === "ucs2" || enc === "UCS2") return "utf16le"; - enc = `${enc}`.toLowerCase(); - if (enc === "utf8") return "utf8"; - if (enc === "ucs2") return "utf16le"; - break; - case 3: - if ( - enc === "hex" || enc === "HEX" || - `${enc}`.toLowerCase() === "hex" - ) { - return "hex"; - } - break; - case 5: - if (enc === "ascii") return "ascii"; - if (enc === "ucs-2") return "utf16le"; - if (enc === "UTF-8") return "utf8"; - if (enc === "ASCII") return "ascii"; - if (enc === "UCS-2") return "utf16le"; - enc = `${enc}`.toLowerCase(); - if (enc === "utf-8") return "utf8"; - if (enc === "ascii") return "ascii"; - if (enc === "ucs-2") return "utf16le"; - break; - case 6: - if (enc === "base64") return "base64"; - if (enc === "latin1" || enc === "binary") return "latin1"; - if (enc === "BASE64") return "base64"; - if (enc === "LATIN1" || enc === "BINARY") return "latin1"; - enc = `${enc}`.toLowerCase(); - if (enc === "base64") return "base64"; - if (enc === "latin1" || enc === "binary") return "latin1"; - break; - case 7: - if ( - enc === "utf16le" || enc === "UTF16LE" || - `${enc}`.toLowerCase() === "utf16le" - ) { - return "utf16le"; - } - break; - case 8: - if ( - enc === "utf-16le" || enc === "UTF-16LE" || - `${enc}`.toLowerCase() === "utf-16le" - ) { - return "utf16le"; - } - break; - case 9: - if ( - enc === "base64url" || enc === "BASE64URL" || - `${enc}`.toLowerCase() === "base64url" - ) { - return "base64url"; - } - break; - default: - if (enc === "") return "utf8"; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/options.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/options.ts deleted file mode 100644 index 7729cdc..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/options.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import { getOptions } from "../internal_binding/node_options.ts"; - -let optionsMap: Map; - -function getOptionsFromBinding() { - if (!optionsMap) { - ({ options: optionsMap } = getOptions()); - } - - return optionsMap; -} - -export function getOptionValue(optionName: string) { - const options = getOptionsFromBinding(); - - if (optionName.startsWith("--no-")) { - const option = options.get("--" + optionName.slice(5)); - - return option && !option.value; - } - - return options.get(optionName)?.value; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs deleted file mode 100644 index 1639efd..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export const ArrayIsArray = Array.isArray; -export const ArrayPrototypeFilter = (that, ...args) => that.filter(...args); -export const ArrayPrototypeForEach = (that, ...args) => that.forEach(...args); -export const ArrayPrototypeIncludes = (that, ...args) => that.includes(...args); -export const ArrayPrototypeJoin = (that, ...args) => that.join(...args); -export const ArrayPrototypePush = (that, ...args) => that.push(...args); -export const ArrayPrototypeSlice = (that, ...args) => that.slice(...args); -export const ArrayPrototypeSome = (that, ...args) => that.some(...args); -export const ArrayPrototypeSort = (that, ...args) => that.sort(...args); -export const ArrayPrototypeUnshift = (that, ...args) => that.unshift(...args); -export const ObjectAssign = Object.assign; -export const ObjectCreate = Object.create; -export const ObjectPrototypeHasOwnProperty = Object.hasOwn; -export const RegExpPrototypeTest = (that, ...args) => that.test(...args); -export const RegExpPrototypeExec = RegExp.prototype.exec; -export const StringFromCharCode = String.fromCharCode; -export const StringPrototypeCharCodeAt = (that, ...args) => - that.charCodeAt(...args); -export const StringPrototypeEndsWith = (that, ...args) => - that.endsWith(...args); -export const StringPrototypeIncludes = (that, ...args) => - that.includes(...args); -export const StringPrototypeReplace = (that, ...args) => that.replace(...args); -export const StringPrototypeSlice = (that, ...args) => that.slice(...args); -export const StringPrototypeSplit = (that, ...args) => that.split(...args); -export const StringPrototypeStartsWith = (that, ...args) => - that.startsWith(...args); -export const StringPrototypeToUpperCase = (that) => that.toUpperCase(); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs deleted file mode 100644 index 3146083..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs +++ /dev/null @@ -1,272 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license. - -const kInternal = Symbol("internal properties"); - -const replaceUnderscoresRegex = /_/g; -const leadingDashesRegex = /^--?/; -const trailingValuesRegex = /=.*$/; - -// This builds the initial process.allowedNodeEnvironmentFlags -// from data in the config binding. -export function buildAllowedFlags() { - const allowedNodeEnvironmentFlags = [ - "--track-heap-objects", - "--no-track-heap-objects", - "--node-snapshot", - "--no-node-snapshot", - "--require", - "--max-old-space-size", - "--trace-exit", - "--no-trace-exit", - "--disallow-code-generation-from-strings", - "--experimental-json-modules", - "--no-experimental-json-modules", - "--interpreted-frames-native-stack", - "--inspect-brk", - "--no-inspect-brk", - "--trace-tls", - "--no-trace-tls", - "--stack-trace-limit", - "--experimental-repl-await", - "--no-experimental-repl-await", - "--preserve-symlinks", - "--no-preserve-symlinks", - "--report-uncaught-exception", - "--no-report-uncaught-exception", - "--experimental-modules", - "--no-experimental-modules", - "--report-signal", - "--jitless", - "--inspect-port", - "--heapsnapshot-near-heap-limit", - "--tls-keylog", - "--force-context-aware", - "--no-force-context-aware", - "--napi-modules", - "--abort-on-uncaught-exception", - "--diagnostic-dir", - "--verify-base-objects", - "--no-verify-base-objects", - "--unhandled-rejections", - "--perf-basic-prof", - "--trace-atomics-wait", - "--no-trace-atomics-wait", - "--deprecation", - "--no-deprecation", - "--perf-basic-prof-only-functions", - "--perf-prof", - "--max-http-header-size", - "--report-on-signal", - "--no-report-on-signal", - "--throw-deprecation", - "--no-throw-deprecation", - "--warnings", - "--no-warnings", - "--force-fips", - "--no-force-fips", - "--pending-deprecation", - "--no-pending-deprecation", - "--input-type", - "--tls-max-v1.3", - "--no-tls-max-v1.3", - "--tls-min-v1.2", - "--no-tls-min-v1.2", - "--inspect", - "--no-inspect", - "--heapsnapshot-signal", - "--trace-warnings", - "--no-trace-warnings", - "--trace-event-categories", - "--experimental-worker", - "--tls-max-v1.2", - "--no-tls-max-v1.2", - "--perf-prof-unwinding-info", - "--preserve-symlinks-main", - "--no-preserve-symlinks-main", - "--policy-integrity", - "--experimental-wasm-modules", - "--no-experimental-wasm-modules", - "--node-memory-debug", - "--inspect-publish-uid", - "--tls-min-v1.3", - "--no-tls-min-v1.3", - "--experimental-specifier-resolution", - "--secure-heap", - "--tls-min-v1.0", - "--no-tls-min-v1.0", - "--redirect-warnings", - "--experimental-report", - "--trace-event-file-pattern", - "--trace-uncaught", - "--no-trace-uncaught", - "--experimental-loader", - "--http-parser", - "--dns-result-order", - "--trace-sigint", - "--no-trace-sigint", - "--secure-heap-min", - "--enable-fips", - "--no-enable-fips", - "--enable-source-maps", - "--no-enable-source-maps", - "--insecure-http-parser", - "--no-insecure-http-parser", - "--use-openssl-ca", - "--no-use-openssl-ca", - "--tls-cipher-list", - "--experimental-top-level-await", - "--no-experimental-top-level-await", - "--openssl-config", - "--icu-data-dir", - "--v8-pool-size", - "--report-on-fatalerror", - "--no-report-on-fatalerror", - "--title", - "--tls-min-v1.1", - "--no-tls-min-v1.1", - "--report-filename", - "--trace-deprecation", - "--no-trace-deprecation", - "--report-compact", - "--no-report-compact", - "--experimental-policy", - "--experimental-import-meta-resolve", - "--no-experimental-import-meta-resolve", - "--zero-fill-buffers", - "--no-zero-fill-buffers", - "--report-dir", - "--use-bundled-ca", - "--no-use-bundled-ca", - "--experimental-vm-modules", - "--no-experimental-vm-modules", - "--force-async-hooks-checks", - "--no-force-async-hooks-checks", - "--frozen-intrinsics", - "--no-frozen-intrinsics", - "--huge-max-old-generation-size", - "--disable-proto", - "--debug-arraybuffer-allocations", - "--no-debug-arraybuffer-allocations", - "--conditions", - "--experimental-wasi-unstable-preview1", - "--no-experimental-wasi-unstable-preview1", - "--trace-sync-io", - "--no-trace-sync-io", - "--use-largepages", - "--experimental-abortcontroller", - "--debug-port", - "--es-module-specifier-resolution", - "--prof-process", - "-C", - "--loader", - "--report-directory", - "-r", - "--trace-events-enabled", - ]; - - /* - function isAccepted(to) { - if (!to.startsWith("-") || to === "--") return true; - const recursiveExpansion = aliases.get(to); - if (recursiveExpansion) { - if (recursiveExpansion[0] === to) { - recursiveExpansion.splice(0, 1); - } - return recursiveExpansion.every(isAccepted); - } - return options.get(to).envVarSettings === kAllowedInEnvironment; - } - for (const { 0: from, 1: expansion } of aliases) { - if (expansion.every(isAccepted)) { - let canonical = from; - if (canonical.endsWith("=")) { - canonical = canonical.slice(0, canonical.length - 1); - } - if (canonical.endsWith(" ")) { - canonical = canonical.slice(0, canonical.length - 4); - } - allowedNodeEnvironmentFlags.push(canonical); - } - } - */ - - const trimLeadingDashes = (flag) => flag.replace(leadingDashesRegex, ""); - - // Save these for comparison against flags provided to - // process.allowedNodeEnvironmentFlags.has() which lack leading dashes. - const nodeFlags = allowedNodeEnvironmentFlags.map(trimLeadingDashes); - - class NodeEnvironmentFlagsSet extends Set { - constructor(array) { - super(); - this[kInternal] = { array }; - } - - add() { - // No-op, `Set` API compatible - return this; - } - - delete() { - // No-op, `Set` API compatible - return false; - } - - clear() { - // No-op, `Set` API compatible - } - - has(key) { - // This will return `true` based on various possible - // permutations of a flag, including present/missing leading - // dash(es) and/or underscores-for-dashes. - // Strips any values after `=`, inclusive. - // TODO(addaleax): It might be more flexible to run the option parser - // on a dummy option set and see whether it rejects the argument or - // not. - if (typeof key === "string") { - key = key.replace(replaceUnderscoresRegex, "-"); - if (leadingDashesRegex.test(key)) { - key = key.replace(trailingValuesRegex, ""); - return this[kInternal].array.includes(key); - } - return nodeFlags.includes(key); - } - return false; - } - - entries() { - this[kInternal].set ??= new Set(this[kInternal].array); - return this[kInternal].set.entries(); - } - - forEach(callback, thisArg = undefined) { - this[kInternal].array.forEach((v) => - Reflect.apply(callback, thisArg, [v, v, this]) - ); - } - - get size() { - return this[kInternal].array.length; - } - - values() { - this[kInternal].set ??= new Set(this[kInternal].array); - return this[kInternal].set.values(); - } - } - NodeEnvironmentFlagsSet.prototype.keys = - NodeEnvironmentFlagsSet - .prototype[Symbol.iterator] = - NodeEnvironmentFlagsSet.prototype.values; - - Object.freeze(NodeEnvironmentFlagsSet.prototype.constructor); - Object.freeze(NodeEnvironmentFlagsSet.prototype); - - return Object.freeze( - new NodeEnvironmentFlagsSet( - allowedNodeEnvironmentFlags, - ), - ); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs deleted file mode 100644 index 144a089..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -"use strict"; - -import { ERR_INVALID_ARG_VALUE, ERR_INVALID_CURSOR_POS } from "../errors.ts"; - -import { validateFunction } from "../validators.mjs"; - -import { CSI } from "./utils.mjs"; - -const { - kClearLine, - kClearScreenDown, - kClearToLineBeginning, - kClearToLineEnd, -} = CSI; - -/** - * moves the cursor to the x and y coordinate on the given stream - */ - -export function cursorTo(stream, x, y, callback) { - if (callback !== undefined) { - validateFunction(callback, "callback"); - } - - if (typeof y === "function") { - callback = y; - y = undefined; - } - - if (Number.isNaN(x)) throw new ERR_INVALID_ARG_VALUE("x", x); - if (Number.isNaN(y)) throw new ERR_INVALID_ARG_VALUE("y", y); - - if (stream == null || (typeof x !== "number" && typeof y !== "number")) { - if (typeof callback === "function") process.nextTick(callback, null); - return true; - } - - if (typeof x !== "number") throw new ERR_INVALID_CURSOR_POS(); - - const data = typeof y !== "number" ? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`; - return stream.write(data, callback); -} - -/** - * moves the cursor relative to its current location - */ - -export function moveCursor(stream, dx, dy, callback) { - if (callback !== undefined) { - validateFunction(callback, "callback"); - } - - if (stream == null || !(dx || dy)) { - if (typeof callback === "function") process.nextTick(callback, null); - return true; - } - - let data = ""; - - if (dx < 0) { - data += CSI`${-dx}D`; - } else if (dx > 0) { - data += CSI`${dx}C`; - } - - if (dy < 0) { - data += CSI`${-dy}A`; - } else if (dy > 0) { - data += CSI`${dy}B`; - } - - return stream.write(data, callback); -} - -/** - * clears the current line the cursor is on: - * -1 for left of the cursor - * +1 for right of the cursor - * 0 for the entire line - */ - -export function clearLine(stream, dir, callback) { - if (callback !== undefined) { - validateFunction(callback, "callback"); - } - - if (stream === null || stream === undefined) { - if (typeof callback === "function") process.nextTick(callback, null); - return true; - } - - const type = dir < 0 - ? kClearToLineBeginning - : dir > 0 - ? kClearToLineEnd - : kClearLine; - return stream.write(type, callback); -} - -/** - * clears the screen from the current position of the cursor down - */ - -export function clearScreenDown(stream, callback) { - if (callback !== undefined) { - validateFunction(callback, "callback"); - } - - if (stream === null || stream === undefined) { - if (typeof callback === "function") process.nextTick(callback, null); - return true; - } - - return stream.write(kClearScreenDown, callback); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs deleted file mode 100644 index 6224f11..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs +++ /dev/null @@ -1,580 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -"use strict"; - -const kUTF16SurrogateThreshold = 0x10000; // 2 ** 16 -const kEscape = "\x1b"; -export const kSubstringSearch = Symbol("kSubstringSearch"); - -export function CSI(strings, ...args) { - let ret = `${kEscape}[`; - for (let n = 0; n < strings.length; n++) { - ret += strings[n]; - if (n < args.length) { - ret += args[n]; - } - } - return ret; -} - -CSI.kEscape = kEscape; -CSI.kClearToLineBeginning = CSI`1K`; -CSI.kClearToLineEnd = CSI`0K`; -CSI.kClearLine = CSI`2K`; -CSI.kClearScreenDown = CSI`0J`; - -// TODO(BridgeAR): Treat combined characters as single character, i.e, -// 'a\u0301' and '\u0301a' (both have the same visual output). -// Check Canonical_Combining_Class in -// http://userguide.icu-project.org/strings/properties -export function charLengthLeft(str, i) { - if (i <= 0) { - return 0; - } - if ( - (i > 1 && - str.codePointAt(i - 2) >= kUTF16SurrogateThreshold) || - str.codePointAt(i - 1) >= kUTF16SurrogateThreshold - ) { - return 2; - } - return 1; -} - -export function charLengthAt(str, i) { - if (str.length <= i) { - // Pretend to move to the right. This is necessary to autocomplete while - // moving to the right. - return 1; - } - return str.codePointAt(i) >= kUTF16SurrogateThreshold ? 2 : 1; -} - -/* - Some patterns seen in terminal key escape codes, derived from combos seen - at http://www.midnight-commander.org/browser/lib/tty/key.c - - ESC letter - ESC [ letter - ESC [ modifier letter - ESC [ 1 ; modifier letter - ESC [ num char - ESC [ num ; modifier char - ESC O letter - ESC O modifier letter - ESC O 1 ; modifier letter - ESC N letter - ESC [ [ num ; modifier char - ESC [ [ 1 ; modifier letter - ESC ESC [ num char - ESC ESC O letter - - - char is usually ~ but $ and ^ also happen with rxvt - - modifier is 1 + - (shift * 1) + - (left_alt * 2) + - (ctrl * 4) + - (right_alt * 8) - - two leading ESCs apparently mean the same as one leading ESC -*/ -export function* emitKeys(stream) { - while (true) { - let ch = yield; - let s = ch; - let escaped = false; - const key = { - sequence: null, - name: undefined, - ctrl: false, - meta: false, - shift: false, - }; - - if (ch === kEscape) { - escaped = true; - s += ch = yield; - - if (ch === kEscape) { - s += ch = yield; - } - } - - if (escaped && (ch === "O" || ch === "[")) { - // ANSI escape sequence - let code = ch; - let modifier = 0; - - if (ch === "O") { - // ESC O letter - // ESC O modifier letter - s += ch = yield; - - if (ch >= "0" && ch <= "9") { - modifier = (ch >> 0) - 1; - s += ch = yield; - } - - code += ch; - } else if (ch === "[") { - // ESC [ letter - // ESC [ modifier letter - // ESC [ [ modifier letter - // ESC [ [ num char - s += ch = yield; - - if (ch === "[") { - // \x1b[[A - // ^--- escape codes might have a second bracket - code += ch; - s += ch = yield; - } - - /* - * Here and later we try to buffer just enough data to get - * a complete ascii sequence. - * - * We have basically two classes of ascii characters to process: - * - * 1. `\x1b[24;5~` should be parsed as { code: '[24~', modifier: 5 } - * - * This particular example is featuring Ctrl+F12 in xterm. - * - * - `;5` part is optional, e.g. it could be `\x1b[24~` - * - first part can contain one or two digits - * - * So the generic regexp is like /^\d\d?(;\d)?[~^$]$/ - * - * 2. `\x1b[1;5H` should be parsed as { code: '[H', modifier: 5 } - * - * This particular example is featuring Ctrl+Home in xterm. - * - * - `1;5` part is optional, e.g. it could be `\x1b[H` - * - `1;` part is optional, e.g. it could be `\x1b[5H` - * - * So the generic regexp is like /^((\d;)?\d)?[A-Za-z]$/ - */ - const cmdStart = s.length - 1; - - // Skip one or two leading digits - if (ch >= "0" && ch <= "9") { - s += ch = yield; - - if (ch >= "0" && ch <= "9") { - s += ch = yield; - } - } - - // skip modifier - if (ch === ";") { - s += ch = yield; - - if (ch >= "0" && ch <= "9") { - s += yield; - } - } - - /* - * We buffered enough data, now trying to extract code - * and modifier from it - */ - const cmd = s.slice(cmdStart); - let match; - - if ((match = cmd.match(/^(\d\d?)(;(\d))?([~^$])$/))) { - code += match[1] + match[4]; - modifier = (match[3] || 1) - 1; - } else if ( - (match = cmd.match(/^((\d;)?(\d))?([A-Za-z])$/)) - ) { - code += match[4]; - modifier = (match[3] || 1) - 1; - } else { - code += cmd; - } - } - - // Parse the key modifier - key.ctrl = !!(modifier & 4); - key.meta = !!(modifier & 10); - key.shift = !!(modifier & 1); - key.code = code; - - // Parse the key itself - switch (code) { - /* xterm/gnome ESC [ letter (with modifier) */ - case "[P": - key.name = "f1"; - break; - case "[Q": - key.name = "f2"; - break; - case "[R": - key.name = "f3"; - break; - case "[S": - key.name = "f4"; - break; - - /* xterm/gnome ESC O letter (without modifier) */ - - case "OP": - key.name = "f1"; - break; - case "OQ": - key.name = "f2"; - break; - case "OR": - key.name = "f3"; - break; - case "OS": - key.name = "f4"; - break; - - /* xterm/rxvt ESC [ number ~ */ - - case "[11~": - key.name = "f1"; - break; - case "[12~": - key.name = "f2"; - break; - case "[13~": - key.name = "f3"; - break; - case "[14~": - key.name = "f4"; - break; - - /* from Cygwin and used in libuv */ - - case "[[A": - key.name = "f1"; - break; - case "[[B": - key.name = "f2"; - break; - case "[[C": - key.name = "f3"; - break; - case "[[D": - key.name = "f4"; - break; - case "[[E": - key.name = "f5"; - break; - - /* common */ - - case "[15~": - key.name = "f5"; - break; - case "[17~": - key.name = "f6"; - break; - case "[18~": - key.name = "f7"; - break; - case "[19~": - key.name = "f8"; - break; - case "[20~": - key.name = "f9"; - break; - case "[21~": - key.name = "f10"; - break; - case "[23~": - key.name = "f11"; - break; - case "[24~": - key.name = "f12"; - break; - - /* xterm ESC [ letter */ - - case "[A": - key.name = "up"; - break; - case "[B": - key.name = "down"; - break; - case "[C": - key.name = "right"; - break; - case "[D": - key.name = "left"; - break; - case "[E": - key.name = "clear"; - break; - case "[F": - key.name = "end"; - break; - case "[H": - key.name = "home"; - break; - - /* xterm/gnome ESC O letter */ - - case "OA": - key.name = "up"; - break; - case "OB": - key.name = "down"; - break; - case "OC": - key.name = "right"; - break; - case "OD": - key.name = "left"; - break; - case "OE": - key.name = "clear"; - break; - case "OF": - key.name = "end"; - break; - case "OH": - key.name = "home"; - break; - - /* xterm/rxvt ESC [ number ~ */ - - case "[1~": - key.name = "home"; - break; - case "[2~": - key.name = "insert"; - break; - case "[3~": - key.name = "delete"; - break; - case "[4~": - key.name = "end"; - break; - case "[5~": - key.name = "pageup"; - break; - case "[6~": - key.name = "pagedown"; - break; - - /* putty */ - - case "[[5~": - key.name = "pageup"; - break; - case "[[6~": - key.name = "pagedown"; - break; - - /* rxvt */ - - case "[7~": - key.name = "home"; - break; - case "[8~": - key.name = "end"; - break; - - /* rxvt keys with modifiers */ - - case "[a": - key.name = "up"; - key.shift = true; - break; - case "[b": - key.name = "down"; - key.shift = true; - break; - case "[c": - key.name = "right"; - key.shift = true; - break; - case "[d": - key.name = "left"; - key.shift = true; - break; - case "[e": - key.name = "clear"; - key.shift = true; - break; - - case "[2$": - key.name = "insert"; - key.shift = true; - break; - case "[3$": - key.name = "delete"; - key.shift = true; - break; - case "[5$": - key.name = "pageup"; - key.shift = true; - break; - case "[6$": - key.name = "pagedown"; - key.shift = true; - break; - case "[7$": - key.name = "home"; - key.shift = true; - break; - case "[8$": - key.name = "end"; - key.shift = true; - break; - - case "Oa": - key.name = "up"; - key.ctrl = true; - break; - case "Ob": - key.name = "down"; - key.ctrl = true; - break; - case "Oc": - key.name = "right"; - key.ctrl = true; - break; - case "Od": - key.name = "left"; - key.ctrl = true; - break; - case "Oe": - key.name = "clear"; - key.ctrl = true; - break; - - case "[2^": - key.name = "insert"; - key.ctrl = true; - break; - case "[3^": - key.name = "delete"; - key.ctrl = true; - break; - case "[5^": - key.name = "pageup"; - key.ctrl = true; - break; - case "[6^": - key.name = "pagedown"; - key.ctrl = true; - break; - case "[7^": - key.name = "home"; - key.ctrl = true; - break; - case "[8^": - key.name = "end"; - key.ctrl = true; - break; - - /* misc. */ - - case "[Z": - key.name = "tab"; - key.shift = true; - break; - default: - key.name = "undefined"; - break; - } - } else if (ch === "\r") { - // carriage return - key.name = "return"; - key.meta = escaped; - } else if (ch === "\n") { - // Enter, should have been called linefeed - key.name = "enter"; - key.meta = escaped; - } else if (ch === "\t") { - // tab - key.name = "tab"; - key.meta = escaped; - } else if (ch === "\b" || ch === "\x7f") { - // backspace or ctrl+h - key.name = "backspace"; - key.meta = escaped; - } else if (ch === kEscape) { - // escape key - key.name = "escape"; - key.meta = escaped; - } else if (ch === " ") { - key.name = "space"; - key.meta = escaped; - } else if (!escaped && ch <= "\x1a") { - // ctrl+letter - key.name = String.fromCharCode( - ch.charCodeAt() + "a".charCodeAt() - 1, - ); - key.ctrl = true; - } else if (/^[0-9A-Za-z]$/.test(ch)) { - // Letter, number, shift+letter - key.name = ch.toLowerCase(); - key.shift = /^[A-Z]$/.test(ch); - key.meta = escaped; - } else if (escaped) { - // Escape sequence timeout - key.name = ch.length ? undefined : "escape"; - key.meta = true; - } - - key.sequence = s; - - if (s.length !== 0 && (key.name !== undefined || escaped)) { - /* Named character or sequence */ - stream.emit("keypress", escaped ? undefined : s, key); - } else if (charLengthAt(s, 0) === s.length) { - /* Single unnamed character, e.g. "." */ - stream.emit("keypress", s, key); - } - /* Unrecognized or broken escape sequence, don't emit anything */ - } -} - -// This runs in O(n log n). -export function commonPrefix(strings) { - if (strings.length === 1) { - return strings[0]; - } - const sorted = strings.slice().sort(); - const min = sorted[0]; - const max = sorted[sorted.length - 1]; - for (let i = 0; i < min.length; i++) { - if (min[i] !== max[i]) { - return min.slice(0, i); - } - } - return min; -} - -export default { - CSI, - charLengthAt, - charLengthLeft, - emitKeys, - commonPrefix, - kSubstringSearch, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs deleted file mode 100644 index a365faf..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs +++ /dev/null @@ -1,320 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// deno-lint-ignore-file - -import { aggregateTwoErrors, ERR_MULTIPLE_CALLBACK } from "../errors.ts"; -import * as process from "../../_process/process.ts"; - -const kDestroy = Symbol("kDestroy"); -const kConstruct = Symbol("kConstruct"); - -function checkError(err, w, r) { - if (err) { - // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364 - err.stack; // eslint-disable-line no-unused-expressions - - if (w && !w.errored) { - w.errored = err; - } - if (r && !r.errored) { - r.errored = err; - } - } -} - -// Backwards compat. cb() is undocumented and unused in core but -// unfortunately might be used by modules. -function destroy(err, cb) { - const r = this._readableState; - const w = this._writableState; - // With duplex streams we use the writable side for state. - const s = w || r; - - if ((w && w.destroyed) || (r && r.destroyed)) { - if (typeof cb === "function") { - cb(); - } - - return this; - } - - // We set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks - checkError(err, w, r); - - if (w) { - w.destroyed = true; - } - if (r) { - r.destroyed = true; - } - - // If still constructing then defer calling _destroy. - if (!s.constructed) { - this.once(kDestroy, function (er) { - _destroy(this, aggregateTwoErrors(er, err), cb); - }); - } else { - _destroy(this, err, cb); - } - - return this; -} - -function _destroy(self, err, cb) { - let called = false; - - function onDestroy(err) { - if (called) { - return; - } - called = true; - - const r = self._readableState; - const w = self._writableState; - - checkError(err, w, r); - - if (w) { - w.closed = true; - } - if (r) { - r.closed = true; - } - - if (typeof cb === "function") { - cb(err); - } - - if (err) { - process.nextTick(emitErrorCloseNT, self, err); - } else { - process.nextTick(emitCloseNT, self); - } - } - try { - const result = self._destroy(err || null, onDestroy); - if (result != null) { - const then = result.then; - if (typeof then === "function") { - then.call( - result, - function () { - process.nextTick(onDestroy, null); - }, - function (err) { - process.nextTick(onDestroy, err); - }, - ); - } - } - } catch (err) { - onDestroy(err); - } -} - -function emitErrorCloseNT(self, err) { - emitErrorNT(self, err); - emitCloseNT(self); -} - -function emitCloseNT(self) { - const r = self._readableState; - const w = self._writableState; - - if (w) { - w.closeEmitted = true; - } - if (r) { - r.closeEmitted = true; - } - - if ((w && w.emitClose) || (r && r.emitClose)) { - self.emit("close"); - } -} - -function emitErrorNT(self, err) { - const r = self._readableState; - const w = self._writableState; - - if ((w && w.errorEmitted) || (r && r.errorEmitted)) { - return; - } - - if (w) { - w.errorEmitted = true; - } - if (r) { - r.errorEmitted = true; - } - - self.emit("error", err); -} - -function undestroy() { - const r = this._readableState; - const w = this._writableState; - - if (r) { - r.constructed = true; - r.closed = false; - r.closeEmitted = false; - r.destroyed = false; - r.errored = null; - r.errorEmitted = false; - r.reading = false; - r.ended = false; - r.endEmitted = false; - } - - if (w) { - w.constructed = true; - w.destroyed = false; - w.closed = false; - w.closeEmitted = false; - w.errored = null; - w.errorEmitted = false; - w.ended = false; - w.ending = false; - w.finalCalled = false; - w.prefinished = false; - w.finished = false; - } -} - -function errorOrDestroy(stream, err, sync) { - // We have tests that rely on errors being emitted - // in the same tick, so changing this is semver major. - // For now when you opt-in to autoDestroy we allow - // the error to be emitted nextTick. In a future - // semver major update we should change the default to this. - - const r = stream._readableState; - const w = stream._writableState; - - if ((w && w.destroyed) || (r && r.destroyed)) { - return this; - } - - if ((r && r.autoDestroy) || (w && w.autoDestroy)) { - stream.destroy(err); - } else if (err) { - // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364 - err.stack; // eslint-disable-line no-unused-expressions - - if (w && !w.errored) { - w.errored = err; - } - if (r && !r.errored) { - r.errored = err; - } - if (sync) { - process.nextTick(emitErrorNT, stream, err); - } else { - emitErrorNT(stream, err); - } - } -} - -function construct(stream, cb) { - if (typeof stream._construct !== "function") { - return; - } - - const r = stream._readableState; - const w = stream._writableState; - - if (r) { - r.constructed = false; - } - if (w) { - w.constructed = false; - } - - stream.once(kConstruct, cb); - - if (stream.listenerCount(kConstruct) > 1) { - // Duplex - return; - } - - process.nextTick(constructNT, stream); -} - -function constructNT(stream) { - let called = false; - - function onConstruct(err) { - if (called) { - errorOrDestroy(stream, err ?? new ERR_MULTIPLE_CALLBACK()); - return; - } - called = true; - - const r = stream._readableState; - const w = stream._writableState; - const s = w || r; - - if (r) { - r.constructed = true; - } - if (w) { - w.constructed = true; - } - - if (s.destroyed) { - stream.emit(kDestroy, err); - } else if (err) { - errorOrDestroy(stream, err, true); - } else { - process.nextTick(emitConstructNT, stream); - } - } - - try { - const result = stream._construct(onConstruct); - if (result != null) { - const then = result.then; - if (typeof then === "function") { - then.call( - result, - function () { - process.nextTick(onConstruct, null); - }, - function (err) { - process.nextTick(onConstruct, err); - }, - ); - } - } - } catch (err) { - onConstruct(err); - } -} - -function emitConstructNT(stream) { - stream.emit(kConstruct); -} - -function isRequest(stream) { - return stream && stream.setHeader && typeof stream.abort === "function"; -} - -// Normalize destroy for legacy. -function destroyer(stream, err) { - if (!stream) return; - if (isRequest(stream)) return stream.abort(); - if (isRequest(stream.req)) return stream.req.abort(); - if (typeof stream.destroy === "function") return stream.destroy(err); - if (typeof stream.close === "function") return stream.close(); -} - -export default { - construct, - destroyer, - destroy, - undestroy, - errorOrDestroy, -}; -export { construct, destroy, destroyer, errorOrDestroy, undestroy }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs deleted file mode 100644 index 39e27e3..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs +++ /dev/null @@ -1,229 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// deno-lint-ignore-file - -import { AbortError, ERR_STREAM_PREMATURE_CLOSE } from "../errors.ts"; -import { once } from "../util.mjs"; -import { - validateAbortSignal, - validateFunction, - validateObject, -} from "../validators.mjs"; -import * as process from "../../_process/process.ts"; - -function isRequest(stream) { - return stream.setHeader && typeof stream.abort === "function"; -} - -function isServerResponse(stream) { - return ( - typeof stream._sent100 === "boolean" && - typeof stream._removedConnection === "boolean" && - typeof stream._removedContLen === "boolean" && - typeof stream._removedTE === "boolean" && - typeof stream._closed === "boolean" - ); -} - -function isReadable(stream) { - return typeof stream.readable === "boolean" || - typeof stream.readableEnded === "boolean" || - !!stream._readableState; -} - -function isWritable(stream) { - return typeof stream.writable === "boolean" || - typeof stream.writableEnded === "boolean" || - !!stream._writableState; -} - -function isWritableFinished(stream) { - if (stream.writableFinished) return true; - const wState = stream._writableState; - if (!wState || wState.errored) return false; - return wState.finished || (wState.ended && wState.length === 0); -} - -const nop = () => {}; - -function isReadableEnded(stream) { - if (stream.readableEnded) return true; - const rState = stream._readableState; - if (!rState || rState.errored) return false; - return rState.endEmitted || (rState.ended && rState.length === 0); -} - -function eos(stream, options, callback) { - if (arguments.length === 2) { - callback = options; - options = {}; - } else if (options == null) { - options = {}; - } else { - validateObject(options, "options"); - } - validateFunction(callback, "callback"); - validateAbortSignal(options.signal, "options.signal"); - - callback = once(callback); - - const readable = options.readable || - (options.readable !== false && isReadable(stream)); - const writable = options.writable || - (options.writable !== false && isWritable(stream)); - - const wState = stream._writableState; - const rState = stream._readableState; - const state = wState || rState; - - const onlegacyfinish = () => { - if (!stream.writable) onfinish(); - }; - - // TODO (ronag): Improve soft detection to include core modules and - // common ecosystem modules that do properly emit 'close' but fail - // this generic check. - let willEmitClose = isServerResponse(stream) || ( - state && - state.autoDestroy && - state.emitClose && - state.closed === false && - isReadable(stream) === readable && - isWritable(stream) === writable - ); - - let writableFinished = stream.writableFinished || - (wState && wState.finished); - const onfinish = () => { - writableFinished = true; - // Stream should not be destroyed here. If it is that - // means that user space is doing something differently and - // we cannot trust willEmitClose. - if (stream.destroyed) willEmitClose = false; - - if (willEmitClose && (!stream.readable || readable)) return; - if (!readable || readableEnded) callback.call(stream); - }; - - let readableEnded = stream.readableEnded || - (rState && rState.endEmitted); - const onend = () => { - readableEnded = true; - // Stream should not be destroyed here. If it is that - // means that user space is doing something differently and - // we cannot trust willEmitClose. - if (stream.destroyed) willEmitClose = false; - - if (willEmitClose && (!stream.writable || writable)) return; - if (!writable || writableFinished) callback.call(stream); - }; - - const onerror = (err) => { - callback.call(stream, err); - }; - - const onclose = () => { - if (readable && !readableEnded) { - if (!isReadableEnded(stream)) { - return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE()); - } - } - if (writable && !writableFinished) { - if (!isWritableFinished(stream)) { - return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE()); - } - } - callback.call(stream); - }; - - const onrequest = () => { - stream.req.on("finish", onfinish); - }; - - if (isRequest(stream)) { - stream.on("complete", onfinish); - if (!willEmitClose) { - stream.on("abort", onclose); - } - if (stream.req) onrequest(); - else stream.on("request", onrequest); - } else if (writable && !wState) { // legacy streams - stream.on("end", onlegacyfinish); - stream.on("close", onlegacyfinish); - } - - // Not all streams will emit 'close' after 'aborted'. - if (!willEmitClose && typeof stream.aborted === "boolean") { - stream.on("aborted", onclose); - } - - stream.on("end", onend); - stream.on("finish", onfinish); - if (options.error !== false) stream.on("error", onerror); - stream.on("close", onclose); - - // _closed is for OutgoingMessage which is not a proper Writable. - const closed = (!wState && !rState && stream._closed === true) || ( - (wState && wState.closed) || - (rState && rState.closed) || - (wState && wState.errorEmitted) || - (rState && rState.errorEmitted) || - (rState && stream.req && stream.aborted) || - ( - (!wState || !willEmitClose || typeof wState.closed !== "boolean") && - (!rState || !willEmitClose || typeof rState.closed !== "boolean") && - (!writable || (wState && wState.finished)) && - (!readable || (rState && rState.endEmitted)) - ) - ); - - if (closed) { - // TODO(ronag): Re-throw error if errorEmitted? - // TODO(ronag): Throw premature close as if finished was called? - // before being closed? i.e. if closed but not errored, ended or finished. - // TODO(ronag): Throw some kind of error? Does it make sense - // to call finished() on a "finished" stream? - // TODO(ronag): willEmitClose? - process.nextTick(() => { - callback(); - }); - } - - const cleanup = () => { - callback = nop; - stream.removeListener("aborted", onclose); - stream.removeListener("complete", onfinish); - stream.removeListener("abort", onclose); - stream.removeListener("request", onrequest); - if (stream.req) stream.req.removeListener("finish", onfinish); - stream.removeListener("end", onlegacyfinish); - stream.removeListener("close", onlegacyfinish); - stream.removeListener("finish", onfinish); - stream.removeListener("end", onend); - stream.removeListener("error", onerror); - stream.removeListener("close", onclose); - }; - - if (options.signal && !closed) { - const abort = () => { - // Keep it because cleanup removes it. - const endCallback = callback; - cleanup(); - endCallback.call(stream, new AbortError()); - }; - if (options.signal.aborted) { - process.nextTick(abort); - } else { - const originalCallback = callback; - callback = once((...args) => { - options.signal.removeEventListener("abort", abort); - originalCallback.apply(stream, args); - }); - options.signal.addEventListener("abort", abort); - } - } - - return cleanup; -} - -export default eos; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs deleted file mode 100644 index a575f83..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs +++ /dev/null @@ -1,242 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// deno-lint-ignore-file - -const kIsDisturbed = Symbol("kIsDisturbed"); - -function isReadableNodeStream(obj) { - return !!( - obj && - typeof obj.pipe === "function" && - typeof obj.on === "function" && - (!obj._writableState || obj._readableState?.readable !== false) && // Duplex - (!obj._writableState || obj._readableState) // Writable has .pipe. - ); -} - -function isWritableNodeStream(obj) { - return !!( - obj && - typeof obj.write === "function" && - typeof obj.on === "function" && - (!obj._readableState || obj._writableState?.writable !== false) // Duplex - ); -} - -function isDuplexNodeStream(obj) { - return !!( - obj && - (typeof obj.pipe === "function" && obj._readableState) && - typeof obj.on === "function" && - typeof obj.write === "function" - ); -} - -function isNodeStream(obj) { - return ( - obj && - ( - obj._readableState || - obj._writableState || - (typeof obj.write === "function" && typeof obj.on === "function") || - (typeof obj.pipe === "function" && typeof obj.on === "function") - ) - ); -} - -function isDestroyed(stream) { - if (!isNodeStream(stream)) return null; - const wState = stream._writableState; - const rState = stream._readableState; - const state = wState || rState; - return !!(stream.destroyed || state?.destroyed); -} - -// Have been end():d. -function isWritableEnded(stream) { - if (!isWritableNodeStream(stream)) return null; - if (stream.writableEnded === true) return true; - const wState = stream._writableState; - if (wState?.errored) return false; - if (typeof wState?.ended !== "boolean") return null; - return wState.ended; -} - -// Have emitted 'finish'. -function isWritableFinished(stream, strict) { - if (!isWritableNodeStream(stream)) return null; - if (stream.writableFinished === true) return true; - const wState = stream._writableState; - if (wState?.errored) return false; - if (typeof wState?.finished !== "boolean") return null; - return !!( - wState.finished || - (strict === false && wState.ended === true && wState.length === 0) - ); -} - -// Have been push(null):d. -function isReadableEnded(stream) { - if (!isReadableNodeStream(stream)) return null; - if (stream.readableEnded === true) return true; - const rState = stream._readableState; - if (!rState || rState.errored) return false; - if (typeof rState?.ended !== "boolean") return null; - return rState.ended; -} - -// Have emitted 'end'. -function isReadableFinished(stream, strict) { - if (!isReadableNodeStream(stream)) return null; - const rState = stream._readableState; - if (rState?.errored) return false; - if (typeof rState?.endEmitted !== "boolean") return null; - return !!( - rState.endEmitted || - (strict === false && rState.ended === true && rState.length === 0) - ); -} - -function isDisturbed(stream) { - return !!(stream && ( - stream.readableDidRead || - stream.readableAborted || - stream[kIsDisturbed] - )); -} - -function isReadable(stream) { - const r = isReadableNodeStream(stream); - if (r === null || typeof stream?.readable !== "boolean") return null; - if (isDestroyed(stream)) return false; - return r && stream.readable && !isReadableFinished(stream); -} - -function isWritable(stream) { - const r = isWritableNodeStream(stream); - if (r === null || typeof stream?.writable !== "boolean") return null; - if (isDestroyed(stream)) return false; - return r && stream.writable && !isWritableEnded(stream); -} - -function isFinished(stream, opts) { - if (!isNodeStream(stream)) { - return null; - } - - if (isDestroyed(stream)) { - return true; - } - - if (opts?.readable !== false && isReadable(stream)) { - return false; - } - - if (opts?.writable !== false && isWritable(stream)) { - return false; - } - - return true; -} - -function isClosed(stream) { - if (!isNodeStream(stream)) { - return null; - } - - const wState = stream._writableState; - const rState = stream._readableState; - - if ( - typeof wState?.closed === "boolean" || - typeof rState?.closed === "boolean" - ) { - return wState?.closed || rState?.closed; - } - - if (typeof stream._closed === "boolean" && isOutgoingMessage(stream)) { - return stream._closed; - } - - return null; -} - -function isOutgoingMessage(stream) { - return ( - typeof stream._closed === "boolean" && - typeof stream._defaultKeepAlive === "boolean" && - typeof stream._removedConnection === "boolean" && - typeof stream._removedContLen === "boolean" - ); -} - -function isServerResponse(stream) { - return ( - typeof stream._sent100 === "boolean" && - isOutgoingMessage(stream) - ); -} - -function isServerRequest(stream) { - return ( - typeof stream._consuming === "boolean" && - typeof stream._dumped === "boolean" && - stream.req?.upgradeOrConnect === undefined - ); -} - -function willEmitClose(stream) { - if (!isNodeStream(stream)) return null; - - const wState = stream._writableState; - const rState = stream._readableState; - const state = wState || rState; - - return (!state && isServerResponse(stream)) || !!( - state && - state.autoDestroy && - state.emitClose && - state.closed === false - ); -} - -export default { - isDisturbed, - kIsDisturbed, - isClosed, - isDestroyed, - isDuplexNodeStream, - isFinished, - isReadable, - isReadableNodeStream, - isReadableEnded, - isReadableFinished, - isNodeStream, - isWritable, - isWritableNodeStream, - isWritableEnded, - isWritableFinished, - isServerRequest, - isServerResponse, - willEmitClose, -}; -export { - isClosed, - isDestroyed, - isDisturbed, - isDuplexNodeStream, - isFinished, - isNodeStream, - isReadable, - isReadableEnded, - isReadableFinished, - isReadableNodeStream, - isServerRequest, - isServerResponse, - isWritable, - isWritableEnded, - isWritableFinished, - isWritableNodeStream, - kIsDisturbed, - willEmitClose, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util.mjs deleted file mode 100644 index 19aacc7..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util.mjs +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { validateFunction } from "./validators.mjs"; -import { normalizeEncoding, slowCases } from "./normalize_encoding.mjs"; -export { normalizeEncoding, slowCases }; -import { ObjectCreate, StringPrototypeToUpperCase } from "./primordials.mjs"; -import { ERR_UNKNOWN_SIGNAL } from "./errors.ts"; -import { os } from "../internal_binding/constants.ts"; - -const { signals } = os; - -export const customInspectSymbol = Symbol.for("nodejs.util.inspect.custom"); -export const kEnumerableProperty = Object.create(null); -kEnumerableProperty.enumerable = true; - -export const kEmptyObject = Object.freeze(Object.create(null)); - -export function once(callback) { - let called = false; - return function (...args) { - if (called) return; - called = true; - Reflect.apply(callback, this, args); - }; -} - -export function createDeferredPromise() { - let resolve; - let reject; - const promise = new Promise((res, rej) => { - resolve = res; - reject = rej; - }); - - return { promise, resolve, reject }; -} - -// In addition to being accessible through util.promisify.custom, -// this symbol is registered globally and can be accessed in any environment as -// Symbol.for('nodejs.util.promisify.custom'). -const kCustomPromisifiedSymbol = Symbol.for("nodejs.util.promisify.custom"); -// This is an internal Node symbol used by functions returning multiple -// arguments, e.g. ['bytesRead', 'buffer'] for fs.read(). -const kCustomPromisifyArgsSymbol = Symbol.for( - "nodejs.util.promisify.customArgs", -); - -export const customPromisifyArgs = kCustomPromisifyArgsSymbol; - -export function promisify( - original, -) { - validateFunction(original, "original"); - if (original[kCustomPromisifiedSymbol]) { - const fn = original[kCustomPromisifiedSymbol]; - - validateFunction(fn, "util.promisify.custom"); - - return Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, - enumerable: false, - writable: false, - configurable: true, - }); - } - - // Names to create an object from in case the callback receives multiple - // arguments, e.g. ['bytesRead', 'buffer'] for fs.read. - const argumentNames = original[kCustomPromisifyArgsSymbol]; - function fn(...args) { - return new Promise((resolve, reject) => { - args.push((err, ...values) => { - if (err) { - return reject(err); - } - if (argumentNames !== undefined && values.length > 1) { - const obj = {}; - for (let i = 0; i < argumentNames.length; i++) { - obj[argumentNames[i]] = values[i]; - } - resolve(obj); - } else { - resolve(values[0]); - } - }); - Reflect.apply(original, this, args); - }); - } - - Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); - - Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, - enumerable: false, - writable: false, - configurable: true, - }); - return Object.defineProperties( - fn, - Object.getOwnPropertyDescriptors(original), - ); -} - -let signalsToNamesMapping; -function getSignalsToNamesMapping() { - if (signalsToNamesMapping !== undefined) { - return signalsToNamesMapping; - } - - signalsToNamesMapping = ObjectCreate(null); - for (const key in signals) { - signalsToNamesMapping[signals[key]] = key; - } - - return signalsToNamesMapping; -} - -export function convertToValidSignal(signal) { - if (typeof signal === "number" && getSignalsToNamesMapping()[signal]) { - return signal; - } - - if (typeof signal === "string") { - const signalName = signals[StringPrototypeToUpperCase(signal)]; - if (signalName) return signalName; - } - - throw new ERR_UNKNOWN_SIGNAL(signal); -} - -promisify.custom = kCustomPromisifiedSymbol; - -export default { - convertToValidSignal, - createDeferredPromise, - customInspectSymbol, - customPromisifyArgs, - kEmptyObject, - kEnumerableProperty, - normalizeEncoding, - once, - promisify, - slowCases, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts deleted file mode 100644 index 16e4f06..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts +++ /dev/null @@ -1,669 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. - -// deno-lint-ignore-file -import { - isAnyArrayBuffer, - isArrayBufferView, - isBigIntObject, - isBooleanObject, - isBoxedPrimitive, - isDate, - isFloat32Array, - isFloat64Array, - isMap, - isNativeError, - isNumberObject, - isRegExp, - isSet, - isStringObject, - isSymbolObject, - isTypedArray, -} from "./types.ts"; - -import { Buffer } from "../../buffer.ts"; -import { - getOwnNonIndexProperties, - ONLY_ENUMERABLE, - SKIP_SYMBOLS, -} from "../../internal_binding/util.ts"; - -enum valueType { - noIterator, - isArray, - isSet, - isMap, -} - -interface Memo { - val1: Map; - val2: Map; - position: number; -} -let memo: Memo; - -export function isDeepStrictEqual(val1: unknown, val2: unknown): boolean { - return innerDeepEqual(val1, val2, true); -} -export function isDeepEqual(val1: unknown, val2: unknown): boolean { - return innerDeepEqual(val1, val2, false); -} - -function innerDeepEqual( - val1: unknown, - val2: unknown, - strict: boolean, - memos = memo, -): boolean { - // Basic case covered by Strict Equality Comparison - if (val1 === val2) { - if (val1 !== 0) return true; - return strict ? Object.is(val1, val2) : true; - } - if (strict) { - // Cases where the values are not objects - // If both values are Not a Number NaN - if (typeof val1 !== "object") { - return ( - typeof val1 === "number" && Number.isNaN(val1) && Number.isNaN(val2) - ); - } - // If either value is null - if (typeof val2 !== "object" || val1 === null || val2 === null) { - return false; - } - // If the prototype are not the same - if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) { - return false; - } - } else { - // Non strict case where values are either null or NaN - if (val1 === null || typeof val1 !== "object") { - if (val2 === null || typeof val2 !== "object") { - return val1 == val2 || (Number.isNaN(val1) && Number.isNaN(val2)); - } - return false; - } - if (val2 === null || typeof val2 !== "object") { - return false; - } - } - - const val1Tag = Object.prototype.toString.call(val1); - const val2Tag = Object.prototype.toString.call(val2); - - // prototype must be Strictly Equal - if ( - val1Tag !== val2Tag - ) { - return false; - } - - // handling when values are array - if (Array.isArray(val1)) { - // quick rejection cases - if (!Array.isArray(val2) || val1.length !== val2.length) { - return false; - } - const filter = strict ? ONLY_ENUMERABLE : ONLY_ENUMERABLE | SKIP_SYMBOLS; - const keys1 = getOwnNonIndexProperties(val1, filter); - const keys2 = getOwnNonIndexProperties(val2, filter); - if (keys1.length !== keys2.length) { - return false; - } - return keyCheck(val1, val2, strict, memos, valueType.isArray, keys1); - } else if (val1Tag === "[object Object]") { - return keyCheck( - val1 as object, - val2 as object, - strict, - memos, - valueType.noIterator, - ); - } else if (val1 instanceof Date) { - if (!(val2 instanceof Date) || val1.getTime() !== val2.getTime()) { - return false; - } - } else if (val1 instanceof RegExp) { - if (!(val2 instanceof RegExp) || !areSimilarRegExps(val1, val2)) { - return false; - } - } else if (isNativeError(val1) || val1 instanceof Error) { - // stack may or may not be same, hence it shouldn't be compared - if ( - // How to handle the type errors here - (!isNativeError(val2) && !(val2 instanceof Error)) || - (val1 as Error).message !== (val2 as Error).message || - (val1 as Error).name !== (val2 as Error).name - ) { - return false; - } - } else if (isArrayBufferView(val1)) { - const TypedArrayPrototypeGetSymbolToStringTag = (val: []) => - Object.getOwnPropertySymbols(val) - .map((item) => item.toString()) - .toString(); - if ( - isTypedArray(val1) && - isTypedArray(val2) && - (TypedArrayPrototypeGetSymbolToStringTag(val1 as []) !== - TypedArrayPrototypeGetSymbolToStringTag(val2 as [])) - ) { - return false; - } - - if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) { - if (!areSimilarFloatArrays(val1, val2)) { - return false; - } - } else if (!areSimilarTypedArrays(val1, val2)) { - return false; - } - const filter = strict ? ONLY_ENUMERABLE : ONLY_ENUMERABLE | SKIP_SYMBOLS; - const keysVal1 = getOwnNonIndexProperties(val1 as object, filter); - const keysVal2 = getOwnNonIndexProperties(val2 as object, filter); - if (keysVal1.length !== keysVal2.length) { - return false; - } - return keyCheck( - val1 as object, - val2 as object, - strict, - memos, - valueType.noIterator, - keysVal1, - ); - } else if (isSet(val1)) { - if ( - !isSet(val2) || - (val1 as Set).size !== (val2 as Set).size - ) { - return false; - } - return keyCheck( - val1 as object, - val2 as object, - strict, - memos, - valueType.isSet, - ); - } else if (isMap(val1)) { - if ( - !isMap(val2) || - (val1 as Set).size !== (val2 as Set).size - ) { - return false; - } - return keyCheck( - val1 as object, - val2 as object, - strict, - memos, - valueType.isMap, - ); - } else if (isAnyArrayBuffer(val1)) { - if (!isAnyArrayBuffer(val2) || !areEqualArrayBuffers(val1, val2)) { - return false; - } - } else if (isBoxedPrimitive(val1)) { - if (!isEqualBoxedPrimitive(val1, val2)) { - return false; - } - } else if ( - Array.isArray(val2) || - isArrayBufferView(val2) || - isSet(val2) || - isMap(val2) || - isDate(val2) || - isRegExp(val2) || - isAnyArrayBuffer(val2) || - isBoxedPrimitive(val2) || - isNativeError(val2) || - val2 instanceof Error - ) { - return false; - } - return keyCheck( - val1 as object, - val2 as object, - strict, - memos, - valueType.noIterator, - ); -} - -function keyCheck( - val1: object, - val2: object, - strict: boolean, - memos: Memo, - iterationType: valueType, - aKeys: (string | symbol)[] = [], -) { - if (arguments.length === 5) { - aKeys = Object.keys(val1); - const bKeys = Object.keys(val2); - - // The pair must have the same number of owned properties. - if (aKeys.length !== bKeys.length) { - return false; - } - } - - // Cheap key test - let i = 0; - for (; i < aKeys.length; i++) { - if (!val2.propertyIsEnumerable(aKeys[i])) { - return false; - } - } - - if (strict && arguments.length === 5) { - const symbolKeysA = Object.getOwnPropertySymbols(val1); - if (symbolKeysA.length !== 0) { - let count = 0; - for (i = 0; i < symbolKeysA.length; i++) { - const key = symbolKeysA[i]; - if (val1.propertyIsEnumerable(key)) { - if (!val2.propertyIsEnumerable(key)) { - return false; - } - // added toString here - aKeys.push(key.toString()); - count++; - } else if (val2.propertyIsEnumerable(key)) { - return false; - } - } - const symbolKeysB = Object.getOwnPropertySymbols(val2); - if ( - symbolKeysA.length !== symbolKeysB.length && - getEnumerables(val2, symbolKeysB).length !== count - ) { - return false; - } - } else { - const symbolKeysB = Object.getOwnPropertySymbols(val2); - if ( - symbolKeysB.length !== 0 && - getEnumerables(val2, symbolKeysB).length !== 0 - ) { - return false; - } - } - } - if ( - aKeys.length === 0 && - (iterationType === valueType.noIterator || - (iterationType === valueType.isArray && (val1 as []).length === 0) || - (val1 as Set).size === 0) - ) { - return true; - } - - if (memos === undefined) { - memos = { - val1: new Map(), - val2: new Map(), - position: 0, - }; - } else { - const val2MemoA = memos.val1.get(val1); - if (val2MemoA !== undefined) { - const val2MemoB = memos.val2.get(val2); - if (val2MemoB !== undefined) { - return val2MemoA === val2MemoB; - } - } - memos.position++; - } - - memos.val1.set(val1, memos.position); - memos.val2.set(val2, memos.position); - - const areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType); - - memos.val1.delete(val1); - memos.val2.delete(val2); - - return areEq; -} - -function areSimilarRegExps(a: RegExp, b: RegExp) { - return a.source === b.source && a.flags === b.flags && - a.lastIndex === b.lastIndex; -} - -// TODO(standvpmnt): add type for arguments -function areSimilarFloatArrays(arr1: any, arr2: any): boolean { - if (arr1.byteLength !== arr2.byteLength) { - return false; - } - for (let i = 0; i < arr1.byteLength; i++) { - if (arr1[i] !== arr2[i]) { - return false; - } - } - return true; -} - -// TODO(standvpmnt): add type for arguments -function areSimilarTypedArrays(arr1: any, arr2: any): boolean { - if (arr1.byteLength !== arr2.byteLength) { - return false; - } - return ( - Buffer.compare( - new Uint8Array(arr1.buffer, arr1.byteOffset, arr1.byteLength), - new Uint8Array(arr2.buffer, arr2.byteOffset, arr2.byteLength), - ) === 0 - ); -} -// TODO(standvpmnt): add type for arguments -function areEqualArrayBuffers(buf1: any, buf2: any): boolean { - return ( - buf1.byteLength === buf2.byteLength && - Buffer.compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0 - ); -} - -// TODO(standvpmnt): this check of getOwnPropertySymbols and getOwnPropertyNames -// length is sufficient to handle the current test case, however this will fail -// to catch a scenario wherein the getOwnPropertySymbols and getOwnPropertyNames -// length is the same(will be very contrived but a possible shortcoming -function isEqualBoxedPrimitive(a: any, b: any): boolean { - if ( - Object.getOwnPropertyNames(a).length !== - Object.getOwnPropertyNames(b).length - ) { - return false; - } - if ( - Object.getOwnPropertySymbols(a).length !== - Object.getOwnPropertySymbols(b).length - ) { - return false; - } - if (isNumberObject(a)) { - return ( - isNumberObject(b) && - Object.is( - Number.prototype.valueOf.call(a), - Number.prototype.valueOf.call(b), - ) - ); - } - if (isStringObject(a)) { - return ( - isStringObject(b) && - (String.prototype.valueOf.call(a) === String.prototype.valueOf.call(b)) - ); - } - if (isBooleanObject(a)) { - return ( - isBooleanObject(b) && - (Boolean.prototype.valueOf.call(a) === Boolean.prototype.valueOf.call(b)) - ); - } - if (isBigIntObject(a)) { - return ( - isBigIntObject(b) && - (BigInt.prototype.valueOf.call(a) === BigInt.prototype.valueOf.call(b)) - ); - } - if (isSymbolObject(a)) { - return ( - isSymbolObject(b) && - (Symbol.prototype.valueOf.call(a) === - Symbol.prototype.valueOf.call(b)) - ); - } - // assert.fail(`Unknown boxed type ${val1}`); - // return false; - throw Error(`Unknown boxed type`); -} - -function getEnumerables(val: any, keys: any) { - return keys.filter((key: string) => val.propertyIsEnumerable(key)); -} - -function objEquiv( - obj1: any, - obj2: any, - strict: boolean, - keys: any, - memos: Memo, - iterationType: valueType, -): boolean { - let i = 0; - - if (iterationType === valueType.isSet) { - if (!setEquiv(obj1, obj2, strict, memos)) { - return false; - } - } else if (iterationType === valueType.isMap) { - if (!mapEquiv(obj1, obj2, strict, memos)) { - return false; - } - } else if (iterationType === valueType.isArray) { - for (; i < obj1.length; i++) { - if (obj1.hasOwnProperty(i)) { - if ( - !obj2.hasOwnProperty(i) || - !innerDeepEqual(obj1[i], obj2[i], strict, memos) - ) { - return false; - } - } else if (obj2.hasOwnProperty(i)) { - return false; - } else { - const keys1 = Object.keys(obj1); - for (; i < keys1.length; i++) { - const key = keys1[i]; - if ( - !obj2.hasOwnProperty(key) || - !innerDeepEqual(obj1[key], obj2[key], strict, memos) - ) { - return false; - } - } - if (keys1.length !== Object.keys(obj2).length) { - return false; - } - if (keys1.length !== Object.keys(obj2).length) { - return false; - } - return true; - } - } - } - - // Expensive test - for (i = 0; i < keys.length; i++) { - const key = keys[i]; - if (!innerDeepEqual(obj1[key], obj2[key], strict, memos)) { - return false; - } - } - return true; -} - -function findLooseMatchingPrimitives( - primitive: unknown, -): boolean | null | undefined { - switch (typeof primitive) { - case "undefined": - return null; - case "object": - return undefined; - case "symbol": - return false; - case "string": - primitive = +primitive; - case "number": - if (Number.isNaN(primitive)) { - return false; - } - } - return true; -} - -function setMightHaveLoosePrim( - set1: Set, - set2: Set, - primitive: any, -) { - const altValue = findLooseMatchingPrimitives(primitive); - if (altValue != null) return altValue; - - return set2.has(altValue) && !set1.has(altValue); -} - -function setHasEqualElement( - set: any, - val1: any, - strict: boolean, - memos: Memo, -): boolean { - for (const val2 of set) { - if (innerDeepEqual(val1, val2, strict, memos)) { - set.delete(val2); - return true; - } - } - - return false; -} - -function setEquiv(set1: any, set2: any, strict: boolean, memos: Memo): boolean { - let set = null; - for (const item of set1) { - if (typeof item === "object" && item !== null) { - if (set === null) { - // What is SafeSet from primordials? - // set = new SafeSet(); - set = new Set(); - } - set.add(item); - } else if (!set2.has(item)) { - if (strict) return false; - - if (!setMightHaveLoosePrim(set1, set2, item)) { - return false; - } - - if (set === null) { - set = new Set(); - } - set.add(item); - } - } - - if (set !== null) { - for (const item of set2) { - if (typeof item === "object" && item !== null) { - if (!setHasEqualElement(set, item, strict, memos)) return false; - } else if ( - !strict && - !set1.has(item) && - !setHasEqualElement(set, item, strict, memos) - ) { - return false; - } - } - return set.size === 0; - } - - return true; -} - -// TODO(standvpmnt): add types for argument -function mapMightHaveLoosePrimitive( - map1: Map, - map2: Map, - primitive: any, - item: any, - memos: Memo, -): boolean { - const altValue = findLooseMatchingPrimitives(primitive); - if (altValue != null) { - return altValue; - } - const curB = map2.get(altValue); - if ( - (curB === undefined && !map2.has(altValue)) || - !innerDeepEqual(item, curB, false, memo) - ) { - return false; - } - return !map1.has(altValue) && innerDeepEqual(item, curB, false, memos); -} - -function mapEquiv(map1: any, map2: any, strict: boolean, memos: Memo): boolean { - let set = null; - - for (const { 0: key, 1: item1 } of map1) { - if (typeof key === "object" && key !== null) { - if (set === null) { - set = new Set(); - } - set.add(key); - } else { - const item2 = map2.get(key); - if ( - ( - (item2 === undefined && !map2.has(key)) || - !innerDeepEqual(item1, item2, strict, memos) - ) - ) { - if (strict) return false; - if (!mapMightHaveLoosePrimitive(map1, map2, key, item1, memos)) { - return false; - } - if (set === null) { - set = new Set(); - } - set.add(key); - } - } - } - - if (set !== null) { - for (const { 0: key, 1: item } of map2) { - if (typeof key === "object" && key !== null) { - if (!mapHasEqualEntry(set, map1, key, item, strict, memos)) { - return false; - } - } else if ( - !strict && (!map1.has(key) || - !innerDeepEqual(map1.get(key), item, false, memos)) && - !mapHasEqualEntry(set, map1, key, item, false, memos) - ) { - return false; - } - } - return set.size === 0; - } - - return true; -} - -function mapHasEqualEntry( - set: any, - map: any, - key1: any, - item1: any, - strict: boolean, - memos: Memo, -): boolean { - for (const key2 of set) { - if ( - innerDeepEqual(key1, key2, strict, memos) && - innerDeepEqual(item1, map.get(key2), strict, memos) - ) { - set.delete(key2); - return true; - } - } - return false; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts deleted file mode 100644 index 73c8628..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -import { sprintf } from "../../../fmt/printf.ts"; -import { inspect } from "./inspect.mjs"; - -// `debugImpls` and `testEnabled` are deliberately not initialized so any call -// to `debuglog()` before `initializeDebugEnv()` is called will throw. -let debugImpls: Record void>; -let testEnabled: (str: string) => boolean; - -// `debugEnv` is initial value of process.env.NODE_DEBUG -function initializeDebugEnv(debugEnv: string) { - debugImpls = Object.create(null); - if (debugEnv) { - // This is run before any user code, it's OK not to use primordials. - debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, "\\$&") - .replaceAll("*", ".*") - .replaceAll(",", "$|^"); - const debugEnvRegex = new RegExp(`^${debugEnv}$`, "i"); - testEnabled = (str) => debugEnvRegex.exec(str) !== null; - } else { - testEnabled = () => false; - } -} - -// Emits warning when user sets -// NODE_DEBUG=http or NODE_DEBUG=http2. -function emitWarningIfNeeded(set: string) { - if ("HTTP" === set || "HTTP2" === set) { - console.warn( - "Setting the NODE_DEBUG environment variable " + - "to '" + set.toLowerCase() + "' can expose sensitive " + - "data (such as passwords, tokens and authentication headers) " + - "in the resulting log.", - ); - } -} - -const noop = () => {}; - -function debuglogImpl( - enabled: boolean, - set: string, -): (...args: unknown[]) => void { - if (debugImpls[set] === undefined) { - if (enabled) { - emitWarningIfNeeded(set); - debugImpls[set] = function debug(...args: unknown[]) { - const msg = args.map((arg) => inspect(arg)).join(" "); - console.error(sprintf("%s %s: %s", set, String(Deno.pid), msg)); - }; - } else { - debugImpls[set] = noop; - } - } - - return debugImpls[set]; -} - -// debuglogImpl depends on process.pid and process.env.NODE_DEBUG, -// so it needs to be called lazily in top scopes of internal modules -// that may be loaded before these run time states are allowed to -// be accessed. -export function debuglog( - set: string, - cb?: (debug: (...args: unknown[]) => void) => void, -) { - function init() { - set = set.toUpperCase(); - enabled = testEnabled(set); - } - - let debug = (...args: unknown[]): void => { - init(); - // Only invokes debuglogImpl() when the debug function is - // called for the first time. - debug = debuglogImpl(enabled, set); - - if (typeof cb === "function") { - cb(debug); - } - - return debug(...args); - }; - - let enabled: boolean; - let test = () => { - init(); - test = () => enabled; - return enabled; - }; - - const logger = (...args: unknown[]) => debug(...args); - - Object.defineProperty(logger, "enabled", { - get() { - return test(); - }, - configurable: true, - enumerable: true, - }); - - return logger; -} - -let debugEnv; -try { - debugEnv = Deno.env.get("NODE_DEBUG") ?? ""; -} catch (error) { - if (error instanceof Deno.errors.PermissionDenied) { - debugEnv = ""; - } else { - throw error; - } -} -initializeDebugEnv(debugEnv); - -export default { debuglog }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs deleted file mode 100644 index 4a774e3..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs +++ /dev/null @@ -1,2237 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import * as types from "./types.ts"; -import { validateObject, validateString } from "../validators.mjs"; -import { codes } from "../error_codes.ts"; - -import { - ALL_PROPERTIES, - getOwnNonIndexProperties, - ONLY_ENUMERABLE, -} from "../../internal_binding/util.ts"; - -const kObjectType = 0; -const kArrayType = 1; -const kArrayExtrasType = 2; - -const kMinLineLength = 16; - -// Constants to map the iterator state. -const kWeak = 0; -const kIterator = 1; -const kMapEntries = 2; - -const kPending = 0; -const kRejected = 2; - -// Escaped control characters (plus the single quote and the backslash). Use -// empty strings to fill up unused entries. -// deno-fmt-ignore -const meta = [ - '\\x00', '\\x01', '\\x02', '\\x03', '\\x04', '\\x05', '\\x06', '\\x07', // x07 - '\\b', '\\t', '\\n', '\\x0B', '\\f', '\\r', '\\x0E', '\\x0F', // x0F - '\\x10', '\\x11', '\\x12', '\\x13', '\\x14', '\\x15', '\\x16', '\\x17', // x17 - '\\x18', '\\x19', '\\x1A', '\\x1B', '\\x1C', '\\x1D', '\\x1E', '\\x1F', // x1F - '', '', '', '', '', '', '', "\\'", '', '', '', '', '', '', '', '', // x2F - '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', // x3F - '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', // x4F - '', '', '', '', '', '', '', '', '', '', '', '', '\\\\', '', '', '', // x5F - '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', // x6F - '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '\\x7F', // x7F - '\\x80', '\\x81', '\\x82', '\\x83', '\\x84', '\\x85', '\\x86', '\\x87', // x87 - '\\x88', '\\x89', '\\x8A', '\\x8B', '\\x8C', '\\x8D', '\\x8E', '\\x8F', // x8F - '\\x90', '\\x91', '\\x92', '\\x93', '\\x94', '\\x95', '\\x96', '\\x97', // x97 - '\\x98', '\\x99', '\\x9A', '\\x9B', '\\x9C', '\\x9D', '\\x9E', '\\x9F', // x9F -]; - -// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot -const isUndetectableObject = (v) => typeof v === "undefined" && v !== undefined; - -// deno-lint-ignore no-control-regex -const strEscapeSequencesRegExp = /[\x00-\x1f\x27\x5c\x7f-\x9f]/; -// deno-lint-ignore no-control-regex -const strEscapeSequencesReplacer = /[\x00-\x1f\x27\x5c\x7f-\x9f]/g; -// deno-lint-ignore no-control-regex -const strEscapeSequencesRegExpSingle = /[\x00-\x1f\x5c\x7f-\x9f]/; -// deno-lint-ignore no-control-regex -const strEscapeSequencesReplacerSingle = /[\x00-\x1f\x5c\x7f-\x9f]/g; - -const keyStrRegExp = /^[a-zA-Z_][a-zA-Z_0-9]*$/; -const numberRegExp = /^(0|[1-9][0-9]*)$/; -const nodeModulesRegExp = /[/\\]node_modules[/\\](.+?)(?=[/\\])/g; - -const classRegExp = /^(\s+[^(]*?)\s*{/; -// eslint-disable-next-line node-core/no-unescaped-regexp-dot -const stripCommentsRegExp = /(\/\/.*?\n)|(\/\*(.|\n)*?\*\/)/g; - -const inspectDefaultOptions = { - showHidden: false, - depth: 2, - colors: false, - customInspect: true, - showProxy: false, - maxArrayLength: 100, - maxStringLength: 10000, - breakLength: 80, - compact: 3, - sorted: false, - getters: false, -}; - -function getUserOptions(ctx, isCrossContext) { - const ret = { - stylize: ctx.stylize, - showHidden: ctx.showHidden, - depth: ctx.depth, - colors: ctx.colors, - customInspect: ctx.customInspect, - showProxy: ctx.showProxy, - maxArrayLength: ctx.maxArrayLength, - maxStringLength: ctx.maxStringLength, - breakLength: ctx.breakLength, - compact: ctx.compact, - sorted: ctx.sorted, - getters: ctx.getters, - ...ctx.userOptions, - }; - - // Typically, the target value will be an instance of `Object`. If that is - // *not* the case, the object may come from another vm.Context, and we want - // to avoid passing it objects from this Context in that case, so we remove - // the prototype from the returned object itself + the `stylize()` function, - // and remove all other non-primitives, including non-primitive user options. - if (isCrossContext) { - Object.setPrototypeOf(ret, null); - for (const key of Object.keys(ret)) { - if ( - (typeof ret[key] === "object" || typeof ret[key] === "function") && - ret[key] !== null - ) { - delete ret[key]; - } - } - ret.stylize = Object.setPrototypeOf((value, flavour) => { - let stylized; - try { - stylized = `${ctx.stylize(value, flavour)}`; - } catch { - // noop - } - - if (typeof stylized !== "string") return value; - // `stylized` is a string as it should be, which is safe to pass along. - return stylized; - }, null); - } - - return ret; -} - -/** - * Echos the value of any input. Tries to print the value out - * in the best way possible given the different types. - */ -/* Legacy: value, showHidden, depth, colors */ -export function inspect(value, opts) { - // Default options - const ctx = { - budget: {}, - indentationLvl: 0, - seen: [], - currentDepth: 0, - stylize: stylizeNoColor, - showHidden: inspectDefaultOptions.showHidden, - depth: inspectDefaultOptions.depth, - colors: inspectDefaultOptions.colors, - customInspect: inspectDefaultOptions.customInspect, - showProxy: inspectDefaultOptions.showProxy, - maxArrayLength: inspectDefaultOptions.maxArrayLength, - maxStringLength: inspectDefaultOptions.maxStringLength, - breakLength: inspectDefaultOptions.breakLength, - compact: inspectDefaultOptions.compact, - sorted: inspectDefaultOptions.sorted, - getters: inspectDefaultOptions.getters, - }; - if (arguments.length > 1) { - // Legacy... - if (arguments.length > 2) { - if (arguments[2] !== undefined) { - ctx.depth = arguments[2]; - } - if (arguments.length > 3 && arguments[3] !== undefined) { - ctx.colors = arguments[3]; - } - } - // Set user-specified options - if (typeof opts === "boolean") { - ctx.showHidden = opts; - } else if (opts) { - const optKeys = Object.keys(opts); - for (let i = 0; i < optKeys.length; ++i) { - const key = optKeys[i]; - // TODO(BridgeAR): Find a solution what to do about stylize. Either make - // this function public or add a new API with a similar or better - // functionality. - if ( - // deno-lint-ignore no-prototype-builtins - inspectDefaultOptions.hasOwnProperty(key) || - key === "stylize" - ) { - ctx[key] = opts[key]; - } else if (ctx.userOptions === undefined) { - // This is required to pass through the actual user input. - ctx.userOptions = opts; - } - } - } - } - if (ctx.colors) ctx.stylize = stylizeWithColor; - if (ctx.maxArrayLength === null) ctx.maxArrayLength = Infinity; - if (ctx.maxStringLength === null) ctx.maxStringLength = Infinity; - return formatValue(ctx, value, 0); -} -const customInspectSymbol = Symbol.for("nodejs.util.inspect.custom"); -inspect.custom = customInspectSymbol; - -Object.defineProperty(inspect, "defaultOptions", { - get() { - return inspectDefaultOptions; - }, - set(options) { - validateObject(options, "options"); - return Object.assign(inspectDefaultOptions, options); - }, -}); - -// Set Graphics Rendition https://en.wikipedia.org/wiki/ANSI_escape_code#graphics -// Each color consists of an array with the color code as first entry and the -// reset code as second entry. -const defaultFG = 39; -const defaultBG = 49; -inspect.colors = Object.assign(Object.create(null), { - reset: [0, 0], - bold: [1, 22], - dim: [2, 22], // Alias: faint - italic: [3, 23], - underline: [4, 24], - blink: [5, 25], - // Swap foreground and background colors - inverse: [7, 27], // Alias: swapcolors, swapColors - hidden: [8, 28], // Alias: conceal - strikethrough: [9, 29], // Alias: strikeThrough, crossedout, crossedOut - doubleunderline: [21, 24], // Alias: doubleUnderline - black: [30, defaultFG], - red: [31, defaultFG], - green: [32, defaultFG], - yellow: [33, defaultFG], - blue: [34, defaultFG], - magenta: [35, defaultFG], - cyan: [36, defaultFG], - white: [37, defaultFG], - bgBlack: [40, defaultBG], - bgRed: [41, defaultBG], - bgGreen: [42, defaultBG], - bgYellow: [43, defaultBG], - bgBlue: [44, defaultBG], - bgMagenta: [45, defaultBG], - bgCyan: [46, defaultBG], - bgWhite: [47, defaultBG], - framed: [51, 54], - overlined: [53, 55], - gray: [90, defaultFG], // Alias: grey, blackBright - redBright: [91, defaultFG], - greenBright: [92, defaultFG], - yellowBright: [93, defaultFG], - blueBright: [94, defaultFG], - magentaBright: [95, defaultFG], - cyanBright: [96, defaultFG], - whiteBright: [97, defaultFG], - bgGray: [100, defaultBG], // Alias: bgGrey, bgBlackBright - bgRedBright: [101, defaultBG], - bgGreenBright: [102, defaultBG], - bgYellowBright: [103, defaultBG], - bgBlueBright: [104, defaultBG], - bgMagentaBright: [105, defaultBG], - bgCyanBright: [106, defaultBG], - bgWhiteBright: [107, defaultBG], -}); - -function defineColorAlias(target, alias) { - Object.defineProperty(inspect.colors, alias, { - get() { - return this[target]; - }, - set(value) { - this[target] = value; - }, - configurable: true, - enumerable: false, - }); -} - -defineColorAlias("gray", "grey"); -defineColorAlias("gray", "blackBright"); -defineColorAlias("bgGray", "bgGrey"); -defineColorAlias("bgGray", "bgBlackBright"); -defineColorAlias("dim", "faint"); -defineColorAlias("strikethrough", "crossedout"); -defineColorAlias("strikethrough", "strikeThrough"); -defineColorAlias("strikethrough", "crossedOut"); -defineColorAlias("hidden", "conceal"); -defineColorAlias("inverse", "swapColors"); -defineColorAlias("inverse", "swapcolors"); -defineColorAlias("doubleunderline", "doubleUnderline"); - -// TODO(BridgeAR): Add function style support for more complex styles. -// Don't use 'blue' not visible on cmd.exe -inspect.styles = Object.assign(Object.create(null), { - special: "cyan", - number: "yellow", - bigint: "yellow", - boolean: "yellow", - undefined: "grey", - null: "bold", - string: "green", - symbol: "green", - date: "magenta", - // "name": intentionally not styling - // TODO(BridgeAR): Highlight regular expressions properly. - regexp: "red", - module: "underline", -}); - -function addQuotes(str, quotes) { - if (quotes === -1) { - return `"${str}"`; - } - if (quotes === -2) { - return `\`${str}\``; - } - return `'${str}'`; -} - -// TODO(wafuwafu13): Figure out -const escapeFn = (str) => meta[str.charCodeAt(0)]; - -// Escape control characters, single quotes and the backslash. -// This is similar to JSON stringify escaping. -function strEscape(str) { - let escapeTest = strEscapeSequencesRegExp; - let escapeReplace = strEscapeSequencesReplacer; - let singleQuote = 39; - - // Check for double quotes. If not present, do not escape single quotes and - // instead wrap the text in double quotes. If double quotes exist, check for - // backticks. If they do not exist, use those as fallback instead of the - // double quotes. - if (str.includes("'")) { - // This invalidates the charCode and therefore can not be matched for - // anymore. - if (!str.includes('"')) { - singleQuote = -1; - } else if ( - !str.includes("`") && - !str.includes("${") - ) { - singleQuote = -2; - } - if (singleQuote !== 39) { - escapeTest = strEscapeSequencesRegExpSingle; - escapeReplace = strEscapeSequencesReplacerSingle; - } - } - - // Some magic numbers that worked out fine while benchmarking with v8 6.0 - if (str.length < 5000 && !escapeTest.test(str)) { - return addQuotes(str, singleQuote); - } - if (str.length > 100) { - str = str.replace(escapeReplace, escapeFn); - return addQuotes(str, singleQuote); - } - - let result = ""; - let last = 0; - const lastIndex = str.length; - for (let i = 0; i < lastIndex; i++) { - const point = str.charCodeAt(i); - if ( - point === singleQuote || - point === 92 || - point < 32 || - (point > 126 && point < 160) - ) { - if (last === i) { - result += meta[point]; - } else { - result += `${str.slice(last, i)}${meta[point]}`; - } - last = i + 1; - } - } - - if (last !== lastIndex) { - result += str.slice(last); - } - return addQuotes(result, singleQuote); -} - -function stylizeWithColor(str, styleType) { - const style = inspect.styles[styleType]; - if (style !== undefined) { - const color = inspect.colors[style]; - if (color !== undefined) { - return `\u001b[${color[0]}m${str}\u001b[${color[1]}m`; - } - } - return str; -} - -function stylizeNoColor(str) { - return str; -} - -// Note: using `formatValue` directly requires the indentation level to be -// corrected by setting `ctx.indentationLvL += diff` and then to decrease the -// value afterwards again. -function formatValue( - ctx, - value, - recurseTimes, - typedArray, -) { - // Primitive types cannot have properties. - if ( - typeof value !== "object" && - typeof value !== "function" && - !isUndetectableObject(value) - ) { - return formatPrimitive(ctx.stylize, value, ctx); - } - if (value === null) { - return ctx.stylize("null", "null"); - } - - // Memorize the context for custom inspection on proxies. - const context = value; - // Always check for proxies to prevent side effects and to prevent triggering - // any proxy handlers. - // TODO(wafuwafu13): Set Proxy - const proxy = undefined; - // const proxy = getProxyDetails(value, !!ctx.showProxy); - // if (proxy !== undefined) { - // if (ctx.showProxy) { - // return formatProxy(ctx, proxy, recurseTimes); - // } - // value = proxy; - // } - - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it. - if (ctx.customInspect) { - const maybeCustom = value[customInspectSymbol]; - if ( - typeof maybeCustom === "function" && - // Filter out the util module, its inspect function is special. - maybeCustom !== inspect && - // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value) - ) { - // This makes sure the recurseTimes are reported as before while using - // a counter internally. - const depth = ctx.depth === null ? null : ctx.depth - recurseTimes; - const isCrossContext = proxy !== undefined || - !(context instanceof Object); - const ret = maybeCustom.call( - context, - depth, - getUserOptions(ctx, isCrossContext), - ); - // If the custom inspection method returned `this`, don't go into - // infinite recursion. - if (ret !== context) { - if (typeof ret !== "string") { - return formatValue(ctx, ret, recurseTimes); - } - return ret.replace(/\n/g, `\n${" ".repeat(ctx.indentationLvl)}`); - } - } - } - - // Using an array here is actually better for the average case than using - // a Set. `seen` will only check for the depth and will never grow too large. - if (ctx.seen.includes(value)) { - let index = 1; - if (ctx.circular === undefined) { - ctx.circular = new Map(); - ctx.circular.set(value, index); - } else { - index = ctx.circular.get(value); - if (index === undefined) { - index = ctx.circular.size + 1; - ctx.circular.set(value, index); - } - } - return ctx.stylize(`[Circular *${index}]`, "special"); - } - - return formatRaw(ctx, value, recurseTimes, typedArray); -} - -function formatRaw(ctx, value, recurseTimes, typedArray) { - let keys; - let protoProps; - if (ctx.showHidden && (recurseTimes <= ctx.depth || ctx.depth === null)) { - protoProps = []; - } - - const constructor = getConstructorName(value, ctx, recurseTimes, protoProps); - // Reset the variable to check for this later on. - if (protoProps !== undefined && protoProps.length === 0) { - protoProps = undefined; - } - - let tag = value[Symbol.toStringTag]; - // Only list the tag in case it's non-enumerable / not an own property. - // Otherwise we'd print this twice. - if ( - typeof tag !== "string" - // TODO(wafuwafu13): Implement - // (tag !== "" && - // (ctx.showHidden - // ? Object.prototype.hasOwnProperty - // : Object.prototype.propertyIsEnumerable)( - // value, - // Symbol.toStringTag, - // )) - ) { - tag = ""; - } - let base = ""; - let formatter = getEmptyFormatArray; - let braces; - let noIterator = true; - let i = 0; - const filter = ctx.showHidden ? ALL_PROPERTIES : ONLY_ENUMERABLE; - - let extrasType = kObjectType; - - // Iterators and the rest are split to reduce checks. - // We have to check all values in case the constructor is set to null. - // Otherwise it would not possible to identify all types properly. - if (value[Symbol.iterator] || constructor === null) { - noIterator = false; - if (Array.isArray(value)) { - // Only set the constructor for non ordinary ("Array [...]") arrays. - const prefix = (constructor !== "Array" || tag !== "") - ? getPrefix(constructor, tag, "Array", `(${value.length})`) - : ""; - keys = getOwnNonIndexProperties(value, filter); - braces = [`${prefix}[`, "]"]; - if (value.length === 0 && keys.length === 0 && protoProps === undefined) { - return `${braces[0]}]`; - } - extrasType = kArrayExtrasType; - formatter = formatArray; - } else if (types.isSet(value)) { - const size = value.size; - const prefix = getPrefix(constructor, tag, "Set", `(${size})`); - keys = getKeys(value, ctx.showHidden); - formatter = constructor !== null - ? formatSet.bind(null, value) - : formatSet.bind(null, value.values()); - if (size === 0 && keys.length === 0 && protoProps === undefined) { - return `${prefix}{}`; - } - braces = [`${prefix}{`, "}"]; - } else if (types.isMap(value)) { - const size = value.size; - const prefix = getPrefix(constructor, tag, "Map", `(${size})`); - keys = getKeys(value, ctx.showHidden); - formatter = constructor !== null - ? formatMap.bind(null, value) - : formatMap.bind(null, value.entries()); - if (size === 0 && keys.length === 0 && protoProps === undefined) { - return `${prefix}{}`; - } - braces = [`${prefix}{`, "}"]; - } else if (types.isTypedArray(value)) { - keys = getOwnNonIndexProperties(value, filter); - const bound = value; - const fallback = ""; - if (constructor === null) { - // TODO(wafuwafu13): Implement - // fallback = TypedArrayPrototypeGetSymbolToStringTag(value); - // // Reconstruct the array information. - // bound = new primordials[fallback](value); - } - const size = value.length; - const prefix = getPrefix(constructor, tag, fallback, `(${size})`); - braces = [`${prefix}[`, "]"]; - if (value.length === 0 && keys.length === 0 && !ctx.showHidden) { - return `${braces[0]}]`; - } - // Special handle the value. The original value is required below. The - // bound function is required to reconstruct missing information. - (formatter) = formatTypedArray.bind(null, bound, size); - extrasType = kArrayExtrasType; - } else if (types.isMapIterator(value)) { - keys = getKeys(value, ctx.showHidden); - braces = getIteratorBraces("Map", tag); - // Add braces to the formatter parameters. - (formatter) = formatIterator.bind(null, braces); - } else if (types.isSetIterator(value)) { - keys = getKeys(value, ctx.showHidden); - braces = getIteratorBraces("Set", tag); - // Add braces to the formatter parameters. - (formatter) = formatIterator.bind(null, braces); - } else { - noIterator = true; - } - } - if (noIterator) { - keys = getKeys(value, ctx.showHidden); - braces = ["{", "}"]; - if (constructor === "Object") { - if (types.isArgumentsObject(value)) { - braces[0] = "[Arguments] {"; - } else if (tag !== "") { - braces[0] = `${getPrefix(constructor, tag, "Object")}{`; - } - if (keys.length === 0 && protoProps === undefined) { - return `${braces[0]}}`; - } - } else if (typeof value === "function") { - base = getFunctionBase(value, constructor, tag); - if (keys.length === 0 && protoProps === undefined) { - return ctx.stylize(base, "special"); - } - } else if (types.isRegExp(value)) { - // Make RegExps say that they are RegExps - base = RegExp(constructor !== null ? value : new RegExp(value)) - .toString(); - const prefix = getPrefix(constructor, tag, "RegExp"); - if (prefix !== "RegExp ") { - base = `${prefix}${base}`; - } - if ( - (keys.length === 0 && protoProps === undefined) || - (recurseTimes > ctx.depth && ctx.depth !== null) - ) { - return ctx.stylize(base, "regexp"); - } - } else if (types.isDate(value)) { - // Make dates with properties first say the date - base = Number.isNaN(value.getTime()) - ? value.toString() - : value.toISOString(); - const prefix = getPrefix(constructor, tag, "Date"); - if (prefix !== "Date ") { - base = `${prefix}${base}`; - } - if (keys.length === 0 && protoProps === undefined) { - return ctx.stylize(base, "date"); - } - } else if (value instanceof Error) { - base = formatError(value, constructor, tag, ctx, keys); - if (keys.length === 0 && protoProps === undefined) { - return base; - } - } else if (types.isAnyArrayBuffer(value)) { - // Fast path for ArrayBuffer and SharedArrayBuffer. - // Can't do the same for DataView because it has a non-primitive - // .buffer property that we need to recurse for. - const arrayType = types.isArrayBuffer(value) - ? "ArrayBuffer" - : "SharedArrayBuffer"; - const prefix = getPrefix(constructor, tag, arrayType); - if (typedArray === undefined) { - (formatter) = formatArrayBuffer; - } else if (keys.length === 0 && protoProps === undefined) { - return prefix + - `{ byteLength: ${formatNumber(ctx.stylize, value.byteLength)} }`; - } - braces[0] = `${prefix}{`; - Array.prototype.unshift.call(keys, "byteLength"); - } else if (types.isDataView(value)) { - braces[0] = `${getPrefix(constructor, tag, "DataView")}{`; - // .buffer goes last, it's not a primitive like the others. - Array.prototype.unshift.call(keys, "byteLength", "byteOffset", "buffer"); - } else if (types.isPromise(value)) { - braces[0] = `${getPrefix(constructor, tag, "Promise")}{`; - (formatter) = formatPromise; - } else if (types.isWeakSet(value)) { - braces[0] = `${getPrefix(constructor, tag, "WeakSet")}{`; - (formatter) = ctx.showHidden ? formatWeakSet : formatWeakCollection; - } else if (types.isWeakMap(value)) { - braces[0] = `${getPrefix(constructor, tag, "WeakMap")}{`; - (formatter) = ctx.showHidden ? formatWeakMap : formatWeakCollection; - } else if (types.isModuleNamespaceObject(value)) { - braces[0] = `${getPrefix(constructor, tag, "Module")}{`; - // Special handle keys for namespace objects. - (formatter) = formatNamespaceObject.bind(null, keys); - } else if (types.isBoxedPrimitive(value)) { - base = getBoxedBase(value, ctx, keys, constructor, tag); - if (keys.length === 0 && protoProps === undefined) { - return base; - } - } else { - if (keys.length === 0 && protoProps === undefined) { - // TODO(wafuwafu13): Implement - // if (types.isExternal(value)) { - // const address = getExternalValue(value).toString(16); - // return ctx.stylize(`[External: ${address}]`, 'special'); - // } - return `${getCtxStyle(value, constructor, tag)}{}`; - } - braces[0] = `${getCtxStyle(value, constructor, tag)}{`; - } - } - - if (recurseTimes > ctx.depth && ctx.depth !== null) { - let constructorName = getCtxStyle(value, constructor, tag).slice(0, -1); - if (constructor !== null) { - constructorName = `[${constructorName}]`; - } - return ctx.stylize(constructorName, "special"); - } - recurseTimes += 1; - - ctx.seen.push(value); - ctx.currentDepth = recurseTimes; - let output; - const indentationLvl = ctx.indentationLvl; - try { - output = formatter(ctx, value, recurseTimes); - for (i = 0; i < keys.length; i++) { - output.push( - formatProperty(ctx, value, recurseTimes, keys[i], extrasType), - ); - } - if (protoProps !== undefined) { - output.push(...protoProps); - } - } catch (err) { - const constructorName = getCtxStyle(value, constructor, tag).slice(0, -1); - return handleMaxCallStackSize(ctx, err, constructorName, indentationLvl); - } - if (ctx.circular !== undefined) { - const index = ctx.circular.get(value); - if (index !== undefined) { - const reference = ctx.stylize(``, "special"); - // Add reference always to the very beginning of the output. - if (ctx.compact !== true) { - base = base === "" ? reference : `${reference} ${base}`; - } else { - braces[0] = `${reference} ${braces[0]}`; - } - } - } - ctx.seen.pop(); - - if (ctx.sorted) { - const comparator = ctx.sorted === true ? undefined : ctx.sorted; - if (extrasType === kObjectType) { - output = output.sort(comparator); - } else if (keys.length > 1) { - const sorted = output.slice(output.length - keys.length).sort(comparator); - output.splice(output.length - keys.length, keys.length, ...sorted); - } - } - - const res = reduceToSingleString( - ctx, - output, - base, - braces, - extrasType, - recurseTimes, - value, - ); - const budget = ctx.budget[ctx.indentationLvl] || 0; - const newLength = budget + res.length; - ctx.budget[ctx.indentationLvl] = newLength; - // If any indentationLvl exceeds this limit, limit further inspecting to the - // minimum. Otherwise the recursive algorithm might continue inspecting the - // object even though the maximum string size (~2 ** 28 on 32 bit systems and - // ~2 ** 30 on 64 bit systems) exceeded. The actual output is not limited at - // exactly 2 ** 27 but a bit higher. This depends on the object shape. - // This limit also makes sure that huge objects don't block the event loop - // significantly. - if (newLength > 2 ** 27) { - ctx.depth = -1; - } - return res; -} - -const builtInObjects = new Set( - Object.getOwnPropertyNames(globalThis).filter((e) => - /^[A-Z][a-zA-Z0-9]+$/.test(e) - ), -); - -function addPrototypeProperties( - ctx, - main, - obj, - recurseTimes, - output, -) { - let depth = 0; - let keys; - let keySet; - do { - if (depth !== 0 || main === obj) { - obj = Object.getPrototypeOf(obj); - // Stop as soon as a null prototype is encountered. - if (obj === null) { - return; - } - // Stop as soon as a built-in object type is detected. - const descriptor = Object.getOwnPropertyDescriptor(obj, "constructor"); - if ( - descriptor !== undefined && - typeof descriptor.value === "function" && - builtInObjects.has(descriptor.value.name) - ) { - return; - } - } - - if (depth === 0) { - keySet = new Set(); - } else { - Array.prototype.forEach.call(keys, (key) => keySet.add(key)); - } - // Get all own property names and symbols. - keys = Reflect.ownKeys(obj); - Array.prototype.push.call(ctx.seen, main); - for (const key of keys) { - // Ignore the `constructor` property and keys that exist on layers above. - if ( - key === "constructor" || - // deno-lint-ignore no-prototype-builtins - main.hasOwnProperty(key) || - (depth !== 0 && keySet.has(key)) - ) { - continue; - } - const desc = Object.getOwnPropertyDescriptor(obj, key); - if (typeof desc.value === "function") { - continue; - } - const value = formatProperty( - ctx, - obj, - recurseTimes, - key, - kObjectType, - desc, - main, - ); - if (ctx.colors) { - // Faint! - Array.prototype.push.call(output, `\u001b[2m${value}\u001b[22m`); - } else { - Array.prototype.push.call(output, value); - } - } - Array.prototype.pop.call(ctx.seen); - // Limit the inspection to up to three prototype layers. Using `recurseTimes` - // is not a good choice here, because it's as if the properties are declared - // on the current object from the users perspective. - } while (++depth !== 3); -} - -function getConstructorName( - obj, - ctx, - recurseTimes, - protoProps, -) { - let firstProto; - const tmp = obj; - while (obj || isUndetectableObject(obj)) { - const descriptor = Object.getOwnPropertyDescriptor(obj, "constructor"); - if ( - descriptor !== undefined && - typeof descriptor.value === "function" && - descriptor.value.name !== "" && - isInstanceof(tmp, descriptor.value) - ) { - if ( - protoProps !== undefined && - (firstProto !== obj || - !builtInObjects.has(descriptor.value.name)) - ) { - addPrototypeProperties( - ctx, - tmp, - firstProto || tmp, - recurseTimes, - protoProps, - ); - } - return descriptor.value.name; - } - - obj = Object.getPrototypeOf(obj); - if (firstProto === undefined) { - firstProto = obj; - } - } - - if (firstProto === null) { - return null; - } - - // TODO(wafuwafu13): Implement - // const res = internalGetConstructorName(tmp); - const res = undefined; - - if (recurseTimes > ctx.depth && ctx.depth !== null) { - return `${res} `; - } - - const protoConstr = getConstructorName( - firstProto, - ctx, - recurseTimes + 1, - protoProps, - ); - - if (protoConstr === null) { - return `${res} <${ - inspect(firstProto, { - ...ctx, - customInspect: false, - depth: -1, - }) - }>`; - } - - return `${res} <${protoConstr}>`; -} - -function formatPrimitive(fn, value, ctx) { - if (typeof value === "string") { - let trailer = ""; - if (value.length > ctx.maxStringLength) { - const remaining = value.length - ctx.maxStringLength; - value = value.slice(0, ctx.maxStringLength); - trailer = `... ${remaining} more character${remaining > 1 ? "s" : ""}`; - } - if ( - ctx.compact !== true && - // TODO(BridgeAR): Add unicode support. Use the readline getStringWidth - // function. - value.length > kMinLineLength && - value.length > ctx.breakLength - ctx.indentationLvl - 4 - ) { - return value - .split(/(?<=\n)/) - .map((line) => fn(strEscape(line), "string")) - .join(` +\n${" ".repeat(ctx.indentationLvl + 2)}`) + trailer; - } - return fn(strEscape(value), "string") + trailer; - } - if (typeof value === "number") { - return formatNumber(fn, value); - } - if (typeof value === "bigint") { - return formatBigInt(fn, value); - } - if (typeof value === "boolean") { - return fn(`${value}`, "boolean"); - } - if (typeof value === "undefined") { - return fn("undefined", "undefined"); - } - // es6 symbol primitive - return fn(value.toString(), "symbol"); -} - -// Return a new empty array to push in the results of the default formatter. -function getEmptyFormatArray() { - return []; -} - -function isInstanceof(object, proto) { - try { - return object instanceof proto; - } catch { - return false; - } -} - -function getPrefix(constructor, tag, fallback, size = "") { - if (constructor === null) { - if (tag !== "" && fallback !== tag) { - return `[${fallback}${size}: null prototype] [${tag}] `; - } - return `[${fallback}${size}: null prototype] `; - } - - if (tag !== "" && constructor !== tag) { - return `${constructor}${size} [${tag}] `; - } - return `${constructor}${size} `; -} - -function formatArray(ctx, value, recurseTimes) { - const valLen = value.length; - const len = Math.min(Math.max(0, ctx.maxArrayLength), valLen); - - const remaining = valLen - len; - const output = []; - for (let i = 0; i < len; i++) { - // Special handle sparse arrays. - // deno-lint-ignore no-prototype-builtins - if (!value.hasOwnProperty(i)) { - return formatSpecialArray(ctx, value, recurseTimes, len, output, i); - } - output.push(formatProperty(ctx, value, recurseTimes, i, kArrayType)); - } - if (remaining > 0) { - output.push(`... ${remaining} more item${remaining > 1 ? "s" : ""}`); - } - return output; -} - -function getCtxStyle(_value, constructor, tag) { - let fallback = ""; - if (constructor === null) { - // TODO(wafuwafu13): Implement - // fallback = internalGetConstructorName(value); - if (fallback === tag) { - fallback = "Object"; - } - } - return getPrefix(constructor, tag, fallback); -} - -// Look up the keys of the object. -function getKeys(value, showHidden) { - let keys; - const symbols = Object.getOwnPropertySymbols(value); - if (showHidden) { - keys = Object.getOwnPropertyNames(value); - if (symbols.length !== 0) { - Array.prototype.push.apply(keys, symbols); - } - } else { - // This might throw if `value` is a Module Namespace Object from an - // unevaluated module, but we don't want to perform the actual type - // check because it's expensive. - // TODO(devsnek): track https://github.com/tc39/ecma262/issues/1209 - // and modify this logic as needed. - try { - keys = Object.keys(value); - } catch (_err) { - // TODO(wafuwafu13): Implement - // assert(isNativeError(err) && err.name === 'ReferenceError' && - // isModuleNamespaceObject(value)); - keys = Object.getOwnPropertyNames(value); - } - if (symbols.length !== 0) { - // TODO(wafuwafu13): Implement - // const filter = (key: any) => - // - // Object.prototype.propertyIsEnumerable(value, key); - // Array.prototype.push.apply( - // keys, - // symbols.filter(filter), - // ); - } - } - return keys; -} - -function formatSet(value, ctx, _ignored, recurseTimes) { - const output = []; - ctx.indentationLvl += 2; - for (const v of value) { - Array.prototype.push.call(output, formatValue(ctx, v, recurseTimes)); - } - ctx.indentationLvl -= 2; - return output; -} - -function formatMap(value, ctx, _gnored, recurseTimes) { - const output = []; - ctx.indentationLvl += 2; - for (const { 0: k, 1: v } of value) { - output.push( - `${formatValue(ctx, k, recurseTimes)} => ${ - formatValue(ctx, v, recurseTimes) - }`, - ); - } - ctx.indentationLvl -= 2; - return output; -} - -function formatTypedArray( - value, - length, - ctx, - _ignored, - recurseTimes, -) { - const maxLength = Math.min(Math.max(0, ctx.maxArrayLength), length); - const remaining = value.length - maxLength; - const output = new Array(maxLength); - const elementFormatter = value.length > 0 && typeof value[0] === "number" - ? formatNumber - : formatBigInt; - for (let i = 0; i < maxLength; ++i) { - output[i] = elementFormatter(ctx.stylize, value[i]); - } - if (remaining > 0) { - output[maxLength] = `... ${remaining} more item${remaining > 1 ? "s" : ""}`; - } - if (ctx.showHidden) { - // .buffer goes last, it's not a primitive like the others. - // All besides `BYTES_PER_ELEMENT` are actually getters. - ctx.indentationLvl += 2; - for ( - const key of [ - "BYTES_PER_ELEMENT", - "length", - "byteLength", - "byteOffset", - "buffer", - ] - ) { - const str = formatValue(ctx, value[key], recurseTimes, true); - Array.prototype.push.call(output, `[${key}]: ${str}`); - } - ctx.indentationLvl -= 2; - } - return output; -} - -function getIteratorBraces(type, tag) { - if (tag !== `${type} Iterator`) { - if (tag !== "") { - tag += "] ["; - } - tag += `${type} Iterator`; - } - return [`[${tag}] {`, "}"]; -} - -function formatIterator(braces, ctx, value, recurseTimes) { - // TODO(wafuwafu13): Implement - // const { 0: entries, 1: isKeyValue } = previewEntries(value, true); - const { 0: entries, 1: isKeyValue } = value; - if (isKeyValue) { - // Mark entry iterators as such. - braces[0] = braces[0].replace(/ Iterator] {$/, " Entries] {"); - return formatMapIterInner(ctx, recurseTimes, entries, kMapEntries); - } - - return formatSetIterInner(ctx, recurseTimes, entries, kIterator); -} - -function getFunctionBase(value, constructor, tag) { - const stringified = Function.prototype.toString.call(value); - if (stringified.slice(0, 5) === "class" && stringified.endsWith("}")) { - const slice = stringified.slice(5, -1); - const bracketIndex = slice.indexOf("{"); - if ( - bracketIndex !== -1 && - (!slice.slice(0, bracketIndex).includes("(") || - // Slow path to guarantee that it's indeed a class. - classRegExp.test(slice.replace(stripCommentsRegExp))) - ) { - return getClassBase(value, constructor, tag); - } - } - let type = "Function"; - if (types.isGeneratorFunction(value)) { - type = `Generator${type}`; - } - if (types.isAsyncFunction(value)) { - type = `Async${type}`; - } - let base = `[${type}`; - if (constructor === null) { - base += " (null prototype)"; - } - if (value.name === "") { - base += " (anonymous)"; - } else { - base += `: ${value.name}`; - } - base += "]"; - if (constructor !== type && constructor !== null) { - base += ` ${constructor}`; - } - if (tag !== "" && constructor !== tag) { - base += ` [${tag}]`; - } - return base; -} - -function formatError( - err, - constructor, - tag, - ctx, - keys, -) { - const name = err.name != null ? String(err.name) : "Error"; - let len = name.length; - let stack = err.stack ? String(err.stack) : err.toString(); - - // Do not "duplicate" error properties that are already included in the output - // otherwise. - if (!ctx.showHidden && keys.length !== 0) { - for (const name of ["name", "message", "stack"]) { - const index = keys.indexOf(name); - // Only hide the property in case it's part of the original stack - if (index !== -1 && stack.includes(err[name])) { - keys.splice(index, 1); - } - } - } - - // A stack trace may contain arbitrary data. Only manipulate the output - // for "regular errors" (errors that "look normal") for now. - if ( - constructor === null || - (name.endsWith("Error") && - stack.startsWith(name) && - (stack.length === len || stack[len] === ":" || stack[len] === "\n")) - ) { - let fallback = "Error"; - if (constructor === null) { - const start = stack.match(/^([A-Z][a-z_ A-Z0-9[\]()-]+)(?::|\n {4}at)/) || - stack.match(/^([a-z_A-Z0-9-]*Error)$/); - fallback = (start && start[1]) || ""; - len = fallback.length; - fallback = fallback || "Error"; - } - const prefix = getPrefix(constructor, tag, fallback).slice(0, -1); - if (name !== prefix) { - if (prefix.includes(name)) { - if (len === 0) { - stack = `${prefix}: ${stack}`; - } else { - stack = `${prefix}${stack.slice(len)}`; - } - } else { - stack = `${prefix} [${name}]${stack.slice(len)}`; - } - } - } - // Ignore the error message if it's contained in the stack. - let pos = (err.message && stack.indexOf(err.message)) || -1; - if (pos !== -1) { - pos += err.message.length; - } - // Wrap the error in brackets in case it has no stack trace. - const stackStart = stack.indexOf("\n at", pos); - if (stackStart === -1) { - stack = `[${stack}]`; - } else if (ctx.colors) { - // Highlight userland code and node modules. - let newStack = stack.slice(0, stackStart); - const lines = stack.slice(stackStart + 1).split("\n"); - for (const line of lines) { - // const core = line.match(coreModuleRegExp); - // TODO(wafuwafu13): Implement - // if (core !== null && NativeModule.exists(core[1])) { - // newStack += `\n${ctx.stylize(line, 'undefined')}`; - // } else { - // This adds underscores to all node_modules to quickly identify them. - let nodeModule; - newStack += "\n"; - let pos = 0; - // deno-lint-ignore no-cond-assign - while (nodeModule = nodeModulesRegExp.exec(line)) { - // '/node_modules/'.length === 14 - newStack += line.slice(pos, nodeModule.index + 14); - newStack += ctx.stylize(nodeModule[1], "module"); - pos = nodeModule.index + nodeModule[0].length; - } - newStack += pos === 0 ? line : line.slice(pos); - // } - } - stack = newStack; - } - // The message and the stack have to be indented as well! - if (ctx.indentationLvl !== 0) { - const indentation = " ".repeat(ctx.indentationLvl); - stack = stack.replace(/\n/g, `\n${indentation}`); - } - return stack; -} - -let hexSlice; - -function formatArrayBuffer(ctx, value) { - let buffer; - try { - buffer = new Uint8Array(value); - } catch { - return [ctx.stylize("(detached)", "special")]; - } - // TODO(wafuwafu13): Implement - // if (hexSlice === undefined) - // hexSlice = uncurryThis(require('buffer').Buffer.prototype.hexSlice); - let str = hexSlice(buffer, 0, Math.min(ctx.maxArrayLength, buffer.length)) - .replace(/(.{2})/g, "$1 ").trim(); - - const remaining = buffer.length - ctx.maxArrayLength; - if (remaining > 0) { - str += ` ... ${remaining} more byte${remaining > 1 ? "s" : ""}`; - } - return [`${ctx.stylize("[Uint8Contents]", "special")}: <${str}>`]; -} - -function formatNumber(fn, value) { - // Format -0 as '-0'. Checking `value === -0` won't distinguish 0 from -0. - return fn(Object.is(value, -0) ? "-0" : `${value}`, "number"); -} - -function formatPromise(ctx, value, recurseTimes) { - let output; - // TODO(wafuwafu13): Implement - // const { 0: state, 1: result } = getPromiseDetails(value); - const { 0: state, 1: result } = value; - if (state === kPending) { - output = [ctx.stylize("", "special")]; - } else { - ctx.indentationLvl += 2; - const str = formatValue(ctx, result, recurseTimes); - ctx.indentationLvl -= 2; - output = [ - state === kRejected - ? `${ctx.stylize("", "special")} ${str}` - : str, - ]; - } - return output; -} - -function formatWeakCollection(ctx) { - return [ctx.stylize("", "special")]; -} - -function formatWeakSet(ctx, value, recurseTimes) { - // TODO(wafuwafu13): Implement - // const entries = previewEntries(value); - const entries = value; - return formatSetIterInner(ctx, recurseTimes, entries, kWeak); -} - -function formatWeakMap(ctx, value, recurseTimes) { - // TODO(wafuwafu13): Implement - // const entries = previewEntries(value); - const entries = value; - return formatMapIterInner(ctx, recurseTimes, entries, kWeak); -} - -function formatProperty( - ctx, - value, - recurseTimes, - key, - type, - desc, - original = value, -) { - let name, str; - let extra = " "; - desc = desc || Object.getOwnPropertyDescriptor(value, key) || - { value: value[key], enumerable: true }; - if (desc.value !== undefined) { - const diff = (ctx.compact !== true || type !== kObjectType) ? 2 : 3; - ctx.indentationLvl += diff; - str = formatValue(ctx, desc.value, recurseTimes); - if (diff === 3 && ctx.breakLength < getStringWidth(str, ctx.colors)) { - extra = `\n${" ".repeat(ctx.indentationLvl)}`; - } - ctx.indentationLvl -= diff; - } else if (desc.get !== undefined) { - const label = desc.set !== undefined ? "Getter/Setter" : "Getter"; - const s = ctx.stylize; - const sp = "special"; - if ( - ctx.getters && (ctx.getters === true || - (ctx.getters === "get" && desc.set === undefined) || - (ctx.getters === "set" && desc.set !== undefined)) - ) { - try { - const tmp = desc.get.call(original); - ctx.indentationLvl += 2; - if (tmp === null) { - str = `${s(`[${label}:`, sp)} ${s("null", "null")}${s("]", sp)}`; - } else if (typeof tmp === "object") { - str = `${s(`[${label}]`, sp)} ${formatValue(ctx, tmp, recurseTimes)}`; - } else { - const primitive = formatPrimitive(s, tmp, ctx); - str = `${s(`[${label}:`, sp)} ${primitive}${s("]", sp)}`; - } - ctx.indentationLvl -= 2; - } catch (err) { - const message = ``; - str = `${s(`[${label}:`, sp)} ${message}${s("]", sp)}`; - } - } else { - str = ctx.stylize(`[${label}]`, sp); - } - } else if (desc.set !== undefined) { - str = ctx.stylize("[Setter]", "special"); - } else { - str = ctx.stylize("undefined", "undefined"); - } - if (type === kArrayType) { - return str; - } - if (typeof key === "symbol") { - const tmp = key.toString().replace(strEscapeSequencesReplacer, escapeFn); - - name = `[${ctx.stylize(tmp, "symbol")}]`; - } else if (key === "__proto__") { - name = "['__proto__']"; - } else if (desc.enumerable === false) { - const tmp = key.replace(strEscapeSequencesReplacer, escapeFn); - - name = `[${tmp}]`; - } else if (keyStrRegExp.test(key)) { - name = ctx.stylize(key, "name"); - } else { - name = ctx.stylize(strEscape(key), "string"); - } - return `${name}:${extra}${str}`; -} - -function handleMaxCallStackSize( - _ctx, - _err, - _constructorName, - _indentationLvl, -) { - // TODO(wafuwafu13): Implement - // if (types.isStackOverflowError(err)) { - // ctx.seen.pop(); - // ctx.indentationLvl = indentationLvl; - // return ctx.stylize( - // `[${constructorName}: Inspection interrupted ` + - // 'prematurely. Maximum call stack size exceeded.]', - // 'special' - // ); - // } - // /* c8 ignore next */ - // assert.fail(err.stack); -} - -// deno-lint-ignore no-control-regex -const colorRegExp = /\u001b\[\d\d?m/g; -function removeColors(str) { - return str.replace(colorRegExp, ""); -} - -function isBelowBreakLength(ctx, output, start, base) { - // Each entry is separated by at least a comma. Thus, we start with a total - // length of at least `output.length`. In addition, some cases have a - // whitespace in-between each other that is added to the total as well. - // TODO(BridgeAR): Add unicode support. Use the readline getStringWidth - // function. Check the performance overhead and make it an opt-in in case it's - // significant. - let totalLength = output.length + start; - if (totalLength + output.length > ctx.breakLength) { - return false; - } - for (let i = 0; i < output.length; i++) { - if (ctx.colors) { - totalLength += removeColors(output[i]).length; - } else { - totalLength += output[i].length; - } - if (totalLength > ctx.breakLength) { - return false; - } - } - // Do not line up properties on the same line if `base` contains line breaks. - return base === "" || !base.includes("\n"); -} - -function formatBigInt(fn, value) { - return fn(`${value}n`, "bigint"); -} - -function formatNamespaceObject( - keys, - ctx, - value, - recurseTimes, -) { - const output = new Array(keys.length); - for (let i = 0; i < keys.length; i++) { - try { - output[i] = formatProperty( - ctx, - value, - recurseTimes, - keys[i], - kObjectType, - ); - } catch (_err) { - // TODO(wafuwfu13): Implement - // assert(isNativeError(err) && err.name === 'ReferenceError'); - // Use the existing functionality. This makes sure the indentation and - // line breaks are always correct. Otherwise it is very difficult to keep - // this aligned, even though this is a hacky way of dealing with this. - const tmp = { [keys[i]]: "" }; - output[i] = formatProperty(ctx, tmp, recurseTimes, keys[i], kObjectType); - const pos = output[i].lastIndexOf(" "); - // We have to find the last whitespace and have to replace that value as - // it will be visualized as a regular string. - output[i] = output[i].slice(0, pos + 1) + - ctx.stylize("", "special"); - } - } - // Reset the keys to an empty array. This prevents duplicated inspection. - keys.length = 0; - return output; -} - -// The array is sparse and/or has extra keys -function formatSpecialArray( - ctx, - value, - recurseTimes, - maxLength, - output, - i, -) { - const keys = Object.keys(value); - let index = i; - for (; i < keys.length && output.length < maxLength; i++) { - const key = keys[i]; - const tmp = +key; - // Arrays can only have up to 2^32 - 1 entries - if (tmp > 2 ** 32 - 2) { - break; - } - if (`${index}` !== key) { - if (!numberRegExp.test(key)) { - break; - } - const emptyItems = tmp - index; - const ending = emptyItems > 1 ? "s" : ""; - const message = `<${emptyItems} empty item${ending}>`; - output.push(ctx.stylize(message, "undefined")); - index = tmp; - if (output.length === maxLength) { - break; - } - } - output.push(formatProperty(ctx, value, recurseTimes, key, kArrayType)); - index++; - } - const remaining = value.length - index; - if (output.length !== maxLength) { - if (remaining > 0) { - const ending = remaining > 1 ? "s" : ""; - const message = `<${remaining} empty item${ending}>`; - output.push(ctx.stylize(message, "undefined")); - } - } else if (remaining > 0) { - output.push(`... ${remaining} more item${remaining > 1 ? "s" : ""}`); - } - return output; -} - -function getBoxedBase( - value, - ctx, - keys, - constructor, - tag, -) { - let type; - if (types.isNumberObject(value)) { - type = "Number"; - } else if (types.isStringObject(value)) { - type = "String"; - // For boxed Strings, we have to remove the 0-n indexed entries, - // since they just noisy up the output and are redundant - // Make boxed primitive Strings look like such - keys.splice(0, value.length); - } else if (types.isBooleanObject(value)) { - type = "Boolean"; - } else if (types.isBigIntObject(value)) { - type = "BigInt"; - } else { - type = "Symbol"; - } - let base = `[${type}`; - if (type !== constructor) { - if (constructor === null) { - base += " (null prototype)"; - } else { - base += ` (${constructor})`; - } - } - - base += `: ${formatPrimitive(stylizeNoColor, value.valueOf(), ctx)}]`; - if (tag !== "" && tag !== constructor) { - base += ` [${tag}]`; - } - if (keys.length !== 0 || ctx.stylize === stylizeNoColor) { - return base; - } - return ctx.stylize(base, type.toLowerCase()); -} - -function getClassBase(value, constructor, tag) { - // deno-lint-ignore no-prototype-builtins - const hasName = value.hasOwnProperty("name"); - const name = (hasName && value.name) || "(anonymous)"; - let base = `class ${name}`; - if (constructor !== "Function" && constructor !== null) { - base += ` [${constructor}]`; - } - if (tag !== "" && constructor !== tag) { - base += ` [${tag}]`; - } - if (constructor !== null) { - const superName = Object.getPrototypeOf(value).name; - if (superName) { - base += ` extends ${superName}`; - } - } else { - base += " extends [null prototype]"; - } - return `[${base}]`; -} - -function reduceToSingleString( - ctx, - output, - base, - braces, - extrasType, - recurseTimes, - value, -) { - if (ctx.compact !== true) { - if (typeof ctx.compact === "number" && ctx.compact >= 1) { - // Memorize the original output length. In case the output is grouped, - // prevent lining up the entries on a single line. - const entries = output.length; - // Group array elements together if the array contains at least six - // separate entries. - if (extrasType === kArrayExtrasType && entries > 6) { - output = groupArrayElements(ctx, output, value); - } - // `ctx.currentDepth` is set to the most inner depth of the currently - // inspected object part while `recurseTimes` is the actual current depth - // that is inspected. - // - // Example: - // - // const a = { first: [ 1, 2, 3 ], second: { inner: [ 1, 2, 3 ] } } - // - // The deepest depth of `a` is 2 (a.second.inner) and `a.first` has a max - // depth of 1. - // - // Consolidate all entries of the local most inner depth up to - // `ctx.compact`, as long as the properties are smaller than - // `ctx.breakLength`. - if ( - ctx.currentDepth - recurseTimes < ctx.compact && - entries === output.length - ) { - // Line up all entries on a single line in case the entries do not - // exceed `breakLength`. Add 10 as constant to start next to all other - // factors that may reduce `breakLength`. - const start = output.length + ctx.indentationLvl + - braces[0].length + base.length + 10; - if (isBelowBreakLength(ctx, output, start, base)) { - return `${base ? `${base} ` : ""}${braces[0]} ${join(output, ", ")}` + - ` ${braces[1]}`; - } - } - } - // Line up each entry on an individual line. - const indentation = `\n${" ".repeat(ctx.indentationLvl)}`; - return `${base ? `${base} ` : ""}${braces[0]}${indentation} ` + - `${join(output, `,${indentation} `)}${indentation}${braces[1]}`; - } - // Line up all entries on a single line in case the entries do not exceed - // `breakLength`. - if (isBelowBreakLength(ctx, output, 0, base)) { - return `${braces[0]}${base ? ` ${base}` : ""} ${join(output, ", ")} ` + - braces[1]; - } - const indentation = " ".repeat(ctx.indentationLvl); - // If the opening "brace" is too large, like in the case of "Set {", - // we need to force the first item to be on the next line or the - // items will not line up correctly. - const ln = base === "" && braces[0].length === 1 - ? " " - : `${base ? ` ${base}` : ""}\n${indentation} `; - // Line up each entry on an individual line. - return `${braces[0]}${ln}${join(output, `,\n${indentation} `)} ${braces[1]}`; -} - -// The built-in Array#join is slower in v8 6.0 -function join(output, separator) { - let str = ""; - if (output.length !== 0) { - const lastIndex = output.length - 1; - for (let i = 0; i < lastIndex; i++) { - // It is faster not to use a template string here - str += output[i]; - str += separator; - } - str += output[lastIndex]; - } - return str; -} - -function groupArrayElements(ctx, output, value) { - let totalLength = 0; - let maxLength = 0; - let i = 0; - let outputLength = output.length; - if (ctx.maxArrayLength < output.length) { - // This makes sure the "... n more items" part is not taken into account. - outputLength--; - } - const separatorSpace = 2; // Add 1 for the space and 1 for the separator. - const dataLen = new Array(outputLength); - // Calculate the total length of all output entries and the individual max - // entries length of all output entries. We have to remove colors first, - // otherwise the length would not be calculated properly. - for (; i < outputLength; i++) { - const len = getStringWidth(output[i], ctx.colors); - dataLen[i] = len; - totalLength += len + separatorSpace; - if (maxLength < len) { - maxLength = len; - } - } - // Add two to `maxLength` as we add a single whitespace character plus a comma - // in-between two entries. - const actualMax = maxLength + separatorSpace; - // Check if at least three entries fit next to each other and prevent grouping - // of arrays that contains entries of very different length (i.e., if a single - // entry is longer than 1/5 of all other entries combined). Otherwise the - // space in-between small entries would be enormous. - if ( - actualMax * 3 + ctx.indentationLvl < ctx.breakLength && - (totalLength / actualMax > 5 || maxLength <= 6) - ) { - const approxCharHeights = 2.5; - const averageBias = Math.sqrt(actualMax - totalLength / output.length); - const biasedMax = Math.max(actualMax - 3 - averageBias, 1); - // Dynamically check how many columns seem possible. - const columns = Math.min( - // Ideally a square should be drawn. We expect a character to be about 2.5 - // times as high as wide. This is the area formula to calculate a square - // which contains n rectangles of size `actualMax * approxCharHeights`. - // Divide that by `actualMax` to receive the correct number of columns. - // The added bias increases the columns for short entries. - Math.round( - Math.sqrt( - approxCharHeights * biasedMax * outputLength, - ) / biasedMax, - ), - // Do not exceed the breakLength. - Math.floor((ctx.breakLength - ctx.indentationLvl) / actualMax), - // Limit array grouping for small `compact` modes as the user requested - // minimal grouping. - ctx.compact * 4, - // Limit the columns to a maximum of fifteen. - 15, - ); - // Return with the original output if no grouping should happen. - if (columns <= 1) { - return output; - } - const tmp = []; - const maxLineLength = []; - for (let i = 0; i < columns; i++) { - let lineMaxLength = 0; - for (let j = i; j < output.length; j += columns) { - if (dataLen[j] > lineMaxLength) { - lineMaxLength = dataLen[j]; - } - } - lineMaxLength += separatorSpace; - maxLineLength[i] = lineMaxLength; - } - let order = String.prototype.padStart; - if (value !== undefined) { - for (let i = 0; i < output.length; i++) { - if (typeof value[i] !== "number" && typeof value[i] !== "bigint") { - order = String.prototype.padEnd; - break; - } - } - } - // Each iteration creates a single line of grouped entries. - for (let i = 0; i < outputLength; i += columns) { - // The last lines may contain less entries than columns. - const max = Math.min(i + columns, outputLength); - let str = ""; - let j = i; - for (; j < max - 1; j++) { - // Calculate extra color padding in case it's active. This has to be - // done line by line as some lines might contain more colors than - // others. - const padding = maxLineLength[j - i] + output[j].length - dataLen[j]; - str += `${output[j]}, `.padStart(padding, " "); - } - if (order === String.prototype.padStart) { - const padding = maxLineLength[j - i] + - output[j].length - - dataLen[j] - - separatorSpace; - str += output[j].padStart(padding, " "); - } else { - str += output[j]; - } - Array.prototype.push.call(tmp, str); - } - if (ctx.maxArrayLength < output.length) { - Array.prototype.push.call(tmp, output[outputLength]); - } - output = tmp; - } - return output; -} - -function formatMapIterInner( - ctx, - recurseTimes, - entries, - state, -) { - const maxArrayLength = Math.max(ctx.maxArrayLength, 0); - // Entries exist as [key1, val1, key2, val2, ...] - const len = entries.length / 2; - const remaining = len - maxArrayLength; - const maxLength = Math.min(maxArrayLength, len); - let output = new Array(maxLength); - let i = 0; - ctx.indentationLvl += 2; - if (state === kWeak) { - for (; i < maxLength; i++) { - const pos = i * 2; - output[i] = `${formatValue(ctx, entries[pos], recurseTimes)} => ${ - formatValue(ctx, entries[pos + 1], recurseTimes) - }`; - } - // Sort all entries to have a halfway reliable output (if more entries than - // retrieved ones exist, we can not reliably return the same output) if the - // output is not sorted anyway. - if (!ctx.sorted) { - output = output.sort(); - } - } else { - for (; i < maxLength; i++) { - const pos = i * 2; - const res = [ - formatValue(ctx, entries[pos], recurseTimes), - formatValue(ctx, entries[pos + 1], recurseTimes), - ]; - output[i] = reduceToSingleString( - ctx, - res, - "", - ["[", "]"], - kArrayExtrasType, - recurseTimes, - ); - } - } - ctx.indentationLvl -= 2; - if (remaining > 0) { - output.push(`... ${remaining} more item${remaining > 1 ? "s" : ""}`); - } - return output; -} - -function formatSetIterInner( - ctx, - recurseTimes, - entries, - state, -) { - const maxArrayLength = Math.max(ctx.maxArrayLength, 0); - const maxLength = Math.min(maxArrayLength, entries.length); - const output = new Array(maxLength); - ctx.indentationLvl += 2; - for (let i = 0; i < maxLength; i++) { - output[i] = formatValue(ctx, entries[i], recurseTimes); - } - ctx.indentationLvl -= 2; - if (state === kWeak && !ctx.sorted) { - // Sort all entries to have a halfway reliable output (if more entries than - // retrieved ones exist, we can not reliably return the same output) if the - // output is not sorted anyway. - output.sort(); - } - const remaining = entries.length - maxLength; - if (remaining > 0) { - Array.prototype.push.call( - output, - `... ${remaining} more item${remaining > 1 ? "s" : ""}`, - ); - } - return output; -} - -// Regex used for ansi escape code splitting -// Adopted from https://github.com/chalk/ansi-regex/blob/HEAD/index.js -// License: MIT, authors: @sindresorhus, Qix-, arjunmehta and LitoMore -// Matches all ansi escape code sequences in a string -const ansiPattern = "[\\u001B\\u009B][[\\]()#;?]*" + - "(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*" + - "|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)" + - "|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"; -const ansi = new RegExp(ansiPattern, "g"); - -/** - * Returns the number of columns required to display the given string. - */ -export function getStringWidth(str, removeControlChars = true) { - let width = 0; - - if (removeControlChars) { - str = stripVTControlCharacters(str); - } - str = str.normalize("NFC"); - for (const char of str[Symbol.iterator]()) { - const code = char.codePointAt(0); - if (isFullWidthCodePoint(code)) { - width += 2; - } else if (!isZeroWidthCodePoint(code)) { - width++; - } - } - - return width; -} - -/** - * Returns true if the character represented by a given - * Unicode code point is full-width. Otherwise returns false. - */ -const isFullWidthCodePoint = (code) => { - // Code points are partially derived from: - // https://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt - return code >= 0x1100 && ( - code <= 0x115f || // Hangul Jamo - code === 0x2329 || // LEFT-POINTING ANGLE BRACKET - code === 0x232a || // RIGHT-POINTING ANGLE BRACKET - // CJK Radicals Supplement .. Enclosed CJK Letters and Months - (code >= 0x2e80 && code <= 0x3247 && code !== 0x303f) || - // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - (code >= 0x3250 && code <= 0x4dbf) || - // CJK Unified Ideographs .. Yi Radicals - (code >= 0x4e00 && code <= 0xa4c6) || - // Hangul Jamo Extended-A - (code >= 0xa960 && code <= 0xa97c) || - // Hangul Syllables - (code >= 0xac00 && code <= 0xd7a3) || - // CJK Compatibility Ideographs - (code >= 0xf900 && code <= 0xfaff) || - // Vertical Forms - (code >= 0xfe10 && code <= 0xfe19) || - // CJK Compatibility Forms .. Small Form Variants - (code >= 0xfe30 && code <= 0xfe6b) || - // Halfwidth and Fullwidth Forms - (code >= 0xff01 && code <= 0xff60) || - (code >= 0xffe0 && code <= 0xffe6) || - // Kana Supplement - (code >= 0x1b000 && code <= 0x1b001) || - // Enclosed Ideographic Supplement - (code >= 0x1f200 && code <= 0x1f251) || - // Miscellaneous Symbols and Pictographs 0x1f300 - 0x1f5ff - // Emoticons 0x1f600 - 0x1f64f - (code >= 0x1f300 && code <= 0x1f64f) || - // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - (code >= 0x20000 && code <= 0x3fffd) - ); -}; - -const isZeroWidthCodePoint = (code) => { - return code <= 0x1F || // C0 control codes - (code >= 0x7F && code <= 0x9F) || // C1 control codes - (code >= 0x300 && code <= 0x36F) || // Combining Diacritical Marks - (code >= 0x200B && code <= 0x200F) || // Modifying Invisible Characters - // Combining Diacritical Marks for Symbols - (code >= 0x20D0 && code <= 0x20FF) || - (code >= 0xFE00 && code <= 0xFE0F) || // Variation Selectors - (code >= 0xFE20 && code <= 0xFE2F) || // Combining Half Marks - (code >= 0xE0100 && code <= 0xE01EF); // Variation Selectors -}; - -function hasBuiltInToString(value) { - // TODO(wafuwafu13): Implement - // // Prevent triggering proxy traps. - // const getFullProxy = false; - // const proxyTarget = getProxyDetails(value, getFullProxy); - const proxyTarget = undefined; - if (proxyTarget !== undefined) { - value = proxyTarget; - } - - // Count objects that have no `toString` function as built-in. - if (typeof value.toString !== "function") { - return true; - } - - // The object has a own `toString` property. Thus it's not not a built-in one. - if (Object.prototype.hasOwnProperty.call(value, "toString")) { - return false; - } - - // Find the object that has the `toString` property as own property in the - // prototype chain. - let pointer = value; - do { - pointer = Object.getPrototypeOf(pointer); - } while (!Object.prototype.hasOwnProperty.call(pointer, "toString")); - - // Check closer if the object is a built-in. - const descriptor = Object.getOwnPropertyDescriptor(pointer, "constructor"); - return descriptor !== undefined && - typeof descriptor.value === "function" && - builtInObjects.has(descriptor.value.name); -} - -const firstErrorLine = (error) => error.message.split("\n", 1)[0]; -let CIRCULAR_ERROR_MESSAGE; -function tryStringify(arg) { - try { - return JSON.stringify(arg); - } catch (err) { - // Populate the circular error message lazily - if (!CIRCULAR_ERROR_MESSAGE) { - try { - const a = {}; - a.a = a; - JSON.stringify(a); - } catch (circularError) { - CIRCULAR_ERROR_MESSAGE = firstErrorLine(circularError); - } - } - if ( - err.name === "TypeError" && - firstErrorLine(err) === CIRCULAR_ERROR_MESSAGE - ) { - return "[Circular]"; - } - throw err; - } -} - -export function format(...args) { - return formatWithOptionsInternal(undefined, args); -} - -export function formatWithOptions(inspectOptions, ...args) { - if (typeof inspectOptions !== "object" || inspectOptions === null) { - throw new codes.ERR_INVALID_ARG_TYPE( - "inspectOptions", - "object", - inspectOptions, - ); - } - return formatWithOptionsInternal(inspectOptions, args); -} - -function formatNumberNoColor(number, options) { - return formatNumber( - stylizeNoColor, - number, - options?.numericSeparator ?? inspectDefaultOptions.numericSeparator, - ); -} - -function formatBigIntNoColor(bigint, options) { - return formatBigInt( - stylizeNoColor, - bigint, - options?.numericSeparator ?? inspectDefaultOptions.numericSeparator, - ); -} - -function formatWithOptionsInternal(inspectOptions, args) { - const first = args[0]; - let a = 0; - let str = ""; - let join = ""; - - if (typeof first === "string") { - if (args.length === 1) { - return first; - } - let tempStr; - let lastPos = 0; - - for (let i = 0; i < first.length - 1; i++) { - if (first.charCodeAt(i) === 37) { // '%' - const nextChar = first.charCodeAt(++i); - if (a + 1 !== args.length) { - switch (nextChar) { - // deno-lint-ignore no-case-declarations - case 115: // 's' - const tempArg = args[++a]; - if (typeof tempArg === "number") { - tempStr = formatNumberNoColor(tempArg, inspectOptions); - } else if (typeof tempArg === "bigint") { - tempStr = formatBigIntNoColor(tempArg, inspectOptions); - } else if ( - typeof tempArg !== "object" || - tempArg === null || - !hasBuiltInToString(tempArg) - ) { - tempStr = String(tempArg); - } else { - tempStr = inspect(tempArg, { - ...inspectOptions, - compact: 3, - colors: false, - depth: 0, - }); - } - break; - case 106: // 'j' - tempStr = tryStringify(args[++a]); - break; - // deno-lint-ignore no-case-declarations - case 100: // 'd' - const tempNum = args[++a]; - if (typeof tempNum === "bigint") { - tempStr = formatBigIntNoColor(tempNum, inspectOptions); - } else if (typeof tempNum === "symbol") { - tempStr = "NaN"; - } else { - tempStr = formatNumberNoColor(Number(tempNum), inspectOptions); - } - break; - case 79: // 'O' - tempStr = inspect(args[++a], inspectOptions); - break; - case 111: // 'o' - tempStr = inspect(args[++a], { - ...inspectOptions, - showHidden: true, - showProxy: true, - depth: 4, - }); - break; - // deno-lint-ignore no-case-declarations - case 105: // 'i' - const tempInteger = args[++a]; - if (typeof tempInteger === "bigint") { - tempStr = formatBigIntNoColor(tempInteger, inspectOptions); - } else if (typeof tempInteger === "symbol") { - tempStr = "NaN"; - } else { - tempStr = formatNumberNoColor( - Number.parseInt(tempInteger), - inspectOptions, - ); - } - break; - // deno-lint-ignore no-case-declarations - case 102: // 'f' - const tempFloat = args[++a]; - if (typeof tempFloat === "symbol") { - tempStr = "NaN"; - } else { - tempStr = formatNumberNoColor( - Number.parseFloat(tempFloat), - inspectOptions, - ); - } - break; - case 99: // 'c' - a += 1; - tempStr = ""; - break; - case 37: // '%' - str += first.slice(lastPos, i); - lastPos = i + 1; - continue; - default: // Any other character is not a correct placeholder - continue; - } - if (lastPos !== i - 1) { - str += first.slice(lastPos, i - 1); - } - str += tempStr; - lastPos = i + 1; - } else if (nextChar === 37) { - str += first.slice(lastPos, i); - lastPos = i + 1; - } - } - } - if (lastPos !== 0) { - a++; - join = " "; - if (lastPos < first.length) { - str += first.slice(lastPos); - } - } - } - - while (a < args.length) { - const value = args[a]; - str += join; - str += typeof value !== "string" ? inspect(value, inspectOptions) : value; - join = " "; - a++; - } - return str; -} - -/** - * Remove all VT control characters. Use to estimate displayed string width. - */ -export function stripVTControlCharacters(str) { - validateString(str, "str"); - - return str.replace(ansi, ""); -} - -export default { - format, - getStringWidth, - inspect, - stripVTControlCharacters, - formatWithOptions, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/types.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/types.ts deleted file mode 100644 index f4014dc..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/types.ts +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// -// Adapted from Node.js. Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import * as bindingTypes from "../../internal_binding/types.ts"; -export { isCryptoKey, isKeyObject } from "../crypto/_keys.ts"; - -// https://tc39.es/ecma262/#sec-get-%typedarray%.prototype-@@tostringtag -const _getTypedArrayToStringTag = Object.getOwnPropertyDescriptor( - Object.getPrototypeOf(Uint8Array).prototype, - Symbol.toStringTag, -)!.get!; - -export function isArrayBufferView(value: unknown): boolean { - return ArrayBuffer.isView(value); -} - -export function isBigInt64Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "BigInt64Array"; -} - -export function isBigUint64Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "BigUint64Array"; -} - -export function isFloat32Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Float32Array"; -} - -export function isFloat64Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Float64Array"; -} - -export function isInt8Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Int8Array"; -} - -export function isInt16Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Int16Array"; -} - -export function isInt32Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Int32Array"; -} - -export function isTypedArray(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) !== undefined; -} - -export function isUint8Array(value: unknown): value is Uint8Array { - return _getTypedArrayToStringTag.call(value) === "Uint8Array"; -} - -export function isUint8ClampedArray(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Uint8ClampedArray"; -} - -export function isUint16Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Uint16Array"; -} - -export function isUint32Array(value: unknown): boolean { - return _getTypedArrayToStringTag.call(value) === "Uint32Array"; -} - -export const { - // isExternal, - isDate, - isArgumentsObject, - isBigIntObject, - isBooleanObject, - isNumberObject, - isStringObject, - isSymbolObject, - isNativeError, - isRegExp, - isAsyncFunction, - isGeneratorFunction, - isGeneratorObject, - isPromise, - isMap, - isSet, - isMapIterator, - isSetIterator, - isWeakMap, - isWeakSet, - isArrayBuffer, - isDataView, - isSharedArrayBuffer, - isProxy, - isModuleNamespaceObject, - isAnyArrayBuffer, - isBoxedPrimitive, -} = bindingTypes; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/validators.mjs b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/validators.mjs deleted file mode 100644 index 1d1c80e..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal/validators.mjs +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent and Node contributors. All rights reserved. MIT license. - -import { codes } from "./error_codes.ts"; -import { hideStackFrames } from "./hide_stack_frames.ts"; -import { isArrayBufferView } from "./util/types.ts"; -import { normalizeEncoding } from "./normalize_encoding.mjs"; - -/** - * @param {number} value - * @returns {boolean} - */ -function isInt32(value) { - return value === (value | 0); -} - -/** - * @param {unknown} value - * @returns {boolean} - */ -function isUint32(value) { - return value === (value >>> 0); -} - -const octalReg = /^[0-7]+$/; -const modeDesc = "must be a 32-bit unsigned integer or an octal string"; - -/** - * Parse and validate values that will be converted into mode_t (the S_* - * constants). Only valid numbers and octal strings are allowed. They could be - * converted to 32-bit unsigned integers or non-negative signed integers in the - * C++ land, but any value higher than 0o777 will result in platform-specific - * behaviors. - * - * @param {*} value Values to be validated - * @param {string} name Name of the argument - * @param {number} [def] If specified, will be returned for invalid values - * @returns {number} - */ -function parseFileMode(value, name, def) { - value ??= def; - if (typeof value === "string") { - if (!octalReg.test(value)) { - throw new codes.ERR_INVALID_ARG_VALUE(name, value, modeDesc); - } - value = Number.parseInt(value, 8); - } - - validateInt32(value, name, 0, 2 ** 32 - 1); - return value; -} - -const validateBuffer = hideStackFrames((buffer, name = "buffer") => { - if (!isArrayBufferView(buffer)) { - throw new codes.ERR_INVALID_ARG_TYPE( - name, - ["Buffer", "TypedArray", "DataView"], - buffer, - ); - } -}); - -const validateInteger = hideStackFrames( - ( - value, - name, - min = Number.MIN_SAFE_INTEGER, - max = Number.MAX_SAFE_INTEGER, - ) => { - if (typeof value !== "number") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); - } - if (!Number.isInteger(value)) { - throw new codes.ERR_OUT_OF_RANGE(name, "an integer", value); - } - if (value < min || value > max) { - throw new codes.ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); - } - }, -); - -/** - * @param {unknown} value - * @param {string} name - * @param {{ - * allowArray?: boolean, - * allowFunction?: boolean, - * nullable?: boolean - * }} [options] - */ -const validateObject = hideStackFrames((value, name, options) => { - const useDefaultOptions = options == null; - const allowArray = useDefaultOptions ? false : options.allowArray; - const allowFunction = useDefaultOptions ? false : options.allowFunction; - const nullable = useDefaultOptions ? false : options.nullable; - if ( - (!nullable && value === null) || - (!allowArray && Array.isArray(value)) || - (typeof value !== "object" && ( - !allowFunction || typeof value !== "function" - )) - ) { - throw new codes.ERR_INVALID_ARG_TYPE(name, "Object", value); - } -}); - -const validateInt32 = hideStackFrames( - (value, name, min = -2147483648, max = 2147483647) => { - // The defaults for min and max correspond to the limits of 32-bit integers. - if (!isInt32(value)) { - if (typeof value !== "number") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); - } - - if (!Number.isInteger(value)) { - throw new codes.ERR_OUT_OF_RANGE(name, "an integer", value); - } - - throw new codes.ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); - } - - if (value < min || value > max) { - throw new codes.ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); - } - }, -); - -const validateUint32 = hideStackFrames( - (value, name, positive) => { - if (!isUint32(value)) { - if (typeof value !== "number") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); - } - if (!Number.isInteger(value)) { - throw new codes.ERR_OUT_OF_RANGE(name, "an integer", value); - } - const min = positive ? 1 : 0; - // 2 ** 32 === 4294967296 - throw new codes.ERR_OUT_OF_RANGE( - name, - `>= ${min} && < 4294967296`, - value, - ); - } - if (positive && value === 0) { - throw new codes.ERR_OUT_OF_RANGE(name, ">= 1 && < 4294967296", value); - } - }, -); - -/** - * @param {unknown} value - * @param {string} name - */ -function validateString(value, name) { - if (typeof value !== "string") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "string", value); - } -} - -/** - * @param {unknown} value - * @param {string} name - */ -function validateNumber(value, name) { - if (typeof value !== "number") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); - } -} - -/** - * @param {unknown} value - * @param {string} name - */ -function validateBoolean(value, name) { - if (typeof value !== "boolean") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "boolean", value); - } -} - -/** - * @param {unknown} value - * @param {string} name - * @param {unknown[]} oneOf - */ -const validateOneOf = hideStackFrames( - (value, name, oneOf) => { - if (!Array.prototype.includes.call(oneOf, value)) { - const allowed = Array.prototype.join.call( - Array.prototype.map.call( - oneOf, - (v) => (typeof v === "string" ? `'${v}'` : String(v)), - ), - ", ", - ); - const reason = "must be one of: " + allowed; - - throw new codes.ERR_INVALID_ARG_VALUE(name, value, reason); - } - }, -); - -export function validateEncoding(data, encoding) { - const normalizedEncoding = normalizeEncoding(encoding); - const length = data.length; - - if (normalizedEncoding === "hex" && length % 2 !== 0) { - throw new codes.ERR_INVALID_ARG_VALUE( - "encoding", - encoding, - `is invalid for data of length ${length}`, - ); - } -} - -// Check that the port number is not NaN when coerced to a number, -// is an integer and that it falls within the legal range of port numbers. -/** - * @param {string} name - * @returns {number} - */ -function validatePort(port, name = "Port", allowZero = true) { - if ( - (typeof port !== "number" && typeof port !== "string") || - (typeof port === "string" && - String.prototype.trim.call(port).length === 0) || - +port !== (+port >>> 0) || - port > 0xFFFF || - (port === 0 && !allowZero) - ) { - throw new codes.ERR_SOCKET_BAD_PORT(name, port, allowZero); - } - - return port; -} - -/** - * @param {unknown} signal - * @param {string} name - */ -const validateAbortSignal = hideStackFrames( - (signal, name) => { - if ( - signal !== undefined && - (signal === null || - typeof signal !== "object" || - !("aborted" in signal)) - ) { - throw new codes.ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); - } - }, -); - -/** - * @param {unknown} value - * @param {string} name - */ -const validateFunction = hideStackFrames( - (value, name) => { - if (typeof value !== "function") { - throw new codes.ERR_INVALID_ARG_TYPE(name, "Function", value); - } - }, -); - -/** - * @param {unknown} value - * @param {string} name - */ -const validateArray = hideStackFrames( - (value, name, minLength = 0) => { - if (!Array.isArray(value)) { - throw new codes.ERR_INVALID_ARG_TYPE(name, "Array", value); - } - if (value.length < minLength) { - const reason = `must be longer than ${minLength}`; - throw new codes.ERR_INVALID_ARG_VALUE(name, value, reason); - } - }, -); - -export default { - isInt32, - isUint32, - parseFileMode, - validateAbortSignal, - validateArray, - validateBoolean, - validateBuffer, - validateFunction, - validateInt32, - validateInteger, - validateNumber, - validateObject, - validateOneOf, - validatePort, - validateString, - validateUint32, -}; -export { - isInt32, - isUint32, - parseFileMode, - validateAbortSignal, - validateArray, - validateBoolean, - validateBuffer, - validateFunction, - validateInt32, - validateInteger, - validateNumber, - validateObject, - validateOneOf, - validatePort, - validateString, - validateUint32, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/#_timingsafeequal_bd5c8.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/#_timingsafeequal_bd5c8.ts deleted file mode 100644 index 352839a..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/#_timingsafeequal_bd5c8.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { Buffer } from "../buffer.ts"; -import { timingSafeEqual as stdTimingSafeEqual } from "../../crypto/timing_safe_equal.ts"; - -export const timingSafeEqual = ( - a: Buffer | DataView | ArrayBuffer, - b: Buffer | DataView | ArrayBuffer, -): boolean => { - if (a instanceof Buffer) a = new DataView(a.buffer); - if (a instanceof Buffer) b = new DataView(a.buffer); - return stdTimingSafeEqual(a, b); -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts deleted file mode 100644 index 3b69cef..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts +++ /dev/null @@ -1,229 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -/* Copyright Joyent, Inc. and other Node contributors. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - */ - -// This module ports: -// - https://github.com/libuv/libuv/blob/master/src/win/error.c - -import * as winErrors from "./_winerror.ts"; - -export function uvTranslateSysError(sysErrno: number): string { - switch (sysErrno) { - case winErrors.ERROR_ACCESS_DENIED: - return "EACCES"; - case winErrors.ERROR_NOACCESS: - return "EACCES"; - case winErrors.WSAEACCES: - return "EACCES"; - // case winErrors.ERROR_ELEVATION_REQUIRED: return "EACCES"; - case winErrors.ERROR_CANT_ACCESS_FILE: - return "EACCES"; - case winErrors.ERROR_ADDRESS_ALREADY_ASSOCIATED: - return "EADDRINUSE"; - case winErrors.WSAEADDRINUSE: - return "EADDRINUSE"; - case winErrors.WSAEADDRNOTAVAIL: - return "EADDRNOTAVAIL"; - case winErrors.WSAEAFNOSUPPORT: - return "EAFNOSUPPORT"; - case winErrors.WSAEWOULDBLOCK: - return "EAGAIN"; - case winErrors.WSAEALREADY: - return "EALREADY"; - case winErrors.ERROR_INVALID_FLAGS: - return "EBADF"; - case winErrors.ERROR_INVALID_HANDLE: - return "EBADF"; - case winErrors.ERROR_LOCK_VIOLATION: - return "EBUSY"; - case winErrors.ERROR_PIPE_BUSY: - return "EBUSY"; - case winErrors.ERROR_SHARING_VIOLATION: - return "EBUSY"; - case winErrors.ERROR_OPERATION_ABORTED: - return "ECANCELED"; - case winErrors.WSAEINTR: - return "ECANCELED"; - case winErrors.ERROR_NO_UNICODE_TRANSLATION: - return "ECHARSET"; - case winErrors.ERROR_CONNECTION_ABORTED: - return "ECONNABORTED"; - case winErrors.WSAECONNABORTED: - return "ECONNABORTED"; - case winErrors.ERROR_CONNECTION_REFUSED: - return "ECONNREFUSED"; - case winErrors.WSAECONNREFUSED: - return "ECONNREFUSED"; - case winErrors.ERROR_NETNAME_DELETED: - return "ECONNRESET"; - case winErrors.WSAECONNRESET: - return "ECONNRESET"; - case winErrors.ERROR_ALREADY_EXISTS: - return "EEXIST"; - case winErrors.ERROR_FILE_EXISTS: - return "EEXIST"; - case winErrors.ERROR_BUFFER_OVERFLOW: - return "EFAULT"; - case winErrors.WSAEFAULT: - return "EFAULT"; - case winErrors.ERROR_HOST_UNREACHABLE: - return "EHOSTUNREACH"; - case winErrors.WSAEHOSTUNREACH: - return "EHOSTUNREACH"; - case winErrors.ERROR_INSUFFICIENT_BUFFER: - return "EINVAL"; - case winErrors.ERROR_INVALID_DATA: - return "EINVAL"; - case winErrors.ERROR_INVALID_NAME: - return "EINVAL"; - case winErrors.ERROR_INVALID_PARAMETER: - return "EINVAL"; - // case winErrors.ERROR_SYMLINK_NOT_SUPPORTED: return "EINVAL"; - case winErrors.WSAEINVAL: - return "EINVAL"; - case winErrors.WSAEPFNOSUPPORT: - return "EINVAL"; - case winErrors.ERROR_BEGINNING_OF_MEDIA: - return "EIO"; - case winErrors.ERROR_BUS_RESET: - return "EIO"; - case winErrors.ERROR_CRC: - return "EIO"; - case winErrors.ERROR_DEVICE_DOOR_OPEN: - return "EIO"; - case winErrors.ERROR_DEVICE_REQUIRES_CLEANING: - return "EIO"; - case winErrors.ERROR_DISK_CORRUPT: - return "EIO"; - case winErrors.ERROR_EOM_OVERFLOW: - return "EIO"; - case winErrors.ERROR_FILEMARK_DETECTED: - return "EIO"; - case winErrors.ERROR_GEN_FAILURE: - return "EIO"; - case winErrors.ERROR_INVALID_BLOCK_LENGTH: - return "EIO"; - case winErrors.ERROR_IO_DEVICE: - return "EIO"; - case winErrors.ERROR_NO_DATA_DETECTED: - return "EIO"; - case winErrors.ERROR_NO_SIGNAL_SENT: - return "EIO"; - case winErrors.ERROR_OPEN_FAILED: - return "EIO"; - case winErrors.ERROR_SETMARK_DETECTED: - return "EIO"; - case winErrors.ERROR_SIGNAL_REFUSED: - return "EIO"; - case winErrors.WSAEISCONN: - return "EISCONN"; - case winErrors.ERROR_CANT_RESOLVE_FILENAME: - return "ELOOP"; - case winErrors.ERROR_TOO_MANY_OPEN_FILES: - return "EMFILE"; - case winErrors.WSAEMFILE: - return "EMFILE"; - case winErrors.WSAEMSGSIZE: - return "EMSGSIZE"; - case winErrors.ERROR_FILENAME_EXCED_RANGE: - return "ENAMETOOLONG"; - case winErrors.ERROR_NETWORK_UNREACHABLE: - return "ENETUNREACH"; - case winErrors.WSAENETUNREACH: - return "ENETUNREACH"; - case winErrors.WSAENOBUFS: - return "ENOBUFS"; - case winErrors.ERROR_BAD_PATHNAME: - return "ENOENT"; - case winErrors.ERROR_DIRECTORY: - return "ENOTDIR"; - case winErrors.ERROR_ENVVAR_NOT_FOUND: - return "ENOENT"; - case winErrors.ERROR_FILE_NOT_FOUND: - return "ENOENT"; - case winErrors.ERROR_INVALID_DRIVE: - return "ENOENT"; - case winErrors.ERROR_INVALID_REPARSE_DATA: - return "ENOENT"; - case winErrors.ERROR_MOD_NOT_FOUND: - return "ENOENT"; - case winErrors.ERROR_PATH_NOT_FOUND: - return "ENOENT"; - case winErrors.WSAHOST_NOT_FOUND: - return "ENOENT"; - case winErrors.WSANO_DATA: - return "ENOENT"; - case winErrors.ERROR_NOT_ENOUGH_MEMORY: - return "ENOMEM"; - case winErrors.ERROR_OUTOFMEMORY: - return "ENOMEM"; - case winErrors.ERROR_CANNOT_MAKE: - return "ENOSPC"; - case winErrors.ERROR_DISK_FULL: - return "ENOSPC"; - case winErrors.ERROR_EA_TABLE_FULL: - return "ENOSPC"; - case winErrors.ERROR_END_OF_MEDIA: - return "ENOSPC"; - case winErrors.ERROR_HANDLE_DISK_FULL: - return "ENOSPC"; - case winErrors.ERROR_NOT_CONNECTED: - return "ENOTCONN"; - case winErrors.WSAENOTCONN: - return "ENOTCONN"; - case winErrors.ERROR_DIR_NOT_EMPTY: - return "ENOTEMPTY"; - case winErrors.WSAENOTSOCK: - return "ENOTSOCK"; - case winErrors.ERROR_NOT_SUPPORTED: - return "ENOTSUP"; - case winErrors.ERROR_BROKEN_PIPE: - return "EOF"; - case winErrors.ERROR_PRIVILEGE_NOT_HELD: - return "EPERM"; - case winErrors.ERROR_BAD_PIPE: - return "EPIPE"; - case winErrors.ERROR_NO_DATA: - return "EPIPE"; - case winErrors.ERROR_PIPE_NOT_CONNECTED: - return "EPIPE"; - case winErrors.WSAESHUTDOWN: - return "EPIPE"; - case winErrors.WSAEPROTONOSUPPORT: - return "EPROTONOSUPPORT"; - case winErrors.ERROR_WRITE_PROTECT: - return "EROFS"; - case winErrors.ERROR_SEM_TIMEOUT: - return "ETIMEDOUT"; - case winErrors.WSAETIMEDOUT: - return "ETIMEDOUT"; - case winErrors.ERROR_NOT_SAME_DEVICE: - return "EXDEV"; - case winErrors.ERROR_INVALID_FUNCTION: - return "EISDIR"; - case winErrors.ERROR_META_EXPANSION_TOO_LONG: - return "E2BIG"; - case winErrors.WSAESOCKTNOSUPPORT: - return "ESOCKTNOSUPPORT"; - default: - return "UNKNOWN"; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts deleted file mode 100644 index d801b05..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -/** - * @param n Number to act on. - * @return The number rounded up to the nearest power of 2. - */ -export function ceilPowOf2(n: number) { - const roundPowOf2 = 1 << (31 - Math.clz32(n)); - - return roundPowOf2 < n ? roundPowOf2 * 2 : roundPowOf2; -} - -/** Initial backoff delay of 5ms following a temporary accept failure. */ -export const INITIAL_ACCEPT_BACKOFF_DELAY = 5; - -/** Max backoff delay of 1s following a temporary accept failure. */ -export const MAX_ACCEPT_BACKOFF_DELAY = 1000; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts deleted file mode 100644 index 47a289d..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This file contains C++ node globals accesed in internal binding calls - -/** - * Adapted from - * https://github.com/nodejs/node/blob/3b72788afb7365e10ae1e97c71d1f60ee29f09f2/src/node.h#L728-L738 - */ -export enum Encodings { - ASCII, // 0 - UTF8, // 1 - BASE64, // 2 - UCS2, // 3 - BINARY, // 4 - HEX, // 5 - BUFFER, // 6 - BASE64URL, // 7 - LATIN1 = 4, // 4 = BINARY -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts deleted file mode 100644 index e841e7f..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import * as base64 from "../../encoding/base64.ts"; -import * as base64url from "../../encoding/base64url.ts"; - -export function asciiToBytes(str: string) { - const byteArray = []; - for (let i = 0; i < str.length; ++i) { - byteArray.push(str.charCodeAt(i) & 255); - } - return new Uint8Array(byteArray); -} - -export function base64ToBytes(str: string) { - str = base64clean(str); - str = str.replaceAll("-", "+").replaceAll("_", "/"); - return base64.decode(str); -} - -const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; -function base64clean(str: string) { - // Node takes equal signs as end of the Base64 encoding - str = str.split("=")[0]; - // Node strips out invalid characters like \n and \t from the string, std/base64 does not - str = str.trim().replace(INVALID_BASE64_RE, ""); - // Node converts strings with length < 2 to '' - if (str.length < 2) return ""; - // Node allows for non-padded base64 strings (missing trailing ===), std/base64 does not - while (str.length % 4 !== 0) { - str = str + "="; - } - return str; -} - -export function base64UrlToBytes(str: string) { - str = base64clean(str); - str = str.replaceAll("+", "-").replaceAll("/", "_"); - return base64url.decode(str); -} - -export function hexToBytes(str: string) { - const byteArray = new Uint8Array(Math.floor((str || "").length / 2)); - let i; - for (i = 0; i < byteArray.length; i++) { - const a = Number.parseInt(str[i * 2], 16); - const b = Number.parseInt(str[i * 2 + 1], 16); - if (Number.isNaN(a) && Number.isNaN(b)) { - break; - } - byteArray[i] = (a << 4) | b; - } - return new Uint8Array( - i === byteArray.length ? byteArray : byteArray.slice(0, i), - ); -} - -export function utf16leToBytes(str: string, units: number) { - let c, hi, lo; - const byteArray = []; - for (let i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) { - break; - } - c = str.charCodeAt(i); - hi = c >> 8; - lo = c % 256; - byteArray.push(lo); - byteArray.push(hi); - } - return new Uint8Array(byteArray); -} - -export function bytesToAscii(bytes: Uint8Array) { - let ret = ""; - for (let i = 0; i < bytes.length; ++i) { - ret += String.fromCharCode(bytes[i] & 127); - } - return ret; -} - -export function bytesToUtf16le(bytes: Uint8Array) { - let res = ""; - for (let i = 0; i < bytes.length - 1; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); - } - return res; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts deleted file mode 100644 index e8c3813..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts +++ /dev/null @@ -1,16873 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -/*++ - -Copyright (c) Microsoft Corporation. All rights reserved. - -You may only use this code if you agree to the terms of the Windows Research Kernel Source Code License agreement (see License.txt). -If you do not agree to the terms, do not use the code. - -Module: - - winderror.h - -Abstract: - - Win32 API functions - ---*/ - -// This module ports: -// - https://raw.githubusercontent.com/mic101/windows/master/WRK-v1.2/public/sdk/inc/winerror.h - -// MessageId: ERROR_SUCCESS -// -// MessageText: -// -// The operation completed successfully. -// -export const ERROR_SUCCESS = 0; - -// -// MessageId: ERROR_INVALID_FUNCTION -// -// MessageText: -// -// Incorrect function. -// -export const ERROR_INVALID_FUNCTION = 1; // dderror - -// -// MessageId: ERROR_FILE_NOT_FOUND -// -// MessageText: -// -// The system cannot find the file specified. -// -export const ERROR_FILE_NOT_FOUND = 2; - -// -// MessageId: ERROR_PATH_NOT_FOUND -// -// MessageText: -// -// The system cannot find the path specified. -// -export const ERROR_PATH_NOT_FOUND = 3; - -// -// MessageId: ERROR_TOO_MANY_OPEN_FILES -// -// MessageText: -// -// The system cannot open the file. -// -export const ERROR_TOO_MANY_OPEN_FILES = 4; - -// -// MessageId: ERROR_ACCESS_DENIED -// -// MessageText: -// -// Access is denied. -// -export const ERROR_ACCESS_DENIED = 5; - -// -// MessageId: ERROR_INVALID_HANDLE -// -// MessageText: -// -// The handle is invalid. -// -export const ERROR_INVALID_HANDLE = 6; - -// -// MessageId: ERROR_ARENA_TRASHED -// -// MessageText: -// -// The storage control blocks were destroyed. -// -export const ERROR_ARENA_TRASHED = 7; - -// -// MessageId: ERROR_NOT_ENOUGH_MEMORY -// -// MessageText: -// -// Not enough storage is available to process this command. -// -export const ERROR_NOT_ENOUGH_MEMORY = 8; // dderror - -// -// MessageId: ERROR_INVALID_BLOCK -// -// MessageText: -// -// The storage control block address is invalid. -// -export const ERROR_INVALID_BLOCK = 9; - -// -// MessageId: ERROR_BAD_ENVIRONMENT -// -// MessageText: -// -// The environment is incorrect. -// -export const ERROR_BAD_ENVIRONMENT = 10; - -// -// MessageId: ERROR_BAD_FORMAT -// -// MessageText: -// -// An attempt was made to load a program with an incorrect format. -// -export const ERROR_BAD_FORMAT = 11; - -// -// MessageId: ERROR_INVALID_ACCESS -// -// MessageText: -// -// The access code is invalid. -// -export const ERROR_INVALID_ACCESS = 12; - -// -// MessageId: ERROR_INVALID_DATA -// -// MessageText: -// -// The data is invalid. -// -export const ERROR_INVALID_DATA = 13; - -// -// MessageId: ERROR_OUTOFMEMORY -// -// MessageText: -// -// Not enough storage is available to complete this operation. -// -export const ERROR_OUTOFMEMORY = 14; - -// -// MessageId: ERROR_INVALID_DRIVE -// -// MessageText: -// -// The system cannot find the drive specified. -// -export const ERROR_INVALID_DRIVE = 15; - -// -// MessageId: ERROR_CURRENT_DIRECTORY -// -// MessageText: -// -// The directory cannot be removed. -// -export const ERROR_CURRENT_DIRECTORY = 16; - -// -// MessageId: ERROR_NOT_SAME_DEVICE -// -// MessageText: -// -// The system cannot move the file to a different disk drive. -// -export const ERROR_NOT_SAME_DEVICE = 17; - -// -// MessageId: ERROR_NO_MORE_FILES -// -// MessageText: -// -// There are no more files. -// -export const ERROR_NO_MORE_FILES = 18; - -// -// MessageId: ERROR_WRITE_PROTECT -// -// MessageText: -// -// The media is write protected. -// -export const ERROR_WRITE_PROTECT = 19; - -// -// MessageId: ERROR_BAD_UNIT -// -// MessageText: -// -// The system cannot find the device specified. -// -export const ERROR_BAD_UNIT = 20; - -// -// MessageId: ERROR_NOT_READY -// -// MessageText: -// -// The device is not ready. -// -export const ERROR_NOT_READY = 21; - -// -// MessageId: ERROR_BAD_COMMAND -// -// MessageText: -// -// The device does not recognize the command. -// -export const ERROR_BAD_COMMAND = 22; - -// -// MessageId: ERROR_CRC -// -// MessageText: -// -// Data error (cyclic redundancy check). -// -export const ERROR_CRC = 23; - -// -// MessageId: ERROR_BAD_LENGTH -// -// MessageText: -// -// The program issued a command but the command length is incorrect. -// -export const ERROR_BAD_LENGTH = 24; - -// -// MessageId: ERROR_SEEK -// -// MessageText: -// -// The drive cannot locate a specific area or track on the disk. -// -export const ERROR_SEEK = 25; - -// -// MessageId: ERROR_NOT_DOS_DISK -// -// MessageText: -// -// The specified disk or diskette cannot be accessed. -// -export const ERROR_NOT_DOS_DISK = 26; - -// -// MessageId: ERROR_SECTOR_NOT_FOUND -// -// MessageText: -// -// The drive cannot find the sector requested. -// -export const ERROR_SECTOR_NOT_FOUND = 27; - -// -// MessageId: ERROR_OUT_OF_PAPER -// -// MessageText: -// -// The printer is out of paper. -// -export const ERROR_OUT_OF_PAPER = 28; - -// -// MessageId: ERROR_WRITE_FAULT -// -// MessageText: -// -// The system cannot write to the specified device. -// -export const ERROR_WRITE_FAULT = 29; - -// -// MessageId: ERROR_READ_FAULT -// -// MessageText: -// -// The system cannot read from the specified device. -// -export const ERROR_READ_FAULT = 30; - -// -// MessageId: ERROR_GEN_FAILURE -// -// MessageText: -// -// A device attached to the system is not functioning. -// -export const ERROR_GEN_FAILURE = 31; - -// -// MessageId: ERROR_SHARING_VIOLATION -// -// MessageText: -// -// The process cannot access the file because it is being used by another process. -// -export const ERROR_SHARING_VIOLATION = 32; - -// -// MessageId: ERROR_LOCK_VIOLATION -// -// MessageText: -// -// The process cannot access the file because another process has locked a portion of the file. -// -export const ERROR_LOCK_VIOLATION = 33; - -// -// MessageId: ERROR_WRONG_DISK -// -// MessageText: -// -// The wrong diskette is in the drive. -// Insert %2 (Volume Serial Number: %3) into drive %1. -// -export const ERROR_WRONG_DISK = 34; - -// -// MessageId: ERROR_SHARING_BUFFER_EXCEEDED -// -// MessageText: -// -// Too many files opened for sharing. -// -export const ERROR_SHARING_BUFFER_EXCEEDED = 36; - -// -// MessageId: ERROR_HANDLE_EOF -// -// MessageText: -// -// Reached the end of the file. -// -export const ERROR_HANDLE_EOF = 38; - -// -// MessageId: ERROR_HANDLE_DISK_FULL -// -// MessageText: -// -// The disk is full. -// -export const ERROR_HANDLE_DISK_FULL = 39; - -// -// MessageId: ERROR_NOT_SUPPORTED -// -// MessageText: -// -// The request is not supported. -// -export const ERROR_NOT_SUPPORTED = 50; - -// -// MessageId: ERROR_REM_NOT_LIST -// -// MessageText: -// -// Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator. -// -export const ERROR_REM_NOT_LIST = 51; - -// -// MessageId: ERROR_DUP_NAME -// -// MessageText: -// -// You were not connected because a duplicate name exists on the network. Go to System in Control Panel to change the computer name and try again. -// -export const ERROR_DUP_NAME = 52; - -// -// MessageId: ERROR_BAD_NETPATH -// -// MessageText: -// -// The network path was not found. -// -export const ERROR_BAD_NETPATH = 53; - -// -// MessageId: ERROR_NETWORK_BUSY -// -// MessageText: -// -// The network is busy. -// -export const ERROR_NETWORK_BUSY = 54; - -// -// MessageId: ERROR_DEV_NOT_EXIST -// -// MessageText: -// -// The specified network resource or device is no longer available. -// -export const ERROR_DEV_NOT_EXIST = 55; // dderror - -// -// MessageId: ERROR_TOO_MANY_CMDS -// -// MessageText: -// -// The network BIOS command limit has been reached. -// -export const ERROR_TOO_MANY_CMDS = 56; - -// -// MessageId: ERROR_ADAP_HDW_ERR -// -// MessageText: -// -// A network adapter hardware error occurred. -// -export const ERROR_ADAP_HDW_ERR = 57; - -// -// MessageId: ERROR_BAD_NET_RESP -// -// MessageText: -// -// The specified server cannot perform the requested operation. -// -export const ERROR_BAD_NET_RESP = 58; - -// -// MessageId: ERROR_UNEXP_NET_ERR -// -// MessageText: -// -// An unexpected network error occurred. -// -export const ERROR_UNEXP_NET_ERR = 59; - -// -// MessageId: ERROR_BAD_REM_ADAP -// -// MessageText: -// -// The remote adapter is not compatible. -// -export const ERROR_BAD_REM_ADAP = 60; - -// -// MessageId: ERROR_PRINTQ_FULL -// -// MessageText: -// -// The printer queue is full. -// -export const ERROR_PRINTQ_FULL = 61; - -// -// MessageId: ERROR_NO_SPOOL_SPACE -// -// MessageText: -// -// Space to store the file waiting to be printed is not available on the server. -// -export const ERROR_NO_SPOOL_SPACE = 62; - -// -// MessageId: ERROR_PRINT_CANCELLED -// -// MessageText: -// -// Your file waiting to be printed was deleted. -// -export const ERROR_PRINT_CANCELLED = 63; - -// -// MessageId: ERROR_NETNAME_DELETED -// -// MessageText: -// -// The specified network name is no longer available. -// -export const ERROR_NETNAME_DELETED = 64; - -// -// MessageId: ERROR_NETWORK_ACCESS_DENIED -// -// MessageText: -// -// Network access is denied. -// -export const ERROR_NETWORK_ACCESS_DENIED = 65; - -// -// MessageId: ERROR_BAD_DEV_TYPE -// -// MessageText: -// -// The network resource type is not correct. -// -export const ERROR_BAD_DEV_TYPE = 66; - -// -// MessageId: ERROR_BAD_NET_NAME -// -// MessageText: -// -// The network name cannot be found. -// -export const ERROR_BAD_NET_NAME = 67; - -// -// MessageId: ERROR_TOO_MANY_NAMES -// -// MessageText: -// -// The name limit for the local computer network adapter card was exceeded. -// -export const ERROR_TOO_MANY_NAMES = 68; - -// -// MessageId: ERROR_TOO_MANY_SESS -// -// MessageText: -// -// The network BIOS session limit was exceeded. -// -export const ERROR_TOO_MANY_SESS = 69; - -// -// MessageId: ERROR_SHARING_PAUSED -// -// MessageText: -// -// The remote server has been paused or is in the process of being started. -// -export const ERROR_SHARING_PAUSED = 70; - -// -// MessageId: ERROR_REQ_NOT_ACCEP -// -// MessageText: -// -// No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept. -// -export const ERROR_REQ_NOT_ACCEP = 71; - -// -// MessageId: ERROR_REDIR_PAUSED -// -// MessageText: -// -// The specified printer or disk device has been paused. -// -export const ERROR_REDIR_PAUSED = 72; - -// -// MessageId: ERROR_FILE_EXISTS -// -// MessageText: -// -// The file exists. -// -export const ERROR_FILE_EXISTS = 80; - -// -// MessageId: ERROR_CANNOT_MAKE -// -// MessageText: -// -// The directory or file cannot be created. -// -export const ERROR_CANNOT_MAKE = 82; - -// -// MessageId: ERROR_FAIL_I24 -// -// MessageText: -// -// Fail on INT 24. -// -export const ERROR_FAIL_I24 = 83; - -// -// MessageId: ERROR_OUT_OF_STRUCTURES -// -// MessageText: -// -// Storage to process this request is not available. -// -export const ERROR_OUT_OF_STRUCTURES = 84; - -// -// MessageId: ERROR_ALREADY_ASSIGNED -// -// MessageText: -// -// The local device name is already in use. -// -export const ERROR_ALREADY_ASSIGNED = 85; - -// -// MessageId: ERROR_INVALID_PASSWORD -// -// MessageText: -// -// The specified network password is not correct. -// -export const ERROR_INVALID_PASSWORD = 86; - -// -// MessageId: ERROR_INVALID_PARAMETER -// -// MessageText: -// -// The parameter is incorrect. -// -export const ERROR_INVALID_PARAMETER = 87; // dderror - -// -// MessageId: ERROR_NET_WRITE_FAULT -// -// MessageText: -// -// A write fault occurred on the network. -// -export const ERROR_NET_WRITE_FAULT = 88; - -// -// MessageId: ERROR_NO_PROC_SLOTS -// -// MessageText: -// -// The system cannot start another process at this time. -// -export const ERROR_NO_PROC_SLOTS = 89; - -// -// MessageId: ERROR_TOO_MANY_SEMAPHORES -// -// MessageText: -// -// Cannot create another system semaphore. -// -export const ERROR_TOO_MANY_SEMAPHORES = 100; - -// -// MessageId: ERROR_EXCL_SEM_ALREADY_OWNED -// -// MessageText: -// -// The exclusive semaphore is owned by another process. -// -export const ERROR_EXCL_SEM_ALREADY_OWNED = 101; - -// -// MessageId: ERROR_SEM_IS_SET -// -// MessageText: -// -// The semaphore is set and cannot be closed. -// -export const ERROR_SEM_IS_SET = 102; - -// -// MessageId: ERROR_TOO_MANY_SEM_REQUESTS -// -// MessageText: -// -// The semaphore cannot be set again. -// -export const ERROR_TOO_MANY_SEM_REQUESTS = 103; - -// -// MessageId: ERROR_INVALID_AT_INTERRUPT_TIME -// -// MessageText: -// -// Cannot request exclusive semaphores at interrupt time. -// -export const ERROR_INVALID_AT_INTERRUPT_TIME = 104; - -// -// MessageId: ERROR_SEM_OWNER_DIED -// -// MessageText: -// -// The previous ownership of this semaphore has ended. -// -export const ERROR_SEM_OWNER_DIED = 105; - -// -// MessageId: ERROR_SEM_USER_LIMIT -// -// MessageText: -// -// Insert the diskette for drive %1. -// -export const ERROR_SEM_USER_LIMIT = 106; - -// -// MessageId: ERROR_DISK_CHANGE -// -// MessageText: -// -// The program stopped because an alternate diskette was not inserted. -// -export const ERROR_DISK_CHANGE = 107; - -// -// MessageId: ERROR_DRIVE_LOCKED -// -// MessageText: -// -// The disk is in use or locked by another process. -// -export const ERROR_DRIVE_LOCKED = 108; - -// -// MessageId: ERROR_BROKEN_PIPE -// -// MessageText: -// -// The pipe has been ended. -// -export const ERROR_BROKEN_PIPE = 109; - -// -// MessageId: ERROR_OPEN_FAILED -// -// MessageText: -// -// The system cannot open the device or file specified. -// -export const ERROR_OPEN_FAILED = 110; - -// -// MessageId: ERROR_BUFFER_OVERFLOW -// -// MessageText: -// -// The file name is too long. -// -export const ERROR_BUFFER_OVERFLOW = 111; - -// -// MessageId: ERROR_DISK_FULL -// -// MessageText: -// -// There is not enough space on the disk. -// -export const ERROR_DISK_FULL = 112; - -// -// MessageId: ERROR_NO_MORE_SEARCH_HANDLES -// -// MessageText: -// -// No more internal file identifiers available. -// -export const ERROR_NO_MORE_SEARCH_HANDLES = 113; - -// -// MessageId: ERROR_INVALID_TARGET_HANDLE -// -// MessageText: -// -// The target internal file identifier is incorrect. -// -export const ERROR_INVALID_TARGET_HANDLE = 114; - -// -// MessageId: ERROR_INVALID_CATEGORY -// -// MessageText: -// -// The IOCTL call made by the application program is not correct. -// -export const ERROR_INVALID_CATEGORY = 117; - -// -// MessageId: ERROR_INVALID_VERIFY_SWITCH -// -// MessageText: -// -// The verify-on-write switch parameter value is not correct. -// -export const ERROR_INVALID_VERIFY_SWITCH = 118; - -// -// MessageId: ERROR_BAD_DRIVER_LEVEL -// -// MessageText: -// -// The system does not support the command requested. -// -export const ERROR_BAD_DRIVER_LEVEL = 119; - -// -// MessageId: ERROR_CALL_NOT_IMPLEMENTED -// -// MessageText: -// -// This function is not supported on this system. -// -export const ERROR_CALL_NOT_IMPLEMENTED = 120; - -// -// MessageId: ERROR_SEM_TIMEOUT -// -// MessageText: -// -// The semaphore timeout period has expired. -// -export const ERROR_SEM_TIMEOUT = 121; - -// -// MessageId: ERROR_INSUFFICIENT_BUFFER -// -// MessageText: -// -// The data area passed to a system call is too small. -// -export const ERROR_INSUFFICIENT_BUFFER = 122; // dderror - -// -// MessageId: ERROR_INVALID_NAME -// -// MessageText: -// -// The filename, directory name, or volume label syntax is incorrect. -// -export const ERROR_INVALID_NAME = 123; // dderror - -// -// MessageId: ERROR_INVALID_LEVEL -// -// MessageText: -// -// The system call level is not correct. -// -export const ERROR_INVALID_LEVEL = 124; - -// -// MessageId: ERROR_NO_VOLUME_LABEL -// -// MessageText: -// -// The disk has no volume label. -// -export const ERROR_NO_VOLUME_LABEL = 125; - -// -// MessageId: ERROR_MOD_NOT_FOUND -// -// MessageText: -// -// The specified module could not be found. -// -export const ERROR_MOD_NOT_FOUND = 126; - -// -// MessageId: ERROR_PROC_NOT_FOUND -// -// MessageText: -// -// The specified procedure could not be found. -// -export const ERROR_PROC_NOT_FOUND = 127; - -// -// MessageId: ERROR_WAIT_NO_CHILDREN -// -// MessageText: -// -// There are no child processes to wait for. -// -export const ERROR_WAIT_NO_CHILDREN = 128; - -// -// MessageId: ERROR_CHILD_NOT_COMPLETE -// -// MessageText: -// -// The %1 application cannot be run in Win32 mode. -// -export const ERROR_CHILD_NOT_COMPLETE = 129; - -// -// MessageId: ERROR_DIRECT_ACCESS_HANDLE -// -// MessageText: -// -// Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O. -// -export const ERROR_DIRECT_ACCESS_HANDLE = 130; - -// -// MessageId: ERROR_NEGATIVE_SEEK -// -// MessageText: -// -// An attempt was made to move the file pointer before the beginning of the file. -// -export const ERROR_NEGATIVE_SEEK = 131; - -// -// MessageId: ERROR_SEEK_ON_DEVICE -// -// MessageText: -// -// The file pointer cannot be set on the specified device or file. -// -export const ERROR_SEEK_ON_DEVICE = 132; - -// -// MessageId: ERROR_IS_JOIN_TARGET -// -// MessageText: -// -// A JOIN or SUBST command cannot be used for a drive that contains previously joined drives. -// -export const ERROR_IS_JOIN_TARGET = 133; - -// -// MessageId: ERROR_IS_JOINED -// -// MessageText: -// -// An attempt was made to use a JOIN or SUBST command on a drive that has already been joined. -// -export const ERROR_IS_JOINED = 134; - -// -// MessageId: ERROR_IS_SUBSTED -// -// MessageText: -// -// An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted. -// -export const ERROR_IS_SUBSTED = 135; - -// -// MessageId: ERROR_NOT_JOINED -// -// MessageText: -// -// The system tried to delete the JOIN of a drive that is not joined. -// -export const ERROR_NOT_JOINED = 136; - -// -// MessageId: ERROR_NOT_SUBSTED -// -// MessageText: -// -// The system tried to delete the substitution of a drive that is not substituted. -// -export const ERROR_NOT_SUBSTED = 137; - -// -// MessageId: ERROR_JOIN_TO_JOIN -// -// MessageText: -// -// The system tried to join a drive to a directory on a joined drive. -// -export const ERROR_JOIN_TO_JOIN = 138; - -// -// MessageId: ERROR_SUBST_TO_SUBST -// -// MessageText: -// -// The system tried to substitute a drive to a directory on a substituted drive. -// -export const ERROR_SUBST_TO_SUBST = 139; - -// -// MessageId: ERROR_JOIN_TO_SUBST -// -// MessageText: -// -// The system tried to join a drive to a directory on a substituted drive. -// -export const ERROR_JOIN_TO_SUBST = 140; - -// -// MessageId: ERROR_SUBST_TO_JOIN -// -// MessageText: -// -// The system tried to SUBST a drive to a directory on a joined drive. -// -export const ERROR_SUBST_TO_JOIN = 141; - -// -// MessageId: ERROR_BUSY_DRIVE -// -// MessageText: -// -// The system cannot perform a JOIN or SUBST at this time. -// -export const ERROR_BUSY_DRIVE = 142; - -// -// MessageId: ERROR_SAME_DRIVE -// -// MessageText: -// -// The system cannot join or substitute a drive to or for a directory on the same drive. -// -export const ERROR_SAME_DRIVE = 143; - -// -// MessageId: ERROR_DIR_NOT_ROOT -// -// MessageText: -// -// The directory is not a subdirectory of the root directory. -// -export const ERROR_DIR_NOT_ROOT = 144; - -// -// MessageId: ERROR_DIR_NOT_EMPTY -// -// MessageText: -// -// The directory is not empty. -// -export const ERROR_DIR_NOT_EMPTY = 145; - -// -// MessageId: ERROR_IS_SUBST_PATH -// -// MessageText: -// -// The path specified is being used in a substitute. -// -export const ERROR_IS_SUBST_PATH = 146; - -// -// MessageId: ERROR_IS_JOIN_PATH -// -// MessageText: -// -// Not enough resources are available to process this command. -// -export const ERROR_IS_JOIN_PATH = 147; - -// -// MessageId: ERROR_PATH_BUSY -// -// MessageText: -// -// The path specified cannot be used at this time. -// -export const ERROR_PATH_BUSY = 148; - -// -// MessageId: ERROR_IS_SUBST_TARGET -// -// MessageText: -// -// An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute. -// -export const ERROR_IS_SUBST_TARGET = 149; - -// -// MessageId: ERROR_SYSTEM_TRACE -// -// MessageText: -// -// System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed. -// -export const ERROR_SYSTEM_TRACE = 150; - -// -// MessageId: ERROR_INVALID_EVENT_COUNT -// -// MessageText: -// -// The number of specified semaphore events for DosMuxSemWait is not correct. -// -export const ERROR_INVALID_EVENT_COUNT = 151; - -// -// MessageId: ERROR_TOO_MANY_MUXWAITERS -// -// MessageText: -// -// DosMuxSemWait did not execute; too many semaphores are already set. -// -export const ERROR_TOO_MANY_MUXWAITERS = 152; - -// -// MessageId: ERROR_INVALID_LIST_FORMAT -// -// MessageText: -// -// The DosMuxSemWait list is not correct. -// -export const ERROR_INVALID_LIST_FORMAT = 153; - -// -// MessageId: ERROR_LABEL_TOO_LONG -// -// MessageText: -// -// The volume label you entered exceeds the label character limit of the target file system. -// -export const ERROR_LABEL_TOO_LONG = 154; - -// -// MessageId: ERROR_TOO_MANY_TCBS -// -// MessageText: -// -// Cannot create another thread. -// -export const ERROR_TOO_MANY_TCBS = 155; - -// -// MessageId: ERROR_SIGNAL_REFUSED -// -// MessageText: -// -// The recipient process has refused the signal. -// -export const ERROR_SIGNAL_REFUSED = 156; - -// -// MessageId: ERROR_DISCARDED -// -// MessageText: -// -// The segment is already discarded and cannot be locked. -// -export const ERROR_DISCARDED = 157; - -// -// MessageId: ERROR_NOT_LOCKED -// -// MessageText: -// -// The segment is already unlocked. -// -export const ERROR_NOT_LOCKED = 158; - -// -// MessageId: ERROR_BAD_THREADID_ADDR -// -// MessageText: -// -// The address for the thread ID is not correct. -// -export const ERROR_BAD_THREADID_ADDR = 159; - -// -// MessageId: ERROR_BAD_ARGUMENTS -// -// MessageText: -// -// One or more arguments are not correct. -// -export const ERROR_BAD_ARGUMENTS = 160; - -// -// MessageId: ERROR_BAD_PATHNAME -// -// MessageText: -// -// The specified path is invalid. -// -export const ERROR_BAD_PATHNAME = 161; - -// -// MessageId: ERROR_SIGNAL_PENDING -// -// MessageText: -// -// A signal is already pending. -// -export const ERROR_SIGNAL_PENDING = 162; - -// -// MessageId: ERROR_MAX_THRDS_REACHED -// -// MessageText: -// -// No more threads can be created in the system. -// -export const ERROR_MAX_THRDS_REACHED = 164; - -// -// MessageId: ERROR_LOCK_FAILED -// -// MessageText: -// -// Unable to lock a region of a file. -// -export const ERROR_LOCK_FAILED = 167; - -// -// MessageId: ERROR_BUSY -// -// MessageText: -// -// The requested resource is in use. -// -export const ERROR_BUSY = 170; // dderror - -// -// MessageId: ERROR_CANCEL_VIOLATION -// -// MessageText: -// -// A lock request was not outstanding for the supplied cancel region. -// -export const ERROR_CANCEL_VIOLATION = 173; - -// -// MessageId: ERROR_ATOMIC_LOCKS_NOT_SUPPORTED -// -// MessageText: -// -// The file system does not support atomic changes to the lock type. -// -export const ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174; - -// -// MessageId: ERROR_INVALID_SEGMENT_NUMBER -// -// MessageText: -// -// The system detected a segment number that was not correct. -// -export const ERROR_INVALID_SEGMENT_NUMBER = 180; - -// -// MessageId: ERROR_INVALID_ORDINAL -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_INVALID_ORDINAL = 182; - -// -// MessageId: ERROR_ALREADY_EXISTS -// -// MessageText: -// -// Cannot create a file when that file already exists. -// -export const ERROR_ALREADY_EXISTS = 183; - -// -// MessageId: ERROR_INVALID_FLAG_NUMBER -// -// MessageText: -// -// The flag passed is not correct. -// -export const ERROR_INVALID_FLAG_NUMBER = 186; - -// -// MessageId: ERROR_SEM_NOT_FOUND -// -// MessageText: -// -// The specified system semaphore name was not found. -// -export const ERROR_SEM_NOT_FOUND = 187; - -// -// MessageId: ERROR_INVALID_STARTING_CODESEG -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_INVALID_STARTING_CODESEG = 188; - -// -// MessageId: ERROR_INVALID_STACKSEG -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_INVALID_STACKSEG = 189; - -// -// MessageId: ERROR_INVALID_MODULETYPE -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_INVALID_MODULETYPE = 190; - -// -// MessageId: ERROR_INVALID_EXE_SIGNATURE -// -// MessageText: -// -// Cannot run %1 in Win32 mode. -// -export const ERROR_INVALID_EXE_SIGNATURE = 191; - -// -// MessageId: ERROR_EXE_MARKED_INVALID -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_EXE_MARKED_INVALID = 192; - -// -// MessageId: ERROR_BAD_EXE_FORMAT -// -// MessageText: -// -// %1 is not a valid Win32 application. -// -export const ERROR_BAD_EXE_FORMAT = 193; - -// -// MessageId: ERROR_ITERATED_DATA_EXCEEDS_64k -// -// MessageText: -// -// The operating system cannot run %1. -// -// deno-lint-ignore camelcase -export const ERROR_ITERATED_DATA_EXCEEDS_64k = 194; - -// -// MessageId: ERROR_INVALID_MINALLOCSIZE -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_INVALID_MINALLOCSIZE = 195; - -// -// MessageId: ERROR_DYNLINK_FROM_INVALID_RING -// -// MessageText: -// -// The operating system cannot run this application program. -// -export const ERROR_DYNLINK_FROM_INVALID_RING = 196; - -// -// MessageId: ERROR_IOPL_NOT_ENABLED -// -// MessageText: -// -// The operating system is not presently configured to run this application. -// -export const ERROR_IOPL_NOT_ENABLED = 197; - -// -// MessageId: ERROR_INVALID_SEGDPL -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_INVALID_SEGDPL = 198; - -// -// MessageId: ERROR_AUTODATASEG_EXCEEDS_64k -// -// MessageText: -// -// The operating system cannot run this application program. -// -// deno-lint-ignore camelcase -export const ERROR_AUTODATASEG_EXCEEDS_64k = 199; - -// -// MessageId: ERROR_RING2SEG_MUST_BE_MOVABLE -// -// MessageText: -// -// The code segment cannot be greater than or equal to 64K. -// -export const ERROR_RING2SEG_MUST_BE_MOVABLE = 200; - -// -// MessageId: ERROR_RELOC_CHAIN_XEEDS_SEGLIM -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201; - -// -// MessageId: ERROR_INFLOOP_IN_RELOC_CHAIN -// -// MessageText: -// -// The operating system cannot run %1. -// -export const ERROR_INFLOOP_IN_RELOC_CHAIN = 202; - -// -// MessageId: ERROR_ENVVAR_NOT_FOUND -// -// MessageText: -// -// The system could not find the environment option that was entered. -// -export const ERROR_ENVVAR_NOT_FOUND = 203; - -// -// MessageId: ERROR_NO_SIGNAL_SENT -// -// MessageText: -// -// No process in the command subtree has a signal handler. -// -export const ERROR_NO_SIGNAL_SENT = 205; - -// -// MessageId: ERROR_FILENAME_EXCED_RANGE -// -// MessageText: -// -// The filename or extension is too long. -// -export const ERROR_FILENAME_EXCED_RANGE = 206; - -// -// MessageId: ERROR_RING2_STACK_IN_USE -// -// MessageText: -// -// The ring 2 stack is in use. -// -export const ERROR_RING2_STACK_IN_USE = 207; - -// -// MessageId: ERROR_META_EXPANSION_TOO_LONG -// -// MessageText: -// -// The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified. -// -export const ERROR_META_EXPANSION_TOO_LONG = 208; - -// -// MessageId: ERROR_INVALID_SIGNAL_NUMBER -// -// MessageText: -// -// The signal being posted is not correct. -// -export const ERROR_INVALID_SIGNAL_NUMBER = 209; - -// -// MessageId: ERROR_THREAD_1_INACTIVE -// -// MessageText: -// -// The signal handler cannot be set. -// -export const ERROR_THREAD_1_INACTIVE = 210; - -// -// MessageId: ERROR_LOCKED -// -// MessageText: -// -// The segment is locked and cannot be reallocated. -// -export const ERROR_LOCKED = 212; - -// -// MessageId: ERROR_TOO_MANY_MODULES -// -// MessageText: -// -// Too many dynamic-link modules are attached to this program or dynamic-link module. -// -export const ERROR_TOO_MANY_MODULES = 214; - -// -// MessageId: ERROR_NESTING_NOT_ALLOWED -// -// MessageText: -// -// Cannot nest calls to LoadModule. -// -export const ERROR_NESTING_NOT_ALLOWED = 215; - -// -// MessageId: ERROR_EXE_MACHINE_TYPE_MISMATCH -// -// MessageText: -// -// The image file %1 is valid, but is for a machine type other than the current machine. -// -export const ERROR_EXE_MACHINE_TYPE_MISMATCH = 216; - -// -// MessageId: ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY -// -// MessageText: -// -// The image file %1 is signed, unable to modify. -// -export const ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY = 217; - -// -// MessageId: ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY -// -// MessageText: -// -// The image file %1 is strong signed, unable to modify. -// -export const ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY = 218; - -// -// MessageId: ERROR_BAD_PIPE -// -// MessageText: -// -// The pipe state is invalid. -// -export const ERROR_BAD_PIPE = 230; - -// -// MessageId: ERROR_PIPE_BUSY -// -// MessageText: -// -// All pipe instances are busy. -// -export const ERROR_PIPE_BUSY = 231; - -// -// MessageId: ERROR_NO_DATA -// -// MessageText: -// -// The pipe is being closed. -// -export const ERROR_NO_DATA = 232; - -// -// MessageId: ERROR_PIPE_NOT_CONNECTED -// -// MessageText: -// -// No process is on the other end of the pipe. -// -export const ERROR_PIPE_NOT_CONNECTED = 233; - -// -// MessageId: ERROR_MORE_DATA -// -// MessageText: -// -// More data is available. -// -export const ERROR_MORE_DATA = 234; // dderror - -// -// MessageId: ERROR_VC_DISCONNECTED -// -// MessageText: -// -// The session was canceled. -// -export const ERROR_VC_DISCONNECTED = 240; - -// -// MessageId: ERROR_INVALID_EA_NAME -// -// MessageText: -// -// The specified extended attribute name was invalid. -// -export const ERROR_INVALID_EA_NAME = 254; - -// -// MessageId: ERROR_EA_LIST_INCONSISTENT -// -// MessageText: -// -// The extended attributes are inconsistent. -// -export const ERROR_EA_LIST_INCONSISTENT = 255; - -// -// MessageId: WAIT_TIMEOUT -// -// MessageText: -// -// The wait operation timed out. -// -export const WAIT_TIMEOUT = 258; // dderror - -// -// MessageId: ERROR_NO_MORE_ITEMS -// -// MessageText: -// -// No more data is available. -// -export const ERROR_NO_MORE_ITEMS = 259; - -// -// MessageId: ERROR_CANNOT_COPY -// -// MessageText: -// -// The copy functions cannot be used. -// -export const ERROR_CANNOT_COPY = 266; - -// -// MessageId: ERROR_DIRECTORY -// -// MessageText: -// -// The directory name is invalid. -// -export const ERROR_DIRECTORY = 267; - -// -// MessageId: ERROR_EAS_DIDNT_FIT -// -// MessageText: -// -// The extended attributes did not fit in the buffer. -// -export const ERROR_EAS_DIDNT_FIT = 275; - -// -// MessageId: ERROR_EA_FILE_CORRUPT -// -// MessageText: -// -// The extended attribute file on the mounted file system is corrupt. -// -export const ERROR_EA_FILE_CORRUPT = 276; - -// -// MessageId: ERROR_EA_TABLE_FULL -// -// MessageText: -// -// The extended attribute table file is full. -// -export const ERROR_EA_TABLE_FULL = 277; - -// -// MessageId: ERROR_INVALID_EA_HANDLE -// -// MessageText: -// -// The specified extended attribute handle is invalid. -// -export const ERROR_INVALID_EA_HANDLE = 278; - -// -// MessageId: ERROR_EAS_NOT_SUPPORTED -// -// MessageText: -// -// The mounted file system does not support extended attributes. -// -export const ERROR_EAS_NOT_SUPPORTED = 282; - -// -// MessageId: ERROR_NOT_OWNER -// -// MessageText: -// -// Attempt to release mutex not owned by caller. -// -export const ERROR_NOT_OWNER = 288; - -// -// MessageId: ERROR_TOO_MANY_POSTS -// -// MessageText: -// -// Too many posts were made to a semaphore. -// -export const ERROR_TOO_MANY_POSTS = 298; - -// -// MessageId: ERROR_PARTIAL_COPY -// -// MessageText: -// -// Only part of a ReadProcessMemory or WriteProcessMemory request was completed. -// -export const ERROR_PARTIAL_COPY = 299; - -// -// MessageId: ERROR_OPLOCK_NOT_GRANTED -// -// MessageText: -// -// The oplock request is denied. -// -export const ERROR_OPLOCK_NOT_GRANTED = 300; - -// -// MessageId: ERROR_INVALID_OPLOCK_PROTOCOL -// -// MessageText: -// -// An invalid oplock acknowledgment was received by the system. -// -export const ERROR_INVALID_OPLOCK_PROTOCOL = 301; - -// -// MessageId: ERROR_DISK_TOO_FRAGMENTED -// -// MessageText: -// -// The volume is too fragmented to complete this operation. -// -export const ERROR_DISK_TOO_FRAGMENTED = 302; - -// -// MessageId: ERROR_DELETE_PENDING -// -// MessageText: -// -// The file cannot be opened because it is in the process of being deleted. -// -export const ERROR_DELETE_PENDING = 303; - -// -// MessageId: ERROR_MR_MID_NOT_FOUND -// -// MessageText: -// -// The system cannot find message text for message number 0x%1 in the message file for %2. -// -export const ERROR_MR_MID_NOT_FOUND = 317; - -// -// MessageId: ERROR_SCOPE_NOT_FOUND -// -// MessageText: -// -// The scope specified was not found. -// -export const ERROR_SCOPE_NOT_FOUND = 318; - -// -// MessageId: ERROR_INVALID_ADDRESS -// -// MessageText: -// -// Attempt to access invalid address. -// -export const ERROR_INVALID_ADDRESS = 487; - -// -// MessageId: ERROR_ARITHMETIC_OVERFLOW -// -// MessageText: -// -// Arithmetic result exceeded 32 bits. -// -export const ERROR_ARITHMETIC_OVERFLOW = 534; - -// -// MessageId: ERROR_PIPE_CONNECTED -// -// MessageText: -// -// There is a process on other end of the pipe. -// -export const ERROR_PIPE_CONNECTED = 535; - -// -// MessageId: ERROR_PIPE_LISTENING -// -// MessageText: -// -// Waiting for a process to open the other end of the pipe. -// -export const ERROR_PIPE_LISTENING = 536; - -// -// MessageId: ERROR_EA_ACCESS_DENIED -// -// MessageText: -// -// Access to the extended attribute was denied. -// -export const ERROR_EA_ACCESS_DENIED = 994; - -// -// MessageId: ERROR_OPERATION_ABORTED -// -// MessageText: -// -// The I/O operation has been aborted because of either a thread exit or an application request. -// -export const ERROR_OPERATION_ABORTED = 995; - -// -// MessageId: ERROR_IO_INCOMPLETE -// -// MessageText: -// -// Overlapped I/O event is not in a signaled state. -// -export const ERROR_IO_INCOMPLETE = 996; - -// -// MessageId: ERROR_IO_PENDING -// -// MessageText: -// -// Overlapped I/O operation is in progress. -// -export const ERROR_IO_PENDING = 997; // dderror - -// -// MessageId: ERROR_NOACCESS -// -// MessageText: -// -// Invalid access to memory location. -// -export const ERROR_NOACCESS = 998; - -// -// MessageId: ERROR_SWAPERROR -// -// MessageText: -// -// Error performing inpage operation. -// -export const ERROR_SWAPERROR = 999; - -// -// MessageId: ERROR_STACK_OVERFLOW -// -// MessageText: -// -// Recursion too deep; the stack overflowed. -// -export const ERROR_STACK_OVERFLOW = 1001; - -// -// MessageId: ERROR_INVALID_MESSAGE -// -// MessageText: -// -// The window cannot act on the sent message. -// -export const ERROR_INVALID_MESSAGE = 1002; - -// -// MessageId: ERROR_CAN_NOT_COMPLETE -// -// MessageText: -// -// Cannot complete this function. -// -export const ERROR_CAN_NOT_COMPLETE = 1003; - -// -// MessageId: ERROR_INVALID_FLAGS -// -// MessageText: -// -// Invalid flags. -// -export const ERROR_INVALID_FLAGS = 1004; - -// -// MessageId: ERROR_UNRECOGNIZED_VOLUME -// -// MessageText: -// -// The volume does not contain a recognized file system. -// Please make sure that all required file system drivers are loaded and that the volume is not corrupted. -// -export const ERROR_UNRECOGNIZED_VOLUME = 1005; - -// -// MessageId: ERROR_FILE_INVALID -// -// MessageText: -// -// The volume for a file has been externally altered so that the opened file is no longer valid. -// -export const ERROR_FILE_INVALID = 1006; - -// -// MessageId: ERROR_FULLSCREEN_MODE -// -// MessageText: -// -// The requested operation cannot be performed in full-screen mode. -// -export const ERROR_FULLSCREEN_MODE = 1007; - -// -// MessageId: ERROR_NO_TOKEN -// -// MessageText: -// -// An attempt was made to reference a token that does not exist. -// -export const ERROR_NO_TOKEN = 1008; - -// -// MessageId: ERROR_BADDB -// -// MessageText: -// -// The configuration registry database is corrupt. -// -export const ERROR_BADDB = 1009; - -// -// MessageId: ERROR_BADKEY -// -// MessageText: -// -// The configuration registry key is invalid. -// -export const ERROR_BADKEY = 1010; - -// -// MessageId: ERROR_CANTOPEN -// -// MessageText: -// -// The configuration registry key could not be opened. -// -export const ERROR_CANTOPEN = 1011; - -// -// MessageId: ERROR_CANTREAD -// -// MessageText: -// -// The configuration registry key could not be read. -// -export const ERROR_CANTREAD = 1012; - -// -// MessageId: ERROR_CANTWRITE -// -// MessageText: -// -// The configuration registry key could not be written. -// -export const ERROR_CANTWRITE = 1013; - -// -// MessageId: ERROR_REGISTRY_RECOVERED -// -// MessageText: -// -// One of the files in the registry database had to be recovered by use of a log or alternate copy. The recovery was successful. -// -export const ERROR_REGISTRY_RECOVERED = 1014; - -// -// MessageId: ERROR_REGISTRY_CORRUPT -// -// MessageText: -// -// The registry is corrupted. The structure of one of the files containing registry data is corrupted, or the system's memory image of the file is corrupted, or the file could not be recovered because the alternate copy or log was absent or corrupted. -// -export const ERROR_REGISTRY_CORRUPT = 1015; - -// -// MessageId: ERROR_REGISTRY_IO_FAILED -// -// MessageText: -// -// An I/O operation initiated by the registry failed unrecoverably. The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry. -// -export const ERROR_REGISTRY_IO_FAILED = 1016; - -// -// MessageId: ERROR_NOT_REGISTRY_FILE -// -// MessageText: -// -// The system has attempted to load or restore a file into the registry, but the specified file is not in a registry file format. -// -export const ERROR_NOT_REGISTRY_FILE = 1017; - -// -// MessageId: ERROR_KEY_DELETED -// -// MessageText: -// -// Illegal operation attempted on a registry key that has been marked for deletion. -// -export const ERROR_KEY_DELETED = 1018; - -// -// MessageId: ERROR_NO_LOG_SPACE -// -// MessageText: -// -// System could not allocate the required space in a registry log. -// -export const ERROR_NO_LOG_SPACE = 1019; - -// -// MessageId: ERROR_KEY_HAS_CHILDREN -// -// MessageText: -// -// Cannot create a symbolic link in a registry key that already has subkeys or values. -// -export const ERROR_KEY_HAS_CHILDREN = 1020; - -// -// MessageId: ERROR_CHILD_MUST_BE_VOLATILE -// -// MessageText: -// -// Cannot create a stable subkey under a volatile parent key. -// -export const ERROR_CHILD_MUST_BE_VOLATILE = 1021; - -// -// MessageId: ERROR_NOTIFY_ENUM_DIR -// -// MessageText: -// -// A notify change request is being completed and the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes. -// -export const ERROR_NOTIFY_ENUM_DIR = 1022; - -// -// MessageId: ERROR_DEPENDENT_SERVICES_RUNNING -// -// MessageText: -// -// A stop control has been sent to a service that other running services are dependent on. -// -export const ERROR_DEPENDENT_SERVICES_RUNNING = 1051; - -// -// MessageId: ERROR_INVALID_SERVICE_CONTROL -// -// MessageText: -// -// The requested control is not valid for this service. -// -export const ERROR_INVALID_SERVICE_CONTROL = 1052; - -// -// MessageId: ERROR_SERVICE_REQUEST_TIMEOUT -// -// MessageText: -// -// The service did not respond to the start or control request in a timely fashion. -// -export const ERROR_SERVICE_REQUEST_TIMEOUT = 1053; - -// -// MessageId: ERROR_SERVICE_NO_THREAD -// -// MessageText: -// -// A thread could not be created for the service. -// -export const ERROR_SERVICE_NO_THREAD = 1054; - -// -// MessageId: ERROR_SERVICE_DATABASE_LOCKED -// -// MessageText: -// -// The service database is locked. -// -export const ERROR_SERVICE_DATABASE_LOCKED = 1055; - -// -// MessageId: ERROR_SERVICE_ALREADY_RUNNING -// -// MessageText: -// -// An instance of the service is already running. -// -export const ERROR_SERVICE_ALREADY_RUNNING = 1056; - -// -// MessageId: ERROR_INVALID_SERVICE_ACCOUNT -// -// MessageText: -// -// The account name is invalid or does not exist, or the password is invalid for the account name specified. -// -export const ERROR_INVALID_SERVICE_ACCOUNT = 1057; - -// -// MessageId: ERROR_SERVICE_DISABLED -// -// MessageText: -// -// The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. -// -export const ERROR_SERVICE_DISABLED = 1058; - -// -// MessageId: ERROR_CIRCULAR_DEPENDENCY -// -// MessageText: -// -// Circular service dependency was specified. -// -export const ERROR_CIRCULAR_DEPENDENCY = 1059; - -// -// MessageId: ERROR_SERVICE_DOES_NOT_EXIST -// -// MessageText: -// -// The specified service does not exist as an installed service. -// -export const ERROR_SERVICE_DOES_NOT_EXIST = 1060; - -// -// MessageId: ERROR_SERVICE_CANNOT_ACCEPT_CTRL -// -// MessageText: -// -// The service cannot accept control messages at this time. -// -export const ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061; - -// -// MessageId: ERROR_SERVICE_NOT_ACTIVE -// -// MessageText: -// -// The service has not been started. -// -export const ERROR_SERVICE_NOT_ACTIVE = 1062; - -// -// MessageId: ERROR_FAILED_SERVICE_CONTROLLER_CONNECT -// -// MessageText: -// -// The service process could not connect to the service controller. -// -export const ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063; - -// -// MessageId: ERROR_EXCEPTION_IN_SERVICE -// -// MessageText: -// -// An exception occurred in the service when handling the control request. -// -export const ERROR_EXCEPTION_IN_SERVICE = 1064; - -// -// MessageId: ERROR_DATABASE_DOES_NOT_EXIST -// -// MessageText: -// -// The database specified does not exist. -// -export const ERROR_DATABASE_DOES_NOT_EXIST = 1065; - -// -// MessageId: ERROR_SERVICE_SPECIFIC_ERROR -// -// MessageText: -// -// The service has returned a service-specific error code. -// -export const ERROR_SERVICE_SPECIFIC_ERROR = 1066; - -// -// MessageId: ERROR_PROCESS_ABORTED -// -// MessageText: -// -// The process terminated unexpectedly. -// -export const ERROR_PROCESS_ABORTED = 1067; - -// -// MessageId: ERROR_SERVICE_DEPENDENCY_FAIL -// -// MessageText: -// -// The dependency service or group failed to start. -// -export const ERROR_SERVICE_DEPENDENCY_FAIL = 1068; - -// -// MessageId: ERROR_SERVICE_LOGON_FAILED -// -// MessageText: -// -// The service did not start due to a logon failure. -// -export const ERROR_SERVICE_LOGON_FAILED = 1069; - -// -// MessageId: ERROR_SERVICE_START_HANG -// -// MessageText: -// -// After starting, the service hung in a start-pending state. -// -export const ERROR_SERVICE_START_HANG = 1070; - -// -// MessageId: ERROR_INVALID_SERVICE_LOCK -// -// MessageText: -// -// The specified service database lock is invalid. -// -export const ERROR_INVALID_SERVICE_LOCK = 1071; - -// -// MessageId: ERROR_SERVICE_MARKED_FOR_DELETE -// -// MessageText: -// -// The specified service has been marked for deletion. -// -export const ERROR_SERVICE_MARKED_FOR_DELETE = 1072; - -// -// MessageId: ERROR_SERVICE_EXISTS -// -// MessageText: -// -// The specified service already exists. -// -export const ERROR_SERVICE_EXISTS = 1073; - -// -// MessageId: ERROR_ALREADY_RUNNING_LKG -// -// MessageText: -// -// The system is currently running with the last-known-good configuration. -// -export const ERROR_ALREADY_RUNNING_LKG = 1074; - -// -// MessageId: ERROR_SERVICE_DEPENDENCY_DELETED -// -// MessageText: -// -// The dependency service does not exist or has been marked for deletion. -// -export const ERROR_SERVICE_DEPENDENCY_DELETED = 1075; - -// -// MessageId: ERROR_BOOT_ALREADY_ACCEPTED -// -// MessageText: -// -// The current boot has already been accepted for use as the last-known-good control set. -// -export const ERROR_BOOT_ALREADY_ACCEPTED = 1076; - -// -// MessageId: ERROR_SERVICE_NEVER_STARTED -// -// MessageText: -// -// No attempts to start the service have been made since the last boot. -// -export const ERROR_SERVICE_NEVER_STARTED = 1077; - -// -// MessageId: ERROR_DUPLICATE_SERVICE_NAME -// -// MessageText: -// -// The name is already in use as either a service name or a service display name. -// -export const ERROR_DUPLICATE_SERVICE_NAME = 1078; - -// -// MessageId: ERROR_DIFFERENT_SERVICE_ACCOUNT -// -// MessageText: -// -// The account specified for this service is different from the account specified for other services running in the same process. -// -export const ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079; - -// -// MessageId: ERROR_CANNOT_DETECT_DRIVER_FAILURE -// -// MessageText: -// -// Failure actions can only be set for Win32 services, not for drivers. -// -export const ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080; - -// -// MessageId: ERROR_CANNOT_DETECT_PROCESS_ABORT -// -// MessageText: -// -// This service runs in the same process as the service control manager. -// Therefore, the service control manager cannot take action if this service's process terminates unexpectedly. -// -export const ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081; - -// -// MessageId: ERROR_NO_RECOVERY_PROGRAM -// -// MessageText: -// -// No recovery program has been configured for this service. -// -export const ERROR_NO_RECOVERY_PROGRAM = 1082; - -// -// MessageId: ERROR_SERVICE_NOT_IN_EXE -// -// MessageText: -// -// The executable program that this service is configured to run in does not implement the service. -// -export const ERROR_SERVICE_NOT_IN_EXE = 1083; - -// -// MessageId: ERROR_NOT_SAFEBOOT_SERVICE -// -// MessageText: -// -// This service cannot be started in Safe Mode -// -export const ERROR_NOT_SAFEBOOT_SERVICE = 1084; - -// -// MessageId: ERROR_END_OF_MEDIA -// -// MessageText: -// -// The physical end of the tape has been reached. -// -export const ERROR_END_OF_MEDIA = 1100; - -// -// MessageId: ERROR_FILEMARK_DETECTED -// -// MessageText: -// -// A tape access reached a filemark. -// -export const ERROR_FILEMARK_DETECTED = 1101; - -// -// MessageId: ERROR_BEGINNING_OF_MEDIA -// -// MessageText: -// -// The beginning of the tape or a partition was encountered. -// -export const ERROR_BEGINNING_OF_MEDIA = 1102; - -// -// MessageId: ERROR_SETMARK_DETECTED -// -// MessageText: -// -// A tape access reached the end of a set of files. -// -export const ERROR_SETMARK_DETECTED = 1103; - -// -// MessageId: ERROR_NO_DATA_DETECTED -// -// MessageText: -// -// No more data is on the tape. -// -export const ERROR_NO_DATA_DETECTED = 1104; - -// -// MessageId: ERROR_PARTITION_FAILURE -// -// MessageText: -// -// Tape could not be partitioned. -// -export const ERROR_PARTITION_FAILURE = 1105; - -// -// MessageId: ERROR_INVALID_BLOCK_LENGTH -// -// MessageText: -// -// When accessing a new tape of a multivolume partition, the current block size is incorrect. -// -export const ERROR_INVALID_BLOCK_LENGTH = 1106; - -// -// MessageId: ERROR_DEVICE_NOT_PARTITIONED -// -// MessageText: -// -// Tape partition information could not be found when loading a tape. -// -export const ERROR_DEVICE_NOT_PARTITIONED = 1107; - -// -// MessageId: ERROR_UNABLE_TO_LOCK_MEDIA -// -// MessageText: -// -// Unable to lock the media eject mechanism. -// -export const ERROR_UNABLE_TO_LOCK_MEDIA = 1108; - -// -// MessageId: ERROR_UNABLE_TO_UNLOAD_MEDIA -// -// MessageText: -// -// Unable to unload the media. -// -export const ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109; - -// -// MessageId: ERROR_MEDIA_CHANGED -// -// MessageText: -// -// The media in the drive may have changed. -// -export const ERROR_MEDIA_CHANGED = 1110; - -// -// MessageId: ERROR_BUS_RESET -// -// MessageText: -// -// The I/O bus was reset. -// -export const ERROR_BUS_RESET = 1111; - -// -// MessageId: ERROR_NO_MEDIA_IN_DRIVE -// -// MessageText: -// -// No media in drive. -// -export const ERROR_NO_MEDIA_IN_DRIVE = 1112; - -// -// MessageId: ERROR_NO_UNICODE_TRANSLATION -// -// MessageText: -// -// No mapping for the Unicode character exists in the target multi-byte code page. -// -export const ERROR_NO_UNICODE_TRANSLATION = 1113; - -// -// MessageId: ERROR_DLL_INIT_FAILED -// -// MessageText: -// -// A dynamic link library (DLL) initialization routine failed. -// -export const ERROR_DLL_INIT_FAILED = 1114; - -// -// MessageId: ERROR_SHUTDOWN_IN_PROGRESS -// -// MessageText: -// -// A system shutdown is in progress. -// -export const ERROR_SHUTDOWN_IN_PROGRESS = 1115; - -// -// MessageId: ERROR_NO_SHUTDOWN_IN_PROGRESS -// -// MessageText: -// -// Unable to abort the system shutdown because no shutdown was in progress. -// -export const ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116; - -// -// MessageId: ERROR_IO_DEVICE -// -// MessageText: -// -// The request could not be performed because of an I/O device error. -// -export const ERROR_IO_DEVICE = 1117; - -// -// MessageId: ERROR_SERIAL_NO_DEVICE -// -// MessageText: -// -// No serial device was successfully initialized. The serial driver will unload. -// -export const ERROR_SERIAL_NO_DEVICE = 1118; - -// -// MessageId: ERROR_IRQ_BUSY -// -// MessageText: -// -// Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened. -// -export const ERROR_IRQ_BUSY = 1119; - -// -// MessageId: ERROR_MORE_WRITES -// -// MessageText: -// -// A serial I/O operation was completed by another write to the serial port. -// (The IOCTL_SERIAL_XOFF_COUNTER reached zero.) -// -export const ERROR_MORE_WRITES = 1120; - -// -// MessageId: ERROR_COUNTER_TIMEOUT -// -// MessageText: -// -// A serial I/O operation completed because the timeout period expired. -// (The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) -// -export const ERROR_COUNTER_TIMEOUT = 1121; - -// -// MessageId: ERROR_FLOPPY_ID_MARK_NOT_FOUND -// -// MessageText: -// -// No ID address mark was found on the floppy disk. -// -export const ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122; - -// -// MessageId: ERROR_FLOPPY_WRONG_CYLINDER -// -// MessageText: -// -// Mismatch between the floppy disk sector ID field and the floppy disk controller track address. -// -export const ERROR_FLOPPY_WRONG_CYLINDER = 1123; - -// -// MessageId: ERROR_FLOPPY_UNKNOWN_ERROR -// -// MessageText: -// -// The floppy disk controller reported an error that is not recognized by the floppy disk driver. -// -export const ERROR_FLOPPY_UNKNOWN_ERROR = 1124; - -// -// MessageId: ERROR_FLOPPY_BAD_REGISTERS -// -// MessageText: -// -// The floppy disk controller returned inconsistent results in its registers. -// -export const ERROR_FLOPPY_BAD_REGISTERS = 1125; - -// -// MessageId: ERROR_DISK_RECALIBRATE_FAILED -// -// MessageText: -// -// While accessing the hard disk, a recalibrate operation failed, even after retries. -// -export const ERROR_DISK_RECALIBRATE_FAILED = 1126; - -// -// MessageId: ERROR_DISK_OPERATION_FAILED -// -// MessageText: -// -// While accessing the hard disk, a disk operation failed even after retries. -// -export const ERROR_DISK_OPERATION_FAILED = 1127; - -// -// MessageId: ERROR_DISK_RESET_FAILED -// -// MessageText: -// -// While accessing the hard disk, a disk controller reset was needed, but even that failed. -// -export const ERROR_DISK_RESET_FAILED = 1128; - -// -// MessageId: ERROR_EOM_OVERFLOW -// -// MessageText: -// -// Physical end of tape encountered. -// -export const ERROR_EOM_OVERFLOW = 1129; - -// -// MessageId: ERROR_NOT_ENOUGH_SERVER_MEMORY -// -// MessageText: -// -// Not enough server storage is available to process this command. -// -export const ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130; - -// -// MessageId: ERROR_POSSIBLE_DEADLOCK -// -// MessageText: -// -// A potential deadlock condition has been detected. -// -export const ERROR_POSSIBLE_DEADLOCK = 1131; - -// -// MessageId: ERROR_MAPPED_ALIGNMENT -// -// MessageText: -// -// The base address or the file offset specified does not have the proper alignment. -// -export const ERROR_MAPPED_ALIGNMENT = 1132; - -// -// MessageId: ERROR_SET_POWER_STATE_VETOED -// -// MessageText: -// -// An attempt to change the system power state was vetoed by another application or driver. -// -export const ERROR_SET_POWER_STATE_VETOED = 1140; - -// -// MessageId: ERROR_SET_POWER_STATE_FAILED -// -// MessageText: -// -// The system BIOS failed an attempt to change the system power state. -// -export const ERROR_SET_POWER_STATE_FAILED = 1141; - -// -// MessageId: ERROR_TOO_MANY_LINKS -// -// MessageText: -// -// An attempt was made to create more links on a file than the file system supports. -// -export const ERROR_TOO_MANY_LINKS = 1142; - -// -// MessageId: ERROR_OLD_WIN_VERSION -// -// MessageText: -// -// The specified program requires a newer version of Windows. -// -export const ERROR_OLD_WIN_VERSION = 1150; - -// -// MessageId: ERROR_APP_WRONG_OS -// -// MessageText: -// -// The specified program is not a Windows or MS-DOS program. -// -export const ERROR_APP_WRONG_OS = 1151; - -// -// MessageId: ERROR_SINGLE_INSTANCE_APP -// -// MessageText: -// -// Cannot start more than one instance of the specified program. -// -export const ERROR_SINGLE_INSTANCE_APP = 1152; - -// -// MessageId: ERROR_RMODE_APP -// -// MessageText: -// -// The specified program was written for an earlier version of Windows. -// -export const ERROR_RMODE_APP = 1153; - -// -// MessageId: ERROR_INVALID_DLL -// -// MessageText: -// -// One of the library files needed to run this application is damaged. -// -export const ERROR_INVALID_DLL = 1154; - -// -// MessageId: ERROR_NO_ASSOCIATION -// -// MessageText: -// -// No application is associated with the specified file for this operation. -// -export const ERROR_NO_ASSOCIATION = 1155; - -// -// MessageId: ERROR_DDE_FAIL -// -// MessageText: -// -// An error occurred in sending the command to the application. -// -export const ERROR_DDE_FAIL = 1156; - -// -// MessageId: ERROR_DLL_NOT_FOUND -// -// MessageText: -// -// One of the library files needed to run this application cannot be found. -// -export const ERROR_DLL_NOT_FOUND = 1157; - -// -// MessageId: ERROR_NO_MORE_USER_HANDLES -// -// MessageText: -// -// The current process has used all of its system allowance of handles for Window Manager objects. -// -export const ERROR_NO_MORE_USER_HANDLES = 1158; - -// -// MessageId: ERROR_MESSAGE_SYNC_ONLY -// -// MessageText: -// -// The message can be used only with synchronous operations. -// -export const ERROR_MESSAGE_SYNC_ONLY = 1159; - -// -// MessageId: ERROR_SOURCE_ELEMENT_EMPTY -// -// MessageText: -// -// The indicated source element has no media. -// -export const ERROR_SOURCE_ELEMENT_EMPTY = 1160; - -// -// MessageId: ERROR_DESTINATION_ELEMENT_FULL -// -// MessageText: -// -// The indicated destination element already contains media. -// -export const ERROR_DESTINATION_ELEMENT_FULL = 1161; - -// -// MessageId: ERROR_ILLEGAL_ELEMENT_ADDRESS -// -// MessageText: -// -// The indicated element does not exist. -// -export const ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162; - -// -// MessageId: ERROR_MAGAZINE_NOT_PRESENT -// -// MessageText: -// -// The indicated element is part of a magazine that is not present. -// -export const ERROR_MAGAZINE_NOT_PRESENT = 1163; - -// -// MessageId: ERROR_DEVICE_REINITIALIZATION_NEEDED -// -// MessageText: -// -// The indicated device requires reinitialization due to hardware errors. -// -export const ERROR_DEVICE_REINITIALIZATION_NEEDED = 1164; // dderror - -// -// MessageId: ERROR_DEVICE_REQUIRES_CLEANING -// -// MessageText: -// -// The device has indicated that cleaning is required before further operations are attempted. -// -export const ERROR_DEVICE_REQUIRES_CLEANING = 1165; - -// -// MessageId: ERROR_DEVICE_DOOR_OPEN -// -// MessageText: -// -// The device has indicated that its door is open. -// -export const ERROR_DEVICE_DOOR_OPEN = 1166; - -// -// MessageId: ERROR_DEVICE_NOT_CONNECTED -// -// MessageText: -// -// The device is not connected. -// -export const ERROR_DEVICE_NOT_CONNECTED = 1167; - -// -// MessageId: ERROR_NOT_FOUND -// -// MessageText: -// -// Element not found. -// -export const ERROR_NOT_FOUND = 1168; - -// -// MessageId: ERROR_NO_MATCH -// -// MessageText: -// -// There was no match for the specified key in the index. -// -export const ERROR_NO_MATCH = 1169; - -// -// MessageId: ERROR_SET_NOT_FOUND -// -// MessageText: -// -// The property set specified does not exist on the object. -// -export const ERROR_SET_NOT_FOUND = 1170; - -// -// MessageId: ERROR_POINT_NOT_FOUND -// -// MessageText: -// -// The point passed to GetMouseMovePoints is not in the buffer. -// -export const ERROR_POINT_NOT_FOUND = 1171; - -// -// MessageId: ERROR_NO_TRACKING_SERVICE -// -// MessageText: -// -// The tracking (workstation) service is not running. -// -export const ERROR_NO_TRACKING_SERVICE = 1172; - -// -// MessageId: ERROR_NO_VOLUME_ID -// -// MessageText: -// -// The Volume ID could not be found. -// -export const ERROR_NO_VOLUME_ID = 1173; - -// -// MessageId: ERROR_UNABLE_TO_REMOVE_REPLACED -// -// MessageText: -// -// Unable to remove the file to be replaced. -// -export const ERROR_UNABLE_TO_REMOVE_REPLACED = 1175; - -// -// MessageId: ERROR_UNABLE_TO_MOVE_REPLACEMENT -// -// MessageText: -// -// Unable to move the replacement file to the file to be replaced. The file to be replaced has retained its original name. -// -export const ERROR_UNABLE_TO_MOVE_REPLACEMENT = 1176; - -// -// MessageId: ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 -// -// MessageText: -// -// Unable to move the replacement file to the file to be replaced. The file to be replaced has been renamed using the backup name. -// -export const ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177; - -// -// MessageId: ERROR_JOURNAL_DELETE_IN_PROGRESS -// -// MessageText: -// -// The volume change journal is being deleted. -// -export const ERROR_JOURNAL_DELETE_IN_PROGRESS = 1178; - -// -// MessageId: ERROR_JOURNAL_NOT_ACTIVE -// -// MessageText: -// -// The volume change journal is not active. -// -export const ERROR_JOURNAL_NOT_ACTIVE = 1179; - -// -// MessageId: ERROR_POTENTIAL_FILE_FOUND -// -// MessageText: -// -// A file was found, but it may not be the correct file. -// -export const ERROR_POTENTIAL_FILE_FOUND = 1180; - -// -// MessageId: ERROR_JOURNAL_ENTRY_DELETED -// -// MessageText: -// -// The journal entry has been deleted from the journal. -// -export const ERROR_JOURNAL_ENTRY_DELETED = 1181; - -// -// MessageId: ERROR_BAD_DEVICE -// -// MessageText: -// -// The specified device name is invalid. -// -export const ERROR_BAD_DEVICE = 1200; - -// -// MessageId: ERROR_CONNECTION_UNAVAIL -// -// MessageText: -// -// The device is not currently connected but it is a remembered connection. -// -export const ERROR_CONNECTION_UNAVAIL = 1201; - -// -// MessageId: ERROR_DEVICE_ALREADY_REMEMBERED -// -// MessageText: -// -// The local device name has a remembered connection to another network resource. -// -export const ERROR_DEVICE_ALREADY_REMEMBERED = 1202; - -// -// MessageId: ERROR_NO_NET_OR_BAD_PATH -// -// MessageText: -// -// No network provider accepted the given network path. -// -export const ERROR_NO_NET_OR_BAD_PATH = 1203; - -// -// MessageId: ERROR_BAD_PROVIDER -// -// MessageText: -// -// The specified network provider name is invalid. -// -export const ERROR_BAD_PROVIDER = 1204; - -// -// MessageId: ERROR_CANNOT_OPEN_PROFILE -// -// MessageText: -// -// Unable to open the network connection profile. -// -export const ERROR_CANNOT_OPEN_PROFILE = 1205; - -// -// MessageId: ERROR_BAD_PROFILE -// -// MessageText: -// -// The network connection profile is corrupted. -// -export const ERROR_BAD_PROFILE = 1206; - -// -// MessageId: ERROR_NOT_CONTAINER -// -// MessageText: -// -// Cannot enumerate a noncontainer. -// -export const ERROR_NOT_CONTAINER = 1207; - -// -// MessageId: ERROR_EXTENDED_ERROR -// -// MessageText: -// -// An extended error has occurred. -// -export const ERROR_EXTENDED_ERROR = 1208; - -// -// MessageId: ERROR_INVALID_GROUPNAME -// -// MessageText: -// -// The format of the specified group name is invalid. -// -export const ERROR_INVALID_GROUPNAME = 1209; - -// -// MessageId: ERROR_INVALID_COMPUTERNAME -// -// MessageText: -// -// The format of the specified computer name is invalid. -// -export const ERROR_INVALID_COMPUTERNAME = 1210; - -// -// MessageId: ERROR_INVALID_EVENTNAME -// -// MessageText: -// -// The format of the specified event name is invalid. -// -export const ERROR_INVALID_EVENTNAME = 1211; - -// -// MessageId: ERROR_INVALID_DOMAINNAME -// -// MessageText: -// -// The format of the specified domain name is invalid. -// -export const ERROR_INVALID_DOMAINNAME = 1212; - -// -// MessageId: ERROR_INVALID_SERVICENAME -// -// MessageText: -// -// The format of the specified service name is invalid. -// -export const ERROR_INVALID_SERVICENAME = 1213; - -// -// MessageId: ERROR_INVALID_NETNAME -// -// MessageText: -// -// The format of the specified network name is invalid. -// -export const ERROR_INVALID_NETNAME = 1214; - -// -// MessageId: ERROR_INVALID_SHARENAME -// -// MessageText: -// -// The format of the specified share name is invalid. -// -export const ERROR_INVALID_SHARENAME = 1215; - -// -// MessageId: ERROR_INVALID_PASSWORDNAME -// -// MessageText: -// -// The format of the specified password is invalid. -// -export const ERROR_INVALID_PASSWORDNAME = 1216; - -// -// MessageId: ERROR_INVALID_MESSAGENAME -// -// MessageText: -// -// The format of the specified message name is invalid. -// -export const ERROR_INVALID_MESSAGENAME = 1217; - -// -// MessageId: ERROR_INVALID_MESSAGEDEST -// -// MessageText: -// -// The format of the specified message destination is invalid. -// -export const ERROR_INVALID_MESSAGEDEST = 1218; - -// -// MessageId: ERROR_SESSION_CREDENTIAL_CONFLICT -// -// MessageText: -// -// Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again. -// -export const ERROR_SESSION_CREDENTIAL_CONFLICT = 1219; - -// -// MessageId: ERROR_REMOTE_SESSION_LIMIT_EXCEEDED -// -// MessageText: -// -// An attempt was made to establish a session to a network server, but there are already too many sessions established to that server. -// -export const ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220; - -// -// MessageId: ERROR_DUP_DOMAINNAME -// -// MessageText: -// -// The workgroup or domain name is already in use by another computer on the network. -// -export const ERROR_DUP_DOMAINNAME = 1221; - -// -// MessageId: ERROR_NO_NETWORK -// -// MessageText: -// -// The network is not present or not started. -// -export const ERROR_NO_NETWORK = 1222; - -// -// MessageId: ERROR_CANCELLED -// -// MessageText: -// -// The operation was canceled by the user. -// -export const ERROR_CANCELLED = 1223; - -// -// MessageId: ERROR_USER_MAPPED_FILE -// -// MessageText: -// -// The requested operation cannot be performed on a file with a user-mapped section open. -// -export const ERROR_USER_MAPPED_FILE = 1224; - -// -// MessageId: ERROR_CONNECTION_REFUSED -// -// MessageText: -// -// The remote system refused the network connection. -// -export const ERROR_CONNECTION_REFUSED = 1225; - -// -// MessageId: ERROR_GRACEFUL_DISCONNECT -// -// MessageText: -// -// The network connection was gracefully closed. -// -export const ERROR_GRACEFUL_DISCONNECT = 1226; - -// -// MessageId: ERROR_ADDRESS_ALREADY_ASSOCIATED -// -// MessageText: -// -// The network transport endpoint already has an address associated with it. -// -export const ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227; - -// -// MessageId: ERROR_ADDRESS_NOT_ASSOCIATED -// -// MessageText: -// -// An address has not yet been associated with the network endpoint. -// -export const ERROR_ADDRESS_NOT_ASSOCIATED = 1228; - -// -// MessageId: ERROR_CONNECTION_INVALID -// -// MessageText: -// -// An operation was attempted on a nonexistent network connection. -// -export const ERROR_CONNECTION_INVALID = 1229; - -// -// MessageId: ERROR_CONNECTION_ACTIVE -// -// MessageText: -// -// An invalid operation was attempted on an active network connection. -// -export const ERROR_CONNECTION_ACTIVE = 1230; - -// -// MessageId: ERROR_NETWORK_UNREACHABLE -// -// MessageText: -// -// The network location cannot be reached. For information about network troubleshooting, see Windows Help. -// -export const ERROR_NETWORK_UNREACHABLE = 1231; - -// -// MessageId: ERROR_HOST_UNREACHABLE -// -// MessageText: -// -// The network location cannot be reached. For information about network troubleshooting, see Windows Help. -// -export const ERROR_HOST_UNREACHABLE = 1232; - -// -// MessageId: ERROR_PROTOCOL_UNREACHABLE -// -// MessageText: -// -// The network location cannot be reached. For information about network troubleshooting, see Windows Help. -// -export const ERROR_PROTOCOL_UNREACHABLE = 1233; - -// -// MessageId: ERROR_PORT_UNREACHABLE -// -// MessageText: -// -// No service is operating at the destination network endpoint on the remote system. -// -export const ERROR_PORT_UNREACHABLE = 1234; - -// -// MessageId: ERROR_REQUEST_ABORTED -// -// MessageText: -// -// The request was aborted. -// -export const ERROR_REQUEST_ABORTED = 1235; - -// -// MessageId: ERROR_CONNECTION_ABORTED -// -// MessageText: -// -// The network connection was aborted by the local system. -// -export const ERROR_CONNECTION_ABORTED = 1236; - -// -// MessageId: ERROR_RETRY -// -// MessageText: -// -// The operation could not be completed. A retry should be performed. -// -export const ERROR_RETRY = 1237; - -// -// MessageId: ERROR_CONNECTION_COUNT_LIMIT -// -// MessageText: -// -// A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached. -// -export const ERROR_CONNECTION_COUNT_LIMIT = 1238; - -// -// MessageId: ERROR_LOGIN_TIME_RESTRICTION -// -// MessageText: -// -// Attempting to log in during an unauthorized time of day for this account. -// -export const ERROR_LOGIN_TIME_RESTRICTION = 1239; - -// -// MessageId: ERROR_LOGIN_WKSTA_RESTRICTION -// -// MessageText: -// -// The account is not authorized to log in from this station. -// -export const ERROR_LOGIN_WKSTA_RESTRICTION = 1240; - -// -// MessageId: ERROR_INCORRECT_ADDRESS -// -// MessageText: -// -// The network address could not be used for the operation requested. -// -export const ERROR_INCORRECT_ADDRESS = 1241; - -// -// MessageId: ERROR_ALREADY_REGISTERED -// -// MessageText: -// -// The service is already registered. -// -export const ERROR_ALREADY_REGISTERED = 1242; - -// -// MessageId: ERROR_SERVICE_NOT_FOUND -// -// MessageText: -// -// The specified service does not exist. -// -export const ERROR_SERVICE_NOT_FOUND = 1243; - -// -// MessageId: ERROR_NOT_AUTHENTICATED -// -// MessageText: -// -// The operation being requested was not performed because the user has not been authenticated. -// -export const ERROR_NOT_AUTHENTICATED = 1244; - -// -// MessageId: ERROR_NOT_LOGGED_ON -// -// MessageText: -// -// The operation being requested was not performed because the user has not logged on to the network. -// The specified service does not exist. -// -export const ERROR_NOT_LOGGED_ON = 1245; - -// -// MessageId: ERROR_CONTINUE -// -// MessageText: -// -// Continue with work in progress. -// -export const ERROR_CONTINUE = 1246; // dderror - -// -// MessageId: ERROR_ALREADY_INITIALIZED -// -// MessageText: -// -// An attempt was made to perform an initialization operation when initialization has already been completed. -// -export const ERROR_ALREADY_INITIALIZED = 1247; - -// -// MessageId: ERROR_NO_MORE_DEVICES -// -// MessageText: -// -// No more local devices. -// -export const ERROR_NO_MORE_DEVICES = 1248; // dderror - -// -// MessageId: ERROR_NO_SUCH_SITE -// -// MessageText: -// -// The specified site does not exist. -// -export const ERROR_NO_SUCH_SITE = 1249; - -// -// MessageId: ERROR_DOMAIN_CONTROLLER_EXISTS -// -// MessageText: -// -// A domain controller with the specified name already exists. -// -export const ERROR_DOMAIN_CONTROLLER_EXISTS = 1250; - -// -// MessageId: ERROR_ONLY_IF_CONNECTED -// -// MessageText: -// -// This operation is supported only when you are connected to the server. -// -export const ERROR_ONLY_IF_CONNECTED = 1251; - -// -// MessageId: ERROR_OVERRIDE_NOCHANGES -// -// MessageText: -// -// The group policy framework should call the extension even if there are no changes. -// -export const ERROR_OVERRIDE_NOCHANGES = 1252; - -// -// MessageId: ERROR_BAD_USER_PROFILE -// -// MessageText: -// -// The specified user does not have a valid profile. -// -export const ERROR_BAD_USER_PROFILE = 1253; - -// -// MessageId: ERROR_NOT_SUPPORTED_ON_SBS -// -// MessageText: -// -// This operation is not supported on a computer running Windows Server 2003 for Small Business Server -// -export const ERROR_NOT_SUPPORTED_ON_SBS = 1254; - -// -// MessageId: ERROR_SERVER_SHUTDOWN_IN_PROGRESS -// -// MessageText: -// -// The server machine is shutting down. -// -export const ERROR_SERVER_SHUTDOWN_IN_PROGRESS = 1255; - -// -// MessageId: ERROR_HOST_DOWN -// -// MessageText: -// -// The remote system is not available. For information about network troubleshooting, see Windows Help. -// -export const ERROR_HOST_DOWN = 1256; - -// -// MessageId: ERROR_NON_ACCOUNT_SID -// -// MessageText: -// -// The security identifier provided is not from an account domain. -// -export const ERROR_NON_ACCOUNT_SID = 1257; - -// -// MessageId: ERROR_NON_DOMAIN_SID -// -// MessageText: -// -// The security identifier provided does not have a domain component. -// -export const ERROR_NON_DOMAIN_SID = 1258; - -// -// MessageId: ERROR_APPHELP_BLOCK -// -// MessageText: -// -// AppHelp dialog canceled thus preventing the application from starting. -// -export const ERROR_APPHELP_BLOCK = 1259; - -// -// MessageId: ERROR_ACCESS_DISABLED_BY_POLICY -// -// MessageText: -// -// Windows cannot open this program because it has been prevented by a software restriction policy. For more information, open Event Viewer or contact your system administrator. -// -export const ERROR_ACCESS_DISABLED_BY_POLICY = 1260; - -// -// MessageId: ERROR_REG_NAT_CONSUMPTION -// -// MessageText: -// -// A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific. -// -export const ERROR_REG_NAT_CONSUMPTION = 1261; - -// -// MessageId: ERROR_CSCSHARE_OFFLINE -// -// MessageText: -// -// The share is currently offline or does not exist. -// -export const ERROR_CSCSHARE_OFFLINE = 1262; - -// -// MessageId: ERROR_PKINIT_FAILURE -// -// MessageText: -// -// The kerberos protocol encountered an error while validating the -// KDC certificate during smartcard logon. There is more information in the -// system event log. -// -export const ERROR_PKINIT_FAILURE = 1263; - -// -// MessageId: ERROR_SMARTCARD_SUBSYSTEM_FAILURE -// -// MessageText: -// -// The kerberos protocol encountered an error while attempting to utilize -// the smartcard subsystem. -// -export const ERROR_SMARTCARD_SUBSYSTEM_FAILURE = 1264; - -// -// MessageId: ERROR_DOWNGRADE_DETECTED -// -// MessageText: -// -// The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you. -// -export const ERROR_DOWNGRADE_DETECTED = 1265; - -// -// Do not use ID's 1266 - 1270 as the symbolicNames have been moved to SEC_E_* -// -// -// MessageId: ERROR_MACHINE_LOCKED -// -// MessageText: -// -// The machine is locked and can not be shut down without the force option. -// -export const ERROR_MACHINE_LOCKED = 1271; - -// -// MessageId: ERROR_CALLBACK_SUPPLIED_INVALID_DATA -// -// MessageText: -// -// An application-defined callback gave invalid data when called. -// -export const ERROR_CALLBACK_SUPPLIED_INVALID_DATA = 1273; - -// -// MessageId: ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED -// -// MessageText: -// -// The group policy framework should call the extension in the synchronous foreground policy refresh. -// -export const ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED = 1274; - -// -// MessageId: ERROR_DRIVER_BLOCKED -// -// MessageText: -// -// This driver has been blocked from loading -// -export const ERROR_DRIVER_BLOCKED = 1275; - -// -// MessageId: ERROR_INVALID_IMPORT_OF_NON_DLL -// -// MessageText: -// -// A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image. -// -export const ERROR_INVALID_IMPORT_OF_NON_DLL = 1276; - -// -// MessageId: ERROR_ACCESS_DISABLED_WEBBLADE -// -// MessageText: -// -// Windows cannot open this program since it has been disabled. -// -export const ERROR_ACCESS_DISABLED_WEBBLADE = 1277; - -// -// MessageId: ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER -// -// MessageText: -// -// Windows cannot open this program because the license enforcement system has been tampered with or become corrupted. -// -export const ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER = 1278; - -// -// MessageId: ERROR_RECOVERY_FAILURE -// -// MessageText: -// -// A transaction recover failed. -// -export const ERROR_RECOVERY_FAILURE = 1279; - -// -// MessageId: ERROR_ALREADY_FIBER -// -// MessageText: -// -// The current thread has already been converted to a fiber. -// -export const ERROR_ALREADY_FIBER = 1280; - -// -// MessageId: ERROR_ALREADY_THREAD -// -// MessageText: -// -// The current thread has already been converted from a fiber. -// -export const ERROR_ALREADY_THREAD = 1281; - -// -// MessageId: ERROR_STACK_BUFFER_OVERRUN -// -// MessageText: -// -// The system detected an overrun of a stack-based buffer in this application. This -// overrun could potentially allow a malicious user to gain control of this application. -// -export const ERROR_STACK_BUFFER_OVERRUN = 1282; - -// -// MessageId: ERROR_PARAMETER_QUOTA_EXCEEDED -// -// MessageText: -// -// Data present in one of the parameters is more than the function can operate on. -// -export const ERROR_PARAMETER_QUOTA_EXCEEDED = 1283; - -// -// MessageId: ERROR_DEBUGGER_INACTIVE -// -// MessageText: -// -// An attempt to do an operation on a debug object failed because the object is in the process of being deleted. -// -export const ERROR_DEBUGGER_INACTIVE = 1284; - -// -// MessageId: ERROR_DELAY_LOAD_FAILED -// -// MessageText: -// -// An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed. -// -export const ERROR_DELAY_LOAD_FAILED = 1285; - -// -// MessageId: ERROR_VDM_DISALLOWED -// -// MessageText: -// -// %1 is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator. -// -export const ERROR_VDM_DISALLOWED = 1286; - -// -// MessageId: ERROR_UNIDENTIFIED_ERROR -// -// MessageText: -// -// Insufficient information exists to identify the cause of failure. -// -export const ERROR_UNIDENTIFIED_ERROR = 1287; - -/////////////////////////// -// -// Add new status codes before this point unless there is a component specific section below. -// -/////////////////////////// - -/////////////////////////// -// // -// Security Status Codes // -// // -/////////////////////////// - -// -// MessageId: ERROR_NOT_ALL_ASSIGNED -// -// MessageText: -// -// Not all privileges referenced are assigned to the caller. -// -export const ERROR_NOT_ALL_ASSIGNED = 1300; - -// -// MessageId: ERROR_SOME_NOT_MAPPED -// -// MessageText: -// -// Some mapping between account names and security IDs was not done. -// -export const ERROR_SOME_NOT_MAPPED = 1301; - -// -// MessageId: ERROR_NO_QUOTAS_FOR_ACCOUNT -// -// MessageText: -// -// No system quota limits are specifically set for this account. -// -export const ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302; - -// -// MessageId: ERROR_LOCAL_USER_SESSION_KEY -// -// MessageText: -// -// No encryption key is available. A well-known encryption key was returned. -// -export const ERROR_LOCAL_USER_SESSION_KEY = 1303; - -// -// MessageId: ERROR_NULL_LM_PASSWORD -// -// MessageText: -// -// The password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a NULL string. -// -export const ERROR_NULL_LM_PASSWORD = 1304; - -// -// MessageId: ERROR_UNKNOWN_REVISION -// -// MessageText: -// -// The revision level is unknown. -// -export const ERROR_UNKNOWN_REVISION = 1305; - -// -// MessageId: ERROR_REVISION_MISMATCH -// -// MessageText: -// -// Indicates two revision levels are incompatible. -// -export const ERROR_REVISION_MISMATCH = 1306; - -// -// MessageId: ERROR_INVALID_OWNER -// -// MessageText: -// -// This security ID may not be assigned as the owner of this object. -// -export const ERROR_INVALID_OWNER = 1307; - -// -// MessageId: ERROR_INVALID_PRIMARY_GROUP -// -// MessageText: -// -// This security ID may not be assigned as the primary group of an object. -// -export const ERROR_INVALID_PRIMARY_GROUP = 1308; - -// -// MessageId: ERROR_NO_IMPERSONATION_TOKEN -// -// MessageText: -// -// An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client. -// -export const ERROR_NO_IMPERSONATION_TOKEN = 1309; - -// -// MessageId: ERROR_CANT_DISABLE_MANDATORY -// -// MessageText: -// -// The group may not be disabled. -// -export const ERROR_CANT_DISABLE_MANDATORY = 1310; - -// -// MessageId: ERROR_NO_LOGON_SERVERS -// -// MessageText: -// -// There are currently no logon servers available to service the logon request. -// -export const ERROR_NO_LOGON_SERVERS = 1311; - -// -// MessageId: ERROR_NO_SUCH_LOGON_SESSION -// -// MessageText: -// -// A specified logon session does not exist. It may already have been terminated. -// -export const ERROR_NO_SUCH_LOGON_SESSION = 1312; - -// -// MessageId: ERROR_NO_SUCH_PRIVILEGE -// -// MessageText: -// -// A specified privilege does not exist. -// -export const ERROR_NO_SUCH_PRIVILEGE = 1313; - -// -// MessageId: ERROR_PRIVILEGE_NOT_HELD -// -// MessageText: -// -// A required privilege is not held by the client. -// -export const ERROR_PRIVILEGE_NOT_HELD = 1314; - -// -// MessageId: ERROR_INVALID_ACCOUNT_NAME -// -// MessageText: -// -// The name provided is not a properly formed account name. -// -export const ERROR_INVALID_ACCOUNT_NAME = 1315; - -// -// MessageId: ERROR_USER_EXISTS -// -// MessageText: -// -// The specified user already exists. -// -export const ERROR_USER_EXISTS = 1316; - -// -// MessageId: ERROR_NO_SUCH_USER -// -// MessageText: -// -// The specified user does not exist. -// -export const ERROR_NO_SUCH_USER = 1317; - -// -// MessageId: ERROR_GROUP_EXISTS -// -// MessageText: -// -// The specified group already exists. -// -export const ERROR_GROUP_EXISTS = 1318; - -// -// MessageId: ERROR_NO_SUCH_GROUP -// -// MessageText: -// -// The specified group does not exist. -// -export const ERROR_NO_SUCH_GROUP = 1319; - -// -// MessageId: ERROR_MEMBER_IN_GROUP -// -// MessageText: -// -// Either the specified user account is already a member of the specified group, or the specified group cannot be deleted because it contains a member. -// -export const ERROR_MEMBER_IN_GROUP = 1320; - -// -// MessageId: ERROR_MEMBER_NOT_IN_GROUP -// -// MessageText: -// -// The specified user account is not a member of the specified group account. -// -export const ERROR_MEMBER_NOT_IN_GROUP = 1321; - -// -// MessageId: ERROR_LAST_ADMIN -// -// MessageText: -// -// The last remaining administration account cannot be disabled or deleted. -// -export const ERROR_LAST_ADMIN = 1322; - -// -// MessageId: ERROR_WRONG_PASSWORD -// -// MessageText: -// -// Unable to update the password. The value provided as the current password is incorrect. -// -export const ERROR_WRONG_PASSWORD = 1323; - -// -// MessageId: ERROR_ILL_FORMED_PASSWORD -// -// MessageText: -// -// Unable to update the password. The value provided for the new password contains values that are not allowed in passwords. -// -export const ERROR_ILL_FORMED_PASSWORD = 1324; - -// -// MessageId: ERROR_PASSWORD_RESTRICTION -// -// MessageText: -// -// Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirement of the domain. -// -export const ERROR_PASSWORD_RESTRICTION = 1325; - -// -// MessageId: ERROR_LOGON_FAILURE -// -// MessageText: -// -// Logon failure: unknown user name or bad password. -// -export const ERROR_LOGON_FAILURE = 1326; - -// -// MessageId: ERROR_ACCOUNT_RESTRICTION -// -// MessageText: -// -// Logon failure: user account restriction. Possible reasons are blank passwords not allowed, logon hour restrictions, or a policy restriction has been enforced. -// -export const ERROR_ACCOUNT_RESTRICTION = 1327; - -// -// MessageId: ERROR_INVALID_LOGON_HOURS -// -// MessageText: -// -// Logon failure: account logon time restriction violation. -// -export const ERROR_INVALID_LOGON_HOURS = 1328; - -// -// MessageId: ERROR_INVALID_WORKSTATION -// -// MessageText: -// -// Logon failure: user not allowed to log on to this computer. -// -export const ERROR_INVALID_WORKSTATION = 1329; - -// -// MessageId: ERROR_PASSWORD_EXPIRED -// -// MessageText: -// -// Logon failure: the specified account password has expired. -// -export const ERROR_PASSWORD_EXPIRED = 1330; - -// -// MessageId: ERROR_ACCOUNT_DISABLED -// -// MessageText: -// -// Logon failure: account currently disabled. -// -export const ERROR_ACCOUNT_DISABLED = 1331; - -// -// MessageId: ERROR_NONE_MAPPED -// -// MessageText: -// -// No mapping between account names and security IDs was done. -// -export const ERROR_NONE_MAPPED = 1332; - -// -// MessageId: ERROR_TOO_MANY_LUIDS_REQUESTED -// -// MessageText: -// -// Too many local user identifiers (LUIDs) were requested at one time. -// -export const ERROR_TOO_MANY_LUIDS_REQUESTED = 1333; - -// -// MessageId: ERROR_LUIDS_EXHAUSTED -// -// MessageText: -// -// No more local user identifiers (LUIDs) are available. -// -export const ERROR_LUIDS_EXHAUSTED = 1334; - -// -// MessageId: ERROR_INVALID_SUB_AUTHORITY -// -// MessageText: -// -// The subauthority part of a security ID is invalid for this particular use. -// -export const ERROR_INVALID_SUB_AUTHORITY = 1335; - -// -// MessageId: ERROR_INVALID_ACL -// -// MessageText: -// -// The access control list (ACL) structure is invalid. -// -export const ERROR_INVALID_ACL = 1336; - -// -// MessageId: ERROR_INVALID_SID -// -// MessageText: -// -// The security ID structure is invalid. -// -export const ERROR_INVALID_SID = 1337; - -// -// MessageId: ERROR_INVALID_SECURITY_DESCR -// -// MessageText: -// -// The security descriptor structure is invalid. -// -export const ERROR_INVALID_SECURITY_DESCR = 1338; - -// -// MessageId: ERROR_BAD_INHERITANCE_ACL -// -// MessageText: -// -// The inherited access control list (ACL) or access control entry (ACE) could not be built. -// -export const ERROR_BAD_INHERITANCE_ACL = 1340; - -// -// MessageId: ERROR_SERVER_DISABLED -// -// MessageText: -// -// The server is currently disabled. -// -export const ERROR_SERVER_DISABLED = 1341; - -// -// MessageId: ERROR_SERVER_NOT_DISABLED -// -// MessageText: -// -// The server is currently enabled. -// -export const ERROR_SERVER_NOT_DISABLED = 1342; - -// -// MessageId: ERROR_INVALID_ID_AUTHORITY -// -// MessageText: -// -// The value provided was an invalid value for an identifier authority. -// -export const ERROR_INVALID_ID_AUTHORITY = 1343; - -// -// MessageId: ERROR_ALLOTTED_SPACE_EXCEEDED -// -// MessageText: -// -// No more memory is available for security information updates. -// -export const ERROR_ALLOTTED_SPACE_EXCEEDED = 1344; - -// -// MessageId: ERROR_INVALID_GROUP_ATTRIBUTES -// -// MessageText: -// -// The specified attributes are invalid, or incompatible with the attributes for the group as a whole. -// -export const ERROR_INVALID_GROUP_ATTRIBUTES = 1345; - -// -// MessageId: ERROR_BAD_IMPERSONATION_LEVEL -// -// MessageText: -// -// Either a required impersonation level was not provided, or the provided impersonation level is invalid. -// -export const ERROR_BAD_IMPERSONATION_LEVEL = 1346; - -// -// MessageId: ERROR_CANT_OPEN_ANONYMOUS -// -// MessageText: -// -// Cannot open an anonymous level security token. -// -export const ERROR_CANT_OPEN_ANONYMOUS = 1347; - -// -// MessageId: ERROR_BAD_VALIDATION_CLASS -// -// MessageText: -// -// The validation information class requested was invalid. -// -export const ERROR_BAD_VALIDATION_CLASS = 1348; - -// -// MessageId: ERROR_BAD_TOKEN_TYPE -// -// MessageText: -// -// The type of the token is inappropriate for its attempted use. -// -export const ERROR_BAD_TOKEN_TYPE = 1349; - -// -// MessageId: ERROR_NO_SECURITY_ON_OBJECT -// -// MessageText: -// -// Unable to perform a security operation on an object that has no associated security. -// -export const ERROR_NO_SECURITY_ON_OBJECT = 1350; - -// -// MessageId: ERROR_CANT_ACCESS_DOMAIN_INFO -// -// MessageText: -// -// Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied. -// -export const ERROR_CANT_ACCESS_DOMAIN_INFO = 1351; - -// -// MessageId: ERROR_INVALID_SERVER_STATE -// -// MessageText: -// -// The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation. -// -export const ERROR_INVALID_SERVER_STATE = 1352; - -// -// MessageId: ERROR_INVALID_DOMAIN_STATE -// -// MessageText: -// -// The domain was in the wrong state to perform the security operation. -// -export const ERROR_INVALID_DOMAIN_STATE = 1353; - -// -// MessageId: ERROR_INVALID_DOMAIN_ROLE -// -// MessageText: -// -// This operation is only allowed for the Primary Domain Controller of the domain. -// -export const ERROR_INVALID_DOMAIN_ROLE = 1354; - -// -// MessageId: ERROR_NO_SUCH_DOMAIN -// -// MessageText: -// -// The specified domain either does not exist or could not be contacted. -// -export const ERROR_NO_SUCH_DOMAIN = 1355; - -// -// MessageId: ERROR_DOMAIN_EXISTS -// -// MessageText: -// -// The specified domain already exists. -// -export const ERROR_DOMAIN_EXISTS = 1356; - -// -// MessageId: ERROR_DOMAIN_LIMIT_EXCEEDED -// -// MessageText: -// -// An attempt was made to exceed the limit on the number of domains per server. -// -export const ERROR_DOMAIN_LIMIT_EXCEEDED = 1357; - -// -// MessageId: ERROR_INTERNAL_DB_CORRUPTION -// -// MessageText: -// -// Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk. -// -export const ERROR_INTERNAL_DB_CORRUPTION = 1358; - -// -// MessageId: ERROR_INTERNAL_ERROR -// -// MessageText: -// -// An internal error occurred. -// -export const ERROR_INTERNAL_ERROR = 1359; - -// -// MessageId: ERROR_GENERIC_NOT_MAPPED -// -// MessageText: -// -// Generic access types were contained in an access mask which should already be mapped to nongeneric types. -// -export const ERROR_GENERIC_NOT_MAPPED = 1360; - -// -// MessageId: ERROR_BAD_DESCRIPTOR_FORMAT -// -// MessageText: -// -// A security descriptor is not in the right format (absolute or self-relative). -// -export const ERROR_BAD_DESCRIPTOR_FORMAT = 1361; - -// -// MessageId: ERROR_NOT_LOGON_PROCESS -// -// MessageText: -// -// The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process. -// -export const ERROR_NOT_LOGON_PROCESS = 1362; - -// -// MessageId: ERROR_LOGON_SESSION_EXISTS -// -// MessageText: -// -// Cannot start a new logon session with an ID that is already in use. -// -export const ERROR_LOGON_SESSION_EXISTS = 1363; - -// -// MessageId: ERROR_NO_SUCH_PACKAGE -// -// MessageText: -// -// A specified authentication package is unknown. -// -export const ERROR_NO_SUCH_PACKAGE = 1364; - -// -// MessageId: ERROR_BAD_LOGON_SESSION_STATE -// -// MessageText: -// -// The logon session is not in a state that is consistent with the requested operation. -// -export const ERROR_BAD_LOGON_SESSION_STATE = 1365; - -// -// MessageId: ERROR_LOGON_SESSION_COLLISION -// -// MessageText: -// -// The logon session ID is already in use. -// -export const ERROR_LOGON_SESSION_COLLISION = 1366; - -// -// MessageId: ERROR_INVALID_LOGON_TYPE -// -// MessageText: -// -// A logon request contained an invalid logon type value. -// -export const ERROR_INVALID_LOGON_TYPE = 1367; - -// -// MessageId: ERROR_CANNOT_IMPERSONATE -// -// MessageText: -// -// Unable to impersonate using a named pipe until data has been read from that pipe. -// -export const ERROR_CANNOT_IMPERSONATE = 1368; - -// -// MessageId: ERROR_RXACT_INVALID_STATE -// -// MessageText: -// -// The transaction state of a registry subtree is incompatible with the requested operation. -// -export const ERROR_RXACT_INVALID_STATE = 1369; - -// -// MessageId: ERROR_RXACT_COMMIT_FAILURE -// -// MessageText: -// -// An internal security database corruption has been encountered. -// -export const ERROR_RXACT_COMMIT_FAILURE = 1370; - -// -// MessageId: ERROR_SPECIAL_ACCOUNT -// -// MessageText: -// -// Cannot perform this operation on built-in accounts. -// -export const ERROR_SPECIAL_ACCOUNT = 1371; - -// -// MessageId: ERROR_SPECIAL_GROUP -// -// MessageText: -// -// Cannot perform this operation on this built-in special group. -// -export const ERROR_SPECIAL_GROUP = 1372; - -// -// MessageId: ERROR_SPECIAL_USER -// -// MessageText: -// -// Cannot perform this operation on this built-in special user. -// -export const ERROR_SPECIAL_USER = 1373; - -// -// MessageId: ERROR_MEMBERS_PRIMARY_GROUP -// -// MessageText: -// -// The user cannot be removed from a group because the group is currently the user's primary group. -// -export const ERROR_MEMBERS_PRIMARY_GROUP = 1374; - -// -// MessageId: ERROR_TOKEN_ALREADY_IN_USE -// -// MessageText: -// -// The token is already in use as a primary token. -// -export const ERROR_TOKEN_ALREADY_IN_USE = 1375; - -// -// MessageId: ERROR_NO_SUCH_ALIAS -// -// MessageText: -// -// The specified local group does not exist. -// -export const ERROR_NO_SUCH_ALIAS = 1376; - -// -// MessageId: ERROR_MEMBER_NOT_IN_ALIAS -// -// MessageText: -// -// The specified account name is not a member of the local group. -// -export const ERROR_MEMBER_NOT_IN_ALIAS = 1377; - -// -// MessageId: ERROR_MEMBER_IN_ALIAS -// -// MessageText: -// -// The specified account name is already a member of the local group. -// -export const ERROR_MEMBER_IN_ALIAS = 1378; - -// -// MessageId: ERROR_ALIAS_EXISTS -// -// MessageText: -// -// The specified local group already exists. -// -export const ERROR_ALIAS_EXISTS = 1379; - -// -// MessageId: ERROR_LOGON_NOT_GRANTED -// -// MessageText: -// -// Logon failure: the user has not been granted the requested logon type at this computer. -// -export const ERROR_LOGON_NOT_GRANTED = 1380; - -// -// MessageId: ERROR_TOO_MANY_SECRETS -// -// MessageText: -// -// The maximum number of secrets that may be stored in a single system has been exceeded. -// -export const ERROR_TOO_MANY_SECRETS = 1381; - -// -// MessageId: ERROR_SECRET_TOO_LONG -// -// MessageText: -// -// The length of a secret exceeds the maximum length allowed. -// -export const ERROR_SECRET_TOO_LONG = 1382; - -// -// MessageId: ERROR_INTERNAL_DB_ERROR -// -// MessageText: -// -// The local security authority database contains an internal inconsistency. -// -export const ERROR_INTERNAL_DB_ERROR = 1383; - -// -// MessageId: ERROR_TOO_MANY_CONTEXT_IDS -// -// MessageText: -// -// During a logon attempt, the user's security context accumulated too many security IDs. -// -export const ERROR_TOO_MANY_CONTEXT_IDS = 1384; - -// -// MessageId: ERROR_LOGON_TYPE_NOT_GRANTED -// -// MessageText: -// -// Logon failure: the user has not been granted the requested logon type at this computer. -// -export const ERROR_LOGON_TYPE_NOT_GRANTED = 1385; - -// -// MessageId: ERROR_NT_CROSS_ENCRYPTION_REQUIRED -// -// MessageText: -// -// A cross-encrypted password is necessary to change a user password. -// -export const ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386; - -// -// MessageId: ERROR_NO_SUCH_MEMBER -// -// MessageText: -// -// A member could not be added to or removed from the local group because the member does not exist. -// -export const ERROR_NO_SUCH_MEMBER = 1387; - -// -// MessageId: ERROR_INVALID_MEMBER -// -// MessageText: -// -// A new member could not be added to a local group because the member has the wrong account type. -// -export const ERROR_INVALID_MEMBER = 1388; - -// -// MessageId: ERROR_TOO_MANY_SIDS -// -// MessageText: -// -// Too many security IDs have been specified. -// -export const ERROR_TOO_MANY_SIDS = 1389; - -// -// MessageId: ERROR_LM_CROSS_ENCRYPTION_REQUIRED -// -// MessageText: -// -// A cross-encrypted password is necessary to change this user password. -// -export const ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390; - -// -// MessageId: ERROR_NO_INHERITANCE -// -// MessageText: -// -// Indicates an ACL contains no inheritable components. -// -export const ERROR_NO_INHERITANCE = 1391; - -// -// MessageId: ERROR_FILE_CORRUPT -// -// MessageText: -// -// The file or directory is corrupted and unreadable. -// -export const ERROR_FILE_CORRUPT = 1392; - -// -// MessageId: ERROR_DISK_CORRUPT -// -// MessageText: -// -// The disk structure is corrupted and unreadable. -// -export const ERROR_DISK_CORRUPT = 1393; - -// -// MessageId: ERROR_NO_USER_SESSION_KEY -// -// MessageText: -// -// There is no user session key for the specified logon session. -// -export const ERROR_NO_USER_SESSION_KEY = 1394; - -// -// MessageId: ERROR_LICENSE_QUOTA_EXCEEDED -// -// MessageText: -// -// The service being accessed is licensed for a particular number of connections. -// No more connections can be made to the service at this time because there are already as many connections as the service can accept. -// -export const ERROR_LICENSE_QUOTA_EXCEEDED = 1395; - -// -// MessageId: ERROR_WRONG_TARGET_NAME -// -// MessageText: -// -// Logon Failure: The target account name is incorrect. -// -export const ERROR_WRONG_TARGET_NAME = 1396; - -// -// MessageId: ERROR_MUTUAL_AUTH_FAILED -// -// MessageText: -// -// Mutual Authentication failed. The server's password is out of date at the domain controller. -// -export const ERROR_MUTUAL_AUTH_FAILED = 1397; - -// -// MessageId: ERROR_TIME_SKEW -// -// MessageText: -// -// There is a time and/or date difference between the client and server. -// -export const ERROR_TIME_SKEW = 1398; - -// -// MessageId: ERROR_CURRENT_DOMAIN_NOT_ALLOWED -// -// MessageText: -// -// This operation can not be performed on the current domain. -// -export const ERROR_CURRENT_DOMAIN_NOT_ALLOWED = 1399; - -// End of security error codes - -/////////////////////////// -// // -// WinUser Error Codes // -// // -/////////////////////////// - -// -// MessageId: ERROR_INVALID_WINDOW_HANDLE -// -// MessageText: -// -// Invalid window handle. -// -export const ERROR_INVALID_WINDOW_HANDLE = 1400; - -// -// MessageId: ERROR_INVALID_MENU_HANDLE -// -// MessageText: -// -// Invalid menu handle. -// -export const ERROR_INVALID_MENU_HANDLE = 1401; - -// -// MessageId: ERROR_INVALID_CURSOR_HANDLE -// -// MessageText: -// -// Invalid cursor handle. -// -export const ERROR_INVALID_CURSOR_HANDLE = 1402; - -// -// MessageId: ERROR_INVALID_ACCEL_HANDLE -// -// MessageText: -// -// Invalid accelerator table handle. -// -export const ERROR_INVALID_ACCEL_HANDLE = 1403; - -// -// MessageId: ERROR_INVALID_HOOK_HANDLE -// -// MessageText: -// -// Invalid hook handle. -// -export const ERROR_INVALID_HOOK_HANDLE = 1404; - -// -// MessageId: ERROR_INVALID_DWP_HANDLE -// -// MessageText: -// -// Invalid handle to a multiple-window position structure. -// -export const ERROR_INVALID_DWP_HANDLE = 1405; - -// -// MessageId: ERROR_TLW_WITH_WSCHILD -// -// MessageText: -// -// Cannot create a top-level child window. -// -export const ERROR_TLW_WITH_WSCHILD = 1406; - -// -// MessageId: ERROR_CANNOT_FIND_WND_CLASS -// -// MessageText: -// -// Cannot find window class. -// -export const ERROR_CANNOT_FIND_WND_CLASS = 1407; - -// -// MessageId: ERROR_WINDOW_OF_OTHER_THREAD -// -// MessageText: -// -// Invalid window; it belongs to other thread. -// -export const ERROR_WINDOW_OF_OTHER_THREAD = 1408; - -// -// MessageId: ERROR_HOTKEY_ALREADY_REGISTERED -// -// MessageText: -// -// Hot key is already registered. -// -export const ERROR_HOTKEY_ALREADY_REGISTERED = 1409; - -// -// MessageId: ERROR_CLASS_ALREADY_EXISTS -// -// MessageText: -// -// Class already exists. -// -export const ERROR_CLASS_ALREADY_EXISTS = 1410; - -// -// MessageId: ERROR_CLASS_DOES_NOT_EXIST -// -// MessageText: -// -// Class does not exist. -// -export const ERROR_CLASS_DOES_NOT_EXIST = 1411; - -// -// MessageId: ERROR_CLASS_HAS_WINDOWS -// -// MessageText: -// -// Class still has open windows. -// -export const ERROR_CLASS_HAS_WINDOWS = 1412; - -// -// MessageId: ERROR_INVALID_INDEX -// -// MessageText: -// -// Invalid index. -// -export const ERROR_INVALID_INDEX = 1413; - -// -// MessageId: ERROR_INVALID_ICON_HANDLE -// -// MessageText: -// -// Invalid icon handle. -// -export const ERROR_INVALID_ICON_HANDLE = 1414; - -// -// MessageId: ERROR_PRIVATE_DIALOG_INDEX -// -// MessageText: -// -// Using private DIALOG window words. -// -export const ERROR_PRIVATE_DIALOG_INDEX = 1415; - -// -// MessageId: ERROR_LISTBOX_ID_NOT_FOUND -// -// MessageText: -// -// The list box identifier was not found. -// -export const ERROR_LISTBOX_ID_NOT_FOUND = 1416; - -// -// MessageId: ERROR_NO_WILDCARD_CHARACTERS -// -// MessageText: -// -// No wildcards were found. -// -export const ERROR_NO_WILDCARD_CHARACTERS = 1417; - -// -// MessageId: ERROR_CLIPBOARD_NOT_OPEN -// -// MessageText: -// -// Thread does not have a clipboard open. -// -export const ERROR_CLIPBOARD_NOT_OPEN = 1418; - -// -// MessageId: ERROR_HOTKEY_NOT_REGISTERED -// -// MessageText: -// -// Hot key is not registered. -// -export const ERROR_HOTKEY_NOT_REGISTERED = 1419; - -// -// MessageId: ERROR_WINDOW_NOT_DIALOG -// -// MessageText: -// -// The window is not a valid dialog window. -// -export const ERROR_WINDOW_NOT_DIALOG = 1420; - -// -// MessageId: ERROR_CONTROL_ID_NOT_FOUND -// -// MessageText: -// -// Control ID not found. -// -export const ERROR_CONTROL_ID_NOT_FOUND = 1421; - -// -// MessageId: ERROR_INVALID_COMBOBOX_MESSAGE -// -// MessageText: -// -// Invalid message for a combo box because it does not have an edit control. -// -export const ERROR_INVALID_COMBOBOX_MESSAGE = 1422; - -// -// MessageId: ERROR_WINDOW_NOT_COMBOBOX -// -// MessageText: -// -// The window is not a combo box. -// -export const ERROR_WINDOW_NOT_COMBOBOX = 1423; - -// -// MessageId: ERROR_INVALID_EDIT_HEIGHT -// -// MessageText: -// -// Height must be less than 256. -// -export const ERROR_INVALID_EDIT_HEIGHT = 1424; - -// -// MessageId: ERROR_DC_NOT_FOUND -// -// MessageText: -// -// Invalid device context (DC) handle. -// -export const ERROR_DC_NOT_FOUND = 1425; - -// -// MessageId: ERROR_INVALID_HOOK_FILTER -// -// MessageText: -// -// Invalid hook procedure type. -// -export const ERROR_INVALID_HOOK_FILTER = 1426; - -// -// MessageId: ERROR_INVALID_FILTER_PROC -// -// MessageText: -// -// Invalid hook procedure. -// -export const ERROR_INVALID_FILTER_PROC = 1427; - -// -// MessageId: ERROR_HOOK_NEEDS_HMOD -// -// MessageText: -// -// Cannot set nonlocal hook without a module handle. -// -export const ERROR_HOOK_NEEDS_HMOD = 1428; - -// -// MessageId: ERROR_GLOBAL_ONLY_HOOK -// -// MessageText: -// -// This hook procedure can only be set globally. -// -export const ERROR_GLOBAL_ONLY_HOOK = 1429; - -// -// MessageId: ERROR_JOURNAL_HOOK_SET -// -// MessageText: -// -// The journal hook procedure is already installed. -// -export const ERROR_JOURNAL_HOOK_SET = 1430; - -// -// MessageId: ERROR_HOOK_NOT_INSTALLED -// -// MessageText: -// -// The hook procedure is not installed. -// -export const ERROR_HOOK_NOT_INSTALLED = 1431; - -// -// MessageId: ERROR_INVALID_LB_MESSAGE -// -// MessageText: -// -// Invalid message for single-selection list box. -// -export const ERROR_INVALID_LB_MESSAGE = 1432; - -// -// MessageId: ERROR_SETCOUNT_ON_BAD_LB -// -// MessageText: -// -// LB_SETCOUNT sent to non-lazy list box. -// -export const ERROR_SETCOUNT_ON_BAD_LB = 1433; - -// -// MessageId: ERROR_LB_WITHOUT_TABSTOPS -// -// MessageText: -// -// This list box does not support tab stops. -// -export const ERROR_LB_WITHOUT_TABSTOPS = 1434; - -// -// MessageId: ERROR_DESTROY_OBJECT_OF_OTHER_THREAD -// -// MessageText: -// -// Cannot destroy object created by another thread. -// -export const ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435; - -// -// MessageId: ERROR_CHILD_WINDOW_MENU -// -// MessageText: -// -// Child windows cannot have menus. -// -export const ERROR_CHILD_WINDOW_MENU = 1436; - -// -// MessageId: ERROR_NO_SYSTEM_MENU -// -// MessageText: -// -// The window does not have a system menu. -// -export const ERROR_NO_SYSTEM_MENU = 1437; - -// -// MessageId: ERROR_INVALID_MSGBOX_STYLE -// -// MessageText: -// -// Invalid message box style. -// -export const ERROR_INVALID_MSGBOX_STYLE = 1438; - -// -// MessageId: ERROR_INVALID_SPI_VALUE -// -// MessageText: -// -// Invalid system-wide (SPI_*) parameter. -// -export const ERROR_INVALID_SPI_VALUE = 1439; - -// -// MessageId: ERROR_SCREEN_ALREADY_LOCKED -// -// MessageText: -// -// Screen already locked. -// -export const ERROR_SCREEN_ALREADY_LOCKED = 1440; - -// -// MessageId: ERROR_HWNDS_HAVE_DIFF_PARENT -// -// MessageText: -// -// All handles to windows in a multiple-window position structure must have the same parent. -// -export const ERROR_HWNDS_HAVE_DIFF_PARENT = 1441; - -// -// MessageId: ERROR_NOT_CHILD_WINDOW -// -// MessageText: -// -// The window is not a child window. -// -export const ERROR_NOT_CHILD_WINDOW = 1442; - -// -// MessageId: ERROR_INVALID_GW_COMMAND -// -// MessageText: -// -// Invalid GW_* command. -// -export const ERROR_INVALID_GW_COMMAND = 1443; - -// -// MessageId: ERROR_INVALID_THREAD_ID -// -// MessageText: -// -// Invalid thread identifier. -// -export const ERROR_INVALID_THREAD_ID = 1444; - -// -// MessageId: ERROR_NON_MDICHILD_WINDOW -// -// MessageText: -// -// Cannot process a message from a window that is not a multiple document interface (MDI) window. -// -export const ERROR_NON_MDICHILD_WINDOW = 1445; - -// -// MessageId: ERROR_POPUP_ALREADY_ACTIVE -// -// MessageText: -// -// Popup menu already active. -// -export const ERROR_POPUP_ALREADY_ACTIVE = 1446; - -// -// MessageId: ERROR_NO_SCROLLBARS -// -// MessageText: -// -// The window does not have scroll bars. -// -export const ERROR_NO_SCROLLBARS = 1447; - -// -// MessageId: ERROR_INVALID_SCROLLBAR_RANGE -// -// MessageText: -// -// Scroll bar range cannot be greater than MAXLONG. -// -export const ERROR_INVALID_SCROLLBAR_RANGE = 1448; - -// -// MessageId: ERROR_INVALID_SHOWWIN_COMMAND -// -// MessageText: -// -// Cannot show or remove the window in the way specified. -// -export const ERROR_INVALID_SHOWWIN_COMMAND = 1449; - -// -// MessageId: ERROR_NO_SYSTEM_RESOURCES -// -// MessageText: -// -// Insufficient system resources exist to complete the requested service. -// -export const ERROR_NO_SYSTEM_RESOURCES = 1450; - -// -// MessageId: ERROR_NONPAGED_SYSTEM_RESOURCES -// -// MessageText: -// -// Insufficient system resources exist to complete the requested service. -// -export const ERROR_NONPAGED_SYSTEM_RESOURCES = 1451; - -// -// MessageId: ERROR_PAGED_SYSTEM_RESOURCES -// -// MessageText: -// -// Insufficient system resources exist to complete the requested service. -// -export const ERROR_PAGED_SYSTEM_RESOURCES = 1452; - -// -// MessageId: ERROR_WORKING_SET_QUOTA -// -// MessageText: -// -// Insufficient quota to complete the requested service. -// -export const ERROR_WORKING_SET_QUOTA = 1453; - -// -// MessageId: ERROR_PAGEFILE_QUOTA -// -// MessageText: -// -// Insufficient quota to complete the requested service. -// -export const ERROR_PAGEFILE_QUOTA = 1454; - -// -// MessageId: ERROR_COMMITMENT_LIMIT -// -// MessageText: -// -// The paging file is too small for this operation to complete. -// -export const ERROR_COMMITMENT_LIMIT = 1455; - -// -// MessageId: ERROR_MENU_ITEM_NOT_FOUND -// -// MessageText: -// -// A menu item was not found. -// -export const ERROR_MENU_ITEM_NOT_FOUND = 1456; - -// -// MessageId: ERROR_INVALID_KEYBOARD_HANDLE -// -// MessageText: -// -// Invalid keyboard layout handle. -// -export const ERROR_INVALID_KEYBOARD_HANDLE = 1457; - -// -// MessageId: ERROR_HOOK_TYPE_NOT_ALLOWED -// -// MessageText: -// -// Hook type not allowed. -// -export const ERROR_HOOK_TYPE_NOT_ALLOWED = 1458; - -// -// MessageId: ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION -// -// MessageText: -// -// This operation requires an interactive window station. -// -export const ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459; - -// -// MessageId: ERROR_TIMEOUT -// -// MessageText: -// -// This operation returned because the timeout period expired. -// -export const ERROR_TIMEOUT = 1460; - -// -// MessageId: ERROR_INVALID_MONITOR_HANDLE -// -// MessageText: -// -// Invalid monitor handle. -// -export const ERROR_INVALID_MONITOR_HANDLE = 1461; - -// -// MessageId: ERROR_INCORRECT_SIZE -// -// MessageText: -// -// Incorrect size argument. -// -export const ERROR_INCORRECT_SIZE = 1462; - -// End of WinUser error codes - -/////////////////////////// -// // -// Eventlog Status Codes // -// // -/////////////////////////// - -// -// MessageId: ERROR_EVENTLOG_FILE_CORRUPT -// -// MessageText: -// -// The event log file is corrupted. -// -export const ERROR_EVENTLOG_FILE_CORRUPT = 1500; - -// -// MessageId: ERROR_EVENTLOG_CANT_START -// -// MessageText: -// -// No event log file could be opened, so the event logging service did not start. -// -export const ERROR_EVENTLOG_CANT_START = 1501; - -// -// MessageId: ERROR_LOG_FILE_FULL -// -// MessageText: -// -// The event log file is full. -// -export const ERROR_LOG_FILE_FULL = 1502; - -// -// MessageId: ERROR_EVENTLOG_FILE_CHANGED -// -// MessageText: -// -// The event log file has changed between read operations. -// -export const ERROR_EVENTLOG_FILE_CHANGED = 1503; - -// End of eventlog error codes - -/////////////////////////// -// // -// MSI Error Codes // -// // -/////////////////////////// - -// -// MessageId: ERROR_INSTALL_SERVICE_FAILURE -// -// MessageText: -// -// The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance. -// -export const ERROR_INSTALL_SERVICE_FAILURE = 1601; - -// -// MessageId: ERROR_INSTALL_USEREXIT -// -// MessageText: -// -// User cancelled installation. -// -export const ERROR_INSTALL_USEREXIT = 1602; - -// -// MessageId: ERROR_INSTALL_FAILURE -// -// MessageText: -// -// Fatal error during installation. -// -export const ERROR_INSTALL_FAILURE = 1603; - -// -// MessageId: ERROR_INSTALL_SUSPEND -// -// MessageText: -// -// Installation suspended, incomplete. -// -export const ERROR_INSTALL_SUSPEND = 1604; - -// -// MessageId: ERROR_UNKNOWN_PRODUCT -// -// MessageText: -// -// This action is only valid for products that are currently installed. -// -export const ERROR_UNKNOWN_PRODUCT = 1605; - -// -// MessageId: ERROR_UNKNOWN_FEATURE -// -// MessageText: -// -// Feature ID not registered. -// -export const ERROR_UNKNOWN_FEATURE = 1606; - -// -// MessageId: ERROR_UNKNOWN_COMPONENT -// -// MessageText: -// -// Component ID not registered. -// -export const ERROR_UNKNOWN_COMPONENT = 1607; - -// -// MessageId: ERROR_UNKNOWN_PROPERTY -// -// MessageText: -// -// Unknown property. -// -export const ERROR_UNKNOWN_PROPERTY = 1608; - -// -// MessageId: ERROR_INVALID_HANDLE_STATE -// -// MessageText: -// -// Handle is in an invalid state. -// -export const ERROR_INVALID_HANDLE_STATE = 1609; - -// -// MessageId: ERROR_BAD_CONFIGURATION -// -// MessageText: -// -// The configuration data for this product is corrupt. Contact your support personnel. -// -export const ERROR_BAD_CONFIGURATION = 1610; - -// -// MessageId: ERROR_INDEX_ABSENT -// -// MessageText: -// -// Component qualifier not present. -// -export const ERROR_INDEX_ABSENT = 1611; - -// -// MessageId: ERROR_INSTALL_SOURCE_ABSENT -// -// MessageText: -// -// The installation source for this product is not available. Verify that the source exists and that you can access it. -// -export const ERROR_INSTALL_SOURCE_ABSENT = 1612; - -// -// MessageId: ERROR_INSTALL_PACKAGE_VERSION -// -// MessageText: -// -// This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. -// -export const ERROR_INSTALL_PACKAGE_VERSION = 1613; - -// -// MessageId: ERROR_PRODUCT_UNINSTALLED -// -// MessageText: -// -// Product is uninstalled. -// -export const ERROR_PRODUCT_UNINSTALLED = 1614; - -// -// MessageId: ERROR_BAD_QUERY_SYNTAX -// -// MessageText: -// -// SQL query syntax invalid or unsupported. -// -export const ERROR_BAD_QUERY_SYNTAX = 1615; - -// -// MessageId: ERROR_INVALID_FIELD -// -// MessageText: -// -// Record field does not exist. -// -export const ERROR_INVALID_FIELD = 1616; - -// -// MessageId: ERROR_DEVICE_REMOVED -// -// MessageText: -// -// The device has been removed. -// -export const ERROR_DEVICE_REMOVED = 1617; - -// -// MessageId: ERROR_INSTALL_ALREADY_RUNNING -// -// MessageText: -// -// Another installation is already in progress. Complete that installation before proceeding with this install. -// -export const ERROR_INSTALL_ALREADY_RUNNING = 1618; - -// -// MessageId: ERROR_INSTALL_PACKAGE_OPEN_FAILED -// -// MessageText: -// -// This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package. -// -export const ERROR_INSTALL_PACKAGE_OPEN_FAILED = 1619; - -// -// MessageId: ERROR_INSTALL_PACKAGE_INVALID -// -// MessageText: -// -// This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package. -// -export const ERROR_INSTALL_PACKAGE_INVALID = 1620; - -// -// MessageId: ERROR_INSTALL_UI_FAILURE -// -// MessageText: -// -// There was an error starting the Windows Installer service user interface. Contact your support personnel. -// -export const ERROR_INSTALL_UI_FAILURE = 1621; - -// -// MessageId: ERROR_INSTALL_LOG_FAILURE -// -// MessageText: -// -// Error opening installation log file. Verify that the specified log file location exists and that you can write to it. -// -export const ERROR_INSTALL_LOG_FAILURE = 1622; - -// -// MessageId: ERROR_INSTALL_LANGUAGE_UNSUPPORTED -// -// MessageText: -// -// The language of this installation package is not supported by your system. -// -export const ERROR_INSTALL_LANGUAGE_UNSUPPORTED = 1623; - -// -// MessageId: ERROR_INSTALL_TRANSFORM_FAILURE -// -// MessageText: -// -// Error applying transforms. Verify that the specified transform paths are valid. -// -export const ERROR_INSTALL_TRANSFORM_FAILURE = 1624; - -// -// MessageId: ERROR_INSTALL_PACKAGE_REJECTED -// -// MessageText: -// -// This installation is forbidden by system policy. Contact your system administrator. -// -export const ERROR_INSTALL_PACKAGE_REJECTED = 1625; - -// -// MessageId: ERROR_FUNCTION_NOT_CALLED -// -// MessageText: -// -// Function could not be executed. -// -export const ERROR_FUNCTION_NOT_CALLED = 1626; - -// -// MessageId: ERROR_FUNCTION_FAILED -// -// MessageText: -// -// Function failed during execution. -// -export const ERROR_FUNCTION_FAILED = 1627; - -// -// MessageId: ERROR_INVALID_TABLE -// -// MessageText: -// -// Invalid or unknown table specified. -// -export const ERROR_INVALID_TABLE = 1628; - -// -// MessageId: ERROR_DATATYPE_MISMATCH -// -// MessageText: -// -// Data supplied is of wrong type. -// -export const ERROR_DATATYPE_MISMATCH = 1629; - -// -// MessageId: ERROR_UNSUPPORTED_TYPE -// -// MessageText: -// -// Data of this type is not supported. -// -export const ERROR_UNSUPPORTED_TYPE = 1630; - -// -// MessageId: ERROR_CREATE_FAILED -// -// MessageText: -// -// The Windows Installer service failed to start. Contact your support personnel. -// -export const ERROR_CREATE_FAILED = 1631; - -// -// MessageId: ERROR_INSTALL_TEMP_UNWRITABLE -// -// MessageText: -// -// The Temp folder is on a drive that is full or is inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder. -// -export const ERROR_INSTALL_TEMP_UNWRITABLE = 1632; - -// -// MessageId: ERROR_INSTALL_PLATFORM_UNSUPPORTED -// -// MessageText: -// -// This installation package is not supported by this processor type. Contact your product vendor. -// -export const ERROR_INSTALL_PLATFORM_UNSUPPORTED = 1633; - -// -// MessageId: ERROR_INSTALL_NOTUSED -// -// MessageText: -// -// Component not used on this computer. -// -export const ERROR_INSTALL_NOTUSED = 1634; - -// -// MessageId: ERROR_PATCH_PACKAGE_OPEN_FAILED -// -// MessageText: -// -// This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package. -// -export const ERROR_PATCH_PACKAGE_OPEN_FAILED = 1635; - -// -// MessageId: ERROR_PATCH_PACKAGE_INVALID -// -// MessageText: -// -// This patch package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer patch package. -// -export const ERROR_PATCH_PACKAGE_INVALID = 1636; - -// -// MessageId: ERROR_PATCH_PACKAGE_UNSUPPORTED -// -// MessageText: -// -// This patch package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. -// -export const ERROR_PATCH_PACKAGE_UNSUPPORTED = 1637; - -// -// MessageId: ERROR_PRODUCT_VERSION -// -// MessageText: -// -// Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel. -// -export const ERROR_PRODUCT_VERSION = 1638; - -// -// MessageId: ERROR_INVALID_COMMAND_LINE -// -// MessageText: -// -// Invalid command line argument. Consult the Windows Installer SDK for detailed command line help. -// -export const ERROR_INVALID_COMMAND_LINE = 1639; - -// -// MessageId: ERROR_INSTALL_REMOTE_DISALLOWED -// -// MessageText: -// -// Only administrators have permission to add, remove, or configure server software during a Terminal services remote session. If you want to install or configure software on the server, contact your network administrator. -// -export const ERROR_INSTALL_REMOTE_DISALLOWED = 1640; - -// -// MessageId: ERROR_SUCCESS_REBOOT_INITIATED -// -// MessageText: -// -// The requested operation completed successfully. The system will be restarted so the changes can take effect. -// -export const ERROR_SUCCESS_REBOOT_INITIATED = 1641; - -// -// MessageId: ERROR_PATCH_TARGET_NOT_FOUND -// -// MessageText: -// -// The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program. Verify that the program to be upgraded exists on your computer an -// d that you have the correct upgrade patch. -// -export const ERROR_PATCH_TARGET_NOT_FOUND = 1642; - -// -// MessageId: ERROR_PATCH_PACKAGE_REJECTED -// -// MessageText: -// -// The patch package is not permitted by software restriction policy. -// -export const ERROR_PATCH_PACKAGE_REJECTED = 1643; - -// -// MessageId: ERROR_INSTALL_TRANSFORM_REJECTED -// -// MessageText: -// -// One or more customizations are not permitted by software restriction policy. -// -export const ERROR_INSTALL_TRANSFORM_REJECTED = 1644; - -// -// MessageId: ERROR_INSTALL_REMOTE_PROHIBITED -// -// MessageText: -// -// The Windows Installer does not permit installation from a Remote Desktop Connection. -// -export const ERROR_INSTALL_REMOTE_PROHIBITED = 1645; - -// End of MSI error codes - -/////////////////////////// -// // -// RPC Status Codes // -// // -/////////////////////////// - -// -// MessageId: RPC_S_INVALID_STRING_BINDING -// -// MessageText: -// -// The string binding is invalid. -// -export const RPC_S_INVALID_STRING_BINDING = 1700; - -// -// MessageId: RPC_S_WRONG_KIND_OF_BINDING -// -// MessageText: -// -// The binding handle is not the correct type. -// -export const RPC_S_WRONG_KIND_OF_BINDING = 1701; - -// -// MessageId: RPC_S_INVALID_BINDING -// -// MessageText: -// -// The binding handle is invalid. -// -export const RPC_S_INVALID_BINDING = 1702; - -// -// MessageId: RPC_S_PROTSEQ_NOT_SUPPORTED -// -// MessageText: -// -// The RPC protocol sequence is not supported. -// -export const RPC_S_PROTSEQ_NOT_SUPPORTED = 1703; - -// -// MessageId: RPC_S_INVALID_RPC_PROTSEQ -// -// MessageText: -// -// The RPC protocol sequence is invalid. -// -export const RPC_S_INVALID_RPC_PROTSEQ = 1704; - -// -// MessageId: RPC_S_INVALID_STRING_UUID -// -// MessageText: -// -// The string universal unique identifier (UUID) is invalid. -// -export const RPC_S_INVALID_STRING_UUID = 1705; - -// -// MessageId: RPC_S_INVALID_ENDPOINT_FORMAT -// -// MessageText: -// -// The endpoint format is invalid. -// -export const RPC_S_INVALID_ENDPOINT_FORMAT = 1706; - -// -// MessageId: RPC_S_INVALID_NET_ADDR -// -// MessageText: -// -// The network address is invalid. -// -export const RPC_S_INVALID_NET_ADDR = 1707; - -// -// MessageId: RPC_S_NO_ENDPOINT_FOUND -// -// MessageText: -// -// No endpoint was found. -// -export const RPC_S_NO_ENDPOINT_FOUND = 1708; - -// -// MessageId: RPC_S_INVALID_TIMEOUT -// -// MessageText: -// -// The timeout value is invalid. -// -export const RPC_S_INVALID_TIMEOUT = 1709; - -// -// MessageId: RPC_S_OBJECT_NOT_FOUND -// -// MessageText: -// -// The object universal unique identifier (UUID) was not found. -// -export const RPC_S_OBJECT_NOT_FOUND = 1710; - -// -// MessageId: RPC_S_ALREADY_REGISTERED -// -// MessageText: -// -// The object universal unique identifier (UUID) has already been registered. -// -export const RPC_S_ALREADY_REGISTERED = 1711; - -// -// MessageId: RPC_S_TYPE_ALREADY_REGISTERED -// -// MessageText: -// -// The type universal unique identifier (UUID) has already been registered. -// -export const RPC_S_TYPE_ALREADY_REGISTERED = 1712; - -// -// MessageId: RPC_S_ALREADY_LISTENING -// -// MessageText: -// -// The RPC server is already listening. -// -export const RPC_S_ALREADY_LISTENING = 1713; - -// -// MessageId: RPC_S_NO_PROTSEQS_REGISTERED -// -// MessageText: -// -// No protocol sequences have been registered. -// -export const RPC_S_NO_PROTSEQS_REGISTERED = 1714; - -// -// MessageId: RPC_S_NOT_LISTENING -// -// MessageText: -// -// The RPC server is not listening. -// -export const RPC_S_NOT_LISTENING = 1715; - -// -// MessageId: RPC_S_UNKNOWN_MGR_TYPE -// -// MessageText: -// -// The manager type is unknown. -// -export const RPC_S_UNKNOWN_MGR_TYPE = 1716; - -// -// MessageId: RPC_S_UNKNOWN_IF -// -// MessageText: -// -// The interface is unknown. -// -export const RPC_S_UNKNOWN_IF = 1717; - -// -// MessageId: RPC_S_NO_BINDINGS -// -// MessageText: -// -// There are no bindings. -// -export const RPC_S_NO_BINDINGS = 1718; - -// -// MessageId: RPC_S_NO_PROTSEQS -// -// MessageText: -// -// There are no protocol sequences. -// -export const RPC_S_NO_PROTSEQS = 1719; - -// -// MessageId: RPC_S_CANT_CREATE_ENDPOINT -// -// MessageText: -// -// The endpoint cannot be created. -// -export const RPC_S_CANT_CREATE_ENDPOINT = 1720; - -// -// MessageId: RPC_S_OUT_OF_RESOURCES -// -// MessageText: -// -// Not enough resources are available to complete this operation. -// -export const RPC_S_OUT_OF_RESOURCES = 1721; - -// -// MessageId: RPC_S_SERVER_UNAVAILABLE -// -// MessageText: -// -// The RPC server is unavailable. -// -export const RPC_S_SERVER_UNAVAILABLE = 1722; - -// -// MessageId: RPC_S_SERVER_TOO_BUSY -// -// MessageText: -// -// The RPC server is too busy to complete this operation. -// -export const RPC_S_SERVER_TOO_BUSY = 1723; - -// -// MessageId: RPC_S_INVALID_NETWORK_OPTIONS -// -// MessageText: -// -// The network options are invalid. -// -export const RPC_S_INVALID_NETWORK_OPTIONS = 1724; - -// -// MessageId: RPC_S_NO_CALL_ACTIVE -// -// MessageText: -// -// There are no remote procedure calls active on this thread. -// -export const RPC_S_NO_CALL_ACTIVE = 1725; - -// -// MessageId: RPC_S_CALL_FAILED -// -// MessageText: -// -// The remote procedure call failed. -// -export const RPC_S_CALL_FAILED = 1726; - -// -// MessageId: RPC_S_CALL_FAILED_DNE -// -// MessageText: -// -// The remote procedure call failed and did not execute. -// -export const RPC_S_CALL_FAILED_DNE = 1727; - -// -// MessageId: RPC_S_PROTOCOL_ERROR -// -// MessageText: -// -// A remote procedure call (RPC) protocol error occurred. -// -export const RPC_S_PROTOCOL_ERROR = 1728; - -// -// MessageId: RPC_S_UNSUPPORTED_TRANS_SYN -// -// MessageText: -// -// The transfer syntax is not supported by the RPC server. -// -export const RPC_S_UNSUPPORTED_TRANS_SYN = 1730; - -// -// MessageId: RPC_S_UNSUPPORTED_TYPE -// -// MessageText: -// -// The universal unique identifier (UUID) type is not supported. -// -export const RPC_S_UNSUPPORTED_TYPE = 1732; - -// -// MessageId: RPC_S_INVALID_TAG -// -// MessageText: -// -// The tag is invalid. -// -export const RPC_S_INVALID_TAG = 1733; - -// -// MessageId: RPC_S_INVALID_BOUND -// -// MessageText: -// -// The array bounds are invalid. -// -export const RPC_S_INVALID_BOUND = 1734; - -// -// MessageId: RPC_S_NO_ENTRY_NAME -// -// MessageText: -// -// The binding does not contain an entry name. -// -export const RPC_S_NO_ENTRY_NAME = 1735; - -// -// MessageId: RPC_S_INVALID_NAME_SYNTAX -// -// MessageText: -// -// The name syntax is invalid. -// -export const RPC_S_INVALID_NAME_SYNTAX = 1736; - -// -// MessageId: RPC_S_UNSUPPORTED_NAME_SYNTAX -// -// MessageText: -// -// The name syntax is not supported. -// -export const RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737; - -// -// MessageId: RPC_S_UUID_NO_ADDRESS -// -// MessageText: -// -// No network address is available to use to export construct a universal unique identifier (UUID). -// -export const RPC_S_UUID_NO_ADDRESS = 1739; - -// -// MessageId: RPC_S_DUPLICATE_ENDPOINT -// -// MessageText: -// -// The endpoint is a duplicate. -// -export const RPC_S_DUPLICATE_ENDPOINT = 1740; - -// -// MessageId: RPC_S_UNKNOWN_AUTHN_TYPE -// -// MessageText: -// -// The authentication type is unknown. -// -export const RPC_S_UNKNOWN_AUTHN_TYPE = 1741; - -// -// MessageId: RPC_S_MAX_CALLS_TOO_SMALL -// -// MessageText: -// -// The maximum number of calls is too small. -// -export const RPC_S_MAX_CALLS_TOO_SMALL = 1742; - -// -// MessageId: RPC_S_STRING_TOO_LONG -// -// MessageText: -// -// The string is too long. -// -export const RPC_S_STRING_TOO_LONG = 1743; - -// -// MessageId: RPC_S_PROTSEQ_NOT_FOUND -// -// MessageText: -// -// The RPC protocol sequence was not found. -// -export const RPC_S_PROTSEQ_NOT_FOUND = 1744; - -// -// MessageId: RPC_S_PROCNUM_OUT_OF_RANGE -// -// MessageText: -// -// The procedure number is out of range. -// -export const RPC_S_PROCNUM_OUT_OF_RANGE = 1745; - -// -// MessageId: RPC_S_BINDING_HAS_NO_AUTH -// -// MessageText: -// -// The binding does not contain any authentication information. -// -export const RPC_S_BINDING_HAS_NO_AUTH = 1746; - -// -// MessageId: RPC_S_UNKNOWN_AUTHN_SERVICE -// -// MessageText: -// -// The authentication service is unknown. -// -export const RPC_S_UNKNOWN_AUTHN_SERVICE = 1747; - -// -// MessageId: RPC_S_UNKNOWN_AUTHN_LEVEL -// -// MessageText: -// -// The authentication level is unknown. -// -export const RPC_S_UNKNOWN_AUTHN_LEVEL = 1748; - -// -// MessageId: RPC_S_INVALID_AUTH_IDENTITY -// -// MessageText: -// -// The security context is invalid. -// -export const RPC_S_INVALID_AUTH_IDENTITY = 1749; - -// -// MessageId: RPC_S_UNKNOWN_AUTHZ_SERVICE -// -// MessageText: -// -// The authorization service is unknown. -// -export const RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750; - -// -// MessageId: EPT_S_INVALID_ENTRY -// -// MessageText: -// -// The entry is invalid. -// -export const EPT_S_INVALID_ENTRY = 1751; - -// -// MessageId: EPT_S_CANT_PERFORM_OP -// -// MessageText: -// -// The server endpoint cannot perform the operation. -// -export const EPT_S_CANT_PERFORM_OP = 1752; - -// -// MessageId: EPT_S_NOT_REGISTERED -// -// MessageText: -// -// There are no more endpoints available from the endpoint mapper. -// -export const EPT_S_NOT_REGISTERED = 1753; - -// -// MessageId: RPC_S_NOTHING_TO_EXPORT -// -// MessageText: -// -// No interfaces have been exported. -// -export const RPC_S_NOTHING_TO_EXPORT = 1754; - -// -// MessageId: RPC_S_INCOMPLETE_NAME -// -// MessageText: -// -// The entry name is incomplete. -// -export const RPC_S_INCOMPLETE_NAME = 1755; - -// -// MessageId: RPC_S_INVALID_VERS_OPTION -// -// MessageText: -// -// The version option is invalid. -// -export const RPC_S_INVALID_VERS_OPTION = 1756; - -// -// MessageId: RPC_S_NO_MORE_MEMBERS -// -// MessageText: -// -// There are no more members. -// -export const RPC_S_NO_MORE_MEMBERS = 1757; - -// -// MessageId: RPC_S_NOT_ALL_OBJS_UNEXPORTED -// -// MessageText: -// -// There is nothing to unexport. -// -export const RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758; - -// -// MessageId: RPC_S_INTERFACE_NOT_FOUND -// -// MessageText: -// -// The interface was not found. -// -export const RPC_S_INTERFACE_NOT_FOUND = 1759; - -// -// MessageId: RPC_S_ENTRY_ALREADY_EXISTS -// -// MessageText: -// -// The entry already exists. -// -export const RPC_S_ENTRY_ALREADY_EXISTS = 1760; - -// -// MessageId: RPC_S_ENTRY_NOT_FOUND -// -// MessageText: -// -// The entry is not found. -// -export const RPC_S_ENTRY_NOT_FOUND = 1761; - -// -// MessageId: RPC_S_NAME_SERVICE_UNAVAILABLE -// -// MessageText: -// -// The name service is unavailable. -// -export const RPC_S_NAME_SERVICE_UNAVAILABLE = 1762; - -// -// MessageId: RPC_S_INVALID_NAF_ID -// -// MessageText: -// -// The network address family is invalid. -// -export const RPC_S_INVALID_NAF_ID = 1763; - -// -// MessageId: RPC_S_CANNOT_SUPPORT -// -// MessageText: -// -// The requested operation is not supported. -// -export const RPC_S_CANNOT_SUPPORT = 1764; - -// -// MessageId: RPC_S_NO_CONTEXT_AVAILABLE -// -// MessageText: -// -// No security context is available to allow impersonation. -// -export const RPC_S_NO_CONTEXT_AVAILABLE = 1765; - -// -// MessageId: RPC_S_INTERNAL_ERROR -// -// MessageText: -// -// An internal error occurred in a remote procedure call (RPC). -// -export const RPC_S_INTERNAL_ERROR = 1766; - -// -// MessageId: RPC_S_ZERO_DIVIDE -// -// MessageText: -// -// The RPC server attempted an integer division by zero. -// -export const RPC_S_ZERO_DIVIDE = 1767; - -// -// MessageId: RPC_S_ADDRESS_ERROR -// -// MessageText: -// -// An addressing error occurred in the RPC server. -// -export const RPC_S_ADDRESS_ERROR = 1768; - -// -// MessageId: RPC_S_FP_DIV_ZERO -// -// MessageText: -// -// A floating-point operation at the RPC server caused a division by zero. -// -export const RPC_S_FP_DIV_ZERO = 1769; - -// -// MessageId: RPC_S_FP_UNDERFLOW -// -// MessageText: -// -// A floating-point underflow occurred at the RPC server. -// -export const RPC_S_FP_UNDERFLOW = 1770; - -// -// MessageId: RPC_S_FP_OVERFLOW -// -// MessageText: -// -// A floating-point overflow occurred at the RPC server. -// -export const RPC_S_FP_OVERFLOW = 1771; - -// -// MessageId: RPC_X_NO_MORE_ENTRIES -// -// MessageText: -// -// The list of RPC servers available for the binding of auto handles has been exhausted. -// -export const RPC_X_NO_MORE_ENTRIES = 1772; - -// -// MessageId: RPC_X_SS_CHAR_TRANS_OPEN_FAIL -// -// MessageText: -// -// Unable to open the character translation table file. -// -export const RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773; - -// -// MessageId: RPC_X_SS_CHAR_TRANS_SHORT_FILE -// -// MessageText: -// -// The file containing the character translation table has fewer than 512 bytes. -// -export const RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774; - -// -// MessageId: RPC_X_SS_IN_NULL_CONTEXT -// -// MessageText: -// -// A null context handle was passed from the client to the host during a remote procedure call. -// -export const RPC_X_SS_IN_NULL_CONTEXT = 1775; - -// -// MessageId: RPC_X_SS_CONTEXT_DAMAGED -// -// MessageText: -// -// The context handle changed during a remote procedure call. -// -export const RPC_X_SS_CONTEXT_DAMAGED = 1777; - -// -// MessageId: RPC_X_SS_HANDLES_MISMATCH -// -// MessageText: -// -// The binding handles passed to a remote procedure call do not match. -// -export const RPC_X_SS_HANDLES_MISMATCH = 1778; - -// -// MessageId: RPC_X_SS_CANNOT_GET_CALL_HANDLE -// -// MessageText: -// -// The stub is unable to get the remote procedure call handle. -// -export const RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779; - -// -// MessageId: RPC_X_NULL_REF_POINTER -// -// MessageText: -// -// A null reference pointer was passed to the stub. -// -export const RPC_X_NULL_REF_POINTER = 1780; - -// -// MessageId: RPC_X_ENUM_VALUE_OUT_OF_RANGE -// -// MessageText: -// -// The enumeration value is out of range. -// -export const RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781; - -// -// MessageId: RPC_X_BYTE_COUNT_TOO_SMALL -// -// MessageText: -// -// The byte count is too small. -// -export const RPC_X_BYTE_COUNT_TOO_SMALL = 1782; - -// -// MessageId: RPC_X_BAD_STUB_DATA -// -// MessageText: -// -// The stub received bad data. -// -export const RPC_X_BAD_STUB_DATA = 1783; - -// -// MessageId: ERROR_INVALID_USER_BUFFER -// -// MessageText: -// -// The supplied user buffer is not valid for the requested operation. -// -export const ERROR_INVALID_USER_BUFFER = 1784; - -// -// MessageId: ERROR_UNRECOGNIZED_MEDIA -// -// MessageText: -// -// The disk media is not recognized. It may not be formatted. -// -export const ERROR_UNRECOGNIZED_MEDIA = 1785; - -// -// MessageId: ERROR_NO_TRUST_LSA_SECRET -// -// MessageText: -// -// The workstation does not have a trust secret. -// -export const ERROR_NO_TRUST_LSA_SECRET = 1786; - -// -// MessageId: ERROR_NO_TRUST_SAM_ACCOUNT -// -// MessageText: -// -// The security database on the server does not have a computer account for this workstation trust relationship. -// -export const ERROR_NO_TRUST_SAM_ACCOUNT = 1787; - -// -// MessageId: ERROR_TRUSTED_DOMAIN_FAILURE -// -// MessageText: -// -// The trust relationship between the primary domain and the trusted domain failed. -// -export const ERROR_TRUSTED_DOMAIN_FAILURE = 1788; - -// -// MessageId: ERROR_TRUSTED_RELATIONSHIP_FAILURE -// -// MessageText: -// -// The trust relationship between this workstation and the primary domain failed. -// -export const ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789; - -// -// MessageId: ERROR_TRUST_FAILURE -// -// MessageText: -// -// The network logon failed. -// -export const ERROR_TRUST_FAILURE = 1790; - -// -// MessageId: RPC_S_CALL_IN_PROGRESS -// -// MessageText: -// -// A remote procedure call is already in progress for this thread. -// -export const RPC_S_CALL_IN_PROGRESS = 1791; - -// -// MessageId: ERROR_NETLOGON_NOT_STARTED -// -// MessageText: -// -// An attempt was made to logon, but the network logon service was not started. -// -export const ERROR_NETLOGON_NOT_STARTED = 1792; - -// -// MessageId: ERROR_ACCOUNT_EXPIRED -// -// MessageText: -// -// The user's account has expired. -// -export const ERROR_ACCOUNT_EXPIRED = 1793; - -// -// MessageId: ERROR_REDIRECTOR_HAS_OPEN_HANDLES -// -// MessageText: -// -// The redirector is in use and cannot be unloaded. -// -export const ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794; - -// -// MessageId: ERROR_PRINTER_DRIVER_ALREADY_INSTALLED -// -// MessageText: -// -// The specified printer driver is already installed. -// -export const ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = 1795; - -// -// MessageId: ERROR_UNKNOWN_PORT -// -// MessageText: -// -// The specified port is unknown. -// -export const ERROR_UNKNOWN_PORT = 1796; - -// -// MessageId: ERROR_UNKNOWN_PRINTER_DRIVER -// -// MessageText: -// -// The printer driver is unknown. -// -export const ERROR_UNKNOWN_PRINTER_DRIVER = 1797; - -// -// MessageId: ERROR_UNKNOWN_PRINTPROCESSOR -// -// MessageText: -// -// The print processor is unknown. -// -export const ERROR_UNKNOWN_PRINTPROCESSOR = 1798; - -// -// MessageId: ERROR_INVALID_SEPARATOR_FILE -// -// MessageText: -// -// The specified separator file is invalid. -// -export const ERROR_INVALID_SEPARATOR_FILE = 1799; - -// -// MessageId: ERROR_INVALID_PRIORITY -// -// MessageText: -// -// The specified priority is invalid. -// -export const ERROR_INVALID_PRIORITY = 1800; - -// -// MessageId: ERROR_INVALID_PRINTER_NAME -// -// MessageText: -// -// The printer name is invalid. -// -export const ERROR_INVALID_PRINTER_NAME = 1801; - -// -// MessageId: ERROR_PRINTER_ALREADY_EXISTS -// -// MessageText: -// -// The printer already exists. -// -export const ERROR_PRINTER_ALREADY_EXISTS = 1802; - -// -// MessageId: ERROR_INVALID_PRINTER_COMMAND -// -// MessageText: -// -// The printer command is invalid. -// -export const ERROR_INVALID_PRINTER_COMMAND = 1803; - -// -// MessageId: ERROR_INVALID_DATATYPE -// -// MessageText: -// -// The specified datatype is invalid. -// -export const ERROR_INVALID_DATATYPE = 1804; - -// -// MessageId: ERROR_INVALID_ENVIRONMENT -// -// MessageText: -// -// The environment specified is invalid. -// -export const ERROR_INVALID_ENVIRONMENT = 1805; - -// -// MessageId: RPC_S_NO_MORE_BINDINGS -// -// MessageText: -// -// There are no more bindings. -// -export const RPC_S_NO_MORE_BINDINGS = 1806; - -// -// MessageId: ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT -// -// MessageText: -// -// The account used is an interdomain trust account. Use your global user account or local user account to access this server. -// -export const ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807; - -// -// MessageId: ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT -// -// MessageText: -// -// The account used is a computer account. Use your global user account or local user account to access this server. -// -export const ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808; - -// -// MessageId: ERROR_NOLOGON_SERVER_TRUST_ACCOUNT -// -// MessageText: -// -// The account used is a server trust account. Use your global user account or local user account to access this server. -// -export const ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809; - -// -// MessageId: ERROR_DOMAIN_TRUST_INCONSISTENT -// -// MessageText: -// -// The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain. -// -export const ERROR_DOMAIN_TRUST_INCONSISTENT = 1810; - -// -// MessageId: ERROR_SERVER_HAS_OPEN_HANDLES -// -// MessageText: -// -// The server is in use and cannot be unloaded. -// -export const ERROR_SERVER_HAS_OPEN_HANDLES = 1811; - -// -// MessageId: ERROR_RESOURCE_DATA_NOT_FOUND -// -// MessageText: -// -// The specified image file did not contain a resource section. -// -export const ERROR_RESOURCE_DATA_NOT_FOUND = 1812; - -// -// MessageId: ERROR_RESOURCE_TYPE_NOT_FOUND -// -// MessageText: -// -// The specified resource type cannot be found in the image file. -// -export const ERROR_RESOURCE_TYPE_NOT_FOUND = 1813; - -// -// MessageId: ERROR_RESOURCE_NAME_NOT_FOUND -// -// MessageText: -// -// The specified resource name cannot be found in the image file. -// -export const ERROR_RESOURCE_NAME_NOT_FOUND = 1814; - -// -// MessageId: ERROR_RESOURCE_LANG_NOT_FOUND -// -// MessageText: -// -// The specified resource language ID cannot be found in the image file. -// -export const ERROR_RESOURCE_LANG_NOT_FOUND = 1815; - -// -// MessageId: ERROR_NOT_ENOUGH_QUOTA -// -// MessageText: -// -// Not enough quota is available to process this command. -// -export const ERROR_NOT_ENOUGH_QUOTA = 1816; - -// -// MessageId: RPC_S_NO_INTERFACES -// -// MessageText: -// -// No interfaces have been registered. -// -export const RPC_S_NO_INTERFACES = 1817; - -// -// MessageId: RPC_S_CALL_CANCELLED -// -// MessageText: -// -// The remote procedure call was cancelled. -// -export const RPC_S_CALL_CANCELLED = 1818; - -// -// MessageId: RPC_S_BINDING_INCOMPLETE -// -// MessageText: -// -// The binding handle does not contain all required information. -// -export const RPC_S_BINDING_INCOMPLETE = 1819; - -// -// MessageId: RPC_S_COMM_FAILURE -// -// MessageText: -// -// A communications failure occurred during a remote procedure call. -// -export const RPC_S_COMM_FAILURE = 1820; - -// -// MessageId: RPC_S_UNSUPPORTED_AUTHN_LEVEL -// -// MessageText: -// -// The requested authentication level is not supported. -// -export const RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821; - -// -// MessageId: RPC_S_NO_PRINC_NAME -// -// MessageText: -// -// No principal name registered. -// -export const RPC_S_NO_PRINC_NAME = 1822; - -// -// MessageId: RPC_S_NOT_RPC_ERROR -// -// MessageText: -// -// The error specified is not a valid Windows RPC error code. -// -export const RPC_S_NOT_RPC_ERROR = 1823; - -// -// MessageId: RPC_S_UUID_LOCAL_ONLY -// -// MessageText: -// -// A UUID that is valid only on this computer has been allocated. -// -export const RPC_S_UUID_LOCAL_ONLY = 1824; - -// -// MessageId: RPC_S_SEC_PKG_ERROR -// -// MessageText: -// -// A security package specific error occurred. -// -export const RPC_S_SEC_PKG_ERROR = 1825; - -// -// MessageId: RPC_S_NOT_CANCELLED -// -// MessageText: -// -// Thread is not canceled. -// -export const RPC_S_NOT_CANCELLED = 1826; - -// -// MessageId: RPC_X_INVALID_ES_ACTION -// -// MessageText: -// -// Invalid operation on the encoding/decoding handle. -// -export const RPC_X_INVALID_ES_ACTION = 1827; - -// -// MessageId: RPC_X_WRONG_ES_VERSION -// -// MessageText: -// -// Incompatible version of the serializing package. -// -export const RPC_X_WRONG_ES_VERSION = 1828; - -// -// MessageId: RPC_X_WRONG_STUB_VERSION -// -// MessageText: -// -// Incompatible version of the RPC stub. -// -export const RPC_X_WRONG_STUB_VERSION = 1829; - -// -// MessageId: RPC_X_INVALID_PIPE_OBJECT -// -// MessageText: -// -// The RPC pipe object is invalid or corrupted. -// -export const RPC_X_INVALID_PIPE_OBJECT = 1830; - -// -// MessageId: RPC_X_WRONG_PIPE_ORDER -// -// MessageText: -// -// An invalid operation was attempted on an RPC pipe object. -// -export const RPC_X_WRONG_PIPE_ORDER = 1831; - -// -// MessageId: RPC_X_WRONG_PIPE_VERSION -// -// MessageText: -// -// Unsupported RPC pipe version. -// -export const RPC_X_WRONG_PIPE_VERSION = 1832; - -// -// MessageId: RPC_S_GROUP_MEMBER_NOT_FOUND -// -// MessageText: -// -// The group member was not found. -// -export const RPC_S_GROUP_MEMBER_NOT_FOUND = 1898; - -// -// MessageId: EPT_S_CANT_CREATE -// -// MessageText: -// -// The endpoint mapper database entry could not be created. -// -export const EPT_S_CANT_CREATE = 1899; - -// -// MessageId: RPC_S_INVALID_OBJECT -// -// MessageText: -// -// The object universal unique identifier (UUID) is the nil UUID. -// -export const RPC_S_INVALID_OBJECT = 1900; - -// -// MessageId: ERROR_INVALID_TIME -// -// MessageText: -// -// The specified time is invalid. -// -export const ERROR_INVALID_TIME = 1901; - -// -// MessageId: ERROR_INVALID_FORM_NAME -// -// MessageText: -// -// The specified form name is invalid. -// -export const ERROR_INVALID_FORM_NAME = 1902; - -// -// MessageId: ERROR_INVALID_FORM_SIZE -// -// MessageText: -// -// The specified form size is invalid. -// -export const ERROR_INVALID_FORM_SIZE = 1903; - -// -// MessageId: ERROR_ALREADY_WAITING -// -// MessageText: -// -// The specified printer handle is already being waited on -// -export const ERROR_ALREADY_WAITING = 1904; - -// -// MessageId: ERROR_PRINTER_DELETED -// -// MessageText: -// -// The specified printer has been deleted. -// -export const ERROR_PRINTER_DELETED = 1905; - -// -// MessageId: ERROR_INVALID_PRINTER_STATE -// -// MessageText: -// -// The state of the printer is invalid. -// -export const ERROR_INVALID_PRINTER_STATE = 1906; - -// -// MessageId: ERROR_PASSWORD_MUST_CHANGE -// -// MessageText: -// -// The user's password must be changed before logging on the first time. -// -export const ERROR_PASSWORD_MUST_CHANGE = 1907; - -// -// MessageId: ERROR_DOMAIN_CONTROLLER_NOT_FOUND -// -// MessageText: -// -// Could not find the domain controller for this domain. -// -export const ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908; - -// -// MessageId: ERROR_ACCOUNT_LOCKED_OUT -// -// MessageText: -// -// The referenced account is currently locked out and may not be logged on to. -// -export const ERROR_ACCOUNT_LOCKED_OUT = 1909; - -// -// MessageId: OR_INVALID_OXID -// -// MessageText: -// -// The object exporter specified was not found. -// -export const OR_INVALID_OXID = 1910; - -// -// MessageId: OR_INVALID_OID -// -// MessageText: -// -// The object specified was not found. -// -export const OR_INVALID_OID = 1911; - -// -// MessageId: OR_INVALID_SET -// -// MessageText: -// -// The object resolver set specified was not found. -// -export const OR_INVALID_SET = 1912; - -// -// MessageId: RPC_S_SEND_INCOMPLETE -// -// MessageText: -// -// Some data remains to be sent in the request buffer. -// -export const RPC_S_SEND_INCOMPLETE = 1913; - -// -// MessageId: RPC_S_INVALID_ASYNC_HANDLE -// -// MessageText: -// -// Invalid asynchronous remote procedure call handle. -// -export const RPC_S_INVALID_ASYNC_HANDLE = 1914; - -// -// MessageId: RPC_S_INVALID_ASYNC_CALL -// -// MessageText: -// -// Invalid asynchronous RPC call handle for this operation. -// -export const RPC_S_INVALID_ASYNC_CALL = 1915; - -// -// MessageId: RPC_X_PIPE_CLOSED -// -// MessageText: -// -// The RPC pipe object has already been closed. -// -export const RPC_X_PIPE_CLOSED = 1916; - -// -// MessageId: RPC_X_PIPE_DISCIPLINE_ERROR -// -// MessageText: -// -// The RPC call completed before all pipes were processed. -// -export const RPC_X_PIPE_DISCIPLINE_ERROR = 1917; - -// -// MessageId: RPC_X_PIPE_EMPTY -// -// MessageText: -// -// No more data is available from the RPC pipe. -// -export const RPC_X_PIPE_EMPTY = 1918; - -// -// MessageId: ERROR_NO_SITENAME -// -// MessageText: -// -// No site name is available for this machine. -// -export const ERROR_NO_SITENAME = 1919; - -// -// MessageId: ERROR_CANT_ACCESS_FILE -// -// MessageText: -// -// The file can not be accessed by the system. -// -export const ERROR_CANT_ACCESS_FILE = 1920; - -// -// MessageId: ERROR_CANT_RESOLVE_FILENAME -// -// MessageText: -// -// The name of the file cannot be resolved by the system. -// -export const ERROR_CANT_RESOLVE_FILENAME = 1921; - -// -// MessageId: RPC_S_ENTRY_TYPE_MISMATCH -// -// MessageText: -// -// The entry is not of the expected type. -// -export const RPC_S_ENTRY_TYPE_MISMATCH = 1922; - -// -// MessageId: RPC_S_NOT_ALL_OBJS_EXPORTED -// -// MessageText: -// -// Not all object UUIDs could be exported to the specified entry. -// -export const RPC_S_NOT_ALL_OBJS_EXPORTED = 1923; - -// -// MessageId: RPC_S_INTERFACE_NOT_EXPORTED -// -// MessageText: -// -// Interface could not be exported to the specified entry. -// -export const RPC_S_INTERFACE_NOT_EXPORTED = 1924; - -// -// MessageId: RPC_S_PROFILE_NOT_ADDED -// -// MessageText: -// -// The specified profile entry could not be added. -// -export const RPC_S_PROFILE_NOT_ADDED = 1925; - -// -// MessageId: RPC_S_PRF_ELT_NOT_ADDED -// -// MessageText: -// -// The specified profile element could not be added. -// -export const RPC_S_PRF_ELT_NOT_ADDED = 1926; - -// -// MessageId: RPC_S_PRF_ELT_NOT_REMOVED -// -// MessageText: -// -// The specified profile element could not be removed. -// -export const RPC_S_PRF_ELT_NOT_REMOVED = 1927; - -// -// MessageId: RPC_S_GRP_ELT_NOT_ADDED -// -// MessageText: -// -// The group element could not be added. -// -export const RPC_S_GRP_ELT_NOT_ADDED = 1928; - -// -// MessageId: RPC_S_GRP_ELT_NOT_REMOVED -// -// MessageText: -// -// The group element could not be removed. -// -export const RPC_S_GRP_ELT_NOT_REMOVED = 1929; - -// -// MessageId: ERROR_KM_DRIVER_BLOCKED -// -// MessageText: -// -// The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers. -// -export const ERROR_KM_DRIVER_BLOCKED = 1930; - -// -// MessageId: ERROR_CONTEXT_EXPIRED -// -// MessageText: -// -// The context has expired and can no longer be used. -// -export const ERROR_CONTEXT_EXPIRED = 1931; - -// -// MessageId: ERROR_PER_USER_TRUST_QUOTA_EXCEEDED -// -// MessageText: -// -// The current user's delegated trust creation quota has been exceeded. -// -export const ERROR_PER_USER_TRUST_QUOTA_EXCEEDED = 1932; - -// -// MessageId: ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED -// -// MessageText: -// -// The total delegated trust creation quota has been exceeded. -// -export const ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED = 1933; - -// -// MessageId: ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED -// -// MessageText: -// -// The current user's delegated trust deletion quota has been exceeded. -// -export const ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED = 1934; - -// -// MessageId: ERROR_AUTHENTICATION_FIREWALL_FAILED -// -// MessageText: -// -// Logon Failure: The machine you are logging onto is protected by an authentication firewall. The specified account is not allowed to authenticate to the machine. -// -export const ERROR_AUTHENTICATION_FIREWALL_FAILED = 1935; - -// -// MessageId: ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED -// -// MessageText: -// -// Remote connections to the Print Spooler are blocked by a policy set on your machine. -// -export const ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED = 1936; - -/////////////////////////// -// // -// OpenGL Error Code // -// // -/////////////////////////// - -// -// MessageId: ERROR_INVALID_PIXEL_FORMAT -// -// MessageText: -// -// The pixel format is invalid. -// -export const ERROR_INVALID_PIXEL_FORMAT = 2000; - -// -// MessageId: ERROR_BAD_DRIVER -// -// MessageText: -// -// The specified driver is invalid. -// -export const ERROR_BAD_DRIVER = 2001; - -// -// MessageId: ERROR_INVALID_WINDOW_STYLE -// -// MessageText: -// -// The window style or class attribute is invalid for this operation. -// -export const ERROR_INVALID_WINDOW_STYLE = 2002; - -// -// MessageId: ERROR_METAFILE_NOT_SUPPORTED -// -// MessageText: -// -// The requested metafile operation is not supported. -// -export const ERROR_METAFILE_NOT_SUPPORTED = 2003; - -// -// MessageId: ERROR_TRANSFORM_NOT_SUPPORTED -// -// MessageText: -// -// The requested transformation operation is not supported. -// -export const ERROR_TRANSFORM_NOT_SUPPORTED = 2004; - -// -// MessageId: ERROR_CLIPPING_NOT_SUPPORTED -// -// MessageText: -// -// The requested clipping operation is not supported. -// -export const ERROR_CLIPPING_NOT_SUPPORTED = 2005; - -// End of OpenGL error codes - -/////////////////////////////////////////// -// // -// Image Color Management Error Code // -// // -/////////////////////////////////////////// - -// -// MessageId: ERROR_INVALID_CMM -// -// MessageText: -// -// The specified color management module is invalid. -// -export const ERROR_INVALID_CMM = 2010; - -// -// MessageId: ERROR_INVALID_PROFILE -// -// MessageText: -// -// The specified color profile is invalid. -// -export const ERROR_INVALID_PROFILE = 2011; - -// -// MessageId: ERROR_TAG_NOT_FOUND -// -// MessageText: -// -// The specified tag was not found. -// -export const ERROR_TAG_NOT_FOUND = 2012; - -// -// MessageId: ERROR_TAG_NOT_PRESENT -// -// MessageText: -// -// A required tag is not present. -// -export const ERROR_TAG_NOT_PRESENT = 2013; - -// -// MessageId: ERROR_DUPLICATE_TAG -// -// MessageText: -// -// The specified tag is already present. -// -export const ERROR_DUPLICATE_TAG = 2014; - -// -// MessageId: ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE -// -// MessageText: -// -// The specified color profile is not associated with any device. -// -export const ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015; - -// -// MessageId: ERROR_PROFILE_NOT_FOUND -// -// MessageText: -// -// The specified color profile was not found. -// -export const ERROR_PROFILE_NOT_FOUND = 2016; - -// -// MessageId: ERROR_INVALID_COLORSPACE -// -// MessageText: -// -// The specified color space is invalid. -// -export const ERROR_INVALID_COLORSPACE = 2017; - -// -// MessageId: ERROR_ICM_NOT_ENABLED -// -// MessageText: -// -// Image Color Management is not enabled. -// -export const ERROR_ICM_NOT_ENABLED = 2018; - -// -// MessageId: ERROR_DELETING_ICM_XFORM -// -// MessageText: -// -// There was an error while deleting the color transform. -// -export const ERROR_DELETING_ICM_XFORM = 2019; - -// -// MessageId: ERROR_INVALID_TRANSFORM -// -// MessageText: -// -// The specified color transform is invalid. -// -export const ERROR_INVALID_TRANSFORM = 2020; - -// -// MessageId: ERROR_COLORSPACE_MISMATCH -// -// MessageText: -// -// The specified transform does not match the bitmap's color space. -// -export const ERROR_COLORSPACE_MISMATCH = 2021; - -// -// MessageId: ERROR_INVALID_COLORINDEX -// -// MessageText: -// -// The specified named color index is not present in the profile. -// -export const ERROR_INVALID_COLORINDEX = 2022; - -/////////////////////////// -// // -// Winnet32 Status Codes // -// // -// The range 2100 through 2999 is reserved for network status codes. -// See lmerr.h for a complete listing -/////////////////////////// - -// -// MessageId: ERROR_CONNECTED_OTHER_PASSWORD -// -// MessageText: -// -// The network connection was made successfully, but the user had to be prompted for a password other than the one originally specified. -// -export const ERROR_CONNECTED_OTHER_PASSWORD = 2108; - -// -// MessageId: ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT -// -// MessageText: -// -// The network connection was made successfully using default credentials. -// -export const ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT = 2109; - -// -// MessageId: ERROR_BAD_USERNAME -// -// MessageText: -// -// The specified username is invalid. -// -export const ERROR_BAD_USERNAME = 2202; - -// -// MessageId: ERROR_NOT_CONNECTED -// -// MessageText: -// -// This network connection does not exist. -// -export const ERROR_NOT_CONNECTED = 2250; - -// -// MessageId: ERROR_OPEN_FILES -// -// MessageText: -// -// This network connection has files open or requests pending. -// -export const ERROR_OPEN_FILES = 2401; - -// -// MessageId: ERROR_ACTIVE_CONNECTIONS -// -// MessageText: -// -// Active connections still exist. -// -export const ERROR_ACTIVE_CONNECTIONS = 2402; - -// -// MessageId: ERROR_DEVICE_IN_USE -// -// MessageText: -// -// The device is in use by an active process and cannot be disconnected. -// -export const ERROR_DEVICE_IN_USE = 2404; - -//////////////////////////////////// -// // -// Win32 Spooler Error Codes // -// // -//////////////////////////////////// -// -// MessageId: ERROR_UNKNOWN_PRINT_MONITOR -// -// MessageText: -// -// The specified print monitor is unknown. -// -export const ERROR_UNKNOWN_PRINT_MONITOR = 3000; - -// -// MessageId: ERROR_PRINTER_DRIVER_IN_USE -// -// MessageText: -// -// The specified printer driver is currently in use. -// -export const ERROR_PRINTER_DRIVER_IN_USE = 3001; - -// -// MessageId: ERROR_SPOOL_FILE_NOT_FOUND -// -// MessageText: -// -// The spool file was not found. -// -export const ERROR_SPOOL_FILE_NOT_FOUND = 3002; - -// -// MessageId: ERROR_SPL_NO_STARTDOC -// -// MessageText: -// -// A StartDocPrinter call was not issued. -// -export const ERROR_SPL_NO_STARTDOC = 3003; - -// -// MessageId: ERROR_SPL_NO_ADDJOB -// -// MessageText: -// -// An AddJob call was not issued. -// -export const ERROR_SPL_NO_ADDJOB = 3004; - -// -// MessageId: ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED -// -// MessageText: -// -// The specified print processor has already been installed. -// -export const ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005; - -// -// MessageId: ERROR_PRINT_MONITOR_ALREADY_INSTALLED -// -// MessageText: -// -// The specified print monitor has already been installed. -// -export const ERROR_PRINT_MONITOR_ALREADY_INSTALLED = 3006; - -// -// MessageId: ERROR_INVALID_PRINT_MONITOR -// -// MessageText: -// -// The specified print monitor does not have the required functions. -// -export const ERROR_INVALID_PRINT_MONITOR = 3007; - -// -// MessageId: ERROR_PRINT_MONITOR_IN_USE -// -// MessageText: -// -// The specified print monitor is currently in use. -// -export const ERROR_PRINT_MONITOR_IN_USE = 3008; - -// -// MessageId: ERROR_PRINTER_HAS_JOBS_QUEUED -// -// MessageText: -// -// The requested operation is not allowed when there are jobs queued to the printer. -// -export const ERROR_PRINTER_HAS_JOBS_QUEUED = 3009; - -// -// MessageId: ERROR_SUCCESS_REBOOT_REQUIRED -// -// MessageText: -// -// The requested operation is successful. Changes will not be effective until the system is rebooted. -// -export const ERROR_SUCCESS_REBOOT_REQUIRED = 3010; - -// -// MessageId: ERROR_SUCCESS_RESTART_REQUIRED -// -// MessageText: -// -// The requested operation is successful. Changes will not be effective until the service is restarted. -// -export const ERROR_SUCCESS_RESTART_REQUIRED = 3011; - -// -// MessageId: ERROR_PRINTER_NOT_FOUND -// -// MessageText: -// -// No printers were found. -// -export const ERROR_PRINTER_NOT_FOUND = 3012; - -// -// MessageId: ERROR_PRINTER_DRIVER_WARNED -// -// MessageText: -// -// The printer driver is known to be unreliable. -// -export const ERROR_PRINTER_DRIVER_WARNED = 3013; - -// -// MessageId: ERROR_PRINTER_DRIVER_BLOCKED -// -// MessageText: -// -// The printer driver is known to harm the system. -// -export const ERROR_PRINTER_DRIVER_BLOCKED = 3014; - -//////////////////////////////////// -// // -// Wins Error Codes // -// // -//////////////////////////////////// -// -// MessageId: ERROR_WINS_INTERNAL -// -// MessageText: -// -// WINS encountered an error while processing the command. -// -export const ERROR_WINS_INTERNAL = 4000; - -// -// MessageId: ERROR_CAN_NOT_DEL_LOCAL_WINS -// -// MessageText: -// -// The local WINS can not be deleted. -// -export const ERROR_CAN_NOT_DEL_LOCAL_WINS = 4001; - -// -// MessageId: ERROR_STATIC_INIT -// -// MessageText: -// -// The importation from the file failed. -// -export const ERROR_STATIC_INIT = 4002; - -// -// MessageId: ERROR_INC_BACKUP -// -// MessageText: -// -// The backup failed. Was a full backup done before? -// -export const ERROR_INC_BACKUP = 4003; - -// -// MessageId: ERROR_FULL_BACKUP -// -// MessageText: -// -// The backup failed. Check the directory to which you are backing the database. -// -export const ERROR_FULL_BACKUP = 4004; - -// -// MessageId: ERROR_REC_NON_EXISTENT -// -// MessageText: -// -// The name does not exist in the WINS database. -// -export const ERROR_REC_NON_EXISTENT = 4005; - -// -// MessageId: ERROR_RPL_NOT_ALLOWED -// -// MessageText: -// -// Replication with a nonconfigured partner is not allowed. -// -export const ERROR_RPL_NOT_ALLOWED = 4006; - -//////////////////////////////////// -// // -// DHCP Error Codes // -// // -//////////////////////////////////// -// -// MessageId: ERROR_DHCP_ADDRESS_CONFLICT -// -// MessageText: -// -// The DHCP client has obtained an IP address that is already in use on the network. The local interface will be disabled until the DHCP client can obtain a new address. -// -export const ERROR_DHCP_ADDRESS_CONFLICT = 4100; - -//////////////////////////////////// -// // -// WMI Error Codes // -// // -//////////////////////////////////// -// -// MessageId: ERROR_WMI_GUID_NOT_FOUND -// -// MessageText: -// -// The GUID passed was not recognized as valid by a WMI data provider. -// -export const ERROR_WMI_GUID_NOT_FOUND = 4200; - -// -// MessageId: ERROR_WMI_INSTANCE_NOT_FOUND -// -// MessageText: -// -// The instance name passed was not recognized as valid by a WMI data provider. -// -export const ERROR_WMI_INSTANCE_NOT_FOUND = 4201; - -// -// MessageId: ERROR_WMI_ITEMID_NOT_FOUND -// -// MessageText: -// -// The data item ID passed was not recognized as valid by a WMI data provider. -// -export const ERROR_WMI_ITEMID_NOT_FOUND = 4202; - -// -// MessageId: ERROR_WMI_TRY_AGAIN -// -// MessageText: -// -// The WMI request could not be completed and should be retried. -// -export const ERROR_WMI_TRY_AGAIN = 4203; - -// -// MessageId: ERROR_WMI_DP_NOT_FOUND -// -// MessageText: -// -// The WMI data provider could not be located. -// -export const ERROR_WMI_DP_NOT_FOUND = 4204; - -// -// MessageId: ERROR_WMI_UNRESOLVED_INSTANCE_REF -// -// MessageText: -// -// The WMI data provider references an instance set that has not been registered. -// -export const ERROR_WMI_UNRESOLVED_INSTANCE_REF = 4205; - -// -// MessageId: ERROR_WMI_ALREADY_ENABLED -// -// MessageText: -// -// The WMI data block or event notification has already been enabled. -// -export const ERROR_WMI_ALREADY_ENABLED = 4206; - -// -// MessageId: ERROR_WMI_GUID_DISCONNECTED -// -// MessageText: -// -// The WMI data block is no longer available. -// -export const ERROR_WMI_GUID_DISCONNECTED = 4207; - -// -// MessageId: ERROR_WMI_SERVER_UNAVAILABLE -// -// MessageText: -// -// The WMI data service is not available. -// -export const ERROR_WMI_SERVER_UNAVAILABLE = 4208; - -// -// MessageId: ERROR_WMI_DP_FAILED -// -// MessageText: -// -// The WMI data provider failed to carry out the request. -// -export const ERROR_WMI_DP_FAILED = 4209; - -// -// MessageId: ERROR_WMI_INVALID_MOF -// -// MessageText: -// -// The WMI MOF information is not valid. -// -export const ERROR_WMI_INVALID_MOF = 4210; - -// -// MessageId: ERROR_WMI_INVALID_REGINFO -// -// MessageText: -// -// The WMI registration information is not valid. -// -export const ERROR_WMI_INVALID_REGINFO = 4211; - -// -// MessageId: ERROR_WMI_ALREADY_DISABLED -// -// MessageText: -// -// The WMI data block or event notification has already been disabled. -// -export const ERROR_WMI_ALREADY_DISABLED = 4212; - -// -// MessageId: ERROR_WMI_READ_ONLY -// -// MessageText: -// -// The WMI data item or data block is read only. -// -export const ERROR_WMI_READ_ONLY = 4213; - -// -// MessageId: ERROR_WMI_SET_FAILURE -// -// MessageText: -// -// The WMI data item or data block could not be changed. -// -export const ERROR_WMI_SET_FAILURE = 4214; - -////////////////////////////////////////// -// // -// NT Media Services (RSM) Error Codes // -// // -////////////////////////////////////////// -// -// MessageId: ERROR_INVALID_MEDIA -// -// MessageText: -// -// The media identifier does not represent a valid medium. -// -export const ERROR_INVALID_MEDIA = 4300; - -// -// MessageId: ERROR_INVALID_LIBRARY -// -// MessageText: -// -// The library identifier does not represent a valid library. -// -export const ERROR_INVALID_LIBRARY = 4301; - -// -// MessageId: ERROR_INVALID_MEDIA_POOL -// -// MessageText: -// -// The media pool identifier does not represent a valid media pool. -// -export const ERROR_INVALID_MEDIA_POOL = 4302; - -// -// MessageId: ERROR_DRIVE_MEDIA_MISMATCH -// -// MessageText: -// -// The drive and medium are not compatible or exist in different libraries. -// -export const ERROR_DRIVE_MEDIA_MISMATCH = 4303; - -// -// MessageId: ERROR_MEDIA_OFFLINE -// -// MessageText: -// -// The medium currently exists in an offline library and must be online to perform this operation. -// -export const ERROR_MEDIA_OFFLINE = 4304; - -// -// MessageId: ERROR_LIBRARY_OFFLINE -// -// MessageText: -// -// The operation cannot be performed on an offline library. -// -export const ERROR_LIBRARY_OFFLINE = 4305; - -// -// MessageId: ERROR_EMPTY -// -// MessageText: -// -// The library, drive, or media pool is empty. -// -export const ERROR_EMPTY = 4306; - -// -// MessageId: ERROR_NOT_EMPTY -// -// MessageText: -// -// The library, drive, or media pool must be empty to perform this operation. -// -export const ERROR_NOT_EMPTY = 4307; - -// -// MessageId: ERROR_MEDIA_UNAVAILABLE -// -// MessageText: -// -// No media is currently available in this media pool or library. -// -export const ERROR_MEDIA_UNAVAILABLE = 4308; - -// -// MessageId: ERROR_RESOURCE_DISABLED -// -// MessageText: -// -// A resource required for this operation is disabled. -// -export const ERROR_RESOURCE_DISABLED = 4309; - -// -// MessageId: ERROR_INVALID_CLEANER -// -// MessageText: -// -// The media identifier does not represent a valid cleaner. -// -export const ERROR_INVALID_CLEANER = 4310; - -// -// MessageId: ERROR_UNABLE_TO_CLEAN -// -// MessageText: -// -// The drive cannot be cleaned or does not support cleaning. -// -export const ERROR_UNABLE_TO_CLEAN = 4311; - -// -// MessageId: ERROR_OBJECT_NOT_FOUND -// -// MessageText: -// -// The object identifier does not represent a valid object. -// -export const ERROR_OBJECT_NOT_FOUND = 4312; - -// -// MessageId: ERROR_DATABASE_FAILURE -// -// MessageText: -// -// Unable to read from or write to the database. -// -export const ERROR_DATABASE_FAILURE = 4313; - -// -// MessageId: ERROR_DATABASE_FULL -// -// MessageText: -// -// The database is full. -// -export const ERROR_DATABASE_FULL = 4314; - -// -// MessageId: ERROR_MEDIA_INCOMPATIBLE -// -// MessageText: -// -// The medium is not compatible with the device or media pool. -// -export const ERROR_MEDIA_INCOMPATIBLE = 4315; - -// -// MessageId: ERROR_RESOURCE_NOT_PRESENT -// -// MessageText: -// -// The resource required for this operation does not exist. -// -export const ERROR_RESOURCE_NOT_PRESENT = 4316; - -// -// MessageId: ERROR_INVALID_OPERATION -// -// MessageText: -// -// The operation identifier is not valid. -// -export const ERROR_INVALID_OPERATION = 4317; - -// -// MessageId: ERROR_MEDIA_NOT_AVAILABLE -// -// MessageText: -// -// The media is not mounted or ready for use. -// -export const ERROR_MEDIA_NOT_AVAILABLE = 4318; - -// -// MessageId: ERROR_DEVICE_NOT_AVAILABLE -// -// MessageText: -// -// The device is not ready for use. -// -export const ERROR_DEVICE_NOT_AVAILABLE = 4319; - -// -// MessageId: ERROR_REQUEST_REFUSED -// -// MessageText: -// -// The operator or administrator has refused the request. -// -export const ERROR_REQUEST_REFUSED = 4320; - -// -// MessageId: ERROR_INVALID_DRIVE_OBJECT -// -// MessageText: -// -// The drive identifier does not represent a valid drive. -// -export const ERROR_INVALID_DRIVE_OBJECT = 4321; - -// -// MessageId: ERROR_LIBRARY_FULL -// -// MessageText: -// -// Library is full. No slot is available for use. -// -export const ERROR_LIBRARY_FULL = 4322; - -// -// MessageId: ERROR_MEDIUM_NOT_ACCESSIBLE -// -// MessageText: -// -// The transport cannot access the medium. -// -export const ERROR_MEDIUM_NOT_ACCESSIBLE = 4323; - -// -// MessageId: ERROR_UNABLE_TO_LOAD_MEDIUM -// -// MessageText: -// -// Unable to load the medium into the drive. -// -export const ERROR_UNABLE_TO_LOAD_MEDIUM = 4324; - -// -// MessageId: ERROR_UNABLE_TO_INVENTORY_DRIVE -// -// MessageText: -// -// Unable to retrieve the drive status. -// -export const ERROR_UNABLE_TO_INVENTORY_DRIVE = 4325; - -// -// MessageId: ERROR_UNABLE_TO_INVENTORY_SLOT -// -// MessageText: -// -// Unable to retrieve the slot status. -// -export const ERROR_UNABLE_TO_INVENTORY_SLOT = 4326; - -// -// MessageId: ERROR_UNABLE_TO_INVENTORY_TRANSPORT -// -// MessageText: -// -// Unable to retrieve status about the transport. -// -export const ERROR_UNABLE_TO_INVENTORY_TRANSPORT = 4327; - -// -// MessageId: ERROR_TRANSPORT_FULL -// -// MessageText: -// -// Cannot use the transport because it is already in use. -// -export const ERROR_TRANSPORT_FULL = 4328; - -// -// MessageId: ERROR_CONTROLLING_IEPORT -// -// MessageText: -// -// Unable to open or close the inject/eject port. -// -export const ERROR_CONTROLLING_IEPORT = 4329; - -// -// MessageId: ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA -// -// MessageText: -// -// Unable to eject the medium because it is in a drive. -// -export const ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA = 4330; - -// -// MessageId: ERROR_CLEANER_SLOT_SET -// -// MessageText: -// -// A cleaner slot is already reserved. -// -export const ERROR_CLEANER_SLOT_SET = 4331; - -// -// MessageId: ERROR_CLEANER_SLOT_NOT_SET -// -// MessageText: -// -// A cleaner slot is not reserved. -// -export const ERROR_CLEANER_SLOT_NOT_SET = 4332; - -// -// MessageId: ERROR_CLEANER_CARTRIDGE_SPENT -// -// MessageText: -// -// The cleaner cartridge has performed the maximum number of drive cleanings. -// -export const ERROR_CLEANER_CARTRIDGE_SPENT = 4333; - -// -// MessageId: ERROR_UNEXPECTED_OMID -// -// MessageText: -// -// Unexpected on-medium identifier. -// -export const ERROR_UNEXPECTED_OMID = 4334; - -// -// MessageId: ERROR_CANT_DELETE_LAST_ITEM -// -// MessageText: -// -// The last remaining item in this group or resource cannot be deleted. -// -export const ERROR_CANT_DELETE_LAST_ITEM = 4335; - -// -// MessageId: ERROR_MESSAGE_EXCEEDS_MAX_SIZE -// -// MessageText: -// -// The message provided exceeds the maximum size allowed for this parameter. -// -export const ERROR_MESSAGE_EXCEEDS_MAX_SIZE = 4336; - -// -// MessageId: ERROR_VOLUME_CONTAINS_SYS_FILES -// -// MessageText: -// -// The volume contains system or paging files. -// -export const ERROR_VOLUME_CONTAINS_SYS_FILES = 4337; - -// -// MessageId: ERROR_INDIGENOUS_TYPE -// -// MessageText: -// -// The media type cannot be removed from this library since at least one drive in the library reports it can support this media type. -// -export const ERROR_INDIGENOUS_TYPE = 4338; - -// -// MessageId: ERROR_NO_SUPPORTING_DRIVES -// -// MessageText: -// -// This offline media cannot be mounted on this system since no enabled drives are present which can be used. -// -export const ERROR_NO_SUPPORTING_DRIVES = 4339; - -// -// MessageId: ERROR_CLEANER_CARTRIDGE_INSTALLED -// -// MessageText: -// -// A cleaner cartridge is present in the tape library. -// -export const ERROR_CLEANER_CARTRIDGE_INSTALLED = 4340; - -// -// MessageId: ERROR_IEPORT_FULL -// -// MessageText: -// -// Cannot use the ieport because it is not empty. -// -export const ERROR_IEPORT_FULL = 4341; - -//////////////////////////////////////////// -// // -// NT Remote Storage Service Error Codes // -// // -//////////////////////////////////////////// -// -// MessageId: ERROR_FILE_OFFLINE -// -// MessageText: -// -// The remote storage service was not able to recall the file. -// -export const ERROR_FILE_OFFLINE = 4350; - -// -// MessageId: ERROR_REMOTE_STORAGE_NOT_ACTIVE -// -// MessageText: -// -// The remote storage service is not operational at this time. -// -export const ERROR_REMOTE_STORAGE_NOT_ACTIVE = 4351; - -// -// MessageId: ERROR_REMOTE_STORAGE_MEDIA_ERROR -// -// MessageText: -// -// The remote storage service encountered a media error. -// -export const ERROR_REMOTE_STORAGE_MEDIA_ERROR = 4352; - -//////////////////////////////////////////// -// // -// NT Reparse Points Error Codes // -// // -//////////////////////////////////////////// -// -// MessageId: ERROR_NOT_A_REPARSE_POINT -// -// MessageText: -// -// The file or directory is not a reparse point. -// -export const ERROR_NOT_A_REPARSE_POINT = 4390; - -// -// MessageId: ERROR_REPARSE_ATTRIBUTE_CONFLICT -// -// MessageText: -// -// The reparse point attribute cannot be set because it conflicts with an existing attribute. -// -export const ERROR_REPARSE_ATTRIBUTE_CONFLICT = 4391; - -// -// MessageId: ERROR_INVALID_REPARSE_DATA -// -// MessageText: -// -// The data present in the reparse point buffer is invalid. -// -export const ERROR_INVALID_REPARSE_DATA = 4392; - -// -// MessageId: ERROR_REPARSE_TAG_INVALID -// -// MessageText: -// -// The tag present in the reparse point buffer is invalid. -// -export const ERROR_REPARSE_TAG_INVALID = 4393; - -// -// MessageId: ERROR_REPARSE_TAG_MISMATCH -// -// MessageText: -// -// There is a mismatch between the tag specified in the request and the tag present in the reparse point. -// -// -export const ERROR_REPARSE_TAG_MISMATCH = 4394; - -//////////////////////////////////////////// -// // -// NT Single Instance Store Error Codes // -// // -//////////////////////////////////////////// -// -// MessageId: ERROR_VOLUME_NOT_SIS_ENABLED -// -// MessageText: -// -// Single Instance Storage is not available on this volume. -// -export const ERROR_VOLUME_NOT_SIS_ENABLED = 4500; - -//////////////////////////////////// -// // -// Cluster Error Codes // -// // -//////////////////////////////////// -// -// MessageId: ERROR_DEPENDENT_RESOURCE_EXISTS -// -// MessageText: -// -// The cluster resource cannot be moved to another group because other resources are dependent on it. -// -export const ERROR_DEPENDENT_RESOURCE_EXISTS = 5001; - -// -// MessageId: ERROR_DEPENDENCY_NOT_FOUND -// -// MessageText: -// -// The cluster resource dependency cannot be found. -// -export const ERROR_DEPENDENCY_NOT_FOUND = 5002; - -// -// MessageId: ERROR_DEPENDENCY_ALREADY_EXISTS -// -// MessageText: -// -// The cluster resource cannot be made dependent on the specified resource because it is already dependent. -// -export const ERROR_DEPENDENCY_ALREADY_EXISTS = 5003; - -// -// MessageId: ERROR_RESOURCE_NOT_ONLINE -// -// MessageText: -// -// The cluster resource is not online. -// -export const ERROR_RESOURCE_NOT_ONLINE = 5004; - -// -// MessageId: ERROR_HOST_NODE_NOT_AVAILABLE -// -// MessageText: -// -// A cluster node is not available for this operation. -// -export const ERROR_HOST_NODE_NOT_AVAILABLE = 5005; - -// -// MessageId: ERROR_RESOURCE_NOT_AVAILABLE -// -// MessageText: -// -// The cluster resource is not available. -// -export const ERROR_RESOURCE_NOT_AVAILABLE = 5006; - -// -// MessageId: ERROR_RESOURCE_NOT_FOUND -// -// MessageText: -// -// The cluster resource could not be found. -// -export const ERROR_RESOURCE_NOT_FOUND = 5007; - -// -// MessageId: ERROR_SHUTDOWN_CLUSTER -// -// MessageText: -// -// The cluster is being shut down. -// -export const ERROR_SHUTDOWN_CLUSTER = 5008; - -// -// MessageId: ERROR_CANT_EVICT_ACTIVE_NODE -// -// MessageText: -// -// A cluster node cannot be evicted from the cluster unless the node is down or it is the last node. -// -export const ERROR_CANT_EVICT_ACTIVE_NODE = 5009; - -// -// MessageId: ERROR_OBJECT_ALREADY_EXISTS -// -// MessageText: -// -// The object already exists. -// -export const ERROR_OBJECT_ALREADY_EXISTS = 5010; - -// -// MessageId: ERROR_OBJECT_IN_LIST -// -// MessageText: -// -// The object is already in the list. -// -export const ERROR_OBJECT_IN_LIST = 5011; - -// -// MessageId: ERROR_GROUP_NOT_AVAILABLE -// -// MessageText: -// -// The cluster group is not available for any new requests. -// -export const ERROR_GROUP_NOT_AVAILABLE = 5012; - -// -// MessageId: ERROR_GROUP_NOT_FOUND -// -// MessageText: -// -// The cluster group could not be found. -// -export const ERROR_GROUP_NOT_FOUND = 5013; - -// -// MessageId: ERROR_GROUP_NOT_ONLINE -// -// MessageText: -// -// The operation could not be completed because the cluster group is not online. -// -export const ERROR_GROUP_NOT_ONLINE = 5014; - -// -// MessageId: ERROR_HOST_NODE_NOT_RESOURCE_OWNER -// -// MessageText: -// -// The cluster node is not the owner of the resource. -// -export const ERROR_HOST_NODE_NOT_RESOURCE_OWNER = 5015; - -// -// MessageId: ERROR_HOST_NODE_NOT_GROUP_OWNER -// -// MessageText: -// -// The cluster node is not the owner of the group. -// -export const ERROR_HOST_NODE_NOT_GROUP_OWNER = 5016; - -// -// MessageId: ERROR_RESMON_CREATE_FAILED -// -// MessageText: -// -// The cluster resource could not be created in the specified resource monitor. -// -export const ERROR_RESMON_CREATE_FAILED = 5017; - -// -// MessageId: ERROR_RESMON_ONLINE_FAILED -// -// MessageText: -// -// The cluster resource could not be brought online by the resource monitor. -// -export const ERROR_RESMON_ONLINE_FAILED = 5018; - -// -// MessageId: ERROR_RESOURCE_ONLINE -// -// MessageText: -// -// The operation could not be completed because the cluster resource is online. -// -export const ERROR_RESOURCE_ONLINE = 5019; - -// -// MessageId: ERROR_QUORUM_RESOURCE -// -// MessageText: -// -// The cluster resource could not be deleted or brought offline because it is the quorum resource. -// -export const ERROR_QUORUM_RESOURCE = 5020; - -// -// MessageId: ERROR_NOT_QUORUM_CAPABLE -// -// MessageText: -// -// The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource. -// -export const ERROR_NOT_QUORUM_CAPABLE = 5021; - -// -// MessageId: ERROR_CLUSTER_SHUTTING_DOWN -// -// MessageText: -// -// The cluster software is shutting down. -// -export const ERROR_CLUSTER_SHUTTING_DOWN = 5022; - -// -// MessageId: ERROR_INVALID_STATE -// -// MessageText: -// -// The group or resource is not in the correct state to perform the requested operation. -// -export const ERROR_INVALID_STATE = 5023; - -// -// MessageId: ERROR_RESOURCE_PROPERTIES_STORED -// -// MessageText: -// -// The properties were stored but not all changes will take effect until the next time the resource is brought online. -// -export const ERROR_RESOURCE_PROPERTIES_STORED = 5024; - -// -// MessageId: ERROR_NOT_QUORUM_CLASS -// -// MessageText: -// -// The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class. -// -export const ERROR_NOT_QUORUM_CLASS = 5025; - -// -// MessageId: ERROR_CORE_RESOURCE -// -// MessageText: -// -// The cluster resource could not be deleted since it is a core resource. -// -export const ERROR_CORE_RESOURCE = 5026; - -// -// MessageId: ERROR_QUORUM_RESOURCE_ONLINE_FAILED -// -// MessageText: -// -// The quorum resource failed to come online. -// -export const ERROR_QUORUM_RESOURCE_ONLINE_FAILED = 5027; - -// -// MessageId: ERROR_QUORUMLOG_OPEN_FAILED -// -// MessageText: -// -// The quorum log could not be created or mounted successfully. -// -export const ERROR_QUORUMLOG_OPEN_FAILED = 5028; - -// -// MessageId: ERROR_CLUSTERLOG_CORRUPT -// -// MessageText: -// -// The cluster log is corrupt. -// -export const ERROR_CLUSTERLOG_CORRUPT = 5029; - -// -// MessageId: ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE -// -// MessageText: -// -// The record could not be written to the cluster log since it exceeds the maximum size. -// -export const ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 5030; - -// -// MessageId: ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE -// -// MessageText: -// -// The cluster log exceeds its maximum size. -// -export const ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE = 5031; - -// -// MessageId: ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND -// -// MessageText: -// -// No checkpoint record was found in the cluster log. -// -export const ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND = 5032; - -// -// MessageId: ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE -// -// MessageText: -// -// The minimum required disk space needed for logging is not available. -// -export const ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE = 5033; - -// -// MessageId: ERROR_QUORUM_OWNER_ALIVE -// -// MessageText: -// -// The cluster node failed to take control of the quorum resource because the resource is owned by another active node. -// -export const ERROR_QUORUM_OWNER_ALIVE = 5034; - -// -// MessageId: ERROR_NETWORK_NOT_AVAILABLE -// -// MessageText: -// -// A cluster network is not available for this operation. -// -export const ERROR_NETWORK_NOT_AVAILABLE = 5035; - -// -// MessageId: ERROR_NODE_NOT_AVAILABLE -// -// MessageText: -// -// A cluster node is not available for this operation. -// -export const ERROR_NODE_NOT_AVAILABLE = 5036; - -// -// MessageId: ERROR_ALL_NODES_NOT_AVAILABLE -// -// MessageText: -// -// All cluster nodes must be running to perform this operation. -// -export const ERROR_ALL_NODES_NOT_AVAILABLE = 5037; - -// -// MessageId: ERROR_RESOURCE_FAILED -// -// MessageText: -// -// A cluster resource failed. -// -export const ERROR_RESOURCE_FAILED = 5038; - -// -// MessageId: ERROR_CLUSTER_INVALID_NODE -// -// MessageText: -// -// The cluster node is not valid. -// -export const ERROR_CLUSTER_INVALID_NODE = 5039; - -// -// MessageId: ERROR_CLUSTER_NODE_EXISTS -// -// MessageText: -// -// The cluster node already exists. -// -export const ERROR_CLUSTER_NODE_EXISTS = 5040; - -// -// MessageId: ERROR_CLUSTER_JOIN_IN_PROGRESS -// -// MessageText: -// -// A node is in the process of joining the cluster. -// -export const ERROR_CLUSTER_JOIN_IN_PROGRESS = 5041; - -// -// MessageId: ERROR_CLUSTER_NODE_NOT_FOUND -// -// MessageText: -// -// The cluster node was not found. -// -export const ERROR_CLUSTER_NODE_NOT_FOUND = 5042; - -// -// MessageId: ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND -// -// MessageText: -// -// The cluster local node information was not found. -// -export const ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND = 5043; - -// -// MessageId: ERROR_CLUSTER_NETWORK_EXISTS -// -// MessageText: -// -// The cluster network already exists. -// -export const ERROR_CLUSTER_NETWORK_EXISTS = 5044; - -// -// MessageId: ERROR_CLUSTER_NETWORK_NOT_FOUND -// -// MessageText: -// -// The cluster network was not found. -// -export const ERROR_CLUSTER_NETWORK_NOT_FOUND = 5045; - -// -// MessageId: ERROR_CLUSTER_NETINTERFACE_EXISTS -// -// MessageText: -// -// The cluster network interface already exists. -// -export const ERROR_CLUSTER_NETINTERFACE_EXISTS = 5046; - -// -// MessageId: ERROR_CLUSTER_NETINTERFACE_NOT_FOUND -// -// MessageText: -// -// The cluster network interface was not found. -// -export const ERROR_CLUSTER_NETINTERFACE_NOT_FOUND = 5047; - -// -// MessageId: ERROR_CLUSTER_INVALID_REQUEST -// -// MessageText: -// -// The cluster request is not valid for this object. -// -export const ERROR_CLUSTER_INVALID_REQUEST = 5048; - -// -// MessageId: ERROR_CLUSTER_INVALID_NETWORK_PROVIDER -// -// MessageText: -// -// The cluster network provider is not valid. -// -export const ERROR_CLUSTER_INVALID_NETWORK_PROVIDER = 5049; - -// -// MessageId: ERROR_CLUSTER_NODE_DOWN -// -// MessageText: -// -// The cluster node is down. -// -export const ERROR_CLUSTER_NODE_DOWN = 5050; - -// -// MessageId: ERROR_CLUSTER_NODE_UNREACHABLE -// -// MessageText: -// -// The cluster node is not reachable. -// -export const ERROR_CLUSTER_NODE_UNREACHABLE = 5051; - -// -// MessageId: ERROR_CLUSTER_NODE_NOT_MEMBER -// -// MessageText: -// -// The cluster node is not a member of the cluster. -// -export const ERROR_CLUSTER_NODE_NOT_MEMBER = 5052; - -// -// MessageId: ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS -// -// MessageText: -// -// A cluster join operation is not in progress. -// -export const ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS = 5053; - -// -// MessageId: ERROR_CLUSTER_INVALID_NETWORK -// -// MessageText: -// -// The cluster network is not valid. -// -export const ERROR_CLUSTER_INVALID_NETWORK = 5054; - -// -// MessageId: ERROR_CLUSTER_NODE_UP -// -// MessageText: -// -// The cluster node is up. -// -export const ERROR_CLUSTER_NODE_UP = 5056; - -// -// MessageId: ERROR_CLUSTER_IPADDR_IN_USE -// -// MessageText: -// -// The cluster IP address is already in use. -// -export const ERROR_CLUSTER_IPADDR_IN_USE = 5057; - -// -// MessageId: ERROR_CLUSTER_NODE_NOT_PAUSED -// -// MessageText: -// -// The cluster node is not paused. -// -export const ERROR_CLUSTER_NODE_NOT_PAUSED = 5058; - -// -// MessageId: ERROR_CLUSTER_NO_SECURITY_CONTEXT -// -// MessageText: -// -// No cluster security context is available. -// -export const ERROR_CLUSTER_NO_SECURITY_CONTEXT = 5059; - -// -// MessageId: ERROR_CLUSTER_NETWORK_NOT_INTERNAL -// -// MessageText: -// -// The cluster network is not configured for internal cluster communication. -// -export const ERROR_CLUSTER_NETWORK_NOT_INTERNAL = 5060; - -// -// MessageId: ERROR_CLUSTER_NODE_ALREADY_UP -// -// MessageText: -// -// The cluster node is already up. -// -export const ERROR_CLUSTER_NODE_ALREADY_UP = 5061; - -// -// MessageId: ERROR_CLUSTER_NODE_ALREADY_DOWN -// -// MessageText: -// -// The cluster node is already down. -// -export const ERROR_CLUSTER_NODE_ALREADY_DOWN = 5062; - -// -// MessageId: ERROR_CLUSTER_NETWORK_ALREADY_ONLINE -// -// MessageText: -// -// The cluster network is already online. -// -export const ERROR_CLUSTER_NETWORK_ALREADY_ONLINE = 5063; - -// -// MessageId: ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE -// -// MessageText: -// -// The cluster network is already offline. -// -export const ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE = 5064; - -// -// MessageId: ERROR_CLUSTER_NODE_ALREADY_MEMBER -// -// MessageText: -// -// The cluster node is already a member of the cluster. -// -export const ERROR_CLUSTER_NODE_ALREADY_MEMBER = 5065; - -// -// MessageId: ERROR_CLUSTER_LAST_INTERNAL_NETWORK -// -// MessageText: -// -// The cluster network is the only one configured for internal cluster communication between two or more active cluster nodes. The internal communication capability cannot be removed from the network. -// -export const ERROR_CLUSTER_LAST_INTERNAL_NETWORK = 5066; - -// -// MessageId: ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS -// -// MessageText: -// -// One or more cluster resources depend on the network to provide service to clients. The client access capability cannot be removed from the network. -// -export const ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS = 5067; - -// -// MessageId: ERROR_INVALID_OPERATION_ON_QUORUM -// -// MessageText: -// -// This operation cannot be performed on the cluster resource as it the quorum resource. You may not bring the quorum resource offline or modify its possible owners list. -// -export const ERROR_INVALID_OPERATION_ON_QUORUM = 5068; - -// -// MessageId: ERROR_DEPENDENCY_NOT_ALLOWED -// -// MessageText: -// -// The cluster quorum resource is not allowed to have any dependencies. -// -export const ERROR_DEPENDENCY_NOT_ALLOWED = 5069; - -// -// MessageId: ERROR_CLUSTER_NODE_PAUSED -// -// MessageText: -// -// The cluster node is paused. -// -export const ERROR_CLUSTER_NODE_PAUSED = 5070; - -// -// MessageId: ERROR_NODE_CANT_HOST_RESOURCE -// -// MessageText: -// -// The cluster resource cannot be brought online. The owner node cannot run this resource. -// -export const ERROR_NODE_CANT_HOST_RESOURCE = 5071; - -// -// MessageId: ERROR_CLUSTER_NODE_NOT_READY -// -// MessageText: -// -// The cluster node is not ready to perform the requested operation. -// -export const ERROR_CLUSTER_NODE_NOT_READY = 5072; - -// -// MessageId: ERROR_CLUSTER_NODE_SHUTTING_DOWN -// -// MessageText: -// -// The cluster node is shutting down. -// -export const ERROR_CLUSTER_NODE_SHUTTING_DOWN = 5073; - -// -// MessageId: ERROR_CLUSTER_JOIN_ABORTED -// -// MessageText: -// -// The cluster join operation was aborted. -// -export const ERROR_CLUSTER_JOIN_ABORTED = 5074; - -// -// MessageId: ERROR_CLUSTER_INCOMPATIBLE_VERSIONS -// -// MessageText: -// -// The cluster join operation failed due to incompatible software versions between the joining node and its sponsor. -// -export const ERROR_CLUSTER_INCOMPATIBLE_VERSIONS = 5075; - -// -// MessageId: ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED -// -// MessageText: -// -// This resource cannot be created because the cluster has reached the limit on the number of resources it can monitor. -// -export const ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED = 5076; - -// -// MessageId: ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED -// -// MessageText: -// -// The system configuration changed during the cluster join or form operation. The join or form operation was aborted. -// -export const ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED = 5077; - -// -// MessageId: ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND -// -// MessageText: -// -// The specified resource type was not found. -// -export const ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND = 5078; - -// -// MessageId: ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED -// -// MessageText: -// -// The specified node does not support a resource of this type. This may be due to version inconsistencies or due to the absence of the resource DLL on this node. -// -export const ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED = 5079; - -// -// MessageId: ERROR_CLUSTER_RESNAME_NOT_FOUND -// -// MessageText: -// -// The specified resource name is not supported by this resource DLL. This may be due to a bad (or changed) name supplied to the resource DLL. -// -export const ERROR_CLUSTER_RESNAME_NOT_FOUND = 5080; - -// -// MessageId: ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED -// -// MessageText: -// -// No authentication package could be registered with the RPC server. -// -export const ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED = 5081; - -// -// MessageId: ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST -// -// MessageText: -// -// You cannot bring the group online because the owner of the group is not in the preferred list for the group. To change the owner node for the group, move the group. -// -export const ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST = 5082; - -// -// MessageId: ERROR_CLUSTER_DATABASE_SEQMISMATCH -// -// MessageText: -// -// The join operation failed because the cluster database sequence number has changed or is incompatible with the locker node. This may happen during a join operation if the cluster database was changing during the join. -// -export const ERROR_CLUSTER_DATABASE_SEQMISMATCH = 5083; - -// -// MessageId: ERROR_RESMON_INVALID_STATE -// -// MessageText: -// -// The resource monitor will not allow the fail operation to be performed while the resource is in its current state. This may happen if the resource is in a pending state. -// -export const ERROR_RESMON_INVALID_STATE = 5084; - -// -// MessageId: ERROR_CLUSTER_GUM_NOT_LOCKER -// -// MessageText: -// -// A non locker code got a request to reserve the lock for making global updates. -// -export const ERROR_CLUSTER_GUM_NOT_LOCKER = 5085; - -// -// MessageId: ERROR_QUORUM_DISK_NOT_FOUND -// -// MessageText: -// -// The quorum disk could not be located by the cluster service. -// -export const ERROR_QUORUM_DISK_NOT_FOUND = 5086; - -// -// MessageId: ERROR_DATABASE_BACKUP_CORRUPT -// -// MessageText: -// -// The backed up cluster database is possibly corrupt. -// -export const ERROR_DATABASE_BACKUP_CORRUPT = 5087; - -// -// MessageId: ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT -// -// MessageText: -// -// A DFS root already exists in this cluster node. -// -export const ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT = 5088; - -// -// MessageId: ERROR_RESOURCE_PROPERTY_UNCHANGEABLE -// -// MessageText: -// -// An attempt to modify a resource property failed because it conflicts with another existing property. -// -export const ERROR_RESOURCE_PROPERTY_UNCHANGEABLE = 5089; - -/* - Codes from 4300 through 5889 overlap with codes in ds\published\inc\apperr2.w. - Do not add any more error codes in that range. -*/ -// -// MessageId: ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE -// -// MessageText: -// -// An operation was attempted that is incompatible with the current membership state of the node. -// -export const ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE = 5890; - -// -// MessageId: ERROR_CLUSTER_QUORUMLOG_NOT_FOUND -// -// MessageText: -// -// The quorum resource does not contain the quorum log. -// -export const ERROR_CLUSTER_QUORUMLOG_NOT_FOUND = 5891; - -// -// MessageId: ERROR_CLUSTER_MEMBERSHIP_HALT -// -// MessageText: -// -// The membership engine requested shutdown of the cluster service on this node. -// -export const ERROR_CLUSTER_MEMBERSHIP_HALT = 5892; - -// -// MessageId: ERROR_CLUSTER_INSTANCE_ID_MISMATCH -// -// MessageText: -// -// The join operation failed because the cluster instance ID of the joining node does not match the cluster instance ID of the sponsor node. -// -export const ERROR_CLUSTER_INSTANCE_ID_MISMATCH = 5893; - -// -// MessageId: ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP -// -// MessageText: -// -// A matching network for the specified IP address could not be found. Please also specify a subnet mask and a cluster network. -// -export const ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP = 5894; - -// -// MessageId: ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH -// -// MessageText: -// -// The actual data type of the property did not match the expected data type of the property. -// -export const ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH = 5895; - -// -// MessageId: ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP -// -// MessageText: -// -// The cluster node was evicted from the cluster successfully, but the node was not cleaned up. Extended status information explaining why the node was not cleaned up is available. -// -export const ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP = 5896; - -// -// MessageId: ERROR_CLUSTER_PARAMETER_MISMATCH -// -// MessageText: -// -// Two or more parameter values specified for a resource's properties are in conflict. -// -export const ERROR_CLUSTER_PARAMETER_MISMATCH = 5897; - -// -// MessageId: ERROR_NODE_CANNOT_BE_CLUSTERED -// -// MessageText: -// -// This computer cannot be made a member of a cluster. -// -export const ERROR_NODE_CANNOT_BE_CLUSTERED = 5898; - -// -// MessageId: ERROR_CLUSTER_WRONG_OS_VERSION -// -// MessageText: -// -// This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed. -// -export const ERROR_CLUSTER_WRONG_OS_VERSION = 5899; - -// -// MessageId: ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME -// -// MessageText: -// -// A cluster cannot be created with the specified cluster name because that cluster name is already in use. Specify a different name for the cluster. -// -export const ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME = 5900; - -// -// MessageId: ERROR_CLUSCFG_ALREADY_COMMITTED -// -// MessageText: -// -// The cluster configuration action has already been committed. -// -export const ERROR_CLUSCFG_ALREADY_COMMITTED = 5901; - -// -// MessageId: ERROR_CLUSCFG_ROLLBACK_FAILED -// -// MessageText: -// -// The cluster configuration action could not be rolled back. -// -export const ERROR_CLUSCFG_ROLLBACK_FAILED = 5902; - -// -// MessageId: ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT -// -// MessageText: -// -// The drive letter assigned to a system disk on one node conflicted with the drive letter assigned to a disk on another node. -// -export const ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT = 5903; - -// -// MessageId: ERROR_CLUSTER_OLD_VERSION -// -// MessageText: -// -// One or more nodes in the cluster are running a version of Windows that does not support this operation. -// -export const ERROR_CLUSTER_OLD_VERSION = 5904; - -// -// MessageId: ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME -// -// MessageText: -// -// The name of the corresponding computer account doesn't match the Network Name for this resource. -// -export const ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME = 5905; - -//////////////////////////////////// -// // -// EFS Error Codes // -// // -//////////////////////////////////// -// -// MessageId: ERROR_ENCRYPTION_FAILED -// -// MessageText: -// -// The specified file could not be encrypted. -// -export const ERROR_ENCRYPTION_FAILED = 6000; - -// -// MessageId: ERROR_DECRYPTION_FAILED -// -// MessageText: -// -// The specified file could not be decrypted. -// -export const ERROR_DECRYPTION_FAILED = 6001; - -// -// MessageId: ERROR_FILE_ENCRYPTED -// -// MessageText: -// -// The specified file is encrypted and the user does not have the ability to decrypt it. -// -export const ERROR_FILE_ENCRYPTED = 6002; - -// -// MessageId: ERROR_NO_RECOVERY_POLICY -// -// MessageText: -// -// There is no valid encryption recovery policy configured for this system. -// -export const ERROR_NO_RECOVERY_POLICY = 6003; - -// -// MessageId: ERROR_NO_EFS -// -// MessageText: -// -// The required encryption driver is not loaded for this system. -// -export const ERROR_NO_EFS = 6004; - -// -// MessageId: ERROR_WRONG_EFS -// -// MessageText: -// -// The file was encrypted with a different encryption driver than is currently loaded. -// -export const ERROR_WRONG_EFS = 6005; - -// -// MessageId: ERROR_NO_USER_KEYS -// -// MessageText: -// -// There are no EFS keys defined for the user. -// -export const ERROR_NO_USER_KEYS = 6006; - -// -// MessageId: ERROR_FILE_NOT_ENCRYPTED -// -// MessageText: -// -// The specified file is not encrypted. -// -export const ERROR_FILE_NOT_ENCRYPTED = 6007; - -// -// MessageId: ERROR_NOT_EXPORT_FORMAT -// -// MessageText: -// -// The specified file is not in the defined EFS export format. -// -export const ERROR_NOT_EXPORT_FORMAT = 6008; - -// -// MessageId: ERROR_FILE_READ_ONLY -// -// MessageText: -// -// The specified file is read only. -// -export const ERROR_FILE_READ_ONLY = 6009; - -// -// MessageId: ERROR_DIR_EFS_DISALLOWED -// -// MessageText: -// -// The directory has been disabled for encryption. -// -export const ERROR_DIR_EFS_DISALLOWED = 6010; - -// -// MessageId: ERROR_EFS_SERVER_NOT_TRUSTED -// -// MessageText: -// -// The server is not trusted for remote encryption operation. -// -export const ERROR_EFS_SERVER_NOT_TRUSTED = 6011; - -// -// MessageId: ERROR_BAD_RECOVERY_POLICY -// -// MessageText: -// -// Recovery policy configured for this system contains invalid recovery certificate. -// -export const ERROR_BAD_RECOVERY_POLICY = 6012; - -// -// MessageId: ERROR_EFS_ALG_BLOB_TOO_BIG -// -// MessageText: -// -// The encryption algorithm used on the source file needs a bigger key buffer than the one on the destination file. -// -export const ERROR_EFS_ALG_BLOB_TOO_BIG = 6013; - -// -// MessageId: ERROR_VOLUME_NOT_SUPPORT_EFS -// -// MessageText: -// -// The disk partition does not support file encryption. -// -export const ERROR_VOLUME_NOT_SUPPORT_EFS = 6014; - -// -// MessageId: ERROR_EFS_DISABLED -// -// MessageText: -// -// This machine is disabled for file encryption. -// -export const ERROR_EFS_DISABLED = 6015; - -// -// MessageId: ERROR_EFS_VERSION_NOT_SUPPORT -// -// MessageText: -// -// A newer system is required to decrypt this encrypted file. -// -export const ERROR_EFS_VERSION_NOT_SUPPORT = 6016; - -// This message number is for historical purposes and cannot be changed or re-used. -// -// MessageId: ERROR_NO_BROWSER_SERVERS_FOUND -// -// MessageText: -// -// The list of servers for this workgroup is not currently available -// -export const ERROR_NO_BROWSER_SERVERS_FOUND = 6118; - -////////////////////////////////////////////////////////////////// -// // -// Task Scheduler Error Codes that NET START must understand // -// // -////////////////////////////////////////////////////////////////// -// -// MessageId: SCHED_E_SERVICE_NOT_LOCALSYSTEM -// -// MessageText: -// -// The Task Scheduler service must be configured to run in the System account to function properly. Individual tasks may be configured to run in other accounts. -// -export const SCHED_E_SERVICE_NOT_LOCALSYSTEM = 6200; - -//////////////////////////////////// -// // -// Terminal Server Error Codes // -// // -//////////////////////////////////// -// -// MessageId: ERROR_CTX_WINSTATION_NAME_INVALID -// -// MessageText: -// -// The specified session name is invalid. -// -export const ERROR_CTX_WINSTATION_NAME_INVALID = 7001; - -// -// MessageId: ERROR_CTX_INVALID_PD -// -// MessageText: -// -// The specified protocol driver is invalid. -// -export const ERROR_CTX_INVALID_PD = 7002; - -// -// MessageId: ERROR_CTX_PD_NOT_FOUND -// -// MessageText: -// -// The specified protocol driver was not found in the system path. -// -export const ERROR_CTX_PD_NOT_FOUND = 7003; - -// -// MessageId: ERROR_CTX_WD_NOT_FOUND -// -// MessageText: -// -// The specified terminal connection driver was not found in the system path. -// -export const ERROR_CTX_WD_NOT_FOUND = 7004; - -// -// MessageId: ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY -// -// MessageText: -// -// A registry key for event logging could not be created for this session. -// -export const ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY = 7005; - -// -// MessageId: ERROR_CTX_SERVICE_NAME_COLLISION -// -// MessageText: -// -// A service with the same name already exists on the system. -// -export const ERROR_CTX_SERVICE_NAME_COLLISION = 7006; - -// -// MessageId: ERROR_CTX_CLOSE_PENDING -// -// MessageText: -// -// A close operation is pending on the session. -// -export const ERROR_CTX_CLOSE_PENDING = 7007; - -// -// MessageId: ERROR_CTX_NO_OUTBUF -// -// MessageText: -// -// There are no free output buffers available. -// -export const ERROR_CTX_NO_OUTBUF = 7008; - -// -// MessageId: ERROR_CTX_MODEM_INF_NOT_FOUND -// -// MessageText: -// -// The MODEM.INF file was not found. -// -export const ERROR_CTX_MODEM_INF_NOT_FOUND = 7009; - -// -// MessageId: ERROR_CTX_INVALID_MODEMNAME -// -// MessageText: -// -// The modem name was not found in MODEM.INF. -// -export const ERROR_CTX_INVALID_MODEMNAME = 7010; - -// -// MessageId: ERROR_CTX_MODEM_RESPONSE_ERROR -// -// MessageText: -// -// The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem. -// -export const ERROR_CTX_MODEM_RESPONSE_ERROR = 7011; - -// -// MessageId: ERROR_CTX_MODEM_RESPONSE_TIMEOUT -// -// MessageText: -// -// The modem did not respond to the command sent to it. Verify that the modem is properly cabled and powered on. -// -export const ERROR_CTX_MODEM_RESPONSE_TIMEOUT = 7012; - -// -// MessageId: ERROR_CTX_MODEM_RESPONSE_NO_CARRIER -// -// MessageText: -// -// Carrier detect has failed or carrier has been dropped due to disconnect. -// -export const ERROR_CTX_MODEM_RESPONSE_NO_CARRIER = 7013; - -// -// MessageId: ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE -// -// MessageText: -// -// Dial tone not detected within the required time. Verify that the phone cable is properly attached and functional. -// -export const ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE = 7014; - -// -// MessageId: ERROR_CTX_MODEM_RESPONSE_BUSY -// -// MessageText: -// -// Busy signal detected at remote site on callback. -// -export const ERROR_CTX_MODEM_RESPONSE_BUSY = 7015; - -// -// MessageId: ERROR_CTX_MODEM_RESPONSE_VOICE -// -// MessageText: -// -// Voice detected at remote site on callback. -// -export const ERROR_CTX_MODEM_RESPONSE_VOICE = 7016; - -// -// MessageId: ERROR_CTX_TD_ERROR -// -// MessageText: -// -// Transport driver error -// -export const ERROR_CTX_TD_ERROR = 7017; - -// -// MessageId: ERROR_CTX_WINSTATION_NOT_FOUND -// -// MessageText: -// -// The specified session cannot be found. -// -export const ERROR_CTX_WINSTATION_NOT_FOUND = 7022; - -// -// MessageId: ERROR_CTX_WINSTATION_ALREADY_EXISTS -// -// MessageText: -// -// The specified session name is already in use. -// -export const ERROR_CTX_WINSTATION_ALREADY_EXISTS = 7023; - -// -// MessageId: ERROR_CTX_WINSTATION_BUSY -// -// MessageText: -// -// The requested operation cannot be completed because the terminal connection is currently busy processing a connect, disconnect, reset, or delete operation. -// -export const ERROR_CTX_WINSTATION_BUSY = 7024; - -// -// MessageId: ERROR_CTX_BAD_VIDEO_MODE -// -// MessageText: -// -// An attempt has been made to connect to a session whose video mode is not supported by the current client. -// -export const ERROR_CTX_BAD_VIDEO_MODE = 7025; - -// -// MessageId: ERROR_CTX_GRAPHICS_INVALID -// -// MessageText: -// -// The application attempted to enable DOS graphics mode. -// DOS graphics mode is not supported. -// -export const ERROR_CTX_GRAPHICS_INVALID = 7035; - -// -// MessageId: ERROR_CTX_LOGON_DISABLED -// -// MessageText: -// -// Your interactive logon privilege has been disabled. -// Please contact your administrator. -// -export const ERROR_CTX_LOGON_DISABLED = 7037; - -// -// MessageId: ERROR_CTX_NOT_CONSOLE -// -// MessageText: -// -// The requested operation can be performed only on the system console. -// This is most often the result of a driver or system DLL requiring direct console access. -// -export const ERROR_CTX_NOT_CONSOLE = 7038; - -// -// MessageId: ERROR_CTX_CLIENT_QUERY_TIMEOUT -// -// MessageText: -// -// The client failed to respond to the server connect message. -// -export const ERROR_CTX_CLIENT_QUERY_TIMEOUT = 7040; - -// -// MessageId: ERROR_CTX_CONSOLE_DISCONNECT -// -// MessageText: -// -// Disconnecting the console session is not supported. -// -export const ERROR_CTX_CONSOLE_DISCONNECT = 7041; - -// -// MessageId: ERROR_CTX_CONSOLE_CONNECT -// -// MessageText: -// -// Reconnecting a disconnected session to the console is not supported. -// -export const ERROR_CTX_CONSOLE_CONNECT = 7042; - -// -// MessageId: ERROR_CTX_SHADOW_DENIED -// -// MessageText: -// -// The request to control another session remotely was denied. -// -export const ERROR_CTX_SHADOW_DENIED = 7044; - -// -// MessageId: ERROR_CTX_WINSTATION_ACCESS_DENIED -// -// MessageText: -// -// The requested session access is denied. -// -export const ERROR_CTX_WINSTATION_ACCESS_DENIED = 7045; - -// -// MessageId: ERROR_CTX_INVALID_WD -// -// MessageText: -// -// The specified terminal connection driver is invalid. -// -export const ERROR_CTX_INVALID_WD = 7049; - -// -// MessageId: ERROR_CTX_SHADOW_INVALID -// -// MessageText: -// -// The requested session cannot be controlled remotely. -// This may be because the session is disconnected or does not currently have a user logged on. -// -export const ERROR_CTX_SHADOW_INVALID = 7050; - -// -// MessageId: ERROR_CTX_SHADOW_DISABLED -// -// MessageText: -// -// The requested session is not configured to allow remote control. -// -export const ERROR_CTX_SHADOW_DISABLED = 7051; - -// -// MessageId: ERROR_CTX_CLIENT_LICENSE_IN_USE -// -// MessageText: -// -// Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number is currently being used by another user. -// Please call your system administrator to obtain a unique license number. -// -export const ERROR_CTX_CLIENT_LICENSE_IN_USE = 7052; - -// -// MessageId: ERROR_CTX_CLIENT_LICENSE_NOT_SET -// -// MessageText: -// -// Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number has not been entered for this copy of the Terminal Server client. -// Please contact your system administrator. -// -export const ERROR_CTX_CLIENT_LICENSE_NOT_SET = 7053; - -// -// MessageId: ERROR_CTX_LICENSE_NOT_AVAILABLE -// -// MessageText: -// -// The system has reached its licensed logon limit. -// Please try again later. -// -export const ERROR_CTX_LICENSE_NOT_AVAILABLE = 7054; - -// -// MessageId: ERROR_CTX_LICENSE_CLIENT_INVALID -// -// MessageText: -// -// The client you are using is not licensed to use this system. Your logon request is denied. -// -export const ERROR_CTX_LICENSE_CLIENT_INVALID = 7055; - -// -// MessageId: ERROR_CTX_LICENSE_EXPIRED -// -// MessageText: -// -// The system license has expired. Your logon request is denied. -// -export const ERROR_CTX_LICENSE_EXPIRED = 7056; - -// -// MessageId: ERROR_CTX_SHADOW_NOT_RUNNING -// -// MessageText: -// -// Remote control could not be terminated because the specified session is not currently being remotely controlled. -// -export const ERROR_CTX_SHADOW_NOT_RUNNING = 7057; - -// -// MessageId: ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE -// -// MessageText: -// -// The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported. -// -export const ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE = 7058; - -// -// MessageId: ERROR_ACTIVATION_COUNT_EXCEEDED -// -// MessageText: -// -// Activation has already been reset the maximum number of times for this installation. Your activation timer will not be cleared. -// -export const ERROR_ACTIVATION_COUNT_EXCEEDED = 7059; - -/////////////////////////////////////////////////// -// / -// Traffic Control Error Codes / -// / -// 7500 to 7999 / -// / -// defined in: tcerror.h / -/////////////////////////////////////////////////// -/////////////////////////////////////////////////// -// / -// Active Directory Error Codes / -// / -// 8000 to 8999 / -/////////////////////////////////////////////////// -// ***************** -// FACILITY_FILE_REPLICATION_SERVICE -// ***************** -// -// MessageId: FRS_ERR_INVALID_API_SEQUENCE -// -// MessageText: -// -// The file replication service API was called incorrectly. -// -export const FRS_ERR_INVALID_API_SEQUENCE = 8001; - -// -// MessageId: FRS_ERR_STARTING_SERVICE -// -// MessageText: -// -// The file replication service cannot be started. -// -export const FRS_ERR_STARTING_SERVICE = 8002; - -// -// MessageId: FRS_ERR_STOPPING_SERVICE -// -// MessageText: -// -// The file replication service cannot be stopped. -// -export const FRS_ERR_STOPPING_SERVICE = 8003; - -// -// MessageId: FRS_ERR_INTERNAL_API -// -// MessageText: -// -// The file replication service API terminated the request. -// The event log may have more information. -// -export const FRS_ERR_INTERNAL_API = 8004; - -// -// MessageId: FRS_ERR_INTERNAL -// -// MessageText: -// -// The file replication service terminated the request. -// The event log may have more information. -// -export const FRS_ERR_INTERNAL = 8005; - -// -// MessageId: FRS_ERR_SERVICE_COMM -// -// MessageText: -// -// The file replication service cannot be contacted. -// The event log may have more information. -// -export const FRS_ERR_SERVICE_COMM = 8006; - -// -// MessageId: FRS_ERR_INSUFFICIENT_PRIV -// -// MessageText: -// -// The file replication service cannot satisfy the request because the user has insufficient privileges. -// The event log may have more information. -// -export const FRS_ERR_INSUFFICIENT_PRIV = 8007; - -// -// MessageId: FRS_ERR_AUTHENTICATION -// -// MessageText: -// -// The file replication service cannot satisfy the request because authenticated RPC is not available. -// The event log may have more information. -// -export const FRS_ERR_AUTHENTICATION = 8008; - -// -// MessageId: FRS_ERR_PARENT_INSUFFICIENT_PRIV -// -// MessageText: -// -// The file replication service cannot satisfy the request because the user has insufficient privileges on the domain controller. -// The event log may have more information. -// -export const FRS_ERR_PARENT_INSUFFICIENT_PRIV = 8009; - -// -// MessageId: FRS_ERR_PARENT_AUTHENTICATION -// -// MessageText: -// -// The file replication service cannot satisfy the request because authenticated RPC is not available on the domain controller. -// The event log may have more information. -// -export const FRS_ERR_PARENT_AUTHENTICATION = 8010; - -// -// MessageId: FRS_ERR_CHILD_TO_PARENT_COMM -// -// MessageText: -// -// The file replication service cannot communicate with the file replication service on the domain controller. -// The event log may have more information. -// -export const FRS_ERR_CHILD_TO_PARENT_COMM = 8011; - -// -// MessageId: FRS_ERR_PARENT_TO_CHILD_COMM -// -// MessageText: -// -// The file replication service on the domain controller cannot communicate with the file replication service on this computer. -// The event log may have more information. -// -export const FRS_ERR_PARENT_TO_CHILD_COMM = 8012; - -// -// MessageId: FRS_ERR_SYSVOL_POPULATE -// -// MessageText: -// -// The file replication service cannot populate the system volume because of an internal error. -// The event log may have more information. -// -export const FRS_ERR_SYSVOL_POPULATE = 8013; - -// -// MessageId: FRS_ERR_SYSVOL_POPULATE_TIMEOUT -// -// MessageText: -// -// The file replication service cannot populate the system volume because of an internal timeout. -// The event log may have more information. -// -export const FRS_ERR_SYSVOL_POPULATE_TIMEOUT = 8014; - -// -// MessageId: FRS_ERR_SYSVOL_IS_BUSY -// -// MessageText: -// -// The file replication service cannot process the request. The system volume is busy with a previous request. -// -export const FRS_ERR_SYSVOL_IS_BUSY = 8015; - -// -// MessageId: FRS_ERR_SYSVOL_DEMOTE -// -// MessageText: -// -// The file replication service cannot stop replicating the system volume because of an internal error. -// The event log may have more information. -// -export const FRS_ERR_SYSVOL_DEMOTE = 8016; - -// -// MessageId: FRS_ERR_INVALID_SERVICE_PARAMETER -// -// MessageText: -// -// The file replication service detected an invalid parameter. -// -export const FRS_ERR_INVALID_SERVICE_PARAMETER = 8017; - -// ***************** -// FACILITY DIRECTORY SERVICE -// ***************** -// -// MessageId: ERROR_DS_NOT_INSTALLED -// -// MessageText: -// -// An error occurred while installing the directory service. For more information, see the event log. -// -export const ERROR_DS_NOT_INSTALLED = 8200; - -// -// MessageId: ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY -// -// MessageText: -// -// The directory service evaluated group memberships locally. -// -export const ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY = 8201; - -// -// MessageId: ERROR_DS_NO_ATTRIBUTE_OR_VALUE -// -// MessageText: -// -// The specified directory service attribute or value does not exist. -// -export const ERROR_DS_NO_ATTRIBUTE_OR_VALUE = 8202; - -// -// MessageId: ERROR_DS_INVALID_ATTRIBUTE_SYNTAX -// -// MessageText: -// -// The attribute syntax specified to the directory service is invalid. -// -export const ERROR_DS_INVALID_ATTRIBUTE_SYNTAX = 8203; - -// -// MessageId: ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED -// -// MessageText: -// -// The attribute type specified to the directory service is not defined. -// -export const ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED = 8204; - -// -// MessageId: ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS -// -// MessageText: -// -// The specified directory service attribute or value already exists. -// -export const ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS = 8205; - -// -// MessageId: ERROR_DS_BUSY -// -// MessageText: -// -// The directory service is busy. -// -export const ERROR_DS_BUSY = 8206; - -// -// MessageId: ERROR_DS_UNAVAILABLE -// -// MessageText: -// -// The directory service is unavailable. -// -export const ERROR_DS_UNAVAILABLE = 8207; - -// -// MessageId: ERROR_DS_NO_RIDS_ALLOCATED -// -// MessageText: -// -// The directory service was unable to allocate a relative identifier. -// -export const ERROR_DS_NO_RIDS_ALLOCATED = 8208; - -// -// MessageId: ERROR_DS_NO_MORE_RIDS -// -// MessageText: -// -// The directory service has exhausted the pool of relative identifiers. -// -export const ERROR_DS_NO_MORE_RIDS = 8209; - -// -// MessageId: ERROR_DS_INCORRECT_ROLE_OWNER -// -// MessageText: -// -// The requested operation could not be performed because the directory service is not the master for that type of operation. -// -export const ERROR_DS_INCORRECT_ROLE_OWNER = 8210; - -// -// MessageId: ERROR_DS_RIDMGR_INIT_ERROR -// -// MessageText: -// -// The directory service was unable to initialize the subsystem that allocates relative identifiers. -// -export const ERROR_DS_RIDMGR_INIT_ERROR = 8211; - -// -// MessageId: ERROR_DS_OBJ_CLASS_VIOLATION -// -// MessageText: -// -// The requested operation did not satisfy one or more export constraints associated with the class of the object. -// -export const ERROR_DS_OBJ_CLASS_VIOLATION = 8212; - -// -// MessageId: ERROR_DS_CANT_ON_NON_LEAF -// -// MessageText: -// -// The directory service can perform the requested operation only on a leaf object. -// -export const ERROR_DS_CANT_ON_NON_LEAF = 8213; - -// -// MessageId: ERROR_DS_CANT_ON_RDN -// -// MessageText: -// -// The directory service cannot perform the requested operation on the RDN attribute of an object. -// -export const ERROR_DS_CANT_ON_RDN = 8214; - -// -// MessageId: ERROR_DS_CANT_MOD_OBJ_CLASS -// -// MessageText: -// -// The directory service detected an attempt to modify the object class of an object. -// -export const ERROR_DS_CANT_MOD_OBJ_CLASS = 8215; - -// -// MessageId: ERROR_DS_CROSS_DOM_MOVE_ERROR -// -// MessageText: -// -// The requested cross-domain move operation could not be performed. -// -export const ERROR_DS_CROSS_DOM_MOVE_ERROR = 8216; - -// -// MessageId: ERROR_DS_GC_NOT_AVAILABLE -// -// MessageText: -// -// Unable to contact the global catalog server. -// -export const ERROR_DS_GC_NOT_AVAILABLE = 8217; - -// -// MessageId: ERROR_SHARED_POLICY -// -// MessageText: -// -// The policy object is shared and can only be modified at the root. -// -export const ERROR_SHARED_POLICY = 8218; - -// -// MessageId: ERROR_POLICY_OBJECT_NOT_FOUND -// -// MessageText: -// -// The policy object does not exist. -// -export const ERROR_POLICY_OBJECT_NOT_FOUND = 8219; - -// -// MessageId: ERROR_POLICY_ONLY_IN_DS -// -// MessageText: -// -// The requested policy information is only in the directory service. -// -export const ERROR_POLICY_ONLY_IN_DS = 8220; - -// -// MessageId: ERROR_PROMOTION_ACTIVE -// -// MessageText: -// -// A domain controller promotion is currently active. -// -export const ERROR_PROMOTION_ACTIVE = 8221; - -// -// MessageId: ERROR_NO_PROMOTION_ACTIVE -// -// MessageText: -// -// A domain controller promotion is not currently active -// -export const ERROR_NO_PROMOTION_ACTIVE = 8222; - -// 8223 unused -// -// MessageId: ERROR_DS_OPERATIONS_ERROR -// -// MessageText: -// -// An operations error occurred. -// -export const ERROR_DS_OPERATIONS_ERROR = 8224; - -// -// MessageId: ERROR_DS_PROTOCOL_ERROR -// -// MessageText: -// -// A protocol error occurred. -// -export const ERROR_DS_PROTOCOL_ERROR = 8225; - -// -// MessageId: ERROR_DS_TIMELIMIT_EXCEEDED -// -// MessageText: -// -// The time limit for this request was exceeded. -// -export const ERROR_DS_TIMELIMIT_EXCEEDED = 8226; - -// -// MessageId: ERROR_DS_SIZELIMIT_EXCEEDED -// -// MessageText: -// -// The size limit for this request was exceeded. -// -export const ERROR_DS_SIZELIMIT_EXCEEDED = 8227; - -// -// MessageId: ERROR_DS_ADMIN_LIMIT_EXCEEDED -// -// MessageText: -// -// The administrative limit for this request was exceeded. -// -export const ERROR_DS_ADMIN_LIMIT_EXCEEDED = 8228; - -// -// MessageId: ERROR_DS_COMPARE_FALSE -// -// MessageText: -// -// The compare response was false. -// -export const ERROR_DS_COMPARE_FALSE = 8229; - -// -// MessageId: ERROR_DS_COMPARE_TRUE -// -// MessageText: -// -// The compare response was true. -// -export const ERROR_DS_COMPARE_TRUE = 8230; - -// -// MessageId: ERROR_DS_AUTH_METHOD_NOT_SUPPORTED -// -// MessageText: -// -// The requested authentication method is not supported by the server. -// -export const ERROR_DS_AUTH_METHOD_NOT_SUPPORTED = 8231; - -// -// MessageId: ERROR_DS_STRONG_AUTH_REQUIRED -// -// MessageText: -// -// A more secure authentication method is required for this server. -// -export const ERROR_DS_STRONG_AUTH_REQUIRED = 8232; - -// -// MessageId: ERROR_DS_INAPPROPRIATE_AUTH -// -// MessageText: -// -// Inappropriate authentication. -// -export const ERROR_DS_INAPPROPRIATE_AUTH = 8233; - -// -// MessageId: ERROR_DS_AUTH_UNKNOWN -// -// MessageText: -// -// The authentication mechanism is unknown. -// -export const ERROR_DS_AUTH_UNKNOWN = 8234; - -// -// MessageId: ERROR_DS_REFERRAL -// -// MessageText: -// -// A referral was returned from the server. -// -export const ERROR_DS_REFERRAL = 8235; - -// -// MessageId: ERROR_DS_UNAVAILABLE_CRIT_EXTENSION -// -// MessageText: -// -// The server does not support the requested critical extension. -// -export const ERROR_DS_UNAVAILABLE_CRIT_EXTENSION = 8236; - -// -// MessageId: ERROR_DS_CONFIDENTIALITY_REQUIRED -// -// MessageText: -// -// This request requires a secure connection. -// -export const ERROR_DS_CONFIDENTIALITY_REQUIRED = 8237; - -// -// MessageId: ERROR_DS_INAPPROPRIATE_MATCHING -// -// MessageText: -// -// Inappropriate matching. -// -export const ERROR_DS_INAPPROPRIATE_MATCHING = 8238; - -// -// MessageId: ERROR_DS_NO_SUCH_OBJECT -// -// MessageText: -// -// There is no such object on the server. -// -export const ERROR_DS_NO_SUCH_OBJECT = 8240; - -// -// MessageId: ERROR_DS_ALIAS_PROBLEM -// -// MessageText: -// -// There is an alias problem. -// -export const ERROR_DS_ALIAS_PROBLEM = 8241; - -// -// MessageId: ERROR_DS_INVALID_DN_SYNTAX -// -// MessageText: -// -// An invalid dn syntax has been specified. -// -export const ERROR_DS_INVALID_DN_SYNTAX = 8242; - -// -// MessageId: ERROR_DS_IS_LEAF -// -// MessageText: -// -// The object is a leaf object. -// -export const ERROR_DS_IS_LEAF = 8243; - -// -// MessageId: ERROR_DS_ALIAS_DEREF_PROBLEM -// -// MessageText: -// -// There is an alias dereferencing problem. -// -export const ERROR_DS_ALIAS_DEREF_PROBLEM = 8244; - -// -// MessageId: ERROR_DS_UNWILLING_TO_PERFORM -// -// MessageText: -// -// The server is unwilling to process the request. -// -export const ERROR_DS_UNWILLING_TO_PERFORM = 8245; - -// -// MessageId: ERROR_DS_LOOP_DETECT -// -// MessageText: -// -// A loop has been detected. -// -export const ERROR_DS_LOOP_DETECT = 8246; - -// -// MessageId: ERROR_DS_NAMING_VIOLATION -// -// MessageText: -// -// There is a naming violation. -// -export const ERROR_DS_NAMING_VIOLATION = 8247; - -// -// MessageId: ERROR_DS_OBJECT_RESULTS_TOO_LARGE -// -// MessageText: -// -// The result set is too large. -// -export const ERROR_DS_OBJECT_RESULTS_TOO_LARGE = 8248; - -// -// MessageId: ERROR_DS_AFFECTS_MULTIPLE_DSAS -// -// MessageText: -// -// The operation affects multiple DSAs -// -export const ERROR_DS_AFFECTS_MULTIPLE_DSAS = 8249; - -// -// MessageId: ERROR_DS_SERVER_DOWN -// -// MessageText: -// -// The server is not operational. -// -export const ERROR_DS_SERVER_DOWN = 8250; - -// -// MessageId: ERROR_DS_LOCAL_ERROR -// -// MessageText: -// -// A local error has occurred. -// -export const ERROR_DS_LOCAL_ERROR = 8251; - -// -// MessageId: ERROR_DS_ENCODING_ERROR -// -// MessageText: -// -// An encoding error has occurred. -// -export const ERROR_DS_ENCODING_ERROR = 8252; - -// -// MessageId: ERROR_DS_DECODING_ERROR -// -// MessageText: -// -// A decoding error has occurred. -// -export const ERROR_DS_DECODING_ERROR = 8253; - -// -// MessageId: ERROR_DS_FILTER_UNKNOWN -// -// MessageText: -// -// The search filter cannot be recognized. -// -export const ERROR_DS_FILTER_UNKNOWN = 8254; - -// -// MessageId: ERROR_DS_PARAM_ERROR -// -// MessageText: -// -// One or more parameters are illegal. -// -export const ERROR_DS_PARAM_ERROR = 8255; - -// -// MessageId: ERROR_DS_NOT_SUPPORTED -// -// MessageText: -// -// The specified method is not supported. -// -export const ERROR_DS_NOT_SUPPORTED = 8256; - -// -// MessageId: ERROR_DS_NO_RESULTS_RETURNED -// -// MessageText: -// -// No results were returned. -// -export const ERROR_DS_NO_RESULTS_RETURNED = 8257; - -// -// MessageId: ERROR_DS_CONTROL_NOT_FOUND -// -// MessageText: -// -// The specified control is not supported by the server. -// -export const ERROR_DS_CONTROL_NOT_FOUND = 8258; - -// -// MessageId: ERROR_DS_CLIENT_LOOP -// -// MessageText: -// -// A referral loop was detected by the client. -// -export const ERROR_DS_CLIENT_LOOP = 8259; - -// -// MessageId: ERROR_DS_REFERRAL_LIMIT_EXCEEDED -// -// MessageText: -// -// The preset referral limit was exceeded. -// -export const ERROR_DS_REFERRAL_LIMIT_EXCEEDED = 8260; - -// -// MessageId: ERROR_DS_SORT_CONTROL_MISSING -// -// MessageText: -// -// The search requires a SORT control. -// -export const ERROR_DS_SORT_CONTROL_MISSING = 8261; - -// -// MessageId: ERROR_DS_OFFSET_RANGE_ERROR -// -// MessageText: -// -// The search results exceed the offset range specified. -// -export const ERROR_DS_OFFSET_RANGE_ERROR = 8262; - -// -// MessageId: ERROR_DS_ROOT_MUST_BE_NC -// -// MessageText: -// -// The root object must be the head of a naming context. The root object cannot have an instantiated parent. -// -export const ERROR_DS_ROOT_MUST_BE_NC = 8301; - -// -// MessageId: ERROR_DS_ADD_REPLICA_INHIBITED -// -// MessageText: -// -// The add replica operation cannot be performed. The naming context must be writeable in order to create the replica. -// -export const ERROR_DS_ADD_REPLICA_INHIBITED = 8302; - -// -// MessageId: ERROR_DS_ATT_NOT_DEF_IN_SCHEMA -// -// MessageText: -// -// A reference to an attribute that is not defined in the schema occurred. -// -export const ERROR_DS_ATT_NOT_DEF_IN_SCHEMA = 8303; - -// -// MessageId: ERROR_DS_MAX_OBJ_SIZE_EXCEEDED -// -// MessageText: -// -// The maximum size of an object has been exceeded. -// -export const ERROR_DS_MAX_OBJ_SIZE_EXCEEDED = 8304; - -// -// MessageId: ERROR_DS_OBJ_STRING_NAME_EXISTS -// -// MessageText: -// -// An attempt was made to add an object to the directory with a name that is already in use. -// -export const ERROR_DS_OBJ_STRING_NAME_EXISTS = 8305; - -// -// MessageId: ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA -// -// MessageText: -// -// An attempt was made to add an object of a class that does not have an RDN defined in the schema. -// -export const ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA = 8306; - -// -// MessageId: ERROR_DS_RDN_DOESNT_MATCH_SCHEMA -// -// MessageText: -// -// An attempt was made to add an object using an RDN that is not the RDN defined in the schema. -// -export const ERROR_DS_RDN_DOESNT_MATCH_SCHEMA = 8307; - -// -// MessageId: ERROR_DS_NO_REQUESTED_ATTS_FOUND -// -// MessageText: -// -// None of the requested attributes were found on the objects. -// -export const ERROR_DS_NO_REQUESTED_ATTS_FOUND = 8308; - -// -// MessageId: ERROR_DS_USER_BUFFER_TO_SMALL -// -// MessageText: -// -// The user buffer is too small. -// -export const ERROR_DS_USER_BUFFER_TO_SMALL = 8309; - -// -// MessageId: ERROR_DS_ATT_IS_NOT_ON_OBJ -// -// MessageText: -// -// The attribute specified in the operation is not present on the object. -// -export const ERROR_DS_ATT_IS_NOT_ON_OBJ = 8310; - -// -// MessageId: ERROR_DS_ILLEGAL_MOD_OPERATION -// -// MessageText: -// -// Illegal modify operation. Some aspect of the modification is not permitted. -// -export const ERROR_DS_ILLEGAL_MOD_OPERATION = 8311; - -// -// MessageId: ERROR_DS_OBJ_TOO_LARGE -// -// MessageText: -// -// The specified object is too large. -// -export const ERROR_DS_OBJ_TOO_LARGE = 8312; - -// -// MessageId: ERROR_DS_BAD_INSTANCE_TYPE -// -// MessageText: -// -// The specified instance type is not valid. -// -export const ERROR_DS_BAD_INSTANCE_TYPE = 8313; - -// -// MessageId: ERROR_DS_MASTERDSA_REQUIRED -// -// MessageText: -// -// The operation must be performed at a master DSA. -// -export const ERROR_DS_MASTERDSA_REQUIRED = 8314; - -// -// MessageId: ERROR_DS_OBJECT_CLASS_REQUIRED -// -// MessageText: -// -// The object class attribute must be specified. -// -export const ERROR_DS_OBJECT_CLASS_REQUIRED = 8315; - -// -// MessageId: ERROR_DS_MISSING_REQUIRED_ATT -// -// MessageText: -// -// A required attribute is missing. -// -export const ERROR_DS_MISSING_REQUIRED_ATT = 8316; - -// -// MessageId: ERROR_DS_ATT_NOT_DEF_FOR_CLASS -// -// MessageText: -// -// An attempt was made to modify an object to include an attribute that is not legal for its class. -// -export const ERROR_DS_ATT_NOT_DEF_FOR_CLASS = 8317; - -// -// MessageId: ERROR_DS_ATT_ALREADY_EXISTS -// -// MessageText: -// -// The specified attribute is already present on the object. -// -export const ERROR_DS_ATT_ALREADY_EXISTS = 8318; - -// 8319 unused -// -// MessageId: ERROR_DS_CANT_ADD_ATT_VALUES -// -// MessageText: -// -// The specified attribute is not present, or has no values. -// -export const ERROR_DS_CANT_ADD_ATT_VALUES = 8320; - -// -// MessageId: ERROR_DS_ATT_VAL_ALREADY_EXISTS -// -// MessageText: -// -// The specified value already exists. -// -export const ERROR_DS_ATT_VAL_ALREADY_EXISTS = 8323; - -// -// MessageId: ERROR_DS_CANT_REM_MISSING_ATT -// -// MessageText: -// -// The attribute cannot be removed because it is not present on the object. -// -export const ERROR_DS_CANT_REM_MISSING_ATT = 8324; - -// -// MessageId: ERROR_DS_CANT_REM_MISSING_ATT_VAL -// -// MessageText: -// -// The attribute value cannot be removed because it is not present on the object. -// -export const ERROR_DS_CANT_REM_MISSING_ATT_VAL = 8325; - -// -// MessageId: ERROR_DS_ROOT_CANT_BE_SUBREF -// -// MessageText: -// -// The specified root object cannot be a subref. -// -export const ERROR_DS_ROOT_CANT_BE_SUBREF = 8326; - -// -// MessageId: ERROR_DS_NO_CHAINING -// -// MessageText: -// -// Chaining is not permitted. -// -export const ERROR_DS_NO_CHAINING = 8327; - -// -// MessageId: ERROR_DS_NO_CHAINED_EVAL -// -// MessageText: -// -// Chained evaluation is not permitted. -// -export const ERROR_DS_NO_CHAINED_EVAL = 8328; - -// -// MessageId: ERROR_DS_NO_PARENT_OBJECT -// -// MessageText: -// -// The operation could not be performed because the object's parent is either uninstantiated or deleted. -// -export const ERROR_DS_NO_PARENT_OBJECT = 8329; - -// -// MessageId: ERROR_DS_PARENT_IS_AN_ALIAS -// -// MessageText: -// -// Having a parent that is an alias is not permitted. Aliases are leaf objects. -// -export const ERROR_DS_PARENT_IS_AN_ALIAS = 8330; - -// -// MessageId: ERROR_DS_CANT_MIX_MASTER_AND_REPS -// -// MessageText: -// -// The object and parent must be of the same type, either both masters or both replicas. -// -export const ERROR_DS_CANT_MIX_MASTER_AND_REPS = 8331; - -// -// MessageId: ERROR_DS_CHILDREN_EXIST -// -// MessageText: -// -// The operation cannot be performed because child objects exist. This operation can only be performed on a leaf object. -// -export const ERROR_DS_CHILDREN_EXIST = 8332; - -// -// MessageId: ERROR_DS_OBJ_NOT_FOUND -// -// MessageText: -// -// Directory object not found. -// -export const ERROR_DS_OBJ_NOT_FOUND = 8333; - -// -// MessageId: ERROR_DS_ALIASED_OBJ_MISSING -// -// MessageText: -// -// The aliased object is missing. -// -export const ERROR_DS_ALIASED_OBJ_MISSING = 8334; - -// -// MessageId: ERROR_DS_BAD_NAME_SYNTAX -// -// MessageText: -// -// The object name has bad syntax. -// -export const ERROR_DS_BAD_NAME_SYNTAX = 8335; - -// -// MessageId: ERROR_DS_ALIAS_POINTS_TO_ALIAS -// -// MessageText: -// -// It is not permitted for an alias to refer to another alias. -// -export const ERROR_DS_ALIAS_POINTS_TO_ALIAS = 8336; - -// -// MessageId: ERROR_DS_CANT_DEREF_ALIAS -// -// MessageText: -// -// The alias cannot be dereferenced. -// -export const ERROR_DS_CANT_DEREF_ALIAS = 8337; - -// -// MessageId: ERROR_DS_OUT_OF_SCOPE -// -// MessageText: -// -// The operation is out of scope. -// -export const ERROR_DS_OUT_OF_SCOPE = 8338; - -// -// MessageId: ERROR_DS_OBJECT_BEING_REMOVED -// -// MessageText: -// -// The operation cannot continue because the object is in the process of being removed. -// -export const ERROR_DS_OBJECT_BEING_REMOVED = 8339; - -// -// MessageId: ERROR_DS_CANT_DELETE_DSA_OBJ -// -// MessageText: -// -// The DSA object cannot be deleted. -// -export const ERROR_DS_CANT_DELETE_DSA_OBJ = 8340; - -// -// MessageId: ERROR_DS_GENERIC_ERROR -// -// MessageText: -// -// A directory service error has occurred. -// -export const ERROR_DS_GENERIC_ERROR = 8341; - -// -// MessageId: ERROR_DS_DSA_MUST_BE_INT_MASTER -// -// MessageText: -// -// The operation can only be performed on an internal master DSA object. -// -export const ERROR_DS_DSA_MUST_BE_INT_MASTER = 8342; - -// -// MessageId: ERROR_DS_CLASS_NOT_DSA -// -// MessageText: -// -// The object must be of class DSA. -// -export const ERROR_DS_CLASS_NOT_DSA = 8343; - -// -// MessageId: ERROR_DS_INSUFF_ACCESS_RIGHTS -// -// MessageText: -// -// Insufficient access rights to perform the operation. -// -export const ERROR_DS_INSUFF_ACCESS_RIGHTS = 8344; - -// -// MessageId: ERROR_DS_ILLEGAL_SUPERIOR -// -// MessageText: -// -// The object cannot be added because the parent is not on the list of possible superiors. -// -export const ERROR_DS_ILLEGAL_SUPERIOR = 8345; - -// -// MessageId: ERROR_DS_ATTRIBUTE_OWNED_BY_SAM -// -// MessageText: -// -// Access to the attribute is not permitted because the attribute is owned by the Security Accounts Manager (SAM). -// -export const ERROR_DS_ATTRIBUTE_OWNED_BY_SAM = 8346; - -// -// MessageId: ERROR_DS_NAME_TOO_MANY_PARTS -// -// MessageText: -// -// The name has too many parts. -// -export const ERROR_DS_NAME_TOO_MANY_PARTS = 8347; - -// -// MessageId: ERROR_DS_NAME_TOO_LONG -// -// MessageText: -// -// The name is too long. -// -export const ERROR_DS_NAME_TOO_LONG = 8348; - -// -// MessageId: ERROR_DS_NAME_VALUE_TOO_LONG -// -// MessageText: -// -// The name value is too long. -// -export const ERROR_DS_NAME_VALUE_TOO_LONG = 8349; - -// -// MessageId: ERROR_DS_NAME_UNPARSEABLE -// -// MessageText: -// -// The directory service encountered an error parsing a name. -// -export const ERROR_DS_NAME_UNPARSEABLE = 8350; - -// -// MessageId: ERROR_DS_NAME_TYPE_UNKNOWN -// -// MessageText: -// -// The directory service cannot get the attribute type for a name. -// -export const ERROR_DS_NAME_TYPE_UNKNOWN = 8351; - -// -// MessageId: ERROR_DS_NOT_AN_OBJECT -// -// MessageText: -// -// The name does not identify an object; the name identifies a phantom. -// -export const ERROR_DS_NOT_AN_OBJECT = 8352; - -// -// MessageId: ERROR_DS_SEC_DESC_TOO_SHORT -// -// MessageText: -// -// The security descriptor is too short. -// -export const ERROR_DS_SEC_DESC_TOO_SHORT = 8353; - -// -// MessageId: ERROR_DS_SEC_DESC_INVALID -// -// MessageText: -// -// The security descriptor is invalid. -// -export const ERROR_DS_SEC_DESC_INVALID = 8354; - -// -// MessageId: ERROR_DS_NO_DELETED_NAME -// -// MessageText: -// -// Failed to create name for deleted object. -// -export const ERROR_DS_NO_DELETED_NAME = 8355; - -// -// MessageId: ERROR_DS_SUBREF_MUST_HAVE_PARENT -// -// MessageText: -// -// The parent of a new subref must exist. -// -export const ERROR_DS_SUBREF_MUST_HAVE_PARENT = 8356; - -// -// MessageId: ERROR_DS_NCNAME_MUST_BE_NC -// -// MessageText: -// -// The object must be a naming context. -// -export const ERROR_DS_NCNAME_MUST_BE_NC = 8357; - -// -// MessageId: ERROR_DS_CANT_ADD_SYSTEM_ONLY -// -// MessageText: -// -// It is not permitted to add an attribute which is owned by the system. -// -export const ERROR_DS_CANT_ADD_SYSTEM_ONLY = 8358; - -// -// MessageId: ERROR_DS_CLASS_MUST_BE_CONCRETE -// -// MessageText: -// -// The class of the object must be structural; you cannot instantiate an abstract class. -// -export const ERROR_DS_CLASS_MUST_BE_CONCRETE = 8359; - -// -// MessageId: ERROR_DS_INVALID_DMD -// -// MessageText: -// -// The schema object could not be found. -// -export const ERROR_DS_INVALID_DMD = 8360; - -// -// MessageId: ERROR_DS_OBJ_GUID_EXISTS -// -// MessageText: -// -// A local object with this GUID (dead or alive) already exists. -// -export const ERROR_DS_OBJ_GUID_EXISTS = 8361; - -// -// MessageId: ERROR_DS_NOT_ON_BACKLINK -// -// MessageText: -// -// The operation cannot be performed on a back link. -// -export const ERROR_DS_NOT_ON_BACKLINK = 8362; - -// -// MessageId: ERROR_DS_NO_CROSSREF_FOR_NC -// -// MessageText: -// -// The cross reference for the specified naming context could not be found. -// -export const ERROR_DS_NO_CROSSREF_FOR_NC = 8363; - -// -// MessageId: ERROR_DS_SHUTTING_DOWN -// -// MessageText: -// -// The operation could not be performed because the directory service is shutting down. -// -export const ERROR_DS_SHUTTING_DOWN = 8364; - -// -// MessageId: ERROR_DS_UNKNOWN_OPERATION -// -// MessageText: -// -// The directory service request is invalid. -// -export const ERROR_DS_UNKNOWN_OPERATION = 8365; - -// -// MessageId: ERROR_DS_INVALID_ROLE_OWNER -// -// MessageText: -// -// The role owner attribute could not be read. -// -export const ERROR_DS_INVALID_ROLE_OWNER = 8366; - -// -// MessageId: ERROR_DS_COULDNT_CONTACT_FSMO -// -// MessageText: -// -// The requested FSMO operation failed. The current FSMO holder could not be contacted. -// -export const ERROR_DS_COULDNT_CONTACT_FSMO = 8367; - -// -// MessageId: ERROR_DS_CROSS_NC_DN_RENAME -// -// MessageText: -// -// Modification of a DN across a naming context is not permitted. -// -export const ERROR_DS_CROSS_NC_DN_RENAME = 8368; - -// -// MessageId: ERROR_DS_CANT_MOD_SYSTEM_ONLY -// -// MessageText: -// -// The attribute cannot be modified because it is owned by the system. -// -export const ERROR_DS_CANT_MOD_SYSTEM_ONLY = 8369; - -// -// MessageId: ERROR_DS_REPLICATOR_ONLY -// -// MessageText: -// -// Only the replicator can perform this function. -// -export const ERROR_DS_REPLICATOR_ONLY = 8370; - -// -// MessageId: ERROR_DS_OBJ_CLASS_NOT_DEFINED -// -// MessageText: -// -// The specified class is not defined. -// -export const ERROR_DS_OBJ_CLASS_NOT_DEFINED = 8371; - -// -// MessageId: ERROR_DS_OBJ_CLASS_NOT_SUBCLASS -// -// MessageText: -// -// The specified class is not a subclass. -// -export const ERROR_DS_OBJ_CLASS_NOT_SUBCLASS = 8372; - -// -// MessageId: ERROR_DS_NAME_REFERENCE_INVALID -// -// MessageText: -// -// The name reference is invalid. -// -export const ERROR_DS_NAME_REFERENCE_INVALID = 8373; - -// -// MessageId: ERROR_DS_CROSS_REF_EXISTS -// -// MessageText: -// -// A cross reference already exists. -// -export const ERROR_DS_CROSS_REF_EXISTS = 8374; - -// -// MessageId: ERROR_DS_CANT_DEL_MASTER_CROSSREF -// -// MessageText: -// -// It is not permitted to delete a master cross reference. -// -export const ERROR_DS_CANT_DEL_MASTER_CROSSREF = 8375; - -// -// MessageId: ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD -// -// MessageText: -// -// Subtree notifications are only supported on NC heads. -// -export const ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD = 8376; - -// -// MessageId: ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX -// -// MessageText: -// -// Notification filter is too complex. -// -export const ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX = 8377; - -// -// MessageId: ERROR_DS_DUP_RDN -// -// MessageText: -// -// Schema update failed: duplicate RDN. -// -export const ERROR_DS_DUP_RDN = 8378; - -// -// MessageId: ERROR_DS_DUP_OID -// -// MessageText: -// -// Schema update failed: duplicate OID. -// -export const ERROR_DS_DUP_OID = 8379; - -// -// MessageId: ERROR_DS_DUP_MAPI_ID -// -// MessageText: -// -// Schema update failed: duplicate MAPI identifier. -// -export const ERROR_DS_DUP_MAPI_ID = 8380; - -// -// MessageId: ERROR_DS_DUP_SCHEMA_ID_GUID -// -// MessageText: -// -// Schema update failed: duplicate schema-id GUID. -// -export const ERROR_DS_DUP_SCHEMA_ID_GUID = 8381; - -// -// MessageId: ERROR_DS_DUP_LDAP_DISPLAY_NAME -// -// MessageText: -// -// Schema update failed: duplicate LDAP display name. -// -export const ERROR_DS_DUP_LDAP_DISPLAY_NAME = 8382; - -// -// MessageId: ERROR_DS_SEMANTIC_ATT_TEST -// -// MessageText: -// -// Schema update failed: range-lower less than range upper. -// -export const ERROR_DS_SEMANTIC_ATT_TEST = 8383; - -// -// MessageId: ERROR_DS_SYNTAX_MISMATCH -// -// MessageText: -// -// Schema update failed: syntax mismatch. -// -export const ERROR_DS_SYNTAX_MISMATCH = 8384; - -// -// MessageId: ERROR_DS_EXISTS_IN_MUST_HAVE -// -// MessageText: -// -// Schema deletion failed: attribute is used in must-contain. -// -export const ERROR_DS_EXISTS_IN_MUST_HAVE = 8385; - -// -// MessageId: ERROR_DS_EXISTS_IN_MAY_HAVE -// -// MessageText: -// -// Schema deletion failed: attribute is used in may-contain. -// -export const ERROR_DS_EXISTS_IN_MAY_HAVE = 8386; - -// -// MessageId: ERROR_DS_NONEXISTENT_MAY_HAVE -// -// MessageText: -// -// Schema update failed: attribute in may-contain does not exist. -// -export const ERROR_DS_NONEXISTENT_MAY_HAVE = 8387; - -// -// MessageId: ERROR_DS_NONEXISTENT_MUST_HAVE -// -// MessageText: -// -// Schema update failed: attribute in must-contain does not exist. -// -export const ERROR_DS_NONEXISTENT_MUST_HAVE = 8388; - -// -// MessageId: ERROR_DS_AUX_CLS_TEST_FAIL -// -// MessageText: -// -// Schema update failed: class in aux-class list does not exist or is not an auxiliary class. -// -export const ERROR_DS_AUX_CLS_TEST_FAIL = 8389; - -// -// MessageId: ERROR_DS_NONEXISTENT_POSS_SUP -// -// MessageText: -// -// Schema update failed: class in poss-superiors does not exist. -// -export const ERROR_DS_NONEXISTENT_POSS_SUP = 8390; - -// -// MessageId: ERROR_DS_SUB_CLS_TEST_FAIL -// -// MessageText: -// -// Schema update failed: class in subclassof list does not exist or does not satisfy hierarchy rules. -// -export const ERROR_DS_SUB_CLS_TEST_FAIL = 8391; - -// -// MessageId: ERROR_DS_BAD_RDN_ATT_ID_SYNTAX -// -// MessageText: -// -// Schema update failed: Rdn-Att-Id has wrong syntax. -// -export const ERROR_DS_BAD_RDN_ATT_ID_SYNTAX = 8392; - -// -// MessageId: ERROR_DS_EXISTS_IN_AUX_CLS -// -// MessageText: -// -// Schema deletion failed: class is used as auxiliary class. -// -export const ERROR_DS_EXISTS_IN_AUX_CLS = 8393; - -// -// MessageId: ERROR_DS_EXISTS_IN_SUB_CLS -// -// MessageText: -// -// Schema deletion failed: class is used as sub class. -// -export const ERROR_DS_EXISTS_IN_SUB_CLS = 8394; - -// -// MessageId: ERROR_DS_EXISTS_IN_POSS_SUP -// -// MessageText: -// -// Schema deletion failed: class is used as poss-superior. -// -export const ERROR_DS_EXISTS_IN_POSS_SUP = 8395; - -// -// MessageId: ERROR_DS_RECALCSCHEMA_FAILED -// -// MessageText: -// -// Schema update failed in recalculating validation cache. -// -export const ERROR_DS_RECALCSCHEMA_FAILED = 8396; - -// -// MessageId: ERROR_DS_TREE_DELETE_NOT_FINISHED -// -// MessageText: -// -// The tree deletion is not finished. The request must be made again to continue deleting the tree. -// -export const ERROR_DS_TREE_DELETE_NOT_FINISHED = 8397; - -// -// MessageId: ERROR_DS_CANT_DELETE -// -// MessageText: -// -// The requested delete operation could not be performed. -// -export const ERROR_DS_CANT_DELETE = 8398; - -// -// MessageId: ERROR_DS_ATT_SCHEMA_REQ_ID -// -// MessageText: -// -// Cannot read the governs class identifier for the schema record. -// -export const ERROR_DS_ATT_SCHEMA_REQ_ID = 8399; - -// -// MessageId: ERROR_DS_BAD_ATT_SCHEMA_SYNTAX -// -// MessageText: -// -// The attribute schema has bad syntax. -// -export const ERROR_DS_BAD_ATT_SCHEMA_SYNTAX = 8400; - -// -// MessageId: ERROR_DS_CANT_CACHE_ATT -// -// MessageText: -// -// The attribute could not be cached. -// -export const ERROR_DS_CANT_CACHE_ATT = 8401; - -// -// MessageId: ERROR_DS_CANT_CACHE_CLASS -// -// MessageText: -// -// The class could not be cached. -// -export const ERROR_DS_CANT_CACHE_CLASS = 8402; - -// -// MessageId: ERROR_DS_CANT_REMOVE_ATT_CACHE -// -// MessageText: -// -// The attribute could not be removed from the cache. -// -export const ERROR_DS_CANT_REMOVE_ATT_CACHE = 8403; - -// -// MessageId: ERROR_DS_CANT_REMOVE_CLASS_CACHE -// -// MessageText: -// -// The class could not be removed from the cache. -// -export const ERROR_DS_CANT_REMOVE_CLASS_CACHE = 8404; - -// -// MessageId: ERROR_DS_CANT_RETRIEVE_DN -// -// MessageText: -// -// The distinguished name attribute could not be read. -// -export const ERROR_DS_CANT_RETRIEVE_DN = 8405; - -// -// MessageId: ERROR_DS_MISSING_SUPREF -// -// MessageText: -// -// No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest. -// -export const ERROR_DS_MISSING_SUPREF = 8406; - -// -// MessageId: ERROR_DS_CANT_RETRIEVE_INSTANCE -// -// MessageText: -// -// The instance type attribute could not be retrieved. -// -export const ERROR_DS_CANT_RETRIEVE_INSTANCE = 8407; - -// -// MessageId: ERROR_DS_CODE_INCONSISTENCY -// -// MessageText: -// -// An internal error has occurred. -// -export const ERROR_DS_CODE_INCONSISTENCY = 8408; - -// -// MessageId: ERROR_DS_DATABASE_ERROR -// -// MessageText: -// -// A database error has occurred. -// -export const ERROR_DS_DATABASE_ERROR = 8409; - -// -// MessageId: ERROR_DS_GOVERNSID_MISSING -// -// MessageText: -// -// The attribute GOVERNSID is missing. -// -export const ERROR_DS_GOVERNSID_MISSING = 8410; - -// -// MessageId: ERROR_DS_MISSING_EXPECTED_ATT -// -// MessageText: -// -// An expected attribute is missing. -// -export const ERROR_DS_MISSING_EXPECTED_ATT = 8411; - -// -// MessageId: ERROR_DS_NCNAME_MISSING_CR_REF -// -// MessageText: -// -// The specified naming context is missing a cross reference. -// -export const ERROR_DS_NCNAME_MISSING_CR_REF = 8412; - -// -// MessageId: ERROR_DS_SECURITY_CHECKING_ERROR -// -// MessageText: -// -// A security checking error has occurred. -// -export const ERROR_DS_SECURITY_CHECKING_ERROR = 8413; - -// -// MessageId: ERROR_DS_SCHEMA_NOT_LOADED -// -// MessageText: -// -// The schema is not loaded. -// -export const ERROR_DS_SCHEMA_NOT_LOADED = 8414; - -// -// MessageId: ERROR_DS_SCHEMA_ALLOC_FAILED -// -// MessageText: -// -// Schema allocation failed. Please check if the machine is running low on memory. -// -export const ERROR_DS_SCHEMA_ALLOC_FAILED = 8415; - -// -// MessageId: ERROR_DS_ATT_SCHEMA_REQ_SYNTAX -// -// MessageText: -// -// Failed to obtain the required syntax for the attribute schema. -// -export const ERROR_DS_ATT_SCHEMA_REQ_SYNTAX = 8416; - -// -// MessageId: ERROR_DS_GCVERIFY_ERROR -// -// MessageText: -// -// The global catalog verification failed. The global catalog is not available or does not support the operation. Some part of the directory is currently not available. -// -export const ERROR_DS_GCVERIFY_ERROR = 8417; - -// -// MessageId: ERROR_DS_DRA_SCHEMA_MISMATCH -// -// MessageText: -// -// The replication operation failed because of a schema mismatch between the servers involved. -// -export const ERROR_DS_DRA_SCHEMA_MISMATCH = 8418; - -// -// MessageId: ERROR_DS_CANT_FIND_DSA_OBJ -// -// MessageText: -// -// The DSA object could not be found. -// -export const ERROR_DS_CANT_FIND_DSA_OBJ = 8419; - -// -// MessageId: ERROR_DS_CANT_FIND_EXPECTED_NC -// -// MessageText: -// -// The naming context could not be found. -// -export const ERROR_DS_CANT_FIND_EXPECTED_NC = 8420; - -// -// MessageId: ERROR_DS_CANT_FIND_NC_IN_CACHE -// -// MessageText: -// -// The naming context could not be found in the cache. -// -export const ERROR_DS_CANT_FIND_NC_IN_CACHE = 8421; - -// -// MessageId: ERROR_DS_CANT_RETRIEVE_CHILD -// -// MessageText: -// -// The child object could not be retrieved. -// -export const ERROR_DS_CANT_RETRIEVE_CHILD = 8422; - -// -// MessageId: ERROR_DS_SECURITY_ILLEGAL_MODIFY -// -// MessageText: -// -// The modification was not permitted for security reasons. -// -export const ERROR_DS_SECURITY_ILLEGAL_MODIFY = 8423; - -// -// MessageId: ERROR_DS_CANT_REPLACE_HIDDEN_REC -// -// MessageText: -// -// The operation cannot replace the hidden record. -// -export const ERROR_DS_CANT_REPLACE_HIDDEN_REC = 8424; - -// -// MessageId: ERROR_DS_BAD_HIERARCHY_FILE -// -// MessageText: -// -// The hierarchy file is invalid. -// -export const ERROR_DS_BAD_HIERARCHY_FILE = 8425; - -// -// MessageId: ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED -// -// MessageText: -// -// The attempt to build the hierarchy table failed. -// -export const ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED = 8426; - -// -// MessageId: ERROR_DS_CONFIG_PARAM_MISSING -// -// MessageText: -// -// The directory configuration parameter is missing from the registry. -// -export const ERROR_DS_CONFIG_PARAM_MISSING = 8427; - -// -// MessageId: ERROR_DS_COUNTING_AB_INDICES_FAILED -// -// MessageText: -// -// The attempt to count the address book indices failed. -// -export const ERROR_DS_COUNTING_AB_INDICES_FAILED = 8428; - -// -// MessageId: ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED -// -// MessageText: -// -// The allocation of the hierarchy table failed. -// -export const ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED = 8429; - -// -// MessageId: ERROR_DS_INTERNAL_FAILURE -// -// MessageText: -// -// The directory service encountered an internal failure. -// -export const ERROR_DS_INTERNAL_FAILURE = 8430; - -// -// MessageId: ERROR_DS_UNKNOWN_ERROR -// -// MessageText: -// -// The directory service encountered an unknown failure. -// -export const ERROR_DS_UNKNOWN_ERROR = 8431; - -// -// MessageId: ERROR_DS_ROOT_REQUIRES_CLASS_TOP -// -// MessageText: -// -// A root object requires a class of 'top'. -// -export const ERROR_DS_ROOT_REQUIRES_CLASS_TOP = 8432; - -// -// MessageId: ERROR_DS_REFUSING_FSMO_ROLES -// -// MessageText: -// -// This directory server is shutting down, and cannot take ownership of new floating single-master operation roles. -// -export const ERROR_DS_REFUSING_FSMO_ROLES = 8433; - -// -// MessageId: ERROR_DS_MISSING_FSMO_SETTINGS -// -// MessageText: -// -// The directory service is missing mandatory configuration information, and is unable to determine the ownership of floating single-master operation roles. -// -export const ERROR_DS_MISSING_FSMO_SETTINGS = 8434; - -// -// MessageId: ERROR_DS_UNABLE_TO_SURRENDER_ROLES -// -// MessageText: -// -// The directory service was unable to transfer ownership of one or more floating single-master operation roles to other servers. -// -export const ERROR_DS_UNABLE_TO_SURRENDER_ROLES = 8435; - -// -// MessageId: ERROR_DS_DRA_GENERIC -// -// MessageText: -// -// The replication operation failed. -// -export const ERROR_DS_DRA_GENERIC = 8436; - -// -// MessageId: ERROR_DS_DRA_INVALID_PARAMETER -// -// MessageText: -// -// An invalid parameter was specified for this replication operation. -// -export const ERROR_DS_DRA_INVALID_PARAMETER = 8437; - -// -// MessageId: ERROR_DS_DRA_BUSY -// -// MessageText: -// -// The directory service is too busy to complete the replication operation at this time. -// -export const ERROR_DS_DRA_BUSY = 8438; - -// -// MessageId: ERROR_DS_DRA_BAD_DN -// -// MessageText: -// -// The distinguished name specified for this replication operation is invalid. -// -export const ERROR_DS_DRA_BAD_DN = 8439; - -// -// MessageId: ERROR_DS_DRA_BAD_NC -// -// MessageText: -// -// The naming context specified for this replication operation is invalid. -// -export const ERROR_DS_DRA_BAD_NC = 8440; - -// -// MessageId: ERROR_DS_DRA_DN_EXISTS -// -// MessageText: -// -// The distinguished name specified for this replication operation already exists. -// -export const ERROR_DS_DRA_DN_EXISTS = 8441; - -// -// MessageId: ERROR_DS_DRA_INTERNAL_ERROR -// -// MessageText: -// -// The replication system encountered an internal error. -// -export const ERROR_DS_DRA_INTERNAL_ERROR = 8442; - -// -// MessageId: ERROR_DS_DRA_INCONSISTENT_DIT -// -// MessageText: -// -// The replication operation encountered a database inconsistency. -// -export const ERROR_DS_DRA_INCONSISTENT_DIT = 8443; - -// -// MessageId: ERROR_DS_DRA_CONNECTION_FAILED -// -// MessageText: -// -// The server specified for this replication operation could not be contacted. -// -export const ERROR_DS_DRA_CONNECTION_FAILED = 8444; - -// -// MessageId: ERROR_DS_DRA_BAD_INSTANCE_TYPE -// -// MessageText: -// -// The replication operation encountered an object with an invalid instance type. -// -export const ERROR_DS_DRA_BAD_INSTANCE_TYPE = 8445; - -// -// MessageId: ERROR_DS_DRA_OUT_OF_MEM -// -// MessageText: -// -// The replication operation failed to allocate memory. -// -export const ERROR_DS_DRA_OUT_OF_MEM = 8446; - -// -// MessageId: ERROR_DS_DRA_MAIL_PROBLEM -// -// MessageText: -// -// The replication operation encountered an error with the mail system. -// -export const ERROR_DS_DRA_MAIL_PROBLEM = 8447; - -// -// MessageId: ERROR_DS_DRA_REF_ALREADY_EXISTS -// -// MessageText: -// -// The replication reference information for the target server already exists. -// -export const ERROR_DS_DRA_REF_ALREADY_EXISTS = 8448; - -// -// MessageId: ERROR_DS_DRA_REF_NOT_FOUND -// -// MessageText: -// -// The replication reference information for the target server does not exist. -// -export const ERROR_DS_DRA_REF_NOT_FOUND = 8449; - -// -// MessageId: ERROR_DS_DRA_OBJ_IS_REP_SOURCE -// -// MessageText: -// -// The naming context cannot be removed because it is replicated to another server. -// -export const ERROR_DS_DRA_OBJ_IS_REP_SOURCE = 8450; - -// -// MessageId: ERROR_DS_DRA_DB_ERROR -// -// MessageText: -// -// The replication operation encountered a database error. -// -export const ERROR_DS_DRA_DB_ERROR = 8451; - -// -// MessageId: ERROR_DS_DRA_NO_REPLICA -// -// MessageText: -// -// The naming context is in the process of being removed or is not replicated from the specified server. -// -export const ERROR_DS_DRA_NO_REPLICA = 8452; - -// -// MessageId: ERROR_DS_DRA_ACCESS_DENIED -// -// MessageText: -// -// Replication access was denied. -// -export const ERROR_DS_DRA_ACCESS_DENIED = 8453; - -// -// MessageId: ERROR_DS_DRA_NOT_SUPPORTED -// -// MessageText: -// -// The requested operation is not supported by this version of the directory service. -// -export const ERROR_DS_DRA_NOT_SUPPORTED = 8454; - -// -// MessageId: ERROR_DS_DRA_RPC_CANCELLED -// -// MessageText: -// -// The replication remote procedure call was cancelled. -// -export const ERROR_DS_DRA_RPC_CANCELLED = 8455; - -// -// MessageId: ERROR_DS_DRA_SOURCE_DISABLED -// -// MessageText: -// -// The source server is currently rejecting replication requests. -// -export const ERROR_DS_DRA_SOURCE_DISABLED = 8456; - -// -// MessageId: ERROR_DS_DRA_SINK_DISABLED -// -// MessageText: -// -// The destination server is currently rejecting replication requests. -// -export const ERROR_DS_DRA_SINK_DISABLED = 8457; - -// -// MessageId: ERROR_DS_DRA_NAME_COLLISION -// -// MessageText: -// -// The replication operation failed due to a collision of object names. -// -export const ERROR_DS_DRA_NAME_COLLISION = 8458; - -// -// MessageId: ERROR_DS_DRA_SOURCE_REINSTALLED -// -// MessageText: -// -// The replication source has been reinstalled. -// -export const ERROR_DS_DRA_SOURCE_REINSTALLED = 8459; - -// -// MessageId: ERROR_DS_DRA_MISSING_PARENT -// -// MessageText: -// -// The replication operation failed because a required parent object is missing. -// -export const ERROR_DS_DRA_MISSING_PARENT = 8460; - -// -// MessageId: ERROR_DS_DRA_PREEMPTED -// -// MessageText: -// -// The replication operation was preempted. -// -export const ERROR_DS_DRA_PREEMPTED = 8461; - -// -// MessageId: ERROR_DS_DRA_ABANDON_SYNC -// -// MessageText: -// -// The replication synchronization attempt was abandoned because of a lack of updates. -// -export const ERROR_DS_DRA_ABANDON_SYNC = 8462; - -// -// MessageId: ERROR_DS_DRA_SHUTDOWN -// -// MessageText: -// -// The replication operation was terminated because the system is shutting down. -// -export const ERROR_DS_DRA_SHUTDOWN = 8463; - -// -// MessageId: ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET -// -// MessageText: -// -// Synchronization attempt failed because the destination DC is currently waiting to synchronize new partial attributes from source. This condition is normal if a recent schema change modified the partial attribute set. The destination partial attribute set is not a subset of source partial attribute set. -// -export const ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET = 8464; - -// -// MessageId: ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA -// -// MessageText: -// -// The replication synchronization attempt failed because a master replica attempted to sync from a partial replica. -// -export const ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA = 8465; - -// -// MessageId: ERROR_DS_DRA_EXTN_CONNECTION_FAILED -// -// MessageText: -// -// The server specified for this replication operation was contacted, but that server was unable to contact an additional server needed to complete the operation. -// -export const ERROR_DS_DRA_EXTN_CONNECTION_FAILED = 8466; - -// -// MessageId: ERROR_DS_INSTALL_SCHEMA_MISMATCH -// -// MessageText: -// -// The version of the Active Directory schema of the source forest is not compatible with the version of Active Directory on this computer. -// -export const ERROR_DS_INSTALL_SCHEMA_MISMATCH = 8467; - -// -// MessageId: ERROR_DS_DUP_LINK_ID -// -// MessageText: -// -// Schema update failed: An attribute with the same link identifier already exists. -// -export const ERROR_DS_DUP_LINK_ID = 8468; - -// -// MessageId: ERROR_DS_NAME_ERROR_RESOLVING -// -// MessageText: -// -// Name translation: Generic processing error. -// -export const ERROR_DS_NAME_ERROR_RESOLVING = 8469; - -// -// MessageId: ERROR_DS_NAME_ERROR_NOT_FOUND -// -// MessageText: -// -// Name translation: Could not find the name or insufficient right to see name. -// -export const ERROR_DS_NAME_ERROR_NOT_FOUND = 8470; - -// -// MessageId: ERROR_DS_NAME_ERROR_NOT_UNIQUE -// -// MessageText: -// -// Name translation: Input name mapped to more than one output name. -// -export const ERROR_DS_NAME_ERROR_NOT_UNIQUE = 8471; - -// -// MessageId: ERROR_DS_NAME_ERROR_NO_MAPPING -// -// MessageText: -// -// Name translation: Input name found, but not the associated output format. -// -export const ERROR_DS_NAME_ERROR_NO_MAPPING = 8472; - -// -// MessageId: ERROR_DS_NAME_ERROR_DOMAIN_ONLY -// -// MessageText: -// -// Name translation: Unable to resolve completely, only the domain was found. -// -export const ERROR_DS_NAME_ERROR_DOMAIN_ONLY = 8473; - -// -// MessageId: ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING -// -// MessageText: -// -// Name translation: Unable to perform purely syntactical mapping at the client without going out to the wire. -// -export const ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 8474; - -// -// MessageId: ERROR_DS_WRONG_OM_OBJ_CLASS -// -// MessageText: -// -// The OM-Object-Class specified is incorrect for an attribute with the specified syntax. -// -export const ERROR_DS_WRONG_OM_OBJ_CLASS = 8476; - -// -// MessageId: ERROR_DS_DRA_REPL_PENDING -// -// MessageText: -// -// The replication request has been posted; waiting for reply. -// -export const ERROR_DS_DRA_REPL_PENDING = 8477; - -// -// MessageId: ERROR_DS_DS_REQUIRED -// -// MessageText: -// -// The requested operation requires a directory service, and none was available. -// -export const ERROR_DS_DS_REQUIRED = 8478; - -// -// MessageId: ERROR_DS_INVALID_LDAP_DISPLAY_NAME -// -// MessageText: -// -// The LDAP display name of the class or attribute contains non-ASCII characters. -// -export const ERROR_DS_INVALID_LDAP_DISPLAY_NAME = 8479; - -// -// MessageId: ERROR_DS_NON_BASE_SEARCH -// -// MessageText: -// -// The requested search operation is only supported for base searches. -// -export const ERROR_DS_NON_BASE_SEARCH = 8480; - -// -// MessageId: ERROR_DS_CANT_RETRIEVE_ATTS -// -// MessageText: -// -// The search failed to retrieve attributes from the database. -// -export const ERROR_DS_CANT_RETRIEVE_ATTS = 8481; - -// -// MessageId: ERROR_DS_BACKLINK_WITHOUT_LINK -// -// MessageText: -// -// The schema update operation tried to add a backward link attribute that has no corresponding forward link. -// -export const ERROR_DS_BACKLINK_WITHOUT_LINK = 8482; - -// -// MessageId: ERROR_DS_EPOCH_MISMATCH -// -// MessageText: -// -// Source and destination of a cross-domain move do not agree on the object's epoch number. Either source or destination does not have the latest version of the object. -// -export const ERROR_DS_EPOCH_MISMATCH = 8483; - -// -// MessageId: ERROR_DS_SRC_NAME_MISMATCH -// -// MessageText: -// -// Source and destination of a cross-domain move do not agree on the object's current name. Either source or destination does not have the latest version of the object. -// -export const ERROR_DS_SRC_NAME_MISMATCH = 8484; - -// -// MessageId: ERROR_DS_SRC_AND_DST_NC_IDENTICAL -// -// MessageText: -// -// Source and destination for the cross-domain move operation are identical. Caller should use local move operation instead of cross-domain move operation. -// -export const ERROR_DS_SRC_AND_DST_NC_IDENTICAL = 8485; - -// -// MessageId: ERROR_DS_DST_NC_MISMATCH -// -// MessageText: -// -// Source and destination for a cross-domain move are not in agreement on the naming contexts in the forest. Either source or destination does not have the latest version of the Partitions container. -// -export const ERROR_DS_DST_NC_MISMATCH = 8486; - -// -// MessageId: ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC -// -// MessageText: -// -// Destination of a cross-domain move is not authoritative for the destination naming context. -// -export const ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC = 8487; - -// -// MessageId: ERROR_DS_SRC_GUID_MISMATCH -// -// MessageText: -// -// Source and destination of a cross-domain move do not agree on the identity of the source object. Either source or destination does not have the latest version of the source object. -// -export const ERROR_DS_SRC_GUID_MISMATCH = 8488; - -// -// MessageId: ERROR_DS_CANT_MOVE_DELETED_OBJECT -// -// MessageText: -// -// Object being moved across-domains is already known to be deleted by the destination server. The source server does not have the latest version of the source object. -// -export const ERROR_DS_CANT_MOVE_DELETED_OBJECT = 8489; - -// -// MessageId: ERROR_DS_PDC_OPERATION_IN_PROGRESS -// -// MessageText: -// -// Another operation which requires exclusive access to the PDC FSMO is already in progress. -// -export const ERROR_DS_PDC_OPERATION_IN_PROGRESS = 8490; - -// -// MessageId: ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD -// -// MessageText: -// -// A cross-domain move operation failed such that two versions of the moved object exist - one each in the source and destination domains. The destination object needs to be removed to restore the system to a consistent state. -// -export const ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD = 8491; - -// -// MessageId: ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION -// -// MessageText: -// -// This object may not be moved across domain boundaries either because cross-domain moves for this class are disallowed, or the object has some special characteristics, e.g.: trust account or restricted RID, which prevent its move. -// -export const ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION = 8492; - -// -// MessageId: ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS -// -// MessageText: -// -// Can't move objects with memberships across domain boundaries as once moved, this would violate the membership conditions of the account group. Remove the object from any account group memberships and retry. -// -export const ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS = 8493; - -// -// MessageId: ERROR_DS_NC_MUST_HAVE_NC_PARENT -// -// MessageText: -// -// A naming context head must be the immediate child of another naming context head, not of an interior node. -// -export const ERROR_DS_NC_MUST_HAVE_NC_PARENT = 8494; - -// -// MessageId: ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE -// -// MessageText: -// -// The directory cannot validate the proposed naming context name because it does not hold a replica of the naming context above the proposed naming context. Please ensure that the domain naming master role is held by a server that is configured as a global catalog server, and that the server is up to date with its replication partners. (Applies only to Windows 2000 Domain Naming masters) -// -export const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE = 8495; - -// -// MessageId: ERROR_DS_DST_DOMAIN_NOT_NATIVE -// -// MessageText: -// -// Destination domain must be in native mode. -// -export const ERROR_DS_DST_DOMAIN_NOT_NATIVE = 8496; - -// -// MessageId: ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER -// -// MessageText: -// -// The operation can not be performed because the server does not have an infrastructure container in the domain of interest. -// -export const ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER = 8497; - -// -// MessageId: ERROR_DS_CANT_MOVE_ACCOUNT_GROUP -// -// MessageText: -// -// Cross-domain move of non-empty account groups is not allowed. -// -export const ERROR_DS_CANT_MOVE_ACCOUNT_GROUP = 8498; - -// -// MessageId: ERROR_DS_CANT_MOVE_RESOURCE_GROUP -// -// MessageText: -// -// Cross-domain move of non-empty resource groups is not allowed. -// -export const ERROR_DS_CANT_MOVE_RESOURCE_GROUP = 8499; - -// -// MessageId: ERROR_DS_INVALID_SEARCH_FLAG -// -// MessageText: -// -// The search flags for the attribute are invalid. The ANR bit is valid only on attributes of Unicode or Teletex strings. -// -export const ERROR_DS_INVALID_SEARCH_FLAG = 8500; - -// -// MessageId: ERROR_DS_NO_TREE_DELETE_ABOVE_NC -// -// MessageText: -// -// Tree deletions starting at an object which has an NC head as a descendant are not allowed. -// -export const ERROR_DS_NO_TREE_DELETE_ABOVE_NC = 8501; - -// -// MessageId: ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE -// -// MessageText: -// -// The directory service failed to lock a tree in preparation for a tree deletion because the tree was in use. -// -export const ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE = 8502; - -// -// MessageId: ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE -// -// MessageText: -// -// The directory service failed to identify the list of objects to delete while attempting a tree deletion. -// -export const ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE = 8503; - -// -// MessageId: ERROR_DS_SAM_INIT_FAILURE -// -// MessageText: -// -// Security Accounts Manager initialization failed because of the following error: %1. -// Error Status: 0x%2. Click OK to shut down the system and reboot into Directory Services Restore Mode. Check the event log for detailed information. -// -export const ERROR_DS_SAM_INIT_FAILURE = 8504; - -// -// MessageId: ERROR_DS_SENSITIVE_GROUP_VIOLATION -// -// MessageText: -// -// Only an administrator can modify the membership list of an administrative group. -// -export const ERROR_DS_SENSITIVE_GROUP_VIOLATION = 8505; - -// -// MessageId: ERROR_DS_CANT_MOD_PRIMARYGROUPID -// -// MessageText: -// -// Cannot change the primary group ID of a domain controller account. -// -export const ERROR_DS_CANT_MOD_PRIMARYGROUPID = 8506; - -// -// MessageId: ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD -// -// MessageText: -// -// An attempt is made to modify the base schema. -// -export const ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD = 8507; - -// -// MessageId: ERROR_DS_NONSAFE_SCHEMA_CHANGE -// -// MessageText: -// -// Adding a new mandatory attribute to an existing class, deleting a mandatory attribute from an existing class, or adding an optional attribute to the special class Top that is not a backlink attribute (directly or through inheritance, for example, by adding or deleting an auxiliary class) is not allowed. -// -export const ERROR_DS_NONSAFE_SCHEMA_CHANGE = 8508; - -// -// MessageId: ERROR_DS_SCHEMA_UPDATE_DISALLOWED -// -// MessageText: -// -// Schema update is not allowed on this DC because the DC is not the schema FSMO Role Owner. -// -export const ERROR_DS_SCHEMA_UPDATE_DISALLOWED = 8509; - -// -// MessageId: ERROR_DS_CANT_CREATE_UNDER_SCHEMA -// -// MessageText: -// -// An object of this class cannot be created under the schema container. You can only create attribute-schema and class-schema objects under the schema container. -// -export const ERROR_DS_CANT_CREATE_UNDER_SCHEMA = 8510; - -// -// MessageId: ERROR_DS_INSTALL_NO_SRC_SCH_VERSION -// -// MessageText: -// -// The replica/child install failed to get the objectVersion attribute on the schema container on the source DC. Either the attribute is missing on the schema container or the credentials supplied do not have permission to read it. -// -export const ERROR_DS_INSTALL_NO_SRC_SCH_VERSION = 8511; - -// -// MessageId: ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE -// -// MessageText: -// -// The replica/child install failed to read the objectVersion attribute in the SCHEMA section of the file schema.ini in the system32 directory. -// -export const ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE = 8512; - -// -// MessageId: ERROR_DS_INVALID_GROUP_TYPE -// -// MessageText: -// -// The specified group type is invalid. -// -export const ERROR_DS_INVALID_GROUP_TYPE = 8513; - -// -// MessageId: ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN -// -// MessageText: -// -// You cannot nest global groups in a mixed domain if the group is security-enabled. -// -export const ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 8514; - -// -// MessageId: ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN -// -// MessageText: -// -// You cannot nest local groups in a mixed domain if the group is security-enabled. -// -export const ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 8515; - -// -// MessageId: ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER -// -// MessageText: -// -// A global group cannot have a local group as a member. -// -export const ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 8516; - -// -// MessageId: ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER -// -// MessageText: -// -// A global group cannot have a universal group as a member. -// -export const ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 8517; - -// -// MessageId: ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER -// -// MessageText: -// -// A universal group cannot have a local group as a member. -// -export const ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 8518; - -// -// MessageId: ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER -// -// MessageText: -// -// A global group cannot have a cross-domain member. -// -export const ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 8519; - -// -// MessageId: ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER -// -// MessageText: -// -// A local group cannot have another cross domain local group as a member. -// -export const ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 8520; - -// -// MessageId: ERROR_DS_HAVE_PRIMARY_MEMBERS -// -// MessageText: -// -// A group with primary members cannot change to a security-disabled group. -// -export const ERROR_DS_HAVE_PRIMARY_MEMBERS = 8521; - -// -// MessageId: ERROR_DS_STRING_SD_CONVERSION_FAILED -// -// MessageText: -// -// The schema cache load failed to convert the string default SD on a class-schema object. -// -export const ERROR_DS_STRING_SD_CONVERSION_FAILED = 8522; - -// -// MessageId: ERROR_DS_NAMING_MASTER_GC -// -// MessageText: -// -// Only DSAs configured to be Global Catalog servers should be allowed to hold the Domain Naming Master FSMO role. (Applies only to Windows 2000 servers) -// -export const ERROR_DS_NAMING_MASTER_GC = 8523; - -// -// MessageId: ERROR_DS_DNS_LOOKUP_FAILURE -// -// MessageText: -// -// The DSA operation is unable to proceed because of a DNS lookup failure. -// -export const ERROR_DS_DNS_LOOKUP_FAILURE = 8524; - -// -// MessageId: ERROR_DS_COULDNT_UPDATE_SPNS -// -// MessageText: -// -// While processing a change to the DNS Host Name for an object, the Service Principal Name values could not be kept in sync. -// -export const ERROR_DS_COULDNT_UPDATE_SPNS = 8525; - -// -// MessageId: ERROR_DS_CANT_RETRIEVE_SD -// -// MessageText: -// -// The Security Descriptor attribute could not be read. -// -export const ERROR_DS_CANT_RETRIEVE_SD = 8526; - -// -// MessageId: ERROR_DS_KEY_NOT_UNIQUE -// -// MessageText: -// -// The object requested was not found, but an object with that key was found. -// -export const ERROR_DS_KEY_NOT_UNIQUE = 8527; - -// -// MessageId: ERROR_DS_WRONG_LINKED_ATT_SYNTAX -// -// MessageText: -// -// The syntax of the linked attribute being added is incorrect. Forward links can only have syntax 2.5.5.1, 2.5.5.7, and 2.5.5.14, and backlinks can only have syntax 2.5.5.1 -// -export const ERROR_DS_WRONG_LINKED_ATT_SYNTAX = 8528; - -// -// MessageId: ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD -// -// MessageText: -// -// Security Account Manager needs to get the boot password. -// -export const ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD = 8529; - -// -// MessageId: ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY -// -// MessageText: -// -// Security Account Manager needs to get the boot key from floppy disk. -// -export const ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY = 8530; - -// -// MessageId: ERROR_DS_CANT_START -// -// MessageText: -// -// Directory Service cannot start. -// -export const ERROR_DS_CANT_START = 8531; - -// -// MessageId: ERROR_DS_INIT_FAILURE -// -// MessageText: -// -// Directory Services could not start. -// -export const ERROR_DS_INIT_FAILURE = 8532; - -// -// MessageId: ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION -// -// MessageText: -// -// The connection between client and server requires packet privacy or better. -// -export const ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION = 8533; - -// -// MessageId: ERROR_DS_SOURCE_DOMAIN_IN_FOREST -// -// MessageText: -// -// The source domain may not be in the same forest as destination. -// -export const ERROR_DS_SOURCE_DOMAIN_IN_FOREST = 8534; - -// -// MessageId: ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST -// -// MessageText: -// -// The destination domain must be in the forest. -// -export const ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST = 8535; - -// -// MessageId: ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED -// -// MessageText: -// -// The operation requires that destination domain auditing be enabled. -// -export const ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED = 8536; - -// -// MessageId: ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN -// -// MessageText: -// -// The operation couldn't locate a DC for the source domain. -// -export const ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN = 8537; - -// -// MessageId: ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER -// -// MessageText: -// -// The source object must be a group or user. -// -export const ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER = 8538; - -// -// MessageId: ERROR_DS_SRC_SID_EXISTS_IN_FOREST -// -// MessageText: -// -// The source object's SID already exists in destination forest. -// -export const ERROR_DS_SRC_SID_EXISTS_IN_FOREST = 8539; - -// -// MessageId: ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH -// -// MessageText: -// -// The source and destination object must be of the same type. -// -export const ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH = 8540; - -// -// MessageId: ERROR_SAM_INIT_FAILURE -// -// MessageText: -// -// Security Accounts Manager initialization failed because of the following error: %1. -// Error Status: 0x%2. Click OK to shut down the system and reboot into Safe Mode. Check the event log for detailed information. -// -export const ERROR_SAM_INIT_FAILURE = 8541; - -// -// MessageId: ERROR_DS_DRA_SCHEMA_INFO_SHIP -// -// MessageText: -// -// Schema information could not be included in the replication request. -// -export const ERROR_DS_DRA_SCHEMA_INFO_SHIP = 8542; - -// -// MessageId: ERROR_DS_DRA_SCHEMA_CONFLICT -// -// MessageText: -// -// The replication operation could not be completed due to a schema incompatibility. -// -export const ERROR_DS_DRA_SCHEMA_CONFLICT = 8543; - -// -// MessageId: ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT -// -// MessageText: -// -// The replication operation could not be completed due to a previous schema incompatibility. -// -export const ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT = 8544; - -// -// MessageId: ERROR_DS_DRA_OBJ_NC_MISMATCH -// -// MessageText: -// -// The replication update could not be applied because either the source or the destination has not yet received information regarding a recent cross-domain move operation. -// -export const ERROR_DS_DRA_OBJ_NC_MISMATCH = 8545; - -// -// MessageId: ERROR_DS_NC_STILL_HAS_DSAS -// -// MessageText: -// -// The requested domain could not be deleted because there exist domain controllers that still host this domain. -// -export const ERROR_DS_NC_STILL_HAS_DSAS = 8546; - -// -// MessageId: ERROR_DS_GC_REQUIRED -// -// MessageText: -// -// The requested operation can be performed only on a global catalog server. -// -export const ERROR_DS_GC_REQUIRED = 8547; - -// -// MessageId: ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY -// -// MessageText: -// -// A local group can only be a member of other local groups in the same domain. -// -export const ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 8548; - -// -// MessageId: ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS -// -// MessageText: -// -// Foreign security principals cannot be members of universal groups. -// -export const ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS = 8549; - -// -// MessageId: ERROR_DS_CANT_ADD_TO_GC -// -// MessageText: -// -// The attribute is not allowed to be replicated to the GC because of security reasons. -// -export const ERROR_DS_CANT_ADD_TO_GC = 8550; - -// -// MessageId: ERROR_DS_NO_CHECKPOINT_WITH_PDC -// -// MessageText: -// -// The checkpoint with the PDC could not be taken because there too many modifications being processed currently. -// -export const ERROR_DS_NO_CHECKPOINT_WITH_PDC = 8551; - -// -// MessageId: ERROR_DS_SOURCE_AUDITING_NOT_ENABLED -// -// MessageText: -// -// The operation requires that source domain auditing be enabled. -// -export const ERROR_DS_SOURCE_AUDITING_NOT_ENABLED = 8552; - -// -// MessageId: ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC -// -// MessageText: -// -// Security principal objects can only be created inside domain naming contexts. -// -export const ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC = 8553; - -// -// MessageId: ERROR_DS_INVALID_NAME_FOR_SPN -// -// MessageText: -// -// A Service Principal Name (SPN) could not be export constructed because the provided hostname is not in the necessary format. -// -export const ERROR_DS_INVALID_NAME_FOR_SPN = 8554; - -// -// MessageId: ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS -// -// MessageText: -// -// A Filter was passed that uses export constructed attributes. -// -export const ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS = 8555; - -// -// MessageId: ERROR_DS_UNICODEPWD_NOT_IN_QUOTES -// -// MessageText: -// -// The unicodePwd attribute value must be enclosed in double quotes. -// -export const ERROR_DS_UNICODEPWD_NOT_IN_QUOTES = 8556; - -// -// MessageId: ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED -// -// MessageText: -// -// Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased. -// -export const ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 8557; - -// -// MessageId: ERROR_DS_MUST_BE_RUN_ON_DST_DC -// -// MessageText: -// -// For security reasons, the operation must be run on the destination DC. -// -export const ERROR_DS_MUST_BE_RUN_ON_DST_DC = 8558; - -// -// MessageId: ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER -// -// MessageText: -// -// For security reasons, the source DC must be NT4SP4 or greater. -// -export const ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER = 8559; - -// -// MessageId: ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ -// -// MessageText: -// -// Critical Directory Service System objects cannot be deleted during tree delete operations. The tree delete may have been partially performed. -// -export const ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ = 8560; - -// -// MessageId: ERROR_DS_INIT_FAILURE_CONSOLE -// -// MessageText: -// -// Directory Services could not start because of the following error: %1. -// Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. -// -export const ERROR_DS_INIT_FAILURE_CONSOLE = 8561; - -// -// MessageId: ERROR_DS_SAM_INIT_FAILURE_CONSOLE -// -// MessageText: -// -// Security Accounts Manager initialization failed because of the following error: %1. -// Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. -// -export const ERROR_DS_SAM_INIT_FAILURE_CONSOLE = 8562; - -// -// MessageId: ERROR_DS_FOREST_VERSION_TOO_HIGH -// -// MessageText: -// -// The version of the operating system installed is incompatible with the current forest functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this forest. -// -export const ERROR_DS_FOREST_VERSION_TOO_HIGH = 8563; - -// -// MessageId: ERROR_DS_DOMAIN_VERSION_TOO_HIGH -// -// MessageText: -// -// The version of the operating system installed is incompatible with the current domain functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this domain. -// -export const ERROR_DS_DOMAIN_VERSION_TOO_HIGH = 8564; - -// -// MessageId: ERROR_DS_FOREST_VERSION_TOO_LOW -// -// MessageText: -// -// The version of the operating system installed on this server no longer supports the current forest functional level. You must raise the forest functional level before this server can become a domain controller in this forest. -// -export const ERROR_DS_FOREST_VERSION_TOO_LOW = 8565; - -// -// MessageId: ERROR_DS_DOMAIN_VERSION_TOO_LOW -// -// MessageText: -// -// The version of the operating system installed on this server no longer supports the current domain functional level. You must raise the domain functional level before this server can become a domain controller in this domain. -// -export const ERROR_DS_DOMAIN_VERSION_TOO_LOW = 8566; - -// -// MessageId: ERROR_DS_INCOMPATIBLE_VERSION -// -// MessageText: -// -// The version of the operating system installed on this server is incompatible with the functional level of the domain or forest. -// -export const ERROR_DS_INCOMPATIBLE_VERSION = 8567; - -// -// MessageId: ERROR_DS_LOW_DSA_VERSION -// -// MessageText: -// -// The functional level of the domain (or forest) cannot be raised to the requested value, because there exist one or more domain controllers in the domain (or forest) that are at a lower incompatible functional level. -// -export const ERROR_DS_LOW_DSA_VERSION = 8568; - -// -// MessageId: ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN -// -// MessageText: -// -// The forest functional level cannot be raised to the requested value since one or more domains are still in mixed domain mode. All domains in the forest must be in native mode, for you to raise the forest functional level. -// -export const ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN = 8569; - -// -// MessageId: ERROR_DS_NOT_SUPPORTED_SORT_ORDER -// -// MessageText: -// -// The sort order requested is not supported. -// -export const ERROR_DS_NOT_SUPPORTED_SORT_ORDER = 8570; - -// -// MessageId: ERROR_DS_NAME_NOT_UNIQUE -// -// MessageText: -// -// The requested name already exists as a unique identifier. -// -export const ERROR_DS_NAME_NOT_UNIQUE = 8571; - -// -// MessageId: ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 -// -// MessageText: -// -// The machine account was created pre-NT4. The account needs to be recreated. -// -export const ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 = 8572; - -// -// MessageId: ERROR_DS_OUT_OF_VERSION_STORE -// -// MessageText: -// -// The database is out of version store. -// -export const ERROR_DS_OUT_OF_VERSION_STORE = 8573; - -// -// MessageId: ERROR_DS_INCOMPATIBLE_CONTROLS_USED -// -// MessageText: -// -// Unable to continue operation because multiple conflicting controls were used. -// -export const ERROR_DS_INCOMPATIBLE_CONTROLS_USED = 8574; - -// -// MessageId: ERROR_DS_NO_REF_DOMAIN -// -// MessageText: -// -// Unable to find a valid security descriptor reference domain for this partition. -// -export const ERROR_DS_NO_REF_DOMAIN = 8575; - -// -// MessageId: ERROR_DS_RESERVED_LINK_ID -// -// MessageText: -// -// Schema update failed: The link identifier is reserved. -// -export const ERROR_DS_RESERVED_LINK_ID = 8576; - -// -// MessageId: ERROR_DS_LINK_ID_NOT_AVAILABLE -// -// MessageText: -// -// Schema update failed: There are no link identifiers available. -// -export const ERROR_DS_LINK_ID_NOT_AVAILABLE = 8577; - -// -// MessageId: ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER -// -// MessageText: -// -// An account group can not have a universal group as a member. -// -export const ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER = 8578; - -// -// MessageId: ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE -// -// MessageText: -// -// Rename or move operations on naming context heads or read-only objects are not allowed. -// -export const ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE = 8579; - -// -// MessageId: ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC -// -// MessageText: -// -// Move operations on objects in the schema naming context are not allowed. -// -export const ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC = 8580; - -// -// MessageId: ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG -// -// MessageText: -// -// A system flag has been set on the object and does not allow the object to be moved or renamed. -// -export const ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG = 8581; - -// -// MessageId: ERROR_DS_MODIFYDN_WRONG_GRANDPARENT -// -// MessageText: -// -// This object is not allowed to change its grandparent container. Moves are not forbidden on this object, but are restricted to sibling containers. -// -export const ERROR_DS_MODIFYDN_WRONG_GRANDPARENT = 8582; - -// -// MessageId: ERROR_DS_NAME_ERROR_TRUST_REFERRAL -// -// MessageText: -// -// Unable to resolve completely, a referral to another forest is generated. -// -export const ERROR_DS_NAME_ERROR_TRUST_REFERRAL = 8583; - -// -// MessageId: ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER -// -// MessageText: -// -// The requested action is not supported on standard server. -// -export const ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER = 8584; - -// -// MessageId: ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD -// -// MessageText: -// -// Could not access a partition of the Active Directory located on a remote server. Make sure at least one server is running for the partition in question. -// -export const ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD = 8585; - -// -// MessageId: ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 -// -// MessageText: -// -// The directory cannot validate the proposed naming context (or partition) name because it does not hold a replica nor can it contact a replica of the naming context above the proposed naming context. Please ensure that the parent naming context is properly registered in DNS, and at least one replica of this naming context is reachable by the Domain Naming master. -// -export const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 = 8586; - -// -// MessageId: ERROR_DS_THREAD_LIMIT_EXCEEDED -// -// MessageText: -// -// The thread limit for this request was exceeded. -// -export const ERROR_DS_THREAD_LIMIT_EXCEEDED = 8587; - -// -// MessageId: ERROR_DS_NOT_CLOSEST -// -// MessageText: -// -// The Global catalog server is not in the closest site. -// -export const ERROR_DS_NOT_CLOSEST = 8588; - -// -// MessageId: ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF -// -// MessageText: -// -// The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the corresponding server object in the local DS database has no serverReference attribute. -// -export const ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF = 8589; - -// -// MessageId: ERROR_DS_SINGLE_USER_MODE_FAILED -// -// MessageText: -// -// The Directory Service failed to enter single user mode. -// -export const ERROR_DS_SINGLE_USER_MODE_FAILED = 8590; - -// -// MessageId: ERROR_DS_NTDSCRIPT_SYNTAX_ERROR -// -// MessageText: -// -// The Directory Service cannot parse the script because of a syntax error. -// -export const ERROR_DS_NTDSCRIPT_SYNTAX_ERROR = 8591; - -// -// MessageId: ERROR_DS_NTDSCRIPT_PROCESS_ERROR -// -// MessageText: -// -// The Directory Service cannot process the script because of an error. -// -export const ERROR_DS_NTDSCRIPT_PROCESS_ERROR = 8592; - -// -// MessageId: ERROR_DS_DIFFERENT_REPL_EPOCHS -// -// MessageText: -// -// The directory service cannot perform the requested operation because the servers -// involved are of different replication epochs (which is usually related to a -// domain rename that is in progress). -// -export const ERROR_DS_DIFFERENT_REPL_EPOCHS = 8593; - -// -// MessageId: ERROR_DS_DRS_EXTENSIONS_CHANGED -// -// MessageText: -// -// The directory service binding must be renegotiated due to a change in the server -// extensions information. -// -export const ERROR_DS_DRS_EXTENSIONS_CHANGED = 8594; - -// -// MessageId: ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR -// -// MessageText: -// -// Operation not allowed on a disabled cross ref. -// -export const ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR = 8595; - -// -// MessageId: ERROR_DS_NO_MSDS_INTID -// -// MessageText: -// -// Schema update failed: No values for msDS-IntId are available. -// -export const ERROR_DS_NO_MSDS_INTID = 8596; - -// -// MessageId: ERROR_DS_DUP_MSDS_INTID -// -// MessageText: -// -// Schema update failed: Duplicate msDS-INtId. Retry the operation. -// -export const ERROR_DS_DUP_MSDS_INTID = 8597; - -// -// MessageId: ERROR_DS_EXISTS_IN_RDNATTID -// -// MessageText: -// -// Schema deletion failed: attribute is used in rDNAttID. -// -export const ERROR_DS_EXISTS_IN_RDNATTID = 8598; - -// -// MessageId: ERROR_DS_AUTHORIZATION_FAILED -// -// MessageText: -// -// The directory service failed to authorize the request. -// -export const ERROR_DS_AUTHORIZATION_FAILED = 8599; - -// -// MessageId: ERROR_DS_INVALID_SCRIPT -// -// MessageText: -// -// The Directory Service cannot process the script because it is invalid. -// -export const ERROR_DS_INVALID_SCRIPT = 8600; - -// -// MessageId: ERROR_DS_REMOTE_CROSSREF_OP_FAILED -// -// MessageText: -// -// The remote create cross reference operation failed on the Domain Naming Master FSMO. The operation's error is in the extended data. -// -export const ERROR_DS_REMOTE_CROSSREF_OP_FAILED = 8601; - -// -// MessageId: ERROR_DS_CROSS_REF_BUSY -// -// MessageText: -// -// A cross reference is in use locally with the same name. -// -export const ERROR_DS_CROSS_REF_BUSY = 8602; - -// -// MessageId: ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN -// -// MessageText: -// -// The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the server's domain has been deleted from the forest. -// -export const ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN = 8603; - -// -// MessageId: ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC -// -// MessageText: -// -// Writeable NCs prevent this DC from demoting. -// -export const ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC = 8604; - -// -// MessageId: ERROR_DS_DUPLICATE_ID_FOUND -// -// MessageText: -// -// The requested object has a non-unique identifier and cannot be retrieved. -// -export const ERROR_DS_DUPLICATE_ID_FOUND = 8605; - -// -// MessageId: ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT -// -// MessageText: -// -// Insufficient attributes were given to create an object. This object may not exist because it may have been deleted and already garbage collected. -// -export const ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT = 8606; - -// -// MessageId: ERROR_DS_GROUP_CONVERSION_ERROR -// -// MessageText: -// -// The group cannot be converted due to attribute restrictions on the requested group type. -// -export const ERROR_DS_GROUP_CONVERSION_ERROR = 8607; - -// -// MessageId: ERROR_DS_CANT_MOVE_APP_BASIC_GROUP -// -// MessageText: -// -// Cross-domain move of non-empty basic application groups is not allowed. -// -export const ERROR_DS_CANT_MOVE_APP_BASIC_GROUP = 8608; - -// -// MessageId: ERROR_DS_CANT_MOVE_APP_QUERY_GROUP -// -// MessageText: -// -// Cross-domain move of non-empty query based application groups is not allowed. -// -export const ERROR_DS_CANT_MOVE_APP_QUERY_GROUP = 8609; - -// -// MessageId: ERROR_DS_ROLE_NOT_VERIFIED -// -// MessageText: -// -// The FSMO role ownership could not be verified because its directory partition has not replicated successfully with atleast one replication partner. -// -export const ERROR_DS_ROLE_NOT_VERIFIED = 8610; - -// -// MessageId: ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL -// -// MessageText: -// -// The target container for a redirection of a well known object container cannot already be a special container. -// -export const ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL = 8611; - -// -// MessageId: ERROR_DS_DOMAIN_RENAME_IN_PROGRESS -// -// MessageText: -// -// The Directory Service cannot perform the requested operation because a domain rename operation is in progress. -// -export const ERROR_DS_DOMAIN_RENAME_IN_PROGRESS = 8612; - -// -// MessageId: ERROR_DS_EXISTING_AD_CHILD_NC -// -// MessageText: -// -// The Active Directory detected an Active Directory child partition below the -// requested new partition name. The Active Directory's partition hierarchy must -// be created in a top down method. -// -export const ERROR_DS_EXISTING_AD_CHILD_NC = 8613; - -// -// MessageId: ERROR_DS_REPL_LIFETIME_EXCEEDED -// -// MessageText: -// -// The Active Directory cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime. -// -export const ERROR_DS_REPL_LIFETIME_EXCEEDED = 8614; - -// -// MessageId: ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER -// -// MessageText: -// -// The requested operation is not allowed on an object under the system container. -// -export const ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER = 8615; - -// -// MessageId: ERROR_DS_LDAP_SEND_QUEUE_FULL -// -// MessageText: -// -// The LDAP servers network send queue has filled up because the client is not -// processing the results of it's requests fast enough. No more requests will -// be processed until the client catches up. If the client does not catch up -// then it will be disconnected. -// -export const ERROR_DS_LDAP_SEND_QUEUE_FULL = 8616; - -// -// MessageId: ERROR_DS_DRA_OUT_SCHEDULE_WINDOW -// -// MessageText: -// -// The scheduled replication did not take place because the system was too busy to execute the request within the schedule window. The replication queue is overloaded. Consider reducing the number of partners or decreasing the scheduled replication frequency. -// -export const ERROR_DS_DRA_OUT_SCHEDULE_WINDOW = 8617; - -/////////////////////////////////////////////////// -// / -// End of Active Directory Error Codes / -// / -// 8000 to 8999 / -/////////////////////////////////////////////////// - -/////////////////////////////////////////////////// -// // -// DNS Error Codes // -// // -// 9000 to 9999 // -/////////////////////////////////////////////////// - -// ============================= -// Facility DNS Error Messages -// ============================= - -// -// DNS response codes. -// - -export const DNS_ERROR_RESPONSE_CODES_BASE = 9000; - -// DNS_ERROR_RCODE_FORMAT_ERROR 0x00002329 -// -// MessageId: DNS_ERROR_RCODE_FORMAT_ERROR -// -// MessageText: -// -// DNS server unable to interpret format. -// -export const DNS_ERROR_RCODE_FORMAT_ERROR = 9001; - -// DNS_ERROR_RCODE_SERVER_FAILURE 0x0000232a -// -// MessageId: DNS_ERROR_RCODE_SERVER_FAILURE -// -// MessageText: -// -// DNS server failure. -// -export const DNS_ERROR_RCODE_SERVER_FAILURE = 9002; - -// DNS_ERROR_RCODE_NAME_ERROR 0x0000232b -// -// MessageId: DNS_ERROR_RCODE_NAME_ERROR -// -// MessageText: -// -// DNS name does not exist. -// -export const DNS_ERROR_RCODE_NAME_ERROR = 9003; - -// DNS_ERROR_RCODE_NOT_IMPLEMENTED 0x0000232c -// -// MessageId: DNS_ERROR_RCODE_NOT_IMPLEMENTED -// -// MessageText: -// -// DNS request not supported by name server. -// -export const DNS_ERROR_RCODE_NOT_IMPLEMENTED = 9004; - -// DNS_ERROR_RCODE_REFUSED 0x0000232d -// -// MessageId: DNS_ERROR_RCODE_REFUSED -// -// MessageText: -// -// DNS operation refused. -// -export const DNS_ERROR_RCODE_REFUSED = 9005; - -// DNS_ERROR_RCODE_YXDOMAIN 0x0000232e -// -// MessageId: DNS_ERROR_RCODE_YXDOMAIN -// -// MessageText: -// -// DNS name that ought not exist, does exist. -// -export const DNS_ERROR_RCODE_YXDOMAIN = 9006; - -// DNS_ERROR_RCODE_YXRRSET 0x0000232f -// -// MessageId: DNS_ERROR_RCODE_YXRRSET -// -// MessageText: -// -// DNS RR set that ought not exist, does exist. -// -export const DNS_ERROR_RCODE_YXRRSET = 9007; - -// DNS_ERROR_RCODE_NXRRSET 0x00002330 -// -// MessageId: DNS_ERROR_RCODE_NXRRSET -// -// MessageText: -// -// DNS RR set that ought to exist, does not exist. -// -export const DNS_ERROR_RCODE_NXRRSET = 9008; - -// DNS_ERROR_RCODE_NOTAUTH 0x00002331 -// -// MessageId: DNS_ERROR_RCODE_NOTAUTH -// -// MessageText: -// -// DNS server not authoritative for zone. -// -export const DNS_ERROR_RCODE_NOTAUTH = 9009; - -// DNS_ERROR_RCODE_NOTZONE 0x00002332 -// -// MessageId: DNS_ERROR_RCODE_NOTZONE -// -// MessageText: -// -// DNS name in update or prereq is not in zone. -// -export const DNS_ERROR_RCODE_NOTZONE = 9010; - -// DNS_ERROR_RCODE_BADSIG 0x00002338 -// -// MessageId: DNS_ERROR_RCODE_BADSIG -// -// MessageText: -// -// DNS signature failed to verify. -// -export const DNS_ERROR_RCODE_BADSIG = 9016; - -// DNS_ERROR_RCODE_BADKEY 0x00002339 -// -// MessageId: DNS_ERROR_RCODE_BADKEY -// -// MessageText: -// -// DNS bad key. -// -export const DNS_ERROR_RCODE_BADKEY = 9017; - -// DNS_ERROR_RCODE_BADTIME 0x0000233a -// -// MessageId: DNS_ERROR_RCODE_BADTIME -// -// MessageText: -// -// DNS signature validity expired. -// -export const DNS_ERROR_RCODE_BADTIME = 9018; - -// -// Packet format -// - -export const DNS_ERROR_PACKET_FMT_BASE = 9500; - -// DNS_INFO_NO_RECORDS 0x0000251d -// -// MessageId: DNS_INFO_NO_RECORDS -// -// MessageText: -// -// No records found for given DNS query. -// -export const DNS_INFO_NO_RECORDS = 9501; - -// DNS_ERROR_BAD_PACKET 0x0000251e -// -// MessageId: DNS_ERROR_BAD_PACKET -// -// MessageText: -// -// Bad DNS packet. -// -export const DNS_ERROR_BAD_PACKET = 9502; - -// DNS_ERROR_NO_PACKET 0x0000251f -// -// MessageId: DNS_ERROR_NO_PACKET -// -// MessageText: -// -// No DNS packet. -// -export const DNS_ERROR_NO_PACKET = 9503; - -// DNS_ERROR_RCODE 0x00002520 -// -// MessageId: DNS_ERROR_RCODE -// -// MessageText: -// -// DNS error, check rcode. -// -export const DNS_ERROR_RCODE = 9504; - -// DNS_ERROR_UNSECURE_PACKET 0x00002521 -// -// MessageId: DNS_ERROR_UNSECURE_PACKET -// -// MessageText: -// -// Unsecured DNS packet. -// -export const DNS_ERROR_UNSECURE_PACKET = 9505; - -// -// General API errors -// - -// DNS_ERROR_INVALID_TYPE 0x0000254f -// -// MessageId: DNS_ERROR_INVALID_TYPE -// -// MessageText: -// -// Invalid DNS type. -// -export const DNS_ERROR_INVALID_TYPE = 9551; - -// DNS_ERROR_INVALID_IP_ADDRESS 0x00002550 -// -// MessageId: DNS_ERROR_INVALID_IP_ADDRESS -// -// MessageText: -// -// Invalid IP address. -// -export const DNS_ERROR_INVALID_IP_ADDRESS = 9552; - -// DNS_ERROR_INVALID_PROPERTY 0x00002551 -// -// MessageId: DNS_ERROR_INVALID_PROPERTY -// -// MessageText: -// -// Invalid property. -// -export const DNS_ERROR_INVALID_PROPERTY = 9553; - -// DNS_ERROR_TRY_AGAIN_LATER 0x00002552 -// -// MessageId: DNS_ERROR_TRY_AGAIN_LATER -// -// MessageText: -// -// Try DNS operation again later. -// -export const DNS_ERROR_TRY_AGAIN_LATER = 9554; - -// DNS_ERROR_NOT_UNIQUE 0x00002553 -// -// MessageId: DNS_ERROR_NOT_UNIQUE -// -// MessageText: -// -// Record for given name and type is not unique. -// -export const DNS_ERROR_NOT_UNIQUE = 9555; - -// DNS_ERROR_NON_RFC_NAME 0x00002554 -// -// MessageId: DNS_ERROR_NON_RFC_NAME -// -// MessageText: -// -// DNS name does not comply with RFC specifications. -// -export const DNS_ERROR_NON_RFC_NAME = 9556; - -// DNS_STATUS_FQDN 0x00002555 -// -// MessageId: DNS_STATUS_FQDN -// -// MessageText: -// -// DNS name is a fully-qualified DNS name. -// -export const DNS_STATUS_FQDN = 9557; - -// DNS_STATUS_DOTTED_NAME 0x00002556 -// -// MessageId: DNS_STATUS_DOTTED_NAME -// -// MessageText: -// -// DNS name is dotted (multi-label). -// -export const DNS_STATUS_DOTTED_NAME = 9558; - -// DNS_STATUS_SINGLE_PART_NAME 0x00002557 -// -// MessageId: DNS_STATUS_SINGLE_PART_NAME -// -// MessageText: -// -// DNS name is a single-part name. -// -export const DNS_STATUS_SINGLE_PART_NAME = 9559; - -// DNS_ERROR_INVALID_NAME_CHAR 0x00002558 -// -// MessageId: DNS_ERROR_INVALID_NAME_CHAR -// -// MessageText: -// -// DNS name contains an invalid character. -// -export const DNS_ERROR_INVALID_NAME_CHAR = 9560; - -// DNS_ERROR_NUMERIC_NAME 0x00002559 -// -// MessageId: DNS_ERROR_NUMERIC_NAME -// -// MessageText: -// -// DNS name is entirely numeric. -// -export const DNS_ERROR_NUMERIC_NAME = 9561; - -// DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER 0x0000255A -// -// MessageId: DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER -// -// MessageText: -// -// The operation requested is not permitted on a DNS root server. -// -export const DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER = 9562; - -// DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION 0x0000255B -// -// MessageId: DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION -// -// MessageText: -// -// The record could not be created because this part of the DNS namespace has -// been delegated to another server. -// -export const DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION = 9563; - -// DNS_ERROR_CANNOT_FIND_ROOT_HINTS 0x0000255C -// -// MessageId: DNS_ERROR_CANNOT_FIND_ROOT_HINTS -// -// MessageText: -// -// The DNS server could not find a set of root hints. -// -export const DNS_ERROR_CANNOT_FIND_ROOT_HINTS = 9564; - -// DNS_ERROR_INCONSISTENT_ROOT_HINTS 0x0000255D -// -// MessageId: DNS_ERROR_INCONSISTENT_ROOT_HINTS -// -// MessageText: -// -// The DNS server found root hints but they were not consistent across -// all adapters. -// -export const DNS_ERROR_INCONSISTENT_ROOT_HINTS = 9565; - -// -// Zone errors -// - -export const DNS_ERROR_ZONE_BASE = 9600; - -// DNS_ERROR_ZONE_DOES_NOT_EXIST 0x00002581 -// -// MessageId: DNS_ERROR_ZONE_DOES_NOT_EXIST -// -// MessageText: -// -// DNS zone does not exist. -// -export const DNS_ERROR_ZONE_DOES_NOT_EXIST = 9601; - -// DNS_ERROR_NO_ZONE_INFO 0x00002582 -// -// MessageId: DNS_ERROR_NO_ZONE_INFO -// -// MessageText: -// -// DNS zone information not available. -// -export const DNS_ERROR_NO_ZONE_INFO = 9602; - -// DNS_ERROR_INVALID_ZONE_OPERATION 0x00002583 -// -// MessageId: DNS_ERROR_INVALID_ZONE_OPERATION -// -// MessageText: -// -// Invalid operation for DNS zone. -// -export const DNS_ERROR_INVALID_ZONE_OPERATION = 9603; - -// DNS_ERROR_ZONE_CONFIGURATION_ERROR 0x00002584 -// -// MessageId: DNS_ERROR_ZONE_CONFIGURATION_ERROR -// -// MessageText: -// -// Invalid DNS zone configuration. -// -export const DNS_ERROR_ZONE_CONFIGURATION_ERROR = 9604; - -// DNS_ERROR_ZONE_HAS_NO_SOA_RECORD 0x00002585 -// -// MessageId: DNS_ERROR_ZONE_HAS_NO_SOA_RECORD -// -// MessageText: -// -// DNS zone has no start of authority (SOA) record. -// -export const DNS_ERROR_ZONE_HAS_NO_SOA_RECORD = 9605; - -// DNS_ERROR_ZONE_HAS_NO_NS_RECORDS 0x00002586 -// -// MessageId: DNS_ERROR_ZONE_HAS_NO_NS_RECORDS -// -// MessageText: -// -// DNS zone has no Name Server (NS) record. -// -export const DNS_ERROR_ZONE_HAS_NO_NS_RECORDS = 9606; - -// DNS_ERROR_ZONE_LOCKED 0x00002587 -// -// MessageId: DNS_ERROR_ZONE_LOCKED -// -// MessageText: -// -// DNS zone is locked. -// -export const DNS_ERROR_ZONE_LOCKED = 9607; - -// DNS_ERROR_ZONE_CREATION_FAILED 0x00002588 -// -// MessageId: DNS_ERROR_ZONE_CREATION_FAILED -// -// MessageText: -// -// DNS zone creation failed. -// -export const DNS_ERROR_ZONE_CREATION_FAILED = 9608; - -// DNS_ERROR_ZONE_ALREADY_EXISTS 0x00002589 -// -// MessageId: DNS_ERROR_ZONE_ALREADY_EXISTS -// -// MessageText: -// -// DNS zone already exists. -// -export const DNS_ERROR_ZONE_ALREADY_EXISTS = 9609; - -// DNS_ERROR_AUTOZONE_ALREADY_EXISTS 0x0000258a -// -// MessageId: DNS_ERROR_AUTOZONE_ALREADY_EXISTS -// -// MessageText: -// -// DNS automatic zone already exists. -// -export const DNS_ERROR_AUTOZONE_ALREADY_EXISTS = 9610; - -// DNS_ERROR_INVALID_ZONE_TYPE 0x0000258b -// -// MessageId: DNS_ERROR_INVALID_ZONE_TYPE -// -// MessageText: -// -// Invalid DNS zone type. -// -export const DNS_ERROR_INVALID_ZONE_TYPE = 9611; - -// DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP 0x0000258c -// -// MessageId: DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP -// -// MessageText: -// -// Secondary DNS zone requires master IP address. -// -export const DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP = 9612; - -// DNS_ERROR_ZONE_NOT_SECONDARY 0x0000258d -// -// MessageId: DNS_ERROR_ZONE_NOT_SECONDARY -// -// MessageText: -// -// DNS zone not secondary. -// -export const DNS_ERROR_ZONE_NOT_SECONDARY = 9613; - -// DNS_ERROR_NEED_SECONDARY_ADDRESSES 0x0000258e -// -// MessageId: DNS_ERROR_NEED_SECONDARY_ADDRESSES -// -// MessageText: -// -// Need secondary IP address. -// -export const DNS_ERROR_NEED_SECONDARY_ADDRESSES = 9614; - -// DNS_ERROR_WINS_INIT_FAILED 0x0000258f -// -// MessageId: DNS_ERROR_WINS_INIT_FAILED -// -// MessageText: -// -// WINS initialization failed. -// -export const DNS_ERROR_WINS_INIT_FAILED = 9615; - -// DNS_ERROR_NEED_WINS_SERVERS 0x00002590 -// -// MessageId: DNS_ERROR_NEED_WINS_SERVERS -// -// MessageText: -// -// Need WINS servers. -// -export const DNS_ERROR_NEED_WINS_SERVERS = 9616; - -// DNS_ERROR_NBSTAT_INIT_FAILED 0x00002591 -// -// MessageId: DNS_ERROR_NBSTAT_INIT_FAILED -// -// MessageText: -// -// NBTSTAT initialization call failed. -// -export const DNS_ERROR_NBSTAT_INIT_FAILED = 9617; - -// DNS_ERROR_SOA_DELETE_INVALID 0x00002592 -// -// MessageId: DNS_ERROR_SOA_DELETE_INVALID -// -// MessageText: -// -// Invalid delete of start of authority (SOA) -// -export const DNS_ERROR_SOA_DELETE_INVALID = 9618; - -// DNS_ERROR_FORWARDER_ALREADY_EXISTS 0x00002593 -// -// MessageId: DNS_ERROR_FORWARDER_ALREADY_EXISTS -// -// MessageText: -// -// A conditional forwarding zone already exists for that name. -// -export const DNS_ERROR_FORWARDER_ALREADY_EXISTS = 9619; - -// DNS_ERROR_ZONE_REQUIRES_MASTER_IP 0x00002594 -// -// MessageId: DNS_ERROR_ZONE_REQUIRES_MASTER_IP -// -// MessageText: -// -// This zone must be configured with one or more master DNS server IP addresses. -// -export const DNS_ERROR_ZONE_REQUIRES_MASTER_IP = 9620; - -// DNS_ERROR_ZONE_IS_SHUTDOWN 0x00002595 -// -// MessageId: DNS_ERROR_ZONE_IS_SHUTDOWN -// -// MessageText: -// -// The operation cannot be performed because this zone is shutdown. -// -export const DNS_ERROR_ZONE_IS_SHUTDOWN = 9621; - -// -// Datafile errors -// - -// DNS 0x000025b3 -// -// MessageId: DNS_ERROR_PRIMARY_REQUIRES_DATAFILE -// -// MessageText: -// -// Primary DNS zone requires datafile. -// -export const DNS_ERROR_PRIMARY_REQUIRES_DATAFILE = 9651; - -// DNS 0x000025b4 -// -// MessageId: DNS_ERROR_INVALID_DATAFILE_NAME -// -// MessageText: -// -// Invalid datafile name for DNS zone. -// -export const DNS_ERROR_INVALID_DATAFILE_NAME = 9652; - -// DNS 0x000025b5 -// -// MessageId: DNS_ERROR_DATAFILE_OPEN_FAILURE -// -// MessageText: -// -// Failed to open datafile for DNS zone. -// -export const DNS_ERROR_DATAFILE_OPEN_FAILURE = 9653; - -// DNS 0x000025b6 -// -// MessageId: DNS_ERROR_FILE_WRITEBACK_FAILED -// -// MessageText: -// -// Failed to write datafile for DNS zone. -// -export const DNS_ERROR_FILE_WRITEBACK_FAILED = 9654; - -// DNS 0x000025b7 -// -// MessageId: DNS_ERROR_DATAFILE_PARSING -// -// MessageText: -// -// Failure while reading datafile for DNS zone. -// -export const DNS_ERROR_DATAFILE_PARSING = 9655; - -// -// Database errors -// - -export const DNS_ERROR_DATABASE_BASE = 9700; - -// DNS_ERROR_RECORD_DOES_NOT_EXIST 0x000025e5 -// -// MessageId: DNS_ERROR_RECORD_DOES_NOT_EXIST -// -// MessageText: -// -// DNS record does not exist. -// -export const DNS_ERROR_RECORD_DOES_NOT_EXIST = 9701; - -// DNS_ERROR_RECORD_FORMAT 0x000025e6 -// -// MessageId: DNS_ERROR_RECORD_FORMAT -// -// MessageText: -// -// DNS record format error. -// -export const DNS_ERROR_RECORD_FORMAT = 9702; - -// DNS_ERROR_NODE_CREATION_FAILED 0x000025e7 -// -// MessageId: DNS_ERROR_NODE_CREATION_FAILED -// -// MessageText: -// -// Node creation failure in DNS. -// -export const DNS_ERROR_NODE_CREATION_FAILED = 9703; - -// DNS_ERROR_UNKNOWN_RECORD_TYPE 0x000025e8 -// -// MessageId: DNS_ERROR_UNKNOWN_RECORD_TYPE -// -// MessageText: -// -// Unknown DNS record type. -// -export const DNS_ERROR_UNKNOWN_RECORD_TYPE = 9704; - -// DNS_ERROR_RECORD_TIMED_OUT 0x000025e9 -// -// MessageId: DNS_ERROR_RECORD_TIMED_OUT -// -// MessageText: -// -// DNS record timed out. -// -export const DNS_ERROR_RECORD_TIMED_OUT = 9705; - -// DNS_ERROR_NAME_NOT_IN_ZONE 0x000025ea -// -// MessageId: DNS_ERROR_NAME_NOT_IN_ZONE -// -// MessageText: -// -// Name not in DNS zone. -// -export const DNS_ERROR_NAME_NOT_IN_ZONE = 9706; - -// DNS_ERROR_CNAME_LOOP 0x000025eb -// -// MessageId: DNS_ERROR_CNAME_LOOP -// -// MessageText: -// -// CNAME loop detected. -// -export const DNS_ERROR_CNAME_LOOP = 9707; - -// DNS_ERROR_NODE_IS_CNAME 0x000025ec -// -// MessageId: DNS_ERROR_NODE_IS_CNAME -// -// MessageText: -// -// Node is a CNAME DNS record. -// -export const DNS_ERROR_NODE_IS_CNAME = 9708; - -// DNS_ERROR_CNAME_COLLISION 0x000025ed -// -// MessageId: DNS_ERROR_CNAME_COLLISION -// -// MessageText: -// -// A CNAME record already exists for given name. -// -export const DNS_ERROR_CNAME_COLLISION = 9709; - -// DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT 0x000025ee -// -// MessageId: DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT -// -// MessageText: -// -// Record only at DNS zone root. -// -export const DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT = 9710; - -// DNS_ERROR_RECORD_ALREADY_EXISTS 0x000025ef -// -// MessageId: DNS_ERROR_RECORD_ALREADY_EXISTS -// -// MessageText: -// -// DNS record already exists. -// -export const DNS_ERROR_RECORD_ALREADY_EXISTS = 9711; - -// DNS_ERROR_SECONDARY_DATA 0x000025f0 -// -// MessageId: DNS_ERROR_SECONDARY_DATA -// -// MessageText: -// -// Secondary DNS zone data error. -// -export const DNS_ERROR_SECONDARY_DATA = 9712; - -// DNS_ERROR_NO_CREATE_CACHE_DATA 0x000025f1 -// -// MessageId: DNS_ERROR_NO_CREATE_CACHE_DATA -// -// MessageText: -// -// Could not create DNS cache data. -// -export const DNS_ERROR_NO_CREATE_CACHE_DATA = 9713; - -// DNS_ERROR_NAME_DOES_NOT_EXIST 0x000025f2 -// -// MessageId: DNS_ERROR_NAME_DOES_NOT_EXIST -// -// MessageText: -// -// DNS name does not exist. -// -export const DNS_ERROR_NAME_DOES_NOT_EXIST = 9714; - -// DNS_WARNING_PTR_CREATE_FAILED 0x000025f3 -// -// MessageId: DNS_WARNING_PTR_CREATE_FAILED -// -// MessageText: -// -// Could not create pointer (PTR) record. -// -export const DNS_WARNING_PTR_CREATE_FAILED = 9715; - -// DNS_WARNING_DOMAIN_UNDELETED 0x000025f4 -// -// MessageId: DNS_WARNING_DOMAIN_UNDELETED -// -// MessageText: -// -// DNS domain was undeleted. -// -export const DNS_WARNING_DOMAIN_UNDELETED = 9716; - -// DNS_ERROR_DS_UNAVAILABLE 0x000025f5 -// -// MessageId: DNS_ERROR_DS_UNAVAILABLE -// -// MessageText: -// -// The directory service is unavailable. -// -export const DNS_ERROR_DS_UNAVAILABLE = 9717; - -// DNS_ERROR_DS_ZONE_ALREADY_EXISTS 0x000025f6 -// -// MessageId: DNS_ERROR_DS_ZONE_ALREADY_EXISTS -// -// MessageText: -// -// DNS zone already exists in the directory service. -// -export const DNS_ERROR_DS_ZONE_ALREADY_EXISTS = 9718; - -// DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE 0x000025f7 -// -// MessageId: DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE -// -// MessageText: -// -// DNS server not creating or reading the boot file for the directory service integrated DNS zone. -// -export const DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE = 9719; - -// -// Operation errors -// - -export const DNS_ERROR_OPERATION_BASE = 9750; - -// DNS_INFO_AXFR_COMPLETE 0x00002617 -// -// MessageId: DNS_INFO_AXFR_COMPLETE -// -// MessageText: -// -// DNS AXFR (zone transfer) complete. -// -export const DNS_INFO_AXFR_COMPLETE = 9751; - -// DNS_ERROR_AXFR 0x00002618 -// -// MessageId: DNS_ERROR_AXFR -// -// MessageText: -// -// DNS zone transfer failed. -// -export const DNS_ERROR_AXFR = 9752; - -// DNS_INFO_ADDED_LOCAL_WINS 0x00002619 -// -// MessageId: DNS_INFO_ADDED_LOCAL_WINS -// -// MessageText: -// -// Added local WINS server. -// -export const DNS_INFO_ADDED_LOCAL_WINS = 9753; - -// -// Secure update -// - -export const DNS_ERROR_SECURE_BASE = 9800; - -// DNS_STATUS_CONTINUE_NEEDED 0x00002649 -// -// MessageId: DNS_STATUS_CONTINUE_NEEDED -// -// MessageText: -// -// Secure update call needs to continue update request. -// -export const DNS_STATUS_CONTINUE_NEEDED = 9801; - -// -// Setup errors -// - -export const DNS_ERROR_SETUP_BASE = 9850; - -// DNS_ERROR_NO_TCPIP 0x0000267b -// -// MessageId: DNS_ERROR_NO_TCPIP -// -// MessageText: -// -// TCP/IP network protocol not installed. -// -export const DNS_ERROR_NO_TCPIP = 9851; - -// DNS_ERROR_NO_DNS_SERVERS 0x0000267c -// -// MessageId: DNS_ERROR_NO_DNS_SERVERS -// -// MessageText: -// -// No DNS servers configured for local system. -// -export const DNS_ERROR_NO_DNS_SERVERS = 9852; - -// -// Directory partition (DP) errors -// - -export const DNS_ERROR_DP_BASE = 9900; - -// DNS_ERROR_DP_DOES_NOT_EXIST 0x000026ad -// -// MessageId: DNS_ERROR_DP_DOES_NOT_EXIST -// -// MessageText: -// -// The specified directory partition does not exist. -// -export const DNS_ERROR_DP_DOES_NOT_EXIST = 9901; - -// DNS_ERROR_DP_ALREADY_EXISTS 0x000026ae -// -// MessageId: DNS_ERROR_DP_ALREADY_EXISTS -// -// MessageText: -// -// The specified directory partition already exists. -// -export const DNS_ERROR_DP_ALREADY_EXISTS = 9902; - -// DNS_ERROR_DP_NOT_ENLISTED 0x000026af -// -// MessageId: DNS_ERROR_DP_NOT_ENLISTED -// -// MessageText: -// -// This DNS server is not enlisted in the specified directory partition. -// -export const DNS_ERROR_DP_NOT_ENLISTED = 9903; - -// DNS_ERROR_DP_ALREADY_ENLISTED 0x000026b0 -// -// MessageId: DNS_ERROR_DP_ALREADY_ENLISTED -// -// MessageText: -// -// This DNS server is already enlisted in the specified directory partition. -// -export const DNS_ERROR_DP_ALREADY_ENLISTED = 9904; - -// DNS_ERROR_DP_NOT_AVAILABLE 0x000026b1 -// -// MessageId: DNS_ERROR_DP_NOT_AVAILABLE -// -// MessageText: -// -// The directory partition is not available at this time. Please wait -// a few minutes and try again. -// -export const DNS_ERROR_DP_NOT_AVAILABLE = 9905; - -// DNS_ERROR_DP_FSMO_ERROR 0x000026b2 -// -// MessageId: DNS_ERROR_DP_FSMO_ERROR -// -// MessageText: -// -// The application directory partition operation failed. The domain controller -// holding the domain naming master role is down or unable to service the -// request or is not running Windows Server 2003. -// -export const DNS_ERROR_DP_FSMO_ERROR = 9906; - -/////////////////////////////////////////////////// -// // -// End of DNS Error Codes // -// // -// 9000 to 9999 // -/////////////////////////////////////////////////// - -/////////////////////////////////////////////////// -// // -// WinSock Error Codes // -// // -// 10000 to 11999 // -/////////////////////////////////////////////////// - -// -// WinSock error codes are also defined in WinSock.h -// and WinSock2.h, hence the IFDEF -// -export const WSABASEERR = 10000; -// -// MessageId: WSAEINTR -// -// MessageText: -// -// A blocking operation was interrupted by a call to WSACancelBlockingCall. -// -export const WSAEINTR = 10004; - -// -// MessageId: WSAEBADF -// -// MessageText: -// -// The file handle supplied is not valid. -// -export const WSAEBADF = 10009; - -// -// MessageId: WSAEACCES -// -// MessageText: -// -// An attempt was made to access a socket in a way forbidden by its access permissions. -// -export const WSAEACCES = 10013; - -// -// MessageId: WSAEFAULT -// -// MessageText: -// -// The system detected an invalid pointer address in attempting to use a pointer argument in a call. -// -export const WSAEFAULT = 10014; - -// -// MessageId: WSAEINVAL -// -// MessageText: -// -// An invalid argument was supplied. -// -export const WSAEINVAL = 10022; - -// -// MessageId: WSAEMFILE -// -// MessageText: -// -// Too many open sockets. -// -export const WSAEMFILE = 10024; - -// -// MessageId: WSAEWOULDBLOCK -// -// MessageText: -// -// A non-blocking socket operation could not be completed immediately. -// -export const WSAEWOULDBLOCK = 10035; - -// -// MessageId: WSAEINPROGRESS -// -// MessageText: -// -// A blocking operation is currently executing. -// -export const WSAEINPROGRESS = 10036; - -// -// MessageId: WSAEALREADY -// -// MessageText: -// -// An operation was attempted on a non-blocking socket that already had an operation in progress. -// -export const WSAEALREADY = 10037; - -// -// MessageId: WSAENOTSOCK -// -// MessageText: -// -// An operation was attempted on something that is not a socket. -// -export const WSAENOTSOCK = 10038; - -// -// MessageId: WSAEDESTADDRREQ -// -// MessageText: -// -// A required address was omitted from an operation on a socket. -// -export const WSAEDESTADDRREQ = 10039; - -// -// MessageId: WSAEMSGSIZE -// -// MessageText: -// -// A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself. -// -export const WSAEMSGSIZE = 10040; - -// -// MessageId: WSAEPROTOTYPE -// -// MessageText: -// -// A protocol was specified in the socket function call that does not support the semantics of the socket type requested. -// -export const WSAEPROTOTYPE = 10041; - -// -// MessageId: WSAENOPROTOOPT -// -// MessageText: -// -// An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call. -// -export const WSAENOPROTOOPT = 10042; - -// -// MessageId: WSAEPROTONOSUPPORT -// -// MessageText: -// -// The requested protocol has not been configured into the system, or no implementation for it exists. -// -export const WSAEPROTONOSUPPORT = 10043; - -// -// MessageId: WSAESOCKTNOSUPPORT -// -// MessageText: -// -// The support for the specified socket type does not exist in this address family. -// -export const WSAESOCKTNOSUPPORT = 10044; - -// -// MessageId: WSAEOPNOTSUPP -// -// MessageText: -// -// The attempted operation is not supported for the type of object referenced. -// -export const WSAEOPNOTSUPP = 10045; - -// -// MessageId: WSAEPFNOSUPPORT -// -// MessageText: -// -// The protocol family has not been configured into the system or no implementation for it exists. -// -export const WSAEPFNOSUPPORT = 10046; - -// -// MessageId: WSAEAFNOSUPPORT -// -// MessageText: -// -// An address incompatible with the requested protocol was used. -// -export const WSAEAFNOSUPPORT = 10047; - -// -// MessageId: WSAEADDRINUSE -// -// MessageText: -// -// Only one usage of each socket address (protocol/network address/port) is normally permitted. -// -export const WSAEADDRINUSE = 10048; - -// -// MessageId: WSAEADDRNOTAVAIL -// -// MessageText: -// -// The requested address is not valid in its context. -// -export const WSAEADDRNOTAVAIL = 10049; - -// -// MessageId: WSAENETDOWN -// -// MessageText: -// -// A socket operation encountered a dead network. -// -export const WSAENETDOWN = 10050; - -// -// MessageId: WSAENETUNREACH -// -// MessageText: -// -// A socket operation was attempted to an unreachable network. -// -export const WSAENETUNREACH = 10051; - -// -// MessageId: WSAENETRESET -// -// MessageText: -// -// The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress. -// -export const WSAENETRESET = 10052; - -// -// MessageId: WSAECONNABORTED -// -// MessageText: -// -// An established connection was aborted by the software in your host machine. -// -export const WSAECONNABORTED = 10053; - -// -// MessageId: WSAECONNRESET -// -// MessageText: -// -// An existing connection was forcibly closed by the remote host. -// -export const WSAECONNRESET = 10054; - -// -// MessageId: WSAENOBUFS -// -// MessageText: -// -// An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. -// -export const WSAENOBUFS = 10055; - -// -// MessageId: WSAEISCONN -// -// MessageText: -// -// A connect request was made on an already connected socket. -// -export const WSAEISCONN = 10056; - -// -// MessageId: WSAENOTCONN -// -// MessageText: -// -// A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied. -// -export const WSAENOTCONN = 10057; - -// -// MessageId: WSAESHUTDOWN -// -// MessageText: -// -// A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call. -// -export const WSAESHUTDOWN = 10058; - -// -// MessageId: WSAETOOMANYREFS -// -// MessageText: -// -// Too many references to some kernel object. -// -export const WSAETOOMANYREFS = 10059; - -// -// MessageId: WSAETIMEDOUT -// -// MessageText: -// -// A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. -// -export const WSAETIMEDOUT = 10060; - -// -// MessageId: WSAECONNREFUSED -// -// MessageText: -// -// No connection could be made because the target machine actively refused it. -// -export const WSAECONNREFUSED = 10061; - -// -// MessageId: WSAELOOP -// -// MessageText: -// -// Cannot translate name. -// -export const WSAELOOP = 10062; - -// -// MessageId: WSAENAMETOOLONG -// -// MessageText: -// -// Name component or name was too long. -// -export const WSAENAMETOOLONG = 10063; - -// -// MessageId: WSAEHOSTDOWN -// -// MessageText: -// -// A socket operation failed because the destination host was down. -// -export const WSAEHOSTDOWN = 10064; - -// -// MessageId: WSAEHOSTUNREACH -// -// MessageText: -// -// A socket operation was attempted to an unreachable host. -// -export const WSAEHOSTUNREACH = 10065; - -// -// MessageId: WSAENOTEMPTY -// -// MessageText: -// -// Cannot remove a directory that is not empty. -// -export const WSAENOTEMPTY = 10066; - -// -// MessageId: WSAEPROCLIM -// -// MessageText: -// -// A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously. -// -export const WSAEPROCLIM = 10067; - -// -// MessageId: WSAEUSERS -// -// MessageText: -// -// Ran out of quota. -// -export const WSAEUSERS = 10068; - -// -// MessageId: WSAEDQUOT -// -// MessageText: -// -// Ran out of disk quota. -// -export const WSAEDQUOT = 10069; - -// -// MessageId: WSAESTALE -// -// MessageText: -// -// File handle reference is no longer available. -// -export const WSAESTALE = 10070; - -// -// MessageId: WSAEREMOTE -// -// MessageText: -// -// Item is not available locally. -// -export const WSAEREMOTE = 10071; - -// -// MessageId: WSASYSNOTREADY -// -// MessageText: -// -// WSAStartup cannot function at this time because the underlying system it uses to provide network services is currently unavailable. -// -export const WSASYSNOTREADY = 10091; - -// -// MessageId: WSAVERNOTSUPPORTED -// -// MessageText: -// -// The Windows Sockets version requested is not supported. -// -export const WSAVERNOTSUPPORTED = 10092; - -// -// MessageId: WSANOTINITIALISED -// -// MessageText: -// -// Either the application has not called WSAStartup, or WSAStartup failed. -// -export const WSANOTINITIALISED = 10093; - -// -// MessageId: WSAEDISCON -// -// MessageText: -// -// Returned by WSARecv or WSARecvFrom to indicate the remote party has initiated a graceful shutdown sequence. -// -export const WSAEDISCON = 10101; - -// -// MessageId: WSAENOMORE -// -// MessageText: -// -// No more results can be returned by WSALookupServiceNext. -// -export const WSAENOMORE = 10102; - -// -// MessageId: WSAECANCELLED -// -// MessageText: -// -// A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled. -// -export const WSAECANCELLED = 10103; - -// -// MessageId: WSAEINVALIDPROCTABLE -// -// MessageText: -// -// The procedure call table is invalid. -// -export const WSAEINVALIDPROCTABLE = 10104; - -// -// MessageId: WSAEINVALIDPROVIDER -// -// MessageText: -// -// The requested service provider is invalid. -// -export const WSAEINVALIDPROVIDER = 10105; - -// -// MessageId: WSAEPROVIDERFAILEDINIT -// -// MessageText: -// -// The requested service provider could not be loaded or initialized. -// -export const WSAEPROVIDERFAILEDINIT = 10106; - -// -// MessageId: WSASYSCALLFAILURE -// -// MessageText: -// -// A system call that should never fail has failed. -// -export const WSASYSCALLFAILURE = 10107; - -// -// MessageId: WSASERVICE_NOT_FOUND -// -// MessageText: -// -// No such service is known. The service cannot be found in the specified name space. -// -export const WSASERVICE_NOT_FOUND = 10108; - -// -// MessageId: WSATYPE_NOT_FOUND -// -// MessageText: -// -// The specified class was not found. -// -export const WSATYPE_NOT_FOUND = 10109; - -// -// MessageId: WSA_E_NO_MORE -// -// MessageText: -// -// No more results can be returned by WSALookupServiceNext. -// -export const WSA_E_NO_MORE = 10110; - -// -// MessageId: WSA_E_CANCELLED -// -// MessageText: -// -// A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled. -// -export const WSA_E_CANCELLED = 10111; - -// -// MessageId: WSAEREFUSED -// -// MessageText: -// -// A database query failed because it was actively refused. -// -export const WSAEREFUSED = 10112; - -// -// MessageId: WSAHOST_NOT_FOUND -// -// MessageText: -// -// No such host is known. -// -export const WSAHOST_NOT_FOUND = 11001; - -// -// MessageId: WSATRY_AGAIN -// -// MessageText: -// -// This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server. -// -export const WSATRY_AGAIN = 11002; - -// -// MessageId: WSANO_RECOVERY -// -// MessageText: -// -// A non-recoverable error occurred during a database lookup. -// -export const WSANO_RECOVERY = 11003; - -// -// MessageId: WSANO_DATA -// -// MessageText: -// -// The requested name is valid, but no data of the requested type was found. -// -export const WSANO_DATA = 11004; - -// -// MessageId: WSA_QOS_RECEIVERS -// -// MessageText: -// -// At least one reserve has arrived. -// -export const WSA_QOS_RECEIVERS = 11005; - -// -// MessageId: WSA_QOS_SENDERS -// -// MessageText: -// -// At least one path has arrived. -// -export const WSA_QOS_SENDERS = 11006; - -// -// MessageId: WSA_QOS_NO_SENDERS -// -// MessageText: -// -// There are no senders. -// -export const WSA_QOS_NO_SENDERS = 11007; - -// -// MessageId: WSA_QOS_NO_RECEIVERS -// -// MessageText: -// -// There are no receivers. -// -export const WSA_QOS_NO_RECEIVERS = 11008; - -// -// MessageId: WSA_QOS_REQUEST_CONFIRMED -// -// MessageText: -// -// Reserve has been confirmed. -// -export const WSA_QOS_REQUEST_CONFIRMED = 11009; - -// -// MessageId: WSA_QOS_ADMISSION_FAILURE -// -// MessageText: -// -// Error due to lack of resources. -// -export const WSA_QOS_ADMISSION_FAILURE = 11010; - -// -// MessageId: WSA_QOS_POLICY_FAILURE -// -// MessageText: -// -// Rejected for administrative reasons - bad credentials. -// -export const WSA_QOS_POLICY_FAILURE = 11011; - -// -// MessageId: WSA_QOS_BAD_STYLE -// -// MessageText: -// -// Unknown or conflicting style. -// -export const WSA_QOS_BAD_STYLE = 11012; - -// -// MessageId: WSA_QOS_BAD_OBJECT -// -// MessageText: -// -// Problem with some part of the filterspec or providerspecific buffer in general. -// -export const WSA_QOS_BAD_OBJECT = 11013; - -// -// MessageId: WSA_QOS_TRAFFIC_CTRL_ERROR -// -// MessageText: -// -// Problem with some part of the flowspec. -// -export const WSA_QOS_TRAFFIC_CTRL_ERROR = 11014; - -// -// MessageId: WSA_QOS_GENERIC_ERROR -// -// MessageText: -// -// General QOS error. -// -export const WSA_QOS_GENERIC_ERROR = 11015; - -// -// MessageId: WSA_QOS_ESERVICETYPE -// -// MessageText: -// -// An invalid or unrecognized service type was found in the flowspec. -// -export const WSA_QOS_ESERVICETYPE = 11016; - -// -// MessageId: WSA_QOS_EFLOWSPEC -// -// MessageText: -// -// An invalid or inconsistent flowspec was found in the QOS structure. -// -export const WSA_QOS_EFLOWSPEC = 11017; - -// -// MessageId: WSA_QOS_EPROVSPECBUF -// -// MessageText: -// -// Invalid QOS provider-specific buffer. -// -export const WSA_QOS_EPROVSPECBUF = 11018; - -// -// MessageId: WSA_QOS_EFILTERSTYLE -// -// MessageText: -// -// An invalid QOS filter style was used. -// -export const WSA_QOS_EFILTERSTYLE = 11019; - -// -// MessageId: WSA_QOS_EFILTERTYPE -// -// MessageText: -// -// An invalid QOS filter type was used. -// -export const WSA_QOS_EFILTERTYPE = 11020; - -// -// MessageId: WSA_QOS_EFILTERCOUNT -// -// MessageText: -// -// An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR. -// -export const WSA_QOS_EFILTERCOUNT = 11021; - -// -// MessageId: WSA_QOS_EOBJLENGTH -// -// MessageText: -// -// An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer. -// -export const WSA_QOS_EOBJLENGTH = 11022; - -// -// MessageId: WSA_QOS_EFLOWCOUNT -// -// MessageText: -// -// An incorrect number of flow descriptors was specified in the QOS structure. -// -export const WSA_QOS_EFLOWCOUNT = 11023; - -// -// MessageId: WSA_QOS_EUNKOWNPSOBJ -// -// MessageText: -// -// An unrecognized object was found in the QOS provider-specific buffer. -// -export const WSA_QOS_EUNKOWNPSOBJ = 11024; - -// -// MessageId: WSA_QOS_EPOLICYOBJ -// -// MessageText: -// -// An invalid policy object was found in the QOS provider-specific buffer. -// -export const WSA_QOS_EPOLICYOBJ = 11025; - -// -// MessageId: WSA_QOS_EFLOWDESC -// -// MessageText: -// -// An invalid QOS flow descriptor was found in the flow descriptor list. -// -export const WSA_QOS_EFLOWDESC = 11026; - -// -// MessageId: WSA_QOS_EPSFLOWSPEC -// -// MessageText: -// -// An invalid or inconsistent flowspec was found in the QOS provider specific buffer. -// -export const WSA_QOS_EPSFLOWSPEC = 11027; - -// -// MessageId: WSA_QOS_EPSFILTERSPEC -// -// MessageText: -// -// An invalid FILTERSPEC was found in the QOS provider-specific buffer. -// -export const WSA_QOS_EPSFILTERSPEC = 11028; - -// -// MessageId: WSA_QOS_ESDMODEOBJ -// -// MessageText: -// -// An invalid shape discard mode object was found in the QOS provider specific buffer. -// -export const WSA_QOS_ESDMODEOBJ = 11029; - -// -// MessageId: WSA_QOS_ESHAPERATEOBJ -// -// MessageText: -// -// An invalid shaping rate object was found in the QOS provider-specific buffer. -// -export const WSA_QOS_ESHAPERATEOBJ = 11030; - -// -// MessageId: WSA_QOS_RESERVED_PETYPE -// -// MessageText: -// -// A reserved policy element was found in the QOS provider-specific buffer. -// -export const WSA_QOS_RESERVED_PETYPE = 11031; - -/////////////////////////////////////////////////// -// // -// End of WinSock Error Codes // -// // -// 10000 to 11999 // -/////////////////////////////////////////////////// - -/////////////////////////////////////////////////// -// // -// Side By Side Error Codes // -// // -// 14000 to 14999 // -/////////////////////////////////////////////////// - -// -// MessageId: ERROR_SXS_SECTION_NOT_FOUND -// -// MessageText: -// -// The requested section was not present in the activation context. -// -export const ERROR_SXS_SECTION_NOT_FOUND = 14000; - -// -// MessageId: ERROR_SXS_CANT_GEN_ACTCTX -// -// MessageText: -// -// This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. -// -export const ERROR_SXS_CANT_GEN_ACTCTX = 14001; - -// -// MessageId: ERROR_SXS_INVALID_ACTCTXDATA_FORMAT -// -// MessageText: -// -// The application binding data format is invalid. -// -export const ERROR_SXS_INVALID_ACTCTXDATA_FORMAT = 14002; - -// -// MessageId: ERROR_SXS_ASSEMBLY_NOT_FOUND -// -// MessageText: -// -// The referenced assembly is not installed on your system. -// -export const ERROR_SXS_ASSEMBLY_NOT_FOUND = 14003; - -// -// MessageId: ERROR_SXS_MANIFEST_FORMAT_ERROR -// -// MessageText: -// -// The manifest file does not begin with the required tag and format information. -// -export const ERROR_SXS_MANIFEST_FORMAT_ERROR = 14004; - -// -// MessageId: ERROR_SXS_MANIFEST_PARSE_ERROR -// -// MessageText: -// -// The manifest file contains one or more syntax errors. -// -export const ERROR_SXS_MANIFEST_PARSE_ERROR = 14005; - -// -// MessageId: ERROR_SXS_ACTIVATION_CONTEXT_DISABLED -// -// MessageText: -// -// The application attempted to activate a disabled activation context. -// -export const ERROR_SXS_ACTIVATION_CONTEXT_DISABLED = 14006; - -// -// MessageId: ERROR_SXS_KEY_NOT_FOUND -// -// MessageText: -// -// The requested lookup key was not found in any active activation context. -// -export const ERROR_SXS_KEY_NOT_FOUND = 14007; - -// -// MessageId: ERROR_SXS_VERSION_CONFLICT -// -// MessageText: -// -// A component version required by the application conflicts with another component version already active. -// -export const ERROR_SXS_VERSION_CONFLICT = 14008; - -// -// MessageId: ERROR_SXS_WRONG_SECTION_TYPE -// -// MessageText: -// -// The type requested activation context section does not match the query API used. -// -export const ERROR_SXS_WRONG_SECTION_TYPE = 14009; - -// -// MessageId: ERROR_SXS_THREAD_QUERIES_DISABLED -// -// MessageText: -// -// Lack of system resources has required isolated activation to be disabled for the current thread of execution. -// -export const ERROR_SXS_THREAD_QUERIES_DISABLED = 14010; - -// -// MessageId: ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET -// -// MessageText: -// -// An attempt to set the process default activation context failed because the process default activation context was already set. -// -export const ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET = 14011; - -// -// MessageId: ERROR_SXS_UNKNOWN_ENCODING_GROUP -// -// MessageText: -// -// The encoding group identifier specified is not recognized. -// -export const ERROR_SXS_UNKNOWN_ENCODING_GROUP = 14012; - -// -// MessageId: ERROR_SXS_UNKNOWN_ENCODING -// -// MessageText: -// -// The encoding requested is not recognized. -// -export const ERROR_SXS_UNKNOWN_ENCODING = 14013; - -// -// MessageId: ERROR_SXS_INVALID_XML_NAMESPACE_URI -// -// MessageText: -// -// The manifest contains a reference to an invalid URI. -// -export const ERROR_SXS_INVALID_XML_NAMESPACE_URI = 14014; - -// -// MessageId: ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED -// -// MessageText: -// -// The application manifest contains a reference to a dependent assembly which is not installed -// -export const ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14015; - -// -// MessageId: ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED -// -// MessageText: -// -// The manifest for an assembly used by the application has a reference to a dependent assembly which is not installed -// -export const ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14016; - -// -// MessageId: ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE -// -// MessageText: -// -// The manifest contains an attribute for the assembly identity which is not valid. -// -export const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE = 14017; - -// -// MessageId: ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE -// -// MessageText: -// -// The manifest is missing the required default namespace specification on the assembly element. -// -export const ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE = 14018; - -// -// MessageId: ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE -// -// MessageText: -// -// The manifest has a default namespace specified on the assembly element but its value is not "urn:schemas-microsoft-com:asm.v1". -// -export const ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE = 14019; - -// -// MessageId: ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT -// -// MessageText: -// -// The private manifest probed has crossed reparse-point-associated path -// -export const ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT = 14020; - -// -// MessageId: ERROR_SXS_DUPLICATE_DLL_NAME -// -// MessageText: -// -// Two or more components referenced directly or indirectly by the application manifest have files by the same name. -// -export const ERROR_SXS_DUPLICATE_DLL_NAME = 14021; - -// -// MessageId: ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME -// -// MessageText: -// -// Two or more components referenced directly or indirectly by the application manifest have window classes with the same name. -// -export const ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME = 14022; - -// -// MessageId: ERROR_SXS_DUPLICATE_CLSID -// -// MessageText: -// -// Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs. -// -export const ERROR_SXS_DUPLICATE_CLSID = 14023; - -// -// MessageId: ERROR_SXS_DUPLICATE_IID -// -// MessageText: -// -// Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs. -// -export const ERROR_SXS_DUPLICATE_IID = 14024; - -// -// MessageId: ERROR_SXS_DUPLICATE_TLBID -// -// MessageText: -// -// Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs. -// -export const ERROR_SXS_DUPLICATE_TLBID = 14025; - -// -// MessageId: ERROR_SXS_DUPLICATE_PROGID -// -// MessageText: -// -// Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs. -// -export const ERROR_SXS_DUPLICATE_PROGID = 14026; - -// -// MessageId: ERROR_SXS_DUPLICATE_ASSEMBLY_NAME -// -// MessageText: -// -// Two or more components referenced directly or indirectly by the application manifest are different versions of the same component which is not permitted. -// -export const ERROR_SXS_DUPLICATE_ASSEMBLY_NAME = 14027; - -// -// MessageId: ERROR_SXS_FILE_HASH_MISMATCH -// -// MessageText: -// -// A component's file does not match the verification information present in the -// component manifest. -// -export const ERROR_SXS_FILE_HASH_MISMATCH = 14028; - -// -// MessageId: ERROR_SXS_POLICY_PARSE_ERROR -// -// MessageText: -// -// The policy manifest contains one or more syntax errors. -// -export const ERROR_SXS_POLICY_PARSE_ERROR = 14029; - -// -// MessageId: ERROR_SXS_XML_E_MISSINGQUOTE -// -// MessageText: -// -// Manifest Parse Error : A string literal was expected, but no opening quote character was found. -// -export const ERROR_SXS_XML_E_MISSINGQUOTE = 14030; - -// -// MessageId: ERROR_SXS_XML_E_COMMENTSYNTAX -// -// MessageText: -// -// Manifest Parse Error : Incorrect syntax was used in a comment. -// -export const ERROR_SXS_XML_E_COMMENTSYNTAX = 14031; - -// -// MessageId: ERROR_SXS_XML_E_BADSTARTNAMECHAR -// -// MessageText: -// -// Manifest Parse Error : A name was started with an invalid character. -// -export const ERROR_SXS_XML_E_BADSTARTNAMECHAR = 14032; - -// -// MessageId: ERROR_SXS_XML_E_BADNAMECHAR -// -// MessageText: -// -// Manifest Parse Error : A name contained an invalid character. -// -export const ERROR_SXS_XML_E_BADNAMECHAR = 14033; - -// -// MessageId: ERROR_SXS_XML_E_BADCHARINSTRING -// -// MessageText: -// -// Manifest Parse Error : A string literal contained an invalid character. -// -export const ERROR_SXS_XML_E_BADCHARINSTRING = 14034; - -// -// MessageId: ERROR_SXS_XML_E_XMLDECLSYNTAX -// -// MessageText: -// -// Manifest Parse Error : Invalid syntax for an xml declaration. -// -export const ERROR_SXS_XML_E_XMLDECLSYNTAX = 14035; - -// -// MessageId: ERROR_SXS_XML_E_BADCHARDATA -// -// MessageText: -// -// Manifest Parse Error : An Invalid character was found in text content. -// -export const ERROR_SXS_XML_E_BADCHARDATA = 14036; - -// -// MessageId: ERROR_SXS_XML_E_MISSINGWHITESPACE -// -// MessageText: -// -// Manifest Parse Error : Required white space was missing. -// -export const ERROR_SXS_XML_E_MISSINGWHITESPACE = 14037; - -// -// MessageId: ERROR_SXS_XML_E_EXPECTINGTAGEND -// -// MessageText: -// -// Manifest Parse Error : The character '>' was expected. -// -export const ERROR_SXS_XML_E_EXPECTINGTAGEND = 14038; - -// -// MessageId: ERROR_SXS_XML_E_MISSINGSEMICOLON -// -// MessageText: -// -// Manifest Parse Error : A semi colon character was expected. -// -export const ERROR_SXS_XML_E_MISSINGSEMICOLON = 14039; - -// -// MessageId: ERROR_SXS_XML_E_UNBALANCEDPAREN -// -// MessageText: -// -// Manifest Parse Error : Unbalanced parentheses. -// -export const ERROR_SXS_XML_E_UNBALANCEDPAREN = 14040; - -// -// MessageId: ERROR_SXS_XML_E_INTERNALERROR -// -// MessageText: -// -// Manifest Parse Error : Internal error. -// -export const ERROR_SXS_XML_E_INTERNALERROR = 14041; - -// -// MessageId: ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE -// -// MessageText: -// -// Manifest Parse Error : Whitespace is not allowed at this location. -// -export const ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE = 14042; - -// -// MessageId: ERROR_SXS_XML_E_INCOMPLETE_ENCODING -// -// MessageText: -// -// Manifest Parse Error : End of file reached in invalid state for current encoding. -// -export const ERROR_SXS_XML_E_INCOMPLETE_ENCODING = 14043; - -// -// MessageId: ERROR_SXS_XML_E_MISSING_PAREN -// -// MessageText: -// -// Manifest Parse Error : Missing parenthesis. -// -export const ERROR_SXS_XML_E_MISSING_PAREN = 14044; - -// -// MessageId: ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE -// -// MessageText: -// -// Manifest Parse Error : A single or double closing quote character (\' or \") is missing. -// -export const ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE = 14045; - -// -// MessageId: ERROR_SXS_XML_E_MULTIPLE_COLONS -// -// MessageText: -// -// Manifest Parse Error : Multiple colons are not allowed in a name. -// -export const ERROR_SXS_XML_E_MULTIPLE_COLONS = 14046; - -// -// MessageId: ERROR_SXS_XML_E_INVALID_DECIMAL -// -// MessageText: -// -// Manifest Parse Error : Invalid character for decimal digit. -// -export const ERROR_SXS_XML_E_INVALID_DECIMAL = 14047; - -// -// MessageId: ERROR_SXS_XML_E_INVALID_HEXIDECIMAL -// -// MessageText: -// -// Manifest Parse Error : Invalid character for hexadecimal digit. -// -export const ERROR_SXS_XML_E_INVALID_HEXIDECIMAL = 14048; - -// -// MessageId: ERROR_SXS_XML_E_INVALID_UNICODE -// -// MessageText: -// -// Manifest Parse Error : Invalid unicode character value for this platform. -// -export const ERROR_SXS_XML_E_INVALID_UNICODE = 14049; - -// -// MessageId: ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK -// -// MessageText: -// -// Manifest Parse Error : Expecting whitespace or '?'. -// -export const ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK = 14050; - -// -// MessageId: ERROR_SXS_XML_E_UNEXPECTEDENDTAG -// -// MessageText: -// -// Manifest Parse Error : End tag was not expected at this location. -// -export const ERROR_SXS_XML_E_UNEXPECTEDENDTAG = 14051; - -// -// MessageId: ERROR_SXS_XML_E_UNCLOSEDTAG -// -// MessageText: -// -// Manifest Parse Error : The following tags were not closed: %1. -// -export const ERROR_SXS_XML_E_UNCLOSEDTAG = 14052; - -// -// MessageId: ERROR_SXS_XML_E_DUPLICATEATTRIBUTE -// -// MessageText: -// -// Manifest Parse Error : Duplicate attribute. -// -export const ERROR_SXS_XML_E_DUPLICATEATTRIBUTE = 14053; - -// -// MessageId: ERROR_SXS_XML_E_MULTIPLEROOTS -// -// MessageText: -// -// Manifest Parse Error : Only one top level element is allowed in an XML document. -// -export const ERROR_SXS_XML_E_MULTIPLEROOTS = 14054; - -// -// MessageId: ERROR_SXS_XML_E_INVALIDATROOTLEVEL -// -// MessageText: -// -// Manifest Parse Error : Invalid at the top level of the document. -// -export const ERROR_SXS_XML_E_INVALIDATROOTLEVEL = 14055; - -// -// MessageId: ERROR_SXS_XML_E_BADXMLDECL -// -// MessageText: -// -// Manifest Parse Error : Invalid xml declaration. -// -export const ERROR_SXS_XML_E_BADXMLDECL = 14056; - -// -// MessageId: ERROR_SXS_XML_E_MISSINGROOT -// -// MessageText: -// -// Manifest Parse Error : XML document must have a top level element. -// -export const ERROR_SXS_XML_E_MISSINGROOT = 14057; - -// -// MessageId: ERROR_SXS_XML_E_UNEXPECTEDEOF -// -// MessageText: -// -// Manifest Parse Error : Unexpected end of file. -// -export const ERROR_SXS_XML_E_UNEXPECTEDEOF = 14058; - -// -// MessageId: ERROR_SXS_XML_E_BADPEREFINSUBSET -// -// MessageText: -// -// Manifest Parse Error : Parameter entities cannot be used inside markup declarations in an internal subset. -// -export const ERROR_SXS_XML_E_BADPEREFINSUBSET = 14059; - -// -// MessageId: ERROR_SXS_XML_E_UNCLOSEDSTARTTAG -// -// MessageText: -// -// Manifest Parse Error : Element was not closed. -// -export const ERROR_SXS_XML_E_UNCLOSEDSTARTTAG = 14060; - -// -// MessageId: ERROR_SXS_XML_E_UNCLOSEDENDTAG -// -// MessageText: -// -// Manifest Parse Error : End element was missing the character '>'. -// -export const ERROR_SXS_XML_E_UNCLOSEDENDTAG = 14061; - -// -// MessageId: ERROR_SXS_XML_E_UNCLOSEDSTRING -// -// MessageText: -// -// Manifest Parse Error : A string literal was not closed. -// -export const ERROR_SXS_XML_E_UNCLOSEDSTRING = 14062; - -// -// MessageId: ERROR_SXS_XML_E_UNCLOSEDCOMMENT -// -// MessageText: -// -// Manifest Parse Error : A comment was not closed. -// -export const ERROR_SXS_XML_E_UNCLOSEDCOMMENT = 14063; - -// -// MessageId: ERROR_SXS_XML_E_UNCLOSEDDECL -// -// MessageText: -// -// Manifest Parse Error : A declaration was not closed. -// -export const ERROR_SXS_XML_E_UNCLOSEDDECL = 14064; - -// -// MessageId: ERROR_SXS_XML_E_UNCLOSEDCDATA -// -// MessageText: -// -// Manifest Parse Error : A CDATA section was not closed. -// -export const ERROR_SXS_XML_E_UNCLOSEDCDATA = 14065; - -// -// MessageId: ERROR_SXS_XML_E_RESERVEDNAMESPACE -// -// MessageText: -// -// Manifest Parse Error : The namespace prefix is not allowed to start with the reserved string "xml". -// -export const ERROR_SXS_XML_E_RESERVEDNAMESPACE = 14066; - -// -// MessageId: ERROR_SXS_XML_E_INVALIDENCODING -// -// MessageText: -// -// Manifest Parse Error : System does not support the specified encoding. -// -export const ERROR_SXS_XML_E_INVALIDENCODING = 14067; - -// -// MessageId: ERROR_SXS_XML_E_INVALIDSWITCH -// -// MessageText: -// -// Manifest Parse Error : Switch from current encoding to specified encoding not supported. -// -export const ERROR_SXS_XML_E_INVALIDSWITCH = 14068; - -// -// MessageId: ERROR_SXS_XML_E_BADXMLCASE -// -// MessageText: -// -// Manifest Parse Error : The name 'xml' is reserved and must be lower case. -// -export const ERROR_SXS_XML_E_BADXMLCASE = 14069; - -// -// MessageId: ERROR_SXS_XML_E_INVALID_STANDALONE -// -// MessageText: -// -// Manifest Parse Error : The standalone attribute must have the value 'yes' or 'no'. -// -export const ERROR_SXS_XML_E_INVALID_STANDALONE = 14070; - -// -// MessageId: ERROR_SXS_XML_E_UNEXPECTED_STANDALONE -// -// MessageText: -// -// Manifest Parse Error : The standalone attribute cannot be used in external entities. -// -export const ERROR_SXS_XML_E_UNEXPECTED_STANDALONE = 14071; - -// -// MessageId: ERROR_SXS_XML_E_INVALID_VERSION -// -// MessageText: -// -// Manifest Parse Error : Invalid version number. -// -export const ERROR_SXS_XML_E_INVALID_VERSION = 14072; - -// -// MessageId: ERROR_SXS_XML_E_MISSINGEQUALS -// -// MessageText: -// -// Manifest Parse Error : Missing equals sign between attribute and attribute value. -// -export const ERROR_SXS_XML_E_MISSINGEQUALS = 14073; - -// -// MessageId: ERROR_SXS_PROTECTION_RECOVERY_FAILED -// -// MessageText: -// -// Assembly Protection Error : Unable to recover the specified assembly. -// -export const ERROR_SXS_PROTECTION_RECOVERY_FAILED = 14074; - -// -// MessageId: ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT -// -// MessageText: -// -// Assembly Protection Error : The public key for an assembly was too short to be allowed. -// -export const ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT = 14075; - -// -// MessageId: ERROR_SXS_PROTECTION_CATALOG_NOT_VALID -// -// MessageText: -// -// Assembly Protection Error : The catalog for an assembly is not valid, or does not match the assembly's manifest. -// -export const ERROR_SXS_PROTECTION_CATALOG_NOT_VALID = 14076; - -// -// MessageId: ERROR_SXS_UNTRANSLATABLE_HRESULT -// -// MessageText: -// -// An HRESULT could not be translated to a corresponding Win32 error code. -// -export const ERROR_SXS_UNTRANSLATABLE_HRESULT = 14077; - -// -// MessageId: ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING -// -// MessageText: -// -// Assembly Protection Error : The catalog for an assembly is missing. -// -export const ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING = 14078; - -// -// MessageId: ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE -// -// MessageText: -// -// The supplied assembly identity is missing one or more attributes which must be present in this context. -// -export const ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE = 14079; - -// -// MessageId: ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME -// -// MessageText: -// -// The supplied assembly identity has one or more attribute names that contain characters not permitted in XML names. -// -export const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME = 14080; - -/////////////////////////////////////////////////// -// // -// End of Side By Side Error Codes // -// // -// 14000 to 14999 // -/////////////////////////////////////////////////// - -/////////////////////////////////////////////////// -// // -// Start of IPSec Error codes // -// // -// 13000 to 13999 // -/////////////////////////////////////////////////// - -// -// MessageId: ERROR_IPSEC_QM_POLICY_EXISTS -// -// MessageText: -// -// The specified quick mode policy already exists. -// -export const ERROR_IPSEC_QM_POLICY_EXISTS = 13000; - -// -// MessageId: ERROR_IPSEC_QM_POLICY_NOT_FOUND -// -// MessageText: -// -// The specified quick mode policy was not found. -// -export const ERROR_IPSEC_QM_POLICY_NOT_FOUND = 13001; - -// -// MessageId: ERROR_IPSEC_QM_POLICY_IN_USE -// -// MessageText: -// -// The specified quick mode policy is being used. -// -export const ERROR_IPSEC_QM_POLICY_IN_USE = 13002; - -// -// MessageId: ERROR_IPSEC_MM_POLICY_EXISTS -// -// MessageText: -// -// The specified main mode policy already exists. -// -export const ERROR_IPSEC_MM_POLICY_EXISTS = 13003; - -// -// MessageId: ERROR_IPSEC_MM_POLICY_NOT_FOUND -// -// MessageText: -// -// The specified main mode policy was not found -// -export const ERROR_IPSEC_MM_POLICY_NOT_FOUND = 13004; - -// -// MessageId: ERROR_IPSEC_MM_POLICY_IN_USE -// -// MessageText: -// -// The specified main mode policy is being used. -// -export const ERROR_IPSEC_MM_POLICY_IN_USE = 13005; - -// -// MessageId: ERROR_IPSEC_MM_FILTER_EXISTS -// -// MessageText: -// -// The specified main mode filter already exists. -// -export const ERROR_IPSEC_MM_FILTER_EXISTS = 13006; - -// -// MessageId: ERROR_IPSEC_MM_FILTER_NOT_FOUND -// -// MessageText: -// -// The specified main mode filter was not found. -// -export const ERROR_IPSEC_MM_FILTER_NOT_FOUND = 13007; - -// -// MessageId: ERROR_IPSEC_TRANSPORT_FILTER_EXISTS -// -// MessageText: -// -// The specified transport mode filter already exists. -// -export const ERROR_IPSEC_TRANSPORT_FILTER_EXISTS = 13008; - -// -// MessageId: ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND -// -// MessageText: -// -// The specified transport mode filter does not exist. -// -export const ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND = 13009; - -// -// MessageId: ERROR_IPSEC_MM_AUTH_EXISTS -// -// MessageText: -// -// The specified main mode authentication list exists. -// -export const ERROR_IPSEC_MM_AUTH_EXISTS = 13010; - -// -// MessageId: ERROR_IPSEC_MM_AUTH_NOT_FOUND -// -// MessageText: -// -// The specified main mode authentication list was not found. -// -export const ERROR_IPSEC_MM_AUTH_NOT_FOUND = 13011; - -// -// MessageId: ERROR_IPSEC_MM_AUTH_IN_USE -// -// MessageText: -// -// The specified quick mode policy is being used. -// -export const ERROR_IPSEC_MM_AUTH_IN_USE = 13012; - -// -// MessageId: ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND -// -// MessageText: -// -// The specified main mode policy was not found. -// -export const ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND = 13013; - -// -// MessageId: ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND -// -// MessageText: -// -// The specified quick mode policy was not found -// -export const ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND = 13014; - -// -// MessageId: ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND -// -// MessageText: -// -// The manifest file contains one or more syntax errors. -// -export const ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND = 13015; - -// -// MessageId: ERROR_IPSEC_TUNNEL_FILTER_EXISTS -// -// MessageText: -// -// The application attempted to activate a disabled activation context. -// -export const ERROR_IPSEC_TUNNEL_FILTER_EXISTS = 13016; - -// -// MessageId: ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND -// -// MessageText: -// -// The requested lookup key was not found in any active activation context. -// -export const ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND = 13017; - -// -// MessageId: ERROR_IPSEC_MM_FILTER_PENDING_DELETION -// -// MessageText: -// -// The Main Mode filter is pending deletion. -// -export const ERROR_IPSEC_MM_FILTER_PENDING_DELETION = 13018; - -// -// MessageId: ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION -// -// MessageText: -// -// The transport filter is pending deletion. -// -export const ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION = 13019; - -// -// MessageId: ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION -// -// MessageText: -// -// The tunnel filter is pending deletion. -// -export const ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION = 13020; - -// -// MessageId: ERROR_IPSEC_MM_POLICY_PENDING_DELETION -// -// MessageText: -// -// The Main Mode policy is pending deletion. -// -export const ERROR_IPSEC_MM_POLICY_PENDING_DELETION = 13021; - -// -// MessageId: ERROR_IPSEC_MM_AUTH_PENDING_DELETION -// -// MessageText: -// -// The Main Mode authentication bundle is pending deletion. -// -export const ERROR_IPSEC_MM_AUTH_PENDING_DELETION = 13022; - -// -// MessageId: ERROR_IPSEC_QM_POLICY_PENDING_DELETION -// -// MessageText: -// -// The Quick Mode policy is pending deletion. -// -export const ERROR_IPSEC_QM_POLICY_PENDING_DELETION = 13023; - -// -// MessageId: WARNING_IPSEC_MM_POLICY_PRUNED -// -// MessageText: -// -// The Main Mode policy was successfully added, but some of the requested offers are not supported. -// -export const WARNING_IPSEC_MM_POLICY_PRUNED = 13024; - -// -// MessageId: WARNING_IPSEC_QM_POLICY_PRUNED -// -// MessageText: -// -// The Quick Mode policy was successfully added, but some of the requested offers are not supported. -// -export const WARNING_IPSEC_QM_POLICY_PRUNED = 13025; - -// -// MessageId: ERROR_IPSEC_IKE_NEG_STATUS_BEGIN -// -// MessageText: -// -// ERROR_IPSEC_IKE_NEG_STATUS_BEGIN -// -export const ERROR_IPSEC_IKE_NEG_STATUS_BEGIN = 13800; - -// -// MessageId: ERROR_IPSEC_IKE_AUTH_FAIL -// -// MessageText: -// -// IKE authentication credentials are unacceptable -// -export const ERROR_IPSEC_IKE_AUTH_FAIL = 13801; - -// -// MessageId: ERROR_IPSEC_IKE_ATTRIB_FAIL -// -// MessageText: -// -// IKE security attributes are unacceptable -// -export const ERROR_IPSEC_IKE_ATTRIB_FAIL = 13802; - -// -// MessageId: ERROR_IPSEC_IKE_NEGOTIATION_PENDING -// -// MessageText: -// -// IKE Negotiation in progress -// -export const ERROR_IPSEC_IKE_NEGOTIATION_PENDING = 13803; - -// -// MessageId: ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR -// -// MessageText: -// -// General processing error -// -export const ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR = 13804; - -// -// MessageId: ERROR_IPSEC_IKE_TIMED_OUT -// -// MessageText: -// -// Negotiation timed out -// -export const ERROR_IPSEC_IKE_TIMED_OUT = 13805; - -// -// MessageId: ERROR_IPSEC_IKE_NO_CERT -// -// MessageText: -// -// IKE failed to find valid machine certificate -// -export const ERROR_IPSEC_IKE_NO_CERT = 13806; - -// -// MessageId: ERROR_IPSEC_IKE_SA_DELETED -// -// MessageText: -// -// IKE SA deleted by peer before establishment completed -// -export const ERROR_IPSEC_IKE_SA_DELETED = 13807; - -// -// MessageId: ERROR_IPSEC_IKE_SA_REAPED -// -// MessageText: -// -// IKE SA deleted before establishment completed -// -export const ERROR_IPSEC_IKE_SA_REAPED = 13808; - -// -// MessageId: ERROR_IPSEC_IKE_MM_ACQUIRE_DROP -// -// MessageText: -// -// Negotiation request sat in Queue too long -// -export const ERROR_IPSEC_IKE_MM_ACQUIRE_DROP = 13809; - -// -// MessageId: ERROR_IPSEC_IKE_QM_ACQUIRE_DROP -// -// MessageText: -// -// Negotiation request sat in Queue too long -// -export const ERROR_IPSEC_IKE_QM_ACQUIRE_DROP = 13810; - -// -// MessageId: ERROR_IPSEC_IKE_QUEUE_DROP_MM -// -// MessageText: -// -// Negotiation request sat in Queue too long -// -export const ERROR_IPSEC_IKE_QUEUE_DROP_MM = 13811; - -// -// MessageId: ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM -// -// MessageText: -// -// Negotiation request sat in Queue too long -// -export const ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM = 13812; - -// -// MessageId: ERROR_IPSEC_IKE_DROP_NO_RESPONSE -// -// MessageText: -// -// No response from peer -// -export const ERROR_IPSEC_IKE_DROP_NO_RESPONSE = 13813; - -// -// MessageId: ERROR_IPSEC_IKE_MM_DELAY_DROP -// -// MessageText: -// -// Negotiation took too long -// -export const ERROR_IPSEC_IKE_MM_DELAY_DROP = 13814; - -// -// MessageId: ERROR_IPSEC_IKE_QM_DELAY_DROP -// -// MessageText: -// -// Negotiation took too long -// -export const ERROR_IPSEC_IKE_QM_DELAY_DROP = 13815; - -// -// MessageId: ERROR_IPSEC_IKE_ERROR -// -// MessageText: -// -// Unknown error occurred -// -export const ERROR_IPSEC_IKE_ERROR = 13816; - -// -// MessageId: ERROR_IPSEC_IKE_CRL_FAILED -// -// MessageText: -// -// Certificate Revocation Check failed -// -export const ERROR_IPSEC_IKE_CRL_FAILED = 13817; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_KEY_USAGE -// -// MessageText: -// -// Invalid certificate key usage -// -export const ERROR_IPSEC_IKE_INVALID_KEY_USAGE = 13818; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_CERT_TYPE -// -// MessageText: -// -// Invalid certificate type -// -export const ERROR_IPSEC_IKE_INVALID_CERT_TYPE = 13819; - -// -// MessageId: ERROR_IPSEC_IKE_NO_PRIVATE_KEY -// -// MessageText: -// -// No private key associated with machine certificate -// -export const ERROR_IPSEC_IKE_NO_PRIVATE_KEY = 13820; - -// -// MessageId: ERROR_IPSEC_IKE_DH_FAIL -// -// MessageText: -// -// Failure in Diffie-Hellman computation -// -export const ERROR_IPSEC_IKE_DH_FAIL = 13822; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_HEADER -// -// MessageText: -// -// Invalid header -// -export const ERROR_IPSEC_IKE_INVALID_HEADER = 13824; - -// -// MessageId: ERROR_IPSEC_IKE_NO_POLICY -// -// MessageText: -// -// No policy configured -// -export const ERROR_IPSEC_IKE_NO_POLICY = 13825; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_SIGNATURE -// -// MessageText: -// -// Failed to verify signature -// -export const ERROR_IPSEC_IKE_INVALID_SIGNATURE = 13826; - -// -// MessageId: ERROR_IPSEC_IKE_KERBEROS_ERROR -// -// MessageText: -// -// Failed to authenticate using kerberos -// -export const ERROR_IPSEC_IKE_KERBEROS_ERROR = 13827; - -// -// MessageId: ERROR_IPSEC_IKE_NO_PUBLIC_KEY -// -// MessageText: -// -// Peer's certificate did not have a public key -// -export const ERROR_IPSEC_IKE_NO_PUBLIC_KEY = 13828; - -// These must stay as a unit. -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR -// -// MessageText: -// -// Error processing error payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR = 13829; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_SA -// -// MessageText: -// -// Error processing SA payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_SA = 13830; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_PROP -// -// MessageText: -// -// Error processing Proposal payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_PROP = 13831; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_TRANS -// -// MessageText: -// -// Error processing Transform payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_TRANS = 13832; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_KE -// -// MessageText: -// -// Error processing KE payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_KE = 13833; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_ID -// -// MessageText: -// -// Error processing ID payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_ID = 13834; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_CERT -// -// MessageText: -// -// Error processing Cert payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_CERT = 13835; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ -// -// MessageText: -// -// Error processing Certificate Request payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ = 13836; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_HASH -// -// MessageText: -// -// Error processing Hash payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_HASH = 13837; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_SIG -// -// MessageText: -// -// Error processing Signature payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_SIG = 13838; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_NONCE -// -// MessageText: -// -// Error processing Nonce payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_NONCE = 13839; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY -// -// MessageText: -// -// Error processing Notify payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY = 13840; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_DELETE -// -// MessageText: -// -// Error processing Delete Payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_DELETE = 13841; - -// -// MessageId: ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR -// -// MessageText: -// -// Error processing VendorId payload -// -export const ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR = 13842; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_PAYLOAD -// -// MessageText: -// -// Invalid payload received -// -export const ERROR_IPSEC_IKE_INVALID_PAYLOAD = 13843; - -// -// MessageId: ERROR_IPSEC_IKE_LOAD_SOFT_SA -// -// MessageText: -// -// Soft SA loaded -// -export const ERROR_IPSEC_IKE_LOAD_SOFT_SA = 13844; - -// -// MessageId: ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN -// -// MessageText: -// -// Soft SA torn down -// -export const ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN = 13845; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_COOKIE -// -// MessageText: -// -// Invalid cookie received. -// -export const ERROR_IPSEC_IKE_INVALID_COOKIE = 13846; - -// -// MessageId: ERROR_IPSEC_IKE_NO_PEER_CERT -// -// MessageText: -// -// Peer failed to send valid machine certificate -// -export const ERROR_IPSEC_IKE_NO_PEER_CERT = 13847; - -// -// MessageId: ERROR_IPSEC_IKE_PEER_CRL_FAILED -// -// MessageText: -// -// Certification Revocation check of peer's certificate failed -// -export const ERROR_IPSEC_IKE_PEER_CRL_FAILED = 13848; - -// -// MessageId: ERROR_IPSEC_IKE_POLICY_CHANGE -// -// MessageText: -// -// New policy invalidated SAs formed with old policy -// -export const ERROR_IPSEC_IKE_POLICY_CHANGE = 13849; - -// -// MessageId: ERROR_IPSEC_IKE_NO_MM_POLICY -// -// MessageText: -// -// There is no available Main Mode IKE policy. -// -export const ERROR_IPSEC_IKE_NO_MM_POLICY = 13850; - -// -// MessageId: ERROR_IPSEC_IKE_NOTCBPRIV -// -// MessageText: -// -// Failed to enabled TCB privilege. -// -export const ERROR_IPSEC_IKE_NOTCBPRIV = 13851; - -// -// MessageId: ERROR_IPSEC_IKE_SECLOADFAIL -// -// MessageText: -// -// Failed to load SECURITY.DLL. -// -export const ERROR_IPSEC_IKE_SECLOADFAIL = 13852; - -// -// MessageId: ERROR_IPSEC_IKE_FAILSSPINIT -// -// MessageText: -// -// Failed to obtain security function table dispatch address from SSPI. -// -export const ERROR_IPSEC_IKE_FAILSSPINIT = 13853; - -// -// MessageId: ERROR_IPSEC_IKE_FAILQUERYSSP -// -// MessageText: -// -// Failed to query Kerberos package to obtain max token size. -// -export const ERROR_IPSEC_IKE_FAILQUERYSSP = 13854; - -// -// MessageId: ERROR_IPSEC_IKE_SRVACQFAIL -// -// MessageText: -// -// Failed to obtain Kerberos server credentials for ISAKMP/ERROR_IPSEC_IKE service. Kerberos authentication will not function. The most likely reason for this is lack of domain membership. This is normal if your computer is a member of a workgroup. -// -export const ERROR_IPSEC_IKE_SRVACQFAIL = 13855; - -// -// MessageId: ERROR_IPSEC_IKE_SRVQUERYCRED -// -// MessageText: -// -// Failed to determine SSPI principal name for ISAKMP/ERROR_IPSEC_IKE service (QueryCredentialsAttributes). -// -export const ERROR_IPSEC_IKE_SRVQUERYCRED = 13856; - -// -// MessageId: ERROR_IPSEC_IKE_GETSPIFAIL -// -// MessageText: -// -// Failed to obtain new SPI for the inbound SA from Ipsec driver. The most common cause for this is that the driver does not have the correct filter. Check your policy to verify the filters. -// -export const ERROR_IPSEC_IKE_GETSPIFAIL = 13857; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_FILTER -// -// MessageText: -// -// Given filter is invalid -// -export const ERROR_IPSEC_IKE_INVALID_FILTER = 13858; - -// -// MessageId: ERROR_IPSEC_IKE_OUT_OF_MEMORY -// -// MessageText: -// -// Memory allocation failed. -// -export const ERROR_IPSEC_IKE_OUT_OF_MEMORY = 13859; - -// -// MessageId: ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED -// -// MessageText: -// -// Failed to add Security Association to IPSec Driver. The most common cause for this is if the IKE negotiation took too long to complete. If the problem persists, reduce the load on the faulting machine. -// -export const ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED = 13860; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_POLICY -// -// MessageText: -// -// Invalid policy -// -export const ERROR_IPSEC_IKE_INVALID_POLICY = 13861; - -// -// MessageId: ERROR_IPSEC_IKE_UNKNOWN_DOI -// -// MessageText: -// -// Invalid DOI -// -export const ERROR_IPSEC_IKE_UNKNOWN_DOI = 13862; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_SITUATION -// -// MessageText: -// -// Invalid situation -// -export const ERROR_IPSEC_IKE_INVALID_SITUATION = 13863; - -// -// MessageId: ERROR_IPSEC_IKE_DH_FAILURE -// -// MessageText: -// -// Diffie-Hellman failure -// -export const ERROR_IPSEC_IKE_DH_FAILURE = 13864; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_GROUP -// -// MessageText: -// -// Invalid Diffie-Hellman group -// -export const ERROR_IPSEC_IKE_INVALID_GROUP = 13865; - -// -// MessageId: ERROR_IPSEC_IKE_ENCRYPT -// -// MessageText: -// -// Error encrypting payload -// -export const ERROR_IPSEC_IKE_ENCRYPT = 13866; - -// -// MessageId: ERROR_IPSEC_IKE_DECRYPT -// -// MessageText: -// -// Error decrypting payload -// -export const ERROR_IPSEC_IKE_DECRYPT = 13867; - -// -// MessageId: ERROR_IPSEC_IKE_POLICY_MATCH -// -// MessageText: -// -// Policy match error -// -export const ERROR_IPSEC_IKE_POLICY_MATCH = 13868; - -// -// MessageId: ERROR_IPSEC_IKE_UNSUPPORTED_ID -// -// MessageText: -// -// Unsupported ID -// -export const ERROR_IPSEC_IKE_UNSUPPORTED_ID = 13869; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_HASH -// -// MessageText: -// -// Hash verification failed -// -export const ERROR_IPSEC_IKE_INVALID_HASH = 13870; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_HASH_ALG -// -// MessageText: -// -// Invalid hash algorithm -// -export const ERROR_IPSEC_IKE_INVALID_HASH_ALG = 13871; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_HASH_SIZE -// -// MessageText: -// -// Invalid hash size -// -export const ERROR_IPSEC_IKE_INVALID_HASH_SIZE = 13872; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG -// -// MessageText: -// -// Invalid encryption algorithm -// -export const ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG = 13873; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_AUTH_ALG -// -// MessageText: -// -// Invalid authentication algorithm -// -export const ERROR_IPSEC_IKE_INVALID_AUTH_ALG = 13874; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_SIG -// -// MessageText: -// -// Invalid certificate signature -// -export const ERROR_IPSEC_IKE_INVALID_SIG = 13875; - -// -// MessageId: ERROR_IPSEC_IKE_LOAD_FAILED -// -// MessageText: -// -// Load failed -// -export const ERROR_IPSEC_IKE_LOAD_FAILED = 13876; - -// -// MessageId: ERROR_IPSEC_IKE_RPC_DELETE -// -// MessageText: -// -// Deleted via RPC call -// -export const ERROR_IPSEC_IKE_RPC_DELETE = 13877; - -// -// MessageId: ERROR_IPSEC_IKE_BENIGN_REINIT -// -// MessageText: -// -// Temporary state created to perform reinit. This is not a real failure. -// -export const ERROR_IPSEC_IKE_BENIGN_REINIT = 13878; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY -// -// MessageText: -// -// The lifetime value received in the Responder Lifetime Notify is below the Windows 2000 configured minimum value. Please fix the policy on the peer machine. -// -export const ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY = 13879; - -// -// MessageId: ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN -// -// MessageText: -// -// Key length in certificate is too small for configured security requirements. -// -export const ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN = 13881; - -// -// MessageId: ERROR_IPSEC_IKE_MM_LIMIT -// -// MessageText: -// -// Max number of established MM SAs to peer exceeded. -// -export const ERROR_IPSEC_IKE_MM_LIMIT = 13882; - -// -// MessageId: ERROR_IPSEC_IKE_NEGOTIATION_DISABLED -// -// MessageText: -// -// IKE received a policy that disables negotiation. -// -export const ERROR_IPSEC_IKE_NEGOTIATION_DISABLED = 13883; - -// -// MessageId: ERROR_IPSEC_IKE_NEG_STATUS_END -// -// MessageText: -// -// ERROR_IPSEC_IKE_NEG_STATUS_END -// -export const ERROR_IPSEC_IKE_NEG_STATUS_END = 13884; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts deleted file mode 100644 index b2789ec..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -/* Copyright 1998 by the Massachusetts Institute of Technology. - * - * Permission to use, copy, modify, and distribute this - * software and its documentation for any purpose and without - * fee is hereby granted, provided that the above copyright - * notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting - * documentation, and that the name of M.I.T. not be used in - * advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. - * M.I.T. makes no representations about the suitability of - * this software for any purpose. It is provided "as is" - * without express or implied warranty. - */ - -// REF: https://github.com/nodejs/node/blob/master/deps/cares/include/ares.h#L190 - -export const ARES_AI_CANONNAME = 1 << 0; -export const ARES_AI_NUMERICHOST = 1 << 1; -export const ARES_AI_PASSIVE = 1 << 2; -export const ARES_AI_NUMERICSERV = 1 << 3; -export const AI_V4MAPPED = 1 << 4; -export const AI_ALL = 1 << 5; -export const AI_ADDRCONFIG = 1 << 6; -export const ARES_AI_NOSORT = 1 << 7; -export const ARES_AI_ENVHOSTS = 1 << 8; - -// REF: https://github.com/nodejs/node/blob/master/deps/cares/src/lib/ares_strerror.c - -export function ares_strerror(code: number) { - /* Return a string literal from a table. */ - const errorText = [ - "Successful completion", - "DNS server returned answer with no data", - "DNS server claims query was misformatted", - "DNS server returned general failure", - "Domain name not found", - "DNS server does not implement requested operation", - "DNS server refused query", - "Misformatted DNS query", - "Misformatted domain name", - "Unsupported address family", - "Misformatted DNS reply", - "Could not contact DNS servers", - "Timeout while contacting DNS servers", - "End of file", - "Error reading file", - "Out of memory", - "Channel is being destroyed", - "Misformatted string", - "Illegal flags specified", - "Given hostname is not numeric", - "Illegal hints flags specified", - "c-ares library initialization not yet performed", - "Error loading iphlpapi.dll", - "Could not find GetNetworkParams function", - "DNS query cancelled", - ]; - - if (code >= 0 && code < errorText.length) { - return errorText[code]; - } else { - return "unknown"; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts deleted file mode 100644 index c8df985..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/async_wrap-inl.h -// - https://github.com/nodejs/node/blob/master/src/async_wrap.cc -// - https://github.com/nodejs/node/blob/master/src/async_wrap.h - -export function registerDestroyHook( - // deno-lint-ignore no-explicit-any - _target: any, - _asyncId: number, - _prop: { destroyed: boolean }, -) { - // TODO(kt3k): implement actual procedures -} - -export enum constants { - kInit, - kBefore, - kAfter, - kDestroy, - kPromiseResolve, - kTotals, - kCheck, - kExecutionAsyncId, - kTriggerAsyncId, - kAsyncIdCounter, - kDefaultTriggerAsyncId, - kUsesExecutionAsyncResource, - kStackLength, -} - -const asyncHookFields = new Uint32Array(Object.keys(constants).length); - -export { asyncHookFields as async_hook_fields }; - -// Increment the internal id counter and return the value. -export function newAsyncId() { - return ++asyncIdFields[constants.kAsyncIdCounter]; -} - -export enum UidFields { - kExecutionAsyncId, - kTriggerAsyncId, - kAsyncIdCounter, - kDefaultTriggerAsyncId, - kUidFieldsCount, -} - -const asyncIdFields = new Float64Array(Object.keys(UidFields).length); - -// `kAsyncIdCounter` should start at `1` because that'll be the id the execution -// context during bootstrap. -asyncIdFields[UidFields.kAsyncIdCounter] = 1; - -// `kDefaultTriggerAsyncId` should be `-1`, this indicates that there is no -// specified default value and it should fallback to the executionAsyncId. -// 0 is not used as the magic value, because that indicates a missing -// context which is different from a default context. -asyncIdFields[UidFields.kDefaultTriggerAsyncId] = -1; - -export { asyncIdFields }; - -export enum providerType { - NONE, - DIRHANDLE, - DNSCHANNEL, - ELDHISTOGRAM, - FILEHANDLE, - FILEHANDLECLOSEREQ, - FIXEDSIZEBLOBCOPY, - FSEVENTWRAP, - FSREQCALLBACK, - FSREQPROMISE, - GETADDRINFOREQWRAP, - GETNAMEINFOREQWRAP, - HEAPSNAPSHOT, - HTTP2SESSION, - HTTP2STREAM, - HTTP2PING, - HTTP2SETTINGS, - HTTPINCOMINGMESSAGE, - HTTPCLIENTREQUEST, - JSSTREAM, - JSUDPWRAP, - MESSAGEPORT, - PIPECONNECTWRAP, - PIPESERVERWRAP, - PIPEWRAP, - PROCESSWRAP, - PROMISE, - QUERYWRAP, - SHUTDOWNWRAP, - SIGNALWRAP, - STATWATCHER, - STREAMPIPE, - TCPCONNECTWRAP, - TCPSERVERWRAP, - TCPWRAP, - TTYWRAP, - UDPSENDWRAP, - UDPWRAP, - SIGINTWATCHDOG, - WORKER, - WORKERHEAPSNAPSHOT, - WRITEWRAP, - ZLIB, -} - -const kInvalidAsyncId = -1; - -export class AsyncWrap { - provider: providerType = providerType.NONE; - asyncId = kInvalidAsyncId; - - constructor(provider: providerType) { - this.provider = provider; - this.getAsyncId(); - } - - getAsyncId(): number { - this.asyncId = this.asyncId === kInvalidAsyncId - ? newAsyncId() - : this.asyncId; - - return this.asyncId; - } - - getProviderType() { - return this.provider; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts deleted file mode 100644 index 32ee835..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { Encodings } from "./_node.ts"; -import { indexOfNeedle } from "../../bytes/index_of_needle.ts"; - -export function numberToBytes(n: number): Uint8Array { - if (n === 0) return new Uint8Array([0]); - - const bytes = []; - bytes.unshift(n & 255); - while (n >= 256) { - n = n >>> 8; - bytes.unshift(n & 255); - } - return new Uint8Array(bytes); -} - -// TODO(Soremwar) -// Check if offset or buffer can be transform in order to just use std's lastIndexOf directly -// This implementation differs from std's lastIndexOf in the fact that -// it also includes items outside of the offset as long as part of the -// set is contained inside of the offset -// Probably way slower too -function findLastIndex( - targetBuffer: Uint8Array, - buffer: Uint8Array, - offset: number, -) { - offset = offset > targetBuffer.length ? targetBuffer.length : offset; - - const searchableBuffer = targetBuffer.slice(0, offset + buffer.length); - const searchableBufferLastIndex = searchableBuffer.length - 1; - const bufferLastIndex = buffer.length - 1; - - // Important to keep track of the last match index in order to backtrack after an incomplete match - // Not doing this will cause the search to skip all possible matches that happened in the - // last match range - let lastMatchIndex = -1; - let matches = 0; - let index = -1; - for (let x = 0; x <= searchableBufferLastIndex; x++) { - if ( - searchableBuffer[searchableBufferLastIndex - x] === - buffer[bufferLastIndex - matches] - ) { - if (lastMatchIndex === -1) { - lastMatchIndex = x; - } - matches++; - } else { - matches = 0; - if (lastMatchIndex !== -1) { - // Restart the search right after the last index was ignored - x = lastMatchIndex + 1; - lastMatchIndex = -1; - } - continue; - } - - if (matches === buffer.length) { - index = x; - break; - } - } - - if (index === -1) return index; - - return searchableBufferLastIndex - index; -} - -// TODO -// Take encoding into account when evaluating index -function indexOfBuffer( - targetBuffer: Uint8Array, - buffer: Uint8Array, - byteOffset: number, - encoding: Encodings, - forwardDirection: boolean, -) { - if (!Encodings[encoding] === undefined) { - throw new Error(`Unknown encoding code ${encoding}`); - } - - if (!forwardDirection) { - // If negative the offset is calculated from the end of the buffer - - if (byteOffset < 0) { - byteOffset = targetBuffer.length + byteOffset; - } - - if (buffer.length === 0) { - return byteOffset <= targetBuffer.length - ? byteOffset - : targetBuffer.length; - } - - return findLastIndex(targetBuffer, buffer, byteOffset); - } - - if (buffer.length === 0) { - return byteOffset <= targetBuffer.length ? byteOffset : targetBuffer.length; - } - - return indexOfNeedle(targetBuffer, buffer, byteOffset); -} - -// TODO(Soremwar) -// Node's implementation is a very obscure algorithm that I haven't been able to crack just yet -function indexOfNumber( - targetBuffer: Uint8Array, - number: number, - byteOffset: number, - forwardDirection: boolean, -) { - const bytes = numberToBytes(number); - - if (bytes.length > 1) { - throw new Error("Multi byte number search is not supported"); - } - - return indexOfBuffer( - targetBuffer, - numberToBytes(number), - byteOffset, - Encodings.UTF8, - forwardDirection, - ); -} - -export default { indexOfBuffer, indexOfNumber }; -export { indexOfBuffer, indexOfNumber }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts deleted file mode 100644 index b8142f3..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts +++ /dev/null @@ -1,541 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/cares_wrap.cc -// - https://github.com/nodejs/node/blob/master/src/cares_wrap.h - -import type { ErrnoException } from "../internal/errors.ts"; -import { isIPv4 } from "../internal/net.ts"; -import { codeMap } from "./uv.ts"; -import { AsyncWrap, providerType } from "./async_wrap.ts"; -import { ares_strerror } from "./ares.ts"; -import { notImplemented } from "../_utils.ts"; -import { isWindows } from "../../_util/os.ts"; - -interface LookupAddress { - address: string; - family: number; -} - -export class GetAddrInfoReqWrap extends AsyncWrap { - family!: number; - hostname!: string; - - callback!: ( - err: ErrnoException | null, - addressOrAddresses?: string | LookupAddress[] | null, - family?: number, - ) => void; - resolve!: (addressOrAddresses: LookupAddress | LookupAddress[]) => void; - reject!: (err: ErrnoException | null) => void; - oncomplete!: (err: number | null, addresses: string[]) => void; - - constructor() { - super(providerType.GETADDRINFOREQWRAP); - } -} - -export function getaddrinfo( - req: GetAddrInfoReqWrap, - hostname: string, - family: number, - _hints: number, - verbatim: boolean, -): number { - let addresses: string[] = []; - - // TODO(cmorten): use hints - // REF: https://nodejs.org/api/dns.html#dns_supported_getaddrinfo_flags - - const recordTypes: ("A" | "AAAA")[] = []; - - if (family === 0 || family === 4) { - recordTypes.push("A"); - } - if (family === 0 || family === 6) { - recordTypes.push("AAAA"); - } - - (async () => { - await Promise.allSettled( - recordTypes.map((recordType) => - Deno.resolveDns(hostname, recordType).then((records) => { - records.forEach((record) => addresses.push(record)); - }) - ), - ); - - const error = addresses.length ? 0 : codeMap.get("EAI_NODATA")!; - - // TODO(cmorten): needs work - // REF: https://github.com/nodejs/node/blob/master/src/cares_wrap.cc#L1444 - if (!verbatim) { - addresses.sort((a: string, b: string): number => { - if (isIPv4(a)) { - return -1; - } else if (isIPv4(b)) { - return 1; - } - - return 0; - }); - } - - // TODO: Forces IPv4 as a workaround for Deno not - // aligning with Node on implicit binding on Windows - // REF: https://github.com/denoland/deno/issues/10762 - if (isWindows && hostname === "localhost") { - addresses = addresses.filter((address) => isIPv4(address)); - } - - req.oncomplete(error, addresses); - })(); - - return 0; -} - -export class QueryReqWrap extends AsyncWrap { - bindingName!: string; - hostname!: string; - ttl!: boolean; - - callback!: ( - err: ErrnoException | null, - // deno-lint-ignore no-explicit-any - records?: any, - ) => void; - // deno-lint-ignore no-explicit-any - resolve!: (records: any) => void; - reject!: (err: ErrnoException | null) => void; - oncomplete!: ( - err: number, - // deno-lint-ignore no-explicit-any - records: any, - ttls?: number[], - ) => void; - - constructor() { - super(providerType.QUERYWRAP); - } -} - -export interface ChannelWrapQuery { - queryAny(req: QueryReqWrap, name: string): number; - queryA(req: QueryReqWrap, name: string): number; - queryAaaa(req: QueryReqWrap, name: string): number; - queryCaa(req: QueryReqWrap, name: string): number; - queryCname(req: QueryReqWrap, name: string): number; - queryMx(req: QueryReqWrap, name: string): number; - queryNs(req: QueryReqWrap, name: string): number; - queryTxt(req: QueryReqWrap, name: string): number; - querySrv(req: QueryReqWrap, name: string): number; - queryPtr(req: QueryReqWrap, name: string): number; - queryNaptr(req: QueryReqWrap, name: string): number; - querySoa(req: QueryReqWrap, name: string): number; - getHostByAddr(req: QueryReqWrap, name: string): number; -} - -function fqdnToHostname(fqdn: string): string { - return fqdn.replace(/\.$/, ""); -} - -function compressIPv6(address: string): string { - const formatted = address.replace(/\b(?:0+:){2,}/, ":"); - const finalAddress = formatted - .split(":") - .map((octet) => { - if (octet.match(/^\d+\.\d+\.\d+\.\d+$/)) { - // decimal - return Number(octet.replaceAll(".", "")).toString(16); - } - - return octet.replace(/\b0+/g, ""); - }) - .join(":"); - - return finalAddress; -} - -export class ChannelWrap extends AsyncWrap implements ChannelWrapQuery { - #servers: [string, number][] = []; - #timeout: number; - #tries: number; - - constructor(timeout: number, tries: number) { - super(providerType.DNSCHANNEL); - - this.#timeout = timeout; - this.#tries = tries; - } - - async #query(query: string, recordType: Deno.RecordType) { - // TODO: TTL logic. - - let code: number; - let ret: Awaited>; - - if (this.#servers.length) { - for (const [ipAddr, port] of this.#servers) { - const resolveOptions = { - nameServer: { - ipAddr, - port, - }, - }; - - ({ code, ret } = await this.#resolve( - query, - recordType, - resolveOptions, - )); - - if (code === 0 || code === codeMap.get("EAI_NODATA")!) { - break; - } - } - } else { - ({ code, ret } = await this.#resolve(query, recordType)); - } - - return { code: code!, ret: ret! }; - } - - async #resolve( - query: string, - recordType: Deno.RecordType, - resolveOptions?: Deno.ResolveDnsOptions, - ): Promise<{ - code: number; - ret: Awaited>; - }> { - let ret: Awaited> = []; - let code = 0; - - try { - ret = await Deno.resolveDns(query, recordType, resolveOptions); - } catch (e) { - if (e instanceof Deno.errors.NotFound) { - code = codeMap.get("EAI_NODATA")!; - } else { - // TODO(cmorten): map errors to appropriate error codes. - code = codeMap.get("UNKNOWN")!; - } - } - - return { code, ret }; - } - - queryAny(req: QueryReqWrap, name: string): number { - // TODO: implemented temporary measure to allow limited usage of - // `resolveAny` like APIs. - // - // Ideally we move to using the "ANY" / "*" DNS query in future - // REF: https://github.com/denoland/deno/issues/14492 - (async () => { - const records: { type: Deno.RecordType; [key: string]: unknown }[] = []; - - await Promise.allSettled([ - this.#query(name, "A").then(({ ret }) => { - ret.forEach((record) => records.push({ type: "A", address: record })); - }), - this.#query(name, "AAAA").then(({ ret }) => { - (ret as string[]).forEach((record) => - records.push({ type: "AAAA", address: compressIPv6(record) }) - ); - }), - this.#query(name, "CAA").then(({ ret }) => { - (ret as Deno.CAARecord[]).forEach(({ critical, tag, value }) => - records.push({ - type: "CAA", - [tag]: value, - critical: +critical && 128, - }) - ); - }), - this.#query(name, "CNAME").then(({ ret }) => { - ret.forEach((record) => - records.push({ type: "CNAME", value: record }) - ); - }), - this.#query(name, "MX").then(({ ret }) => { - (ret as Deno.MXRecord[]).forEach(({ preference, exchange }) => - records.push({ - type: "MX", - priority: preference, - exchange: fqdnToHostname(exchange), - }) - ); - }), - this.#query(name, "NAPTR").then(({ ret }) => { - (ret as Deno.NAPTRRecord[]).forEach( - ({ order, preference, flags, services, regexp, replacement }) => - records.push({ - type: "NAPTR", - order, - preference, - flags, - service: services, - regexp, - replacement, - }), - ); - }), - this.#query(name, "NS").then(({ ret }) => { - (ret as string[]).forEach((record) => - records.push({ type: "NS", value: fqdnToHostname(record) }) - ); - }), - this.#query(name, "PTR").then(({ ret }) => { - (ret as string[]).forEach((record) => - records.push({ type: "PTR", value: fqdnToHostname(record) }) - ); - }), - this.#query(name, "SOA").then(({ ret }) => { - (ret as Deno.SOARecord[]).forEach( - ({ mname, rname, serial, refresh, retry, expire, minimum }) => - records.push({ - type: "SOA", - nsname: fqdnToHostname(mname), - hostmaster: fqdnToHostname(rname), - serial, - refresh, - retry, - expire, - minttl: minimum, - }), - ); - }), - this.#query(name, "SRV").then(({ ret }) => { - (ret as Deno.SRVRecord[]).forEach( - ({ priority, weight, port, target }) => - records.push({ - type: "SRV", - priority, - weight, - port, - name: target, - }), - ); - }), - this.#query(name, "TXT").then(({ ret }) => { - ret.forEach((record) => - records.push({ type: "TXT", entries: record }) - ); - }), - ]); - - const err = records.length ? 0 : codeMap.get("EAI_NODATA")!; - - req.oncomplete(err, records); - })(); - - return 0; - } - - queryA(req: QueryReqWrap, name: string): number { - this.#query(name, "A").then(({ code, ret }) => { - req.oncomplete(code, ret); - }); - - return 0; - } - - queryAaaa(req: QueryReqWrap, name: string): number { - this.#query(name, "AAAA").then(({ code, ret }) => { - const records = (ret as string[]).map((record) => compressIPv6(record)); - - req.oncomplete(code, records); - }); - - return 0; - } - - queryCaa(req: QueryReqWrap, name: string): number { - this.#query(name, "CAA").then(({ code, ret }) => { - const records = (ret as Deno.CAARecord[]).map( - ({ critical, tag, value }) => ({ - [tag]: value, - critical: +critical && 128, - }), - ); - - req.oncomplete(code, records); - }); - - return 0; - } - - queryCname(req: QueryReqWrap, name: string): number { - this.#query(name, "CNAME").then(({ code, ret }) => { - req.oncomplete(code, ret); - }); - - return 0; - } - - queryMx(req: QueryReqWrap, name: string): number { - this.#query(name, "MX").then(({ code, ret }) => { - const records = (ret as Deno.MXRecord[]).map( - ({ preference, exchange }) => ({ - priority: preference, - exchange: fqdnToHostname(exchange), - }), - ); - - req.oncomplete(code, records); - }); - - return 0; - } - - queryNaptr(req: QueryReqWrap, name: string): number { - this.#query(name, "NAPTR").then(({ code, ret }) => { - const records = (ret as Deno.NAPTRRecord[]).map( - ({ order, preference, flags, services, regexp, replacement }) => ({ - flags, - service: services, - regexp, - replacement, - order, - preference, - }), - ); - - req.oncomplete(code, records); - }); - - return 0; - } - - queryNs(req: QueryReqWrap, name: string): number { - this.#query(name, "NS").then(({ code, ret }) => { - const records = (ret as string[]).map((record) => fqdnToHostname(record)); - - req.oncomplete(code, records); - }); - - return 0; - } - - queryPtr(req: QueryReqWrap, name: string): number { - this.#query(name, "PTR").then(({ code, ret }) => { - const records = (ret as string[]).map((record) => fqdnToHostname(record)); - - req.oncomplete(code, records); - }); - - return 0; - } - - querySoa(req: QueryReqWrap, name: string): number { - this.#query(name, "SOA").then(({ code, ret }) => { - let record = {}; - - if (ret.length) { - const { mname, rname, serial, refresh, retry, expire, minimum } = - ret[0] as Deno.SOARecord; - - record = { - nsname: fqdnToHostname(mname), - hostmaster: fqdnToHostname(rname), - serial, - refresh, - retry, - expire, - minttl: minimum, - }; - } - - req.oncomplete(code, record); - }); - - return 0; - } - - querySrv(req: QueryReqWrap, name: string): number { - this.#query(name, "SRV").then(({ code, ret }) => { - const records = (ret as Deno.SRVRecord[]).map( - ({ priority, weight, port, target }) => ({ - priority, - weight, - port, - name: target, - }), - ); - - req.oncomplete(code, records); - }); - - return 0; - } - - queryTxt(req: QueryReqWrap, name: string): number { - this.#query(name, "TXT").then(({ code, ret }) => { - req.oncomplete(code, ret); - }); - - return 0; - } - - getHostByAddr(_req: QueryReqWrap, _name: string): number { - // TODO: https://github.com/denoland/deno/issues/14432 - notImplemented("cares.ChannelWrap.prototype.getHostByAddr"); - } - - getServers(): [string, number][] { - return this.#servers; - } - - setServers(servers: string | [number, string, number][]): number { - if (typeof servers === "string") { - const tuples: [string, number][] = []; - - for (let i = 0; i < servers.length; i += 2) { - tuples.push([servers[i], parseInt(servers[i + 1])]); - } - - this.#servers = tuples; - } else { - this.#servers = servers.map(([_ipVersion, ip, port]) => [ip, port]); - } - - return 0; - } - - setLocalAddress(_addr0: string, _addr1?: string) { - notImplemented("cares.ChannelWrap.prototype.setLocalAddress"); - } - - cancel() { - notImplemented("cares.ChannelWrap.prototype.cancel"); - } -} - -const DNS_ESETSRVPENDING = -1000; -const EMSG_ESETSRVPENDING = "There are pending queries."; - -export function strerror(code: number) { - return code === DNS_ESETSRVPENDING - ? EMSG_ESETSRVPENDING - : ares_strerror(code); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts deleted file mode 100644 index ca51e69..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/connection_wrap.cc -// - https://github.com/nodejs/node/blob/master/src/connection_wrap.h - -import { LibuvStreamWrap } from "./stream_wrap.ts"; -import { AsyncWrap, providerType } from "./async_wrap.ts"; -import type { Closer, Reader, Writer } from "../../types.d.ts"; - -type Ref = { ref(): void; unref(): void }; - -export class ConnectionWrap extends LibuvStreamWrap { - /** Optional connection callback. */ - onconnection: ((status: number, handle?: ConnectionWrap) => void) | null = - null; - - /** - * Creates a new ConnectionWrap class instance. - * @param provider Provider type. - * @param object Optional stream object. - */ - constructor( - provider: providerType, - object?: Reader & Writer & Closer & Ref, - ) { - super(provider, object); - } - - /** - * @param req A connect request. - * @param status An error status code. - */ - afterConnect< - T extends AsyncWrap & { - oncomplete( - status: number, - handle: ConnectionWrap, - req: T, - readable: boolean, - writeable: boolean, - ): void; - }, - >( - req: T, - status: number, - ) { - const isSuccessStatus = !status; - const readable = isSuccessStatus; - const writable = isSuccessStatus; - - try { - req.oncomplete(status, this, req, readable, writable); - } catch { - // swallow callback errors. - } - - return; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts deleted file mode 100644 index d51b5c9..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts +++ /dev/null @@ -1,900 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -let os: { - dlopen: { - RTLD_DEEPBIND?: number; - RTLD_GLOBAL?: number; - RTLD_LAZY?: number; - RTLD_LOCAL?: number; - RTLD_NOW?: number; - }; - errno: { - E2BIG: number; - EACCES: number; - EADDRINUSE: number; - EADDRNOTAVAIL: number; - EAFNOSUPPORT: number; - EAGAIN: number; - EALREADY: number; - EBADF: number; - EBADMSG: number; - EBUSY: number; - ECANCELED: number; - ECHILD: number; - ECONNABORTED: number; - ECONNREFUSED: number; - ECONNRESET: number; - EDEADLK: number; - EDESTADDRREQ: number; - EDOM: number; - EDQUOT?: number; - EEXIST: number; - EFAULT: number; - EFBIG: number; - EHOSTUNREACH: number; - EIDRM: number; - EILSEQ: number; - EINPROGRESS: number; - EINTR: number; - EINVAL: number; - EIO: number; - EISCONN: number; - EISDIR: number; - ELOOP: number; - EMFILE: number; - EMLINK: number; - EMSGSIZE: number; - EMULTIHOP?: number; - ENAMETOOLONG: number; - ENETDOWN: number; - ENETRESET: number; - ENETUNREACH: number; - ENFILE: number; - ENOBUFS: number; - ENODATA: number; - ENODEV: number; - ENOENT: number; - ENOEXEC: number; - ENOLCK: number; - ENOLINK: number; - ENOMEM: number; - ENOMSG: number; - ENOPROTOOPT: number; - ENOSPC: number; - ENOSR: number; - ENOSTR: number; - ENOSYS: number; - ENOTCONN: number; - ENOTDIR: number; - ENOTEMPTY: number; - ENOTSOCK: number; - ENOTSUP: number; - ENOTTY: number; - ENXIO: number; - EOPNOTSUPP: number; - EOVERFLOW: number; - EPERM: number; - EPIPE: number; - EPROTO: number; - EPROTONOSUPPORT: number; - EPROTOTYPE: number; - ERANGE: number; - EROFS: number; - ESPIPE: number; - ESRCH: number; - ESTALE?: number; - ETIME: number; - ETIMEDOUT: number; - ETXTBSY: number; - EWOULDBLOCK: number; - EXDEV: number; - WSA_E_CANCELLED?: number; - WSA_E_NO_MORE?: number; - WSAEACCES?: number; - WSAEADDRINUSE?: number; - WSAEADDRNOTAVAIL?: number; - WSAEAFNOSUPPORT?: number; - WSAEALREADY?: number; - WSAEBADF?: number; - WSAECANCELLED?: number; - WSAECONNABORTED?: number; - WSAECONNREFUSED?: number; - WSAECONNRESET?: number; - WSAEDESTADDRREQ?: number; - WSAEDISCON?: number; - WSAEDQUOT?: number; - WSAEFAULT?: number; - WSAEHOSTDOWN?: number; - WSAEHOSTUNREACH?: number; - WSAEINPROGRESS?: number; - WSAEINTR?: number; - WSAEINVAL?: number; - WSAEINVALIDPROCTABLE?: number; - WSAEINVALIDPROVIDER?: number; - WSAEISCONN?: number; - WSAELOOP?: number; - WSAEMFILE?: number; - WSAEMSGSIZE?: number; - WSAENAMETOOLONG?: number; - WSAENETDOWN?: number; - WSAENETRESET?: number; - WSAENETUNREACH?: number; - WSAENOBUFS?: number; - WSAENOMORE?: number; - WSAENOPROTOOPT?: number; - WSAENOTCONN?: number; - WSAENOTEMPTY?: number; - WSAENOTSOCK?: number; - WSAEOPNOTSUPP?: number; - WSAEPFNOSUPPORT?: number; - WSAEPROCLIM?: number; - WSAEPROTONOSUPPORT?: number; - WSAEPROTOTYPE?: number; - WSAEPROVIDERFAILEDINIT?: number; - WSAEREFUSED?: number; - WSAEREMOTE?: number; - WSAESHUTDOWN?: number; - WSAESOCKTNOSUPPORT?: number; - WSAESTALE?: number; - WSAETIMEDOUT?: number; - WSAETOOMANYREFS?: number; - WSAEUSERS?: number; - WSAEWOULDBLOCK?: number; - WSANOTINITIALISED?: number; - WSASERVICE_NOT_FOUND?: number; - WSASYSCALLFAILURE?: number; - WSASYSNOTREADY?: number; - WSATYPE_NOT_FOUND?: number; - WSAVERNOTSUPPORTED?: number; - }; - priority: { - PRIORITY_ABOVE_NORMAL: number; - PRIORITY_BELOW_NORMAL: number; - PRIORITY_HIGH: number; - PRIORITY_HIGHEST: number; - PRIORITY_LOW: number; - PRIORITY_NORMAL: number; - }; - signals: { - SIGABRT: number; - SIGALRM?: number; - SIGBREAK?: number; - SIGBUS?: number; - SIGCHLD?: number; - SIGCONT?: number; - SIGFPE: number; - SIGHUP: number; - SIGILL: number; - SIGINFO?: number; - SIGINT: number; - SIGIO?: number; - SIGIOT?: number; - SIGKILL: number; - SIGPIPE?: number; - SIGPOLL?: number; - SIGPROF?: number; - SIGPWR?: number; - SIGQUIT?: number; - SIGSEGV: number; - SIGSTKFLT?: number; - SIGSTOP?: number; - SIGSYS?: number; - SIGTERM: number; - SIGTRAP?: number; - SIGTSTP?: number; - SIGTTIN?: number; - SIGTTOU?: number; - SIGUNUSED?: number; - SIGURG?: number; - SIGUSR1?: number; - SIGUSR2?: number; - SIGVTALRM?: number; - SIGWINCH: number; - SIGXCPU?: number; - SIGXFSZ?: number; - }; - UV_UDP_IPV6ONLY?: number; - UV_UDP_REUSEADDR: number; -}; -if (Deno.build.os === "darwin") { - os = { - UV_UDP_REUSEADDR: 4, - dlopen: { - RTLD_LAZY: 1, - RTLD_NOW: 2, - RTLD_GLOBAL: 8, - RTLD_LOCAL: 4, - }, - errno: { - E2BIG: 7, - EACCES: 13, - EADDRINUSE: 48, - EADDRNOTAVAIL: 49, - EAFNOSUPPORT: 47, - EAGAIN: 35, - EALREADY: 37, - EBADF: 9, - EBADMSG: 94, - EBUSY: 16, - ECANCELED: 89, - ECHILD: 10, - ECONNABORTED: 53, - ECONNREFUSED: 61, - ECONNRESET: 54, - EDEADLK: 11, - EDESTADDRREQ: 39, - EDOM: 33, - EDQUOT: 69, - EEXIST: 17, - EFAULT: 14, - EFBIG: 27, - EHOSTUNREACH: 65, - EIDRM: 90, - EILSEQ: 92, - EINPROGRESS: 36, - EINTR: 4, - EINVAL: 22, - EIO: 5, - EISCONN: 56, - EISDIR: 21, - ELOOP: 62, - EMFILE: 24, - EMLINK: 31, - EMSGSIZE: 40, - EMULTIHOP: 95, - ENAMETOOLONG: 63, - ENETDOWN: 50, - ENETRESET: 52, - ENETUNREACH: 51, - ENFILE: 23, - ENOBUFS: 55, - ENODATA: 96, - ENODEV: 19, - ENOENT: 2, - ENOEXEC: 8, - ENOLCK: 77, - ENOLINK: 97, - ENOMEM: 12, - ENOMSG: 91, - ENOPROTOOPT: 42, - ENOSPC: 28, - ENOSR: 98, - ENOSTR: 99, - ENOSYS: 78, - ENOTCONN: 57, - ENOTDIR: 20, - ENOTEMPTY: 66, - ENOTSOCK: 38, - ENOTSUP: 45, - ENOTTY: 25, - ENXIO: 6, - EOPNOTSUPP: 102, - EOVERFLOW: 84, - EPERM: 1, - EPIPE: 32, - EPROTO: 100, - EPROTONOSUPPORT: 43, - EPROTOTYPE: 41, - ERANGE: 34, - EROFS: 30, - ESPIPE: 29, - ESRCH: 3, - ESTALE: 70, - ETIME: 101, - ETIMEDOUT: 60, - ETXTBSY: 26, - EWOULDBLOCK: 35, - EXDEV: 18, - }, - signals: { - SIGHUP: 1, - SIGINT: 2, - SIGQUIT: 3, - SIGILL: 4, - SIGTRAP: 5, - SIGABRT: 6, - SIGIOT: 6, - SIGBUS: 10, - SIGFPE: 8, - SIGKILL: 9, - SIGUSR1: 30, - SIGSEGV: 11, - SIGUSR2: 31, - SIGPIPE: 13, - SIGALRM: 14, - SIGTERM: 15, - SIGCHLD: 20, - SIGCONT: 19, - SIGSTOP: 17, - SIGTSTP: 18, - SIGTTIN: 21, - SIGTTOU: 22, - SIGURG: 16, - SIGXCPU: 24, - SIGXFSZ: 25, - SIGVTALRM: 26, - SIGPROF: 27, - SIGWINCH: 28, - SIGIO: 23, - SIGINFO: 29, - SIGSYS: 12, - }, - priority: { - PRIORITY_LOW: 19, - PRIORITY_BELOW_NORMAL: 10, - PRIORITY_NORMAL: 0, - PRIORITY_ABOVE_NORMAL: -7, - PRIORITY_HIGH: -14, - PRIORITY_HIGHEST: -20, - }, - }; -} else if (Deno.build.os === "linux") { - os = { - UV_UDP_REUSEADDR: 4, - dlopen: { - RTLD_LAZY: 1, - RTLD_NOW: 2, - RTLD_GLOBAL: 256, - RTLD_LOCAL: 0, - RTLD_DEEPBIND: 8, - }, - errno: { - E2BIG: 7, - EACCES: 13, - EADDRINUSE: 98, - EADDRNOTAVAIL: 99, - EAFNOSUPPORT: 97, - EAGAIN: 11, - EALREADY: 114, - EBADF: 9, - EBADMSG: 74, - EBUSY: 16, - ECANCELED: 125, - ECHILD: 10, - ECONNABORTED: 103, - ECONNREFUSED: 111, - ECONNRESET: 104, - EDEADLK: 35, - EDESTADDRREQ: 89, - EDOM: 33, - EDQUOT: 122, - EEXIST: 17, - EFAULT: 14, - EFBIG: 27, - EHOSTUNREACH: 113, - EIDRM: 43, - EILSEQ: 84, - EINPROGRESS: 115, - EINTR: 4, - EINVAL: 22, - EIO: 5, - EISCONN: 106, - EISDIR: 21, - ELOOP: 40, - EMFILE: 24, - EMLINK: 31, - EMSGSIZE: 90, - EMULTIHOP: 72, - ENAMETOOLONG: 36, - ENETDOWN: 100, - ENETRESET: 102, - ENETUNREACH: 101, - ENFILE: 23, - ENOBUFS: 105, - ENODATA: 61, - ENODEV: 19, - ENOENT: 2, - ENOEXEC: 8, - ENOLCK: 37, - ENOLINK: 67, - ENOMEM: 12, - ENOMSG: 42, - ENOPROTOOPT: 92, - ENOSPC: 28, - ENOSR: 63, - ENOSTR: 60, - ENOSYS: 38, - ENOTCONN: 107, - ENOTDIR: 20, - ENOTEMPTY: 39, - ENOTSOCK: 88, - ENOTSUP: 95, - ENOTTY: 25, - ENXIO: 6, - EOPNOTSUPP: 95, - EOVERFLOW: 75, - EPERM: 1, - EPIPE: 32, - EPROTO: 71, - EPROTONOSUPPORT: 93, - EPROTOTYPE: 91, - ERANGE: 34, - EROFS: 30, - ESPIPE: 29, - ESRCH: 3, - ESTALE: 116, - ETIME: 62, - ETIMEDOUT: 110, - ETXTBSY: 26, - EWOULDBLOCK: 11, - EXDEV: 18, - }, - signals: { - SIGHUP: 1, - SIGINT: 2, - SIGQUIT: 3, - SIGILL: 4, - SIGTRAP: 5, - SIGABRT: 6, - SIGIOT: 6, - SIGBUS: 7, - SIGFPE: 8, - SIGKILL: 9, - SIGUSR1: 10, - SIGSEGV: 11, - SIGUSR2: 12, - SIGPIPE: 13, - SIGALRM: 14, - SIGTERM: 15, - SIGCHLD: 17, - SIGSTKFLT: 16, - SIGCONT: 18, - SIGSTOP: 19, - SIGTSTP: 20, - SIGTTIN: 21, - SIGTTOU: 22, - SIGURG: 23, - SIGXCPU: 24, - SIGXFSZ: 25, - SIGVTALRM: 26, - SIGPROF: 27, - SIGWINCH: 28, - SIGIO: 29, - SIGPOLL: 29, - SIGPWR: 30, - SIGSYS: 31, - SIGUNUSED: 31, - }, - priority: { - PRIORITY_LOW: 19, - PRIORITY_BELOW_NORMAL: 10, - PRIORITY_NORMAL: 0, - PRIORITY_ABOVE_NORMAL: -7, - PRIORITY_HIGH: -14, - PRIORITY_HIGHEST: -20, - }, - }; -} else { - os = { - UV_UDP_REUSEADDR: 4, - dlopen: {}, - errno: { - E2BIG: 7, - EACCES: 13, - EADDRINUSE: 100, - EADDRNOTAVAIL: 101, - EAFNOSUPPORT: 102, - EAGAIN: 11, - EALREADY: 103, - EBADF: 9, - EBADMSG: 104, - EBUSY: 16, - ECANCELED: 105, - ECHILD: 10, - ECONNABORTED: 106, - ECONNREFUSED: 107, - ECONNRESET: 108, - EDEADLK: 36, - EDESTADDRREQ: 109, - EDOM: 33, - EEXIST: 17, - EFAULT: 14, - EFBIG: 27, - EHOSTUNREACH: 110, - EIDRM: 111, - EILSEQ: 42, - EINPROGRESS: 112, - EINTR: 4, - EINVAL: 22, - EIO: 5, - EISCONN: 113, - EISDIR: 21, - ELOOP: 114, - EMFILE: 24, - EMLINK: 31, - EMSGSIZE: 115, - ENAMETOOLONG: 38, - ENETDOWN: 116, - ENETRESET: 117, - ENETUNREACH: 118, - ENFILE: 23, - ENOBUFS: 119, - ENODATA: 120, - ENODEV: 19, - ENOENT: 2, - ENOEXEC: 8, - ENOLCK: 39, - ENOLINK: 121, - ENOMEM: 12, - ENOMSG: 122, - ENOPROTOOPT: 123, - ENOSPC: 28, - ENOSR: 124, - ENOSTR: 125, - ENOSYS: 40, - ENOTCONN: 126, - ENOTDIR: 20, - ENOTEMPTY: 41, - ENOTSOCK: 128, - ENOTSUP: 129, - ENOTTY: 25, - ENXIO: 6, - EOPNOTSUPP: 130, - EOVERFLOW: 132, - EPERM: 1, - EPIPE: 32, - EPROTO: 134, - EPROTONOSUPPORT: 135, - EPROTOTYPE: 136, - ERANGE: 34, - EROFS: 30, - ESPIPE: 29, - ESRCH: 3, - ETIME: 137, - ETIMEDOUT: 138, - ETXTBSY: 139, - EWOULDBLOCK: 140, - EXDEV: 18, - WSAEINTR: 10004, - WSAEBADF: 10009, - WSAEACCES: 10013, - WSAEFAULT: 10014, - WSAEINVAL: 10022, - WSAEMFILE: 10024, - WSAEWOULDBLOCK: 10035, - WSAEINPROGRESS: 10036, - WSAEALREADY: 10037, - WSAENOTSOCK: 10038, - WSAEDESTADDRREQ: 10039, - WSAEMSGSIZE: 10040, - WSAEPROTOTYPE: 10041, - WSAENOPROTOOPT: 10042, - WSAEPROTONOSUPPORT: 10043, - WSAESOCKTNOSUPPORT: 10044, - WSAEOPNOTSUPP: 10045, - WSAEPFNOSUPPORT: 10046, - WSAEAFNOSUPPORT: 10047, - WSAEADDRINUSE: 10048, - WSAEADDRNOTAVAIL: 10049, - WSAENETDOWN: 10050, - WSAENETUNREACH: 10051, - WSAENETRESET: 10052, - WSAECONNABORTED: 10053, - WSAECONNRESET: 10054, - WSAENOBUFS: 10055, - WSAEISCONN: 10056, - WSAENOTCONN: 10057, - WSAESHUTDOWN: 10058, - WSAETOOMANYREFS: 10059, - WSAETIMEDOUT: 10060, - WSAECONNREFUSED: 10061, - WSAELOOP: 10062, - WSAENAMETOOLONG: 10063, - WSAEHOSTDOWN: 10064, - WSAEHOSTUNREACH: 10065, - WSAENOTEMPTY: 10066, - WSAEPROCLIM: 10067, - WSAEUSERS: 10068, - WSAEDQUOT: 10069, - WSAESTALE: 10070, - WSAEREMOTE: 10071, - WSASYSNOTREADY: 10091, - WSAVERNOTSUPPORTED: 10092, - WSANOTINITIALISED: 10093, - WSAEDISCON: 10101, - WSAENOMORE: 10102, - WSAECANCELLED: 10103, - WSAEINVALIDPROCTABLE: 10104, - WSAEINVALIDPROVIDER: 10105, - WSAEPROVIDERFAILEDINIT: 10106, - WSASYSCALLFAILURE: 10107, - WSASERVICE_NOT_FOUND: 10108, - WSATYPE_NOT_FOUND: 10109, - WSA_E_NO_MORE: 10110, - WSA_E_CANCELLED: 10111, - WSAEREFUSED: 10112, - }, - signals: { - SIGHUP: 1, - SIGINT: 2, - SIGILL: 4, - SIGABRT: 22, - SIGFPE: 8, - SIGKILL: 9, - SIGSEGV: 11, - SIGTERM: 15, - SIGBREAK: 21, - SIGWINCH: 28, - }, - priority: { - PRIORITY_LOW: 19, - PRIORITY_BELOW_NORMAL: 10, - PRIORITY_NORMAL: 0, - PRIORITY_ABOVE_NORMAL: -7, - PRIORITY_HIGH: -14, - PRIORITY_HIGHEST: -20, - }, - }; -} - -export { os }; - -export const fs = { - UV_FS_SYMLINK_DIR: 1, - UV_FS_SYMLINK_JUNCTION: 2, - O_RDONLY: 0, - O_WRONLY: 1, - O_RDWR: 2, - UV_DIRENT_UNKNOWN: 0, - UV_DIRENT_FILE: 1, - UV_DIRENT_DIR: 2, - UV_DIRENT_LINK: 3, - UV_DIRENT_FIFO: 4, - UV_DIRENT_SOCKET: 5, - UV_DIRENT_CHAR: 6, - UV_DIRENT_BLOCK: 7, - S_IFMT: 61440, - S_IFREG: 32768, - S_IFDIR: 16384, - S_IFCHR: 8192, - S_IFBLK: 24576, - S_IFIFO: 4096, - S_IFLNK: 40960, - S_IFSOCK: 49152, - O_CREAT: 512, - O_EXCL: 2048, - UV_FS_O_FILEMAP: 0, - O_NOCTTY: 131072, - O_TRUNC: 1024, - O_APPEND: 8, - O_DIRECTORY: 1048576, - O_NOFOLLOW: 256, - O_SYNC: 128, - O_DSYNC: 4194304, - O_SYMLINK: 2097152, - O_NONBLOCK: 4, - S_IRWXU: 448, - S_IRUSR: 256, - S_IWUSR: 128, - S_IXUSR: 64, - S_IRWXG: 56, - S_IRGRP: 32, - S_IWGRP: 16, - S_IXGRP: 8, - S_IRWXO: 7, - S_IROTH: 4, - S_IWOTH: 2, - S_IXOTH: 1, - F_OK: 0, - R_OK: 4, - W_OK: 2, - X_OK: 1, - UV_FS_COPYFILE_EXCL: 1, - COPYFILE_EXCL: 1, - UV_FS_COPYFILE_FICLONE: 2, - COPYFILE_FICLONE: 2, - UV_FS_COPYFILE_FICLONE_FORCE: 4, - COPYFILE_FICLONE_FORCE: 4, -} as const; -export const crypto = { - OPENSSL_VERSION_NUMBER: 269488319, - SSL_OP_ALL: 2147485780, - SSL_OP_ALLOW_NO_DHE_KEX: 1024, - SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: 262144, - SSL_OP_CIPHER_SERVER_PREFERENCE: 4194304, - SSL_OP_CISCO_ANYCONNECT: 32768, - SSL_OP_COOKIE_EXCHANGE: 8192, - SSL_OP_CRYPTOPRO_TLSEXT_BUG: 2147483648, - SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: 2048, - SSL_OP_EPHEMERAL_RSA: 0, - SSL_OP_LEGACY_SERVER_CONNECT: 4, - SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: 0, - SSL_OP_MICROSOFT_SESS_ID_BUG: 0, - SSL_OP_MSIE_SSLV2_RSA_PADDING: 0, - SSL_OP_NETSCAPE_CA_DN_BUG: 0, - SSL_OP_NETSCAPE_CHALLENGE_BUG: 0, - SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: 0, - SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: 0, - SSL_OP_NO_COMPRESSION: 131072, - SSL_OP_NO_ENCRYPT_THEN_MAC: 524288, - SSL_OP_NO_QUERY_MTU: 4096, - SSL_OP_NO_RENEGOTIATION: 1073741824, - SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: 65536, - SSL_OP_NO_SSLv2: 0, - SSL_OP_NO_SSLv3: 33554432, - SSL_OP_NO_TICKET: 16384, - SSL_OP_NO_TLSv1: 67108864, - SSL_OP_NO_TLSv1_1: 268435456, - SSL_OP_NO_TLSv1_2: 134217728, - SSL_OP_NO_TLSv1_3: 536870912, - SSL_OP_PKCS1_CHECK_1: 0, - SSL_OP_PKCS1_CHECK_2: 0, - SSL_OP_PRIORITIZE_CHACHA: 2097152, - SSL_OP_SINGLE_DH_USE: 0, - SSL_OP_SINGLE_ECDH_USE: 0, - SSL_OP_SSLEAY_080_CLIENT_DH_BUG: 0, - SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: 0, - SSL_OP_TLS_BLOCK_PADDING_BUG: 0, - SSL_OP_TLS_D5_BUG: 0, - SSL_OP_TLS_ROLLBACK_BUG: 8388608, - ENGINE_METHOD_RSA: 1, - ENGINE_METHOD_DSA: 2, - ENGINE_METHOD_DH: 4, - ENGINE_METHOD_RAND: 8, - ENGINE_METHOD_EC: 2048, - ENGINE_METHOD_CIPHERS: 64, - ENGINE_METHOD_DIGESTS: 128, - ENGINE_METHOD_PKEY_METHS: 512, - ENGINE_METHOD_PKEY_ASN1_METHS: 1024, - ENGINE_METHOD_ALL: 65535, - ENGINE_METHOD_NONE: 0, - DH_CHECK_P_NOT_SAFE_PRIME: 2, - DH_CHECK_P_NOT_PRIME: 1, - DH_UNABLE_TO_CHECK_GENERATOR: 4, - DH_NOT_SUITABLE_GENERATOR: 8, - ALPN_ENABLED: 1, - RSA_PKCS1_PADDING: 1, - RSA_SSLV23_PADDING: 2, - RSA_NO_PADDING: 3, - RSA_PKCS1_OAEP_PADDING: 4, - RSA_X931_PADDING: 5, - RSA_PKCS1_PSS_PADDING: 6, - RSA_PSS_SALTLEN_DIGEST: -1, - RSA_PSS_SALTLEN_MAX_SIGN: -2, - RSA_PSS_SALTLEN_AUTO: -2, - defaultCoreCipherList: - "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA", - TLS1_VERSION: 769, - TLS1_1_VERSION: 770, - TLS1_2_VERSION: 771, - TLS1_3_VERSION: 772, - POINT_CONVERSION_COMPRESSED: 2, - POINT_CONVERSION_UNCOMPRESSED: 4, - POINT_CONVERSION_HYBRID: 6, -} as const; -export const zlib = { - Z_NO_FLUSH: 0, - Z_PARTIAL_FLUSH: 1, - Z_SYNC_FLUSH: 2, - Z_FULL_FLUSH: 3, - Z_FINISH: 4, - Z_BLOCK: 5, - Z_OK: 0, - Z_STREAM_END: 1, - Z_NEED_DICT: 2, - Z_ERRNO: -1, - Z_STREAM_ERROR: -2, - Z_DATA_ERROR: -3, - Z_MEM_ERROR: -4, - Z_BUF_ERROR: -5, - Z_VERSION_ERROR: -6, - Z_NO_COMPRESSION: 0, - Z_BEST_SPEED: 1, - Z_BEST_COMPRESSION: 9, - Z_DEFAULT_COMPRESSION: -1, - Z_FILTERED: 1, - Z_HUFFMAN_ONLY: 2, - Z_RLE: 3, - Z_FIXED: 4, - Z_DEFAULT_STRATEGY: 0, - ZLIB_VERNUM: 4784, - DEFLATE: 1, - INFLATE: 2, - GZIP: 3, - GUNZIP: 4, - DEFLATERAW: 5, - INFLATERAW: 6, - UNZIP: 7, - BROTLI_DECODE: 8, - BROTLI_ENCODE: 9, - Z_MIN_WINDOWBITS: 8, - Z_MAX_WINDOWBITS: 15, - Z_DEFAULT_WINDOWBITS: 15, - Z_MIN_CHUNK: 64, - Z_MAX_CHUNK: Infinity, - Z_DEFAULT_CHUNK: 16384, - Z_MIN_MEMLEVEL: 1, - Z_MAX_MEMLEVEL: 9, - Z_DEFAULT_MEMLEVEL: 8, - Z_MIN_LEVEL: -1, - Z_MAX_LEVEL: 9, - Z_DEFAULT_LEVEL: -1, - BROTLI_OPERATION_PROCESS: 0, - BROTLI_OPERATION_FLUSH: 1, - BROTLI_OPERATION_FINISH: 2, - BROTLI_OPERATION_EMIT_METADATA: 3, - BROTLI_PARAM_MODE: 0, - BROTLI_MODE_GENERIC: 0, - BROTLI_MODE_TEXT: 1, - BROTLI_MODE_FONT: 2, - BROTLI_DEFAULT_MODE: 0, - BROTLI_PARAM_QUALITY: 1, - BROTLI_MIN_QUALITY: 0, - BROTLI_MAX_QUALITY: 11, - BROTLI_DEFAULT_QUALITY: 11, - BROTLI_PARAM_LGWIN: 2, - BROTLI_MIN_WINDOW_BITS: 10, - BROTLI_MAX_WINDOW_BITS: 24, - BROTLI_LARGE_MAX_WINDOW_BITS: 30, - BROTLI_DEFAULT_WINDOW: 22, - BROTLI_PARAM_LGBLOCK: 3, - BROTLI_MIN_INPUT_BLOCK_BITS: 16, - BROTLI_MAX_INPUT_BLOCK_BITS: 24, - BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4, - BROTLI_PARAM_SIZE_HINT: 5, - BROTLI_PARAM_LARGE_WINDOW: 6, - BROTLI_PARAM_NPOSTFIX: 7, - BROTLI_PARAM_NDIRECT: 8, - BROTLI_DECODER_RESULT_ERROR: 0, - BROTLI_DECODER_RESULT_SUCCESS: 1, - BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2, - BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3, - BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0, - BROTLI_DECODER_PARAM_LARGE_WINDOW: 1, - BROTLI_DECODER_NO_ERROR: 0, - BROTLI_DECODER_SUCCESS: 1, - BROTLI_DECODER_NEEDS_MORE_INPUT: 2, - BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3, - BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1, - BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2, - BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3, - BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4, - BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5, - BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6, - BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7, - BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8, - BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9, - BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10, - BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11, - BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12, - BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13, - BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14, - BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15, - BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16, - BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19, - BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20, - BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21, - BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22, - BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25, - BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26, - BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27, - BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30, - BROTLI_DECODER_ERROR_UNREACHABLE: -31, -} as const; -export const trace = { - TRACE_EVENT_PHASE_BEGIN: 66, - TRACE_EVENT_PHASE_END: 69, - TRACE_EVENT_PHASE_COMPLETE: 88, - TRACE_EVENT_PHASE_INSTANT: 73, - TRACE_EVENT_PHASE_ASYNC_BEGIN: 83, - TRACE_EVENT_PHASE_ASYNC_STEP_INTO: 84, - TRACE_EVENT_PHASE_ASYNC_STEP_PAST: 112, - TRACE_EVENT_PHASE_ASYNC_END: 70, - TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN: 98, - TRACE_EVENT_PHASE_NESTABLE_ASYNC_END: 101, - TRACE_EVENT_PHASE_NESTABLE_ASYNC_INSTANT: 110, - TRACE_EVENT_PHASE_FLOW_BEGIN: 115, - TRACE_EVENT_PHASE_FLOW_STEP: 116, - TRACE_EVENT_PHASE_FLOW_END: 102, - TRACE_EVENT_PHASE_METADATA: 77, - TRACE_EVENT_PHASE_COUNTER: 67, - TRACE_EVENT_PHASE_SAMPLE: 80, - TRACE_EVENT_PHASE_CREATE_OBJECT: 78, - TRACE_EVENT_PHASE_SNAPSHOT_OBJECT: 79, - TRACE_EVENT_PHASE_DELETE_OBJECT: 68, - TRACE_EVENT_PHASE_MEMORY_DUMP: 118, - TRACE_EVENT_PHASE_MARK: 82, - TRACE_EVENT_PHASE_CLOCK_SYNC: 99, - TRACE_EVENT_PHASE_ENTER_CONTEXT: 40, - TRACE_EVENT_PHASE_LEAVE_CONTEXT: 41, - TRACE_EVENT_PHASE_LINK_IDS: 61, -} as const; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts deleted file mode 100644 index 18013b2..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license. - -import { notImplemented } from "../_utils.ts"; - -export { timingSafeEqual } from "./_timingSafeEqual.ts"; - -export function getFipsCrypto(): boolean { - notImplemented("crypto.getFipsCrypto"); -} - -export function setFipsCrypto(_fips: boolean) { - notImplemented("crypto.setFipsCrypto"); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts deleted file mode 100644 index b0ff4cb..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/handle_wrap.cc -// - https://github.com/nodejs/node/blob/master/src/handle_wrap.h - -import { unreachable } from "../../_util/asserts.ts"; -import { AsyncWrap, providerType } from "./async_wrap.ts"; - -export class HandleWrap extends AsyncWrap { - constructor(provider: providerType) { - super(provider); - } - - close(cb: () => void = () => {}) { - this._onClose(); - queueMicrotask(cb); - } - - ref() { - unreachable(); - } - - unref() { - unreachable(); - } - - // deno-lint-ignore no-explicit-any - _onClose(): any {} -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts deleted file mode 100644 index 5759c47..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import * as asyncWrap from "./async_wrap.ts"; -import * as buffer from "./buffer.ts"; -import * as config from "./config.ts"; -import * as caresWrap from "./cares_wrap.ts"; -import * as constants from "./constants.ts"; -import * as contextify from "./contextify.ts"; -import * as crypto from "./crypto.ts"; -import * as credentials from "./credentials.ts"; -import * as errors from "./errors.ts"; -import * as fs from "./fs.ts"; -import * as fsDir from "./fs_dir.ts"; -import * as fsEventWrap from "./fs_event_wrap.ts"; -import * as heapUtils from "./heap_utils.ts"; -import * as httpParser from "./http_parser.ts"; -import * as icu from "./icu.ts"; -import * as inspector from "./inspector.ts"; -import * as jsStream from "./js_stream.ts"; -import * as messaging from "./messaging.ts"; -import * as moduleWrap from "./module_wrap.ts"; -import * as nativeModule from "./native_module.ts"; -import * as natives from "./natives.ts"; -import * as options from "./options.ts"; -import * as os from "./os.ts"; -import * as pipeWrap from "./pipe_wrap.ts"; -import * as performance from "./performance.ts"; -import * as processMethods from "./process_methods.ts"; -import * as report from "./report.ts"; -import * as serdes from "./serdes.ts"; -import * as signalWrap from "./signal_wrap.ts"; -import * as spawnSync from "./spawn_sync.ts"; -import * as streamWrap from "./stream_wrap.ts"; -import * as stringDecoder from "./string_decoder.ts"; -import * as symbols from "./symbols.ts"; -import * as taskQueue from "./task_queue.ts"; -import * as tcpWrap from "./tcp_wrap.ts"; -import * as timers from "./timers.ts"; -import * as tlsWrap from "./tls_wrap.ts"; -import * as traceEvents from "./trace_events.ts"; -import * as ttyWrap from "./tty_wrap.ts"; -import * as types from "./types.ts"; -import * as udpWrap from "./udp_wrap.ts"; -import * as url from "./url.ts"; -import * as util from "./util.ts"; -import * as uv from "./uv.ts"; -import * as v8 from "./v8.ts"; -import * as worker from "./worker.ts"; -import * as zlib from "./zlib.ts"; - -const modules = { - "async_wrap": asyncWrap, - buffer, - "cares_wrap": caresWrap, - config, - constants, - contextify, - credentials, - crypto, - errors, - fs, - "fs_dir": fsDir, - "fs_event_wrap": fsEventWrap, - "heap_utils": heapUtils, - "http_parser": httpParser, - icu, - inspector, - "js_stream": jsStream, - messaging, - "module_wrap": moduleWrap, - "native_module": nativeModule, - natives, - options, - os, - performance, - "pipe_wrap": pipeWrap, - "process_methods": processMethods, - report, - serdes, - "signal_wrap": signalWrap, - "spawn_sync": spawnSync, - "stream_wrap": streamWrap, - "string_decoder": stringDecoder, - symbols, - "task_queue": taskQueue, - "tcp_wrap": tcpWrap, - timers, - "tls_wrap": tlsWrap, - "trace_events": traceEvents, - "tty_wrap": ttyWrap, - types, - "udp_wrap": udpWrap, - url, - util, - uv, - v8, - worker, - zlib, -}; - -export type BindingName = keyof typeof modules; - -export function getBinding(name: BindingName) { - const mod = modules[name]; - if (!mod) { - throw new Error(`No such module: ${name}`); - } - return mod; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts deleted file mode 100644 index af82726..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/node_file-inl.h -// - https://github.com/nodejs/node/blob/master/src/node_file.cc -// - https://github.com/nodejs/node/blob/master/src/node_file.h - -import { assert } from "../../_util/asserts.ts"; - -/** - * Write to the given file from the given buffer synchronously. - * - * Implements sync part of WriteBuffer in src/node_file.cc - * See: https://github.com/nodejs/node/blob/e9ed113/src/node_file.cc#L1818 - * - * @param fs file descriptor - * @param buffer the data to write - * @param offset where in the buffer to start from - * @param length how much to write - * @param position if integer, position to write at in the file. if null, write from the current position - * @param context context object for passing error number - */ -export function writeBuffer( - fd: number, - buffer: Uint8Array, - offset: number, - length: number, - position: number | null, - ctx: { errno?: number }, -) { - assert(offset >= 0, "offset should be greater or equal to 0"); - assert( - offset + length <= buffer.byteLength, - `buffer doesn't have enough data: byteLength = ${buffer.byteLength}, offset + length = ${ - offset + - length - }`, - ); - - if (position) { - Deno.seekSync(fd, position, Deno.SeekMode.Current); - } - - const subarray = buffer.subarray(offset, offset + length); - - try { - return Deno.writeSync(fd, subarray); - } catch (e) { - ctx.errno = extractOsErrorNumberFromErrorMessage(e); - return 0; - } -} - -function extractOsErrorNumberFromErrorMessage(e: unknown): number { - const match = e instanceof Error - ? e.message.match(/\(os error (\d+)\)/) - : false; - - if (match) { - return +match[1]; - } - - return 255; // Unknown error -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts deleted file mode 100644 index fbcc47b..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/node_options-inl.h -// - https://github.com/nodejs/node/blob/master/src/node_options.cc -// - https://github.com/nodejs/node/blob/master/src/node_options.h - -import { parse } from "../../flags/mod.ts"; - -export function getOptions() { - // deno-lint-ignore no-explicit-any - const { Deno } = globalThis as any; - const args = parse(Deno?.args ?? []); - const options = new Map( - Object.entries(args).map(([key, value]) => [key, { value }]), - ); - - return { options }; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts deleted file mode 100644 index cb89529..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts +++ /dev/null @@ -1,392 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/pipe_wrap.cc -// - https://github.com/nodejs/node/blob/master/src/pipe_wrap.h - -import { notImplemented } from "../_utils.ts"; -import { unreachable } from "../../_util/asserts.ts"; -import { ConnectionWrap } from "./connection_wrap.ts"; -import { AsyncWrap, providerType } from "./async_wrap.ts"; -import { LibuvStreamWrap } from "./stream_wrap.ts"; -import { codeMap } from "./uv.ts"; -import { delay } from "../../async/mod.ts"; -import { kStreamBaseField } from "./stream_wrap.ts"; -import { - ceilPowOf2, - INITIAL_ACCEPT_BACKOFF_DELAY, - MAX_ACCEPT_BACKOFF_DELAY, -} from "./_listen.ts"; -import { isWindows } from "../../_util/os.ts"; -import { fs } from "./constants.ts"; - -export enum socketType { - SOCKET, - SERVER, - IPC, -} - -export class Pipe extends ConnectionWrap { - override reading = false; - ipc: boolean; - - // REF: https://github.com/nodejs/node/blob/master/deps/uv/src/win/pipe.c#L48 - #pendingInstances = 4; - - #address?: string; - - #backlog?: number; - #listener!: Deno.Listener; - #connections = 0; - - #closed = false; - #acceptBackoffDelay?: number; - - constructor(type: number, conn?: Deno.UnixConn) { - let provider: providerType; - let ipc: boolean; - - switch (type) { - case socketType.SOCKET: { - provider = providerType.PIPEWRAP; - ipc = false; - - break; - } - case socketType.SERVER: { - provider = providerType.PIPESERVERWRAP; - ipc = false; - - break; - } - case socketType.IPC: { - provider = providerType.PIPEWRAP; - ipc = true; - - break; - } - default: { - unreachable(); - } - } - - super(provider, conn); - - this.ipc = ipc; - - if (conn && provider === providerType.PIPEWRAP) { - const localAddr = conn.localAddr as Deno.UnixAddr; - this.#address = localAddr.path; - } - } - - open(_fd: number): number { - // REF: https://github.com/denoland/deno/issues/6529 - notImplemented("Pipe.prototype.open"); - } - - /** - * Bind to a Unix domain or Windows named pipe. - * @param name Unix domain or Windows named pipe the server should listen to. - * @return An error status code. - */ - bind(name: string) { - // Deno doesn't currently separate bind from connect. For now we noop under - // the assumption we will connect shortly. - // REF: https://doc.deno.land/deno/unstable/~/Deno.connect - - this.#address = name; - - return 0; - } - - /** - * Connect to a Unix domain or Windows named pipe. - * @param req A PipeConnectWrap instance. - * @param address Unix domain or Windows named pipe the server should connect to. - * @return An error status code. - */ - connect(req: PipeConnectWrap, address: string) { - if (isWindows) { - // REF: https://github.com/denoland/deno/issues/10244 - notImplemented("Pipe.prototype.connect - Windows"); - } - - const connectOptions: Deno.UnixConnectOptions = { - path: address, - transport: "unix", - }; - - Deno.connect(connectOptions).then( - (conn: Deno.UnixConn) => { - const localAddr = conn.localAddr as Deno.UnixAddr; - - this.#address = req.address = localAddr.path; - this[kStreamBaseField] = conn; - - try { - this.afterConnect(req, 0); - } catch { - // swallow callback errors. - } - }, - (e) => { - // TODO(cmorten): correct mapping of connection error to status code. - let code: number; - - if (e instanceof Deno.errors.NotFound) { - code = codeMap.get("ENOENT")!; - } else if (e instanceof Deno.errors.PermissionDenied) { - code = codeMap.get("EACCES")!; - } else { - code = codeMap.get("ECONNREFUSED")!; - } - - try { - this.afterConnect(req, code); - } catch { - // swallow callback errors. - } - }, - ); - - return 0; - } - - /** - * Listen for new connections. - * @param backlog The maximum length of the queue of pending connections. - * @return An error status code. - */ - listen(backlog: number): number { - if (isWindows) { - // REF: https://github.com/denoland/deno/issues/10244 - notImplemented("Pipe.prototype.listen - Windows"); - } - - this.#backlog = isWindows - ? this.#pendingInstances - : ceilPowOf2(backlog + 1); - - const listenOptions = { - path: this.#address!, - transport: "unix" as const, - }; - - let listener; - - try { - listener = Deno.listen(listenOptions); - } catch (e) { - if (e instanceof Deno.errors.AddrInUse) { - return codeMap.get("EADDRINUSE")!; - } else if (e instanceof Deno.errors.AddrNotAvailable) { - return codeMap.get("EADDRNOTAVAIL")!; - } - - // TODO(cmorten): map errors to appropriate error codes. - return codeMap.get("UNKNOWN")!; - } - - const address = listener.addr as Deno.UnixAddr; - this.#address = address.path; - - this.#listener = listener; - this.#accept(); - - return 0; - } - - override ref() { - if (this.#listener) { - this.#listener.ref(); - } - } - - override unref() { - if (this.#listener) { - this.#listener.unref(); - } - } - - /** - * Set the number of pending pipe instance handles when the pipe server is - * waiting for connections. This setting applies to Windows only. - * @param instances Number of pending pipe instances. - */ - setPendingInstances(instances: number) { - this.#pendingInstances = instances; - } - - /** - * Alters pipe permissions, allowing it to be accessed from processes run by - * different users. Makes the pipe writable or readable by all users. Mode - * can be `UV_WRITABLE`, `UV_READABLE` or `UV_WRITABLE | UV_READABLE`. This - * function is blocking. - * @param mode Pipe permissions mode. - * @return An error status code. - */ - fchmod(mode: number) { - if ( - mode != constants.UV_READABLE && - mode != constants.UV_WRITABLE && - mode != (constants.UV_WRITABLE | constants.UV_READABLE) - ) { - return codeMap.get("EINVAL"); - } - - let desired_mode = 0; - - if (mode & constants.UV_READABLE) { - desired_mode |= fs.S_IRUSR | fs.S_IRGRP | fs.S_IROTH; - } - if (mode & constants.UV_WRITABLE) { - desired_mode |= fs.S_IWUSR | fs.S_IWGRP | fs.S_IWOTH; - } - - // TODO(cmorten): this will incorrectly throw on Windows - // REF: https://github.com/denoland/deno/issues/4357 - try { - Deno.chmodSync(this.#address!, desired_mode); - } catch { - // TODO(cmorten): map errors to appropriate error codes. - return codeMap.get("UNKNOWN")!; - } - - return 0; - } - - /** Handle backoff delays following an unsuccessful accept. */ - async #acceptBackoff() { - // Backoff after transient errors to allow time for the system to - // recover, and avoid blocking up the event loop with a continuously - // running loop. - if (!this.#acceptBackoffDelay) { - this.#acceptBackoffDelay = INITIAL_ACCEPT_BACKOFF_DELAY; - } else { - this.#acceptBackoffDelay *= 2; - } - - if (this.#acceptBackoffDelay >= MAX_ACCEPT_BACKOFF_DELAY) { - this.#acceptBackoffDelay = MAX_ACCEPT_BACKOFF_DELAY; - } - - await delay(this.#acceptBackoffDelay); - - this.#accept(); - } - - /** Accept new connections. */ - async #accept(): Promise { - if (this.#closed) { - return; - } - - if (this.#connections > this.#backlog!) { - this.#acceptBackoff(); - - return; - } - - let connection: Deno.Conn; - - try { - connection = await this.#listener.accept(); - } catch (e) { - if (e instanceof Deno.errors.BadResource && this.#closed) { - // Listener and server has closed. - return; - } - - try { - // TODO(cmorten): map errors to appropriate error codes. - this.onconnection!(codeMap.get("UNKNOWN")!, undefined); - } catch { - // swallow callback errors. - } - - this.#acceptBackoff(); - - return; - } - - // Reset the backoff delay upon successful accept. - this.#acceptBackoffDelay = undefined; - - const connectionHandle = new Pipe(socketType.SOCKET, connection); - this.#connections++; - - try { - this.onconnection!(0, connectionHandle); - } catch { - // swallow callback errors. - } - - return this.#accept(); - } - - /** Handle server closure. */ - override _onClose(): number { - this.#closed = true; - this.reading = false; - - this.#address = undefined; - - this.#backlog = undefined; - this.#connections = 0; - this.#acceptBackoffDelay = undefined; - - if (this.provider === providerType.PIPESERVERWRAP) { - try { - this.#listener.close(); - } catch { - // listener already closed - } - } - - return LibuvStreamWrap.prototype._onClose.call(this); - } -} - -export class PipeConnectWrap extends AsyncWrap { - oncomplete!: ( - status: number, - handle: ConnectionWrap, - req: PipeConnectWrap, - readable: boolean, - writeable: boolean, - ) => void; - address!: string; - - constructor() { - super(providerType.PIPECONNECTWRAP); - } -} - -export enum constants { - SOCKET = socketType.SOCKET, - SERVER = socketType.SERVER, - IPC = socketType.IPC, - UV_READABLE = 1, - UV_WRITABLE = 2, -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts deleted file mode 100644 index 465f7a2..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts +++ /dev/null @@ -1,354 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/stream_base-inl.h -// - https://github.com/nodejs/node/blob/master/src/stream_base.h -// - https://github.com/nodejs/node/blob/master/src/stream_base.cc -// - https://github.com/nodejs/node/blob/master/src/stream_wrap.h -// - https://github.com/nodejs/node/blob/master/src/stream_wrap.cc - -import { Buffer } from "../buffer.ts"; -import { notImplemented } from "../_utils.ts"; -import { HandleWrap } from "./handle_wrap.ts"; -import { AsyncWrap, providerType } from "./async_wrap.ts"; -import { codeMap } from "./uv.ts"; -import { writeAll } from "../../streams/write_all.ts"; -import type { Closer, Reader, Writer } from "../../types.d.ts"; - -type Ref = { ref(): void; unref(): void }; - -enum StreamBaseStateFields { - kReadBytesOrError, - kArrayBufferOffset, - kBytesWritten, - kLastWriteWasAsync, - kNumStreamBaseStateFields, -} - -export const kReadBytesOrError = StreamBaseStateFields.kReadBytesOrError; -export const kArrayBufferOffset = StreamBaseStateFields.kArrayBufferOffset; -export const kBytesWritten = StreamBaseStateFields.kBytesWritten; -export const kLastWriteWasAsync = StreamBaseStateFields.kLastWriteWasAsync; -export const kNumStreamBaseStateFields = - StreamBaseStateFields.kNumStreamBaseStateFields; - -export const streamBaseState = new Uint8Array(5); - -// This is Deno, it always will be async. -streamBaseState[kLastWriteWasAsync] = 1; - -export class WriteWrap extends AsyncWrap { - handle!: H; - oncomplete!: (status: number) => void; - async!: boolean; - bytes!: number; - buffer!: unknown; - callback!: unknown; - _chunks!: unknown[]; - - constructor() { - super(providerType.WRITEWRAP); - } -} - -export class ShutdownWrap extends AsyncWrap { - handle!: H; - oncomplete!: (status: number) => void; - callback!: () => void; - - constructor() { - super(providerType.SHUTDOWNWRAP); - } -} - -export const kStreamBaseField = Symbol("kStreamBaseField"); - -const SUGGESTED_SIZE = 64 * 1024; - -export class LibuvStreamWrap extends HandleWrap { - [kStreamBaseField]?: Reader & Writer & Closer & Ref; - - reading!: boolean; - #reading = false; - destroyed = false; - writeQueueSize = 0; - bytesRead = 0; - bytesWritten = 0; - - onread!: (_arrayBuffer: Uint8Array, _nread: number) => Uint8Array | undefined; - - constructor( - provider: providerType, - stream?: Reader & Writer & Closer & Ref, - ) { - super(provider); - this.#attachToObject(stream); - } - - /** - * Start the reading of the stream. - * @return An error status code. - */ - readStart(): number { - if (!this.#reading) { - this.#reading = true; - this.#read(); - } - - return 0; - } - - /** - * Stop the reading of the stream. - * @return An error status code. - */ - readStop(): number { - this.#reading = false; - - return 0; - } - - /** - * Shutdown the stream. - * @param req A shutdown request wrapper. - * @return An error status code. - */ - shutdown(req: ShutdownWrap): number { - const status = this._onClose(); - - try { - req.oncomplete(status); - } catch { - // swallow callback error. - } - - return 0; - } - - /** - * @param userBuf - * @return An error status code. - */ - useUserBuffer(_userBuf: unknown): number { - // TODO(cmorten) - notImplemented("LibuvStreamWrap.prototype.useUserBuffer"); - } - - /** - * Write a buffer to the stream. - * @param req A write request wrapper. - * @param data The Uint8Array buffer to write to the stream. - * @return An error status code. - */ - writeBuffer(req: WriteWrap, data: Uint8Array): number { - this.#write(req, data); - - return 0; - } - - /** - * Write multiple chunks at once. - * @param req A write request wrapper. - * @param chunks - * @param allBuffers - * @return An error status code. - */ - writev( - req: WriteWrap, - chunks: Buffer[] | (string | Buffer)[], - allBuffers: boolean, - ): number { - const count = allBuffers ? chunks.length : chunks.length >> 1; - const buffers: Buffer[] = new Array(count); - - if (!allBuffers) { - for (let i = 0; i < count; i++) { - const chunk = chunks[i * 2]; - - if (Buffer.isBuffer(chunk)) { - buffers[i] = chunk; - } - - // String chunk - const encoding: string = chunks[i * 2 + 1] as string; - buffers[i] = Buffer.from(chunk as string, encoding); - } - } else { - for (let i = 0; i < count; i++) { - buffers[i] = chunks[i] as Buffer; - } - } - - return this.writeBuffer(req, Buffer.concat(buffers)); - } - - /** - * Write an ASCII string to the stream. - * @return An error status code. - */ - writeAsciiString(req: WriteWrap, data: string): number { - const buffer = new TextEncoder().encode(data); - - return this.writeBuffer(req, buffer); - } - - /** - * Write an UTF8 string to the stream. - * @return An error status code. - */ - writeUtf8String(req: WriteWrap, data: string): number { - const buffer = new TextEncoder().encode(data); - - return this.writeBuffer(req, buffer); - } - - /** - * Write an UCS2 string to the stream. - * @return An error status code. - */ - writeUcs2String(_req: WriteWrap, _data: string): number { - notImplemented("LibuvStreamWrap.prototype.writeUcs2String"); - } - - /** - * Write an LATIN1 string to the stream. - * @return An error status code. - */ - writeLatin1String(req: WriteWrap, data: string): number { - const buffer = Buffer.from(data, "latin1"); - return this.writeBuffer(req, buffer); - } - - override _onClose(): number { - let status = 0; - this.#reading = false; - - try { - this[kStreamBaseField]?.close(); - } catch { - status = codeMap.get("ENOTCONN")!; - } - - return status; - } - - /** - * Attaches the class to the underlying stream. - * @param stream The stream to attach to. - */ - #attachToObject(stream?: Reader & Writer & Closer & Ref) { - this[kStreamBaseField] = stream; - } - - /** Internal method for reading from the attached stream. */ - async #read() { - let buf = new Uint8Array(SUGGESTED_SIZE); - - let nread: number | null; - try { - nread = await this[kStreamBaseField]!.read(buf); - } catch (e) { - if ( - e instanceof Deno.errors.Interrupted || - e instanceof Deno.errors.BadResource - ) { - nread = codeMap.get("EOF")!; - } else if ( - e instanceof Deno.errors.ConnectionReset || - e instanceof Deno.errors.ConnectionAborted - ) { - nread = codeMap.get("ECONNRESET")!; - } else { - nread = codeMap.get("UNKNOWN")!; - } - - buf = new Uint8Array(0); - } - - nread ??= codeMap.get("EOF")!; - - streamBaseState[kReadBytesOrError] = nread; - - if (nread > 0) { - this.bytesRead += nread; - } - - buf = buf.slice(0, nread); - - streamBaseState[kArrayBufferOffset] = 0; - - try { - this.onread!(buf, nread); - } catch { - // swallow callback errors. - } - - if (nread >= 0 && this.#reading) { - this.#read(); - } - } - - /** - * Internal method for writing to the attached stream. - * @param req A write request wrapper. - * @param data The Uint8Array buffer to write to the stream. - */ - async #write(req: WriteWrap, data: Uint8Array) { - const { byteLength } = data; - - try { - await writeAll(this[kStreamBaseField]!, data); - } catch (e) { - let status: number; - - // TODO(cmorten): map err to status codes - if ( - e instanceof Deno.errors.BadResource || - e instanceof Deno.errors.BrokenPipe - ) { - status = codeMap.get("EBADF")!; - } else { - status = codeMap.get("UNKNOWN")!; - } - - try { - req.oncomplete(status); - } catch { - // swallow callback errors. - } - - return; - } - - streamBaseState[kBytesWritten] = byteLength; - this.bytesWritten += byteLength; - - try { - req.oncomplete(0); - } catch { - // swallow callback errors. - } - - return; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts deleted file mode 100644 index c72d10b..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { Encodings } from "./_node.ts"; - -const encodings = []; -encodings[Encodings.ASCII] = "ascii"; -encodings[Encodings.BASE64] = "base64"; -encodings[Encodings.BASE64URL] = "base64url"; -encodings[Encodings.BUFFER] = "buffer"; -encodings[Encodings.HEX] = "hex"; -encodings[Encodings.LATIN1] = "latin1"; -encodings[Encodings.UCS2] = "utf16le"; -encodings[Encodings.UTF8] = "utf8"; - -export default { encodings }; -export { encodings }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts deleted file mode 100644 index affa86f..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/node_symbols.cc - -export const asyncIdSymbol: unique symbol = Symbol("asyncIdSymbol"); -export const ownerSymbol: unique symbol = Symbol("ownerSymbol"); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts deleted file mode 100644 index b429646..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts +++ /dev/null @@ -1,488 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/tcp_wrap.cc -// - https://github.com/nodejs/node/blob/master/src/tcp_wrap.h - -import { notImplemented } from "../_utils.ts"; -import { unreachable } from "../../_util/asserts.ts"; -import { ConnectionWrap } from "./connection_wrap.ts"; -import { AsyncWrap, providerType } from "./async_wrap.ts"; -import { LibuvStreamWrap } from "./stream_wrap.ts"; -import { ownerSymbol } from "./symbols.ts"; -import { codeMap } from "./uv.ts"; -import { delay } from "../../async/mod.ts"; -import { kStreamBaseField } from "./stream_wrap.ts"; -import { isIP } from "../internal/net.ts"; -import { - ceilPowOf2, - INITIAL_ACCEPT_BACKOFF_DELAY, - MAX_ACCEPT_BACKOFF_DELAY, -} from "./_listen.ts"; - -/** The type of TCP socket. */ -enum socketType { - SOCKET, - SERVER, -} - -interface AddressInfo { - address: string; - family?: number; - port: number; -} - -export class TCPConnectWrap extends AsyncWrap { - oncomplete!: ( - status: number, - handle: ConnectionWrap, - req: TCPConnectWrap, - readable: boolean, - writeable: boolean, - ) => void; - address!: string; - port!: number; - localAddress!: string; - localPort!: number; - - constructor() { - super(providerType.TCPCONNECTWRAP); - } -} - -export enum constants { - SOCKET = socketType.SOCKET, - SERVER = socketType.SERVER, - UV_TCP_IPV6ONLY, -} - -export class TCP extends ConnectionWrap { - [ownerSymbol]: unknown = null; - override reading = false; - - #address?: string; - #port?: number; - - #remoteAddress?: string; - #remoteFamily?: number; - #remotePort?: number; - - #backlog?: number; - #listener!: Deno.Listener; - #connections = 0; - - #closed = false; - #acceptBackoffDelay?: number; - - /** - * Creates a new TCP class instance. - * @param type The socket type. - * @param conn Optional connection object to wrap. - */ - constructor(type: number, conn?: Deno.Conn) { - let provider: providerType; - - switch (type) { - case socketType.SOCKET: { - provider = providerType.TCPWRAP; - - break; - } - case socketType.SERVER: { - provider = providerType.TCPSERVERWRAP; - - break; - } - default: { - unreachable(); - } - } - - super(provider, conn); - - // TODO(cmorten): the handling of new connections and construction feels - // a little off. Suspect duplicating in some fashion. - if (conn && provider === providerType.TCPWRAP) { - const localAddr = conn.localAddr as Deno.NetAddr; - this.#address = localAddr.hostname; - this.#port = localAddr.port; - - const remoteAddr = conn.remoteAddr as Deno.NetAddr; - this.#remoteAddress = remoteAddr.hostname; - this.#remotePort = remoteAddr.port; - this.#remoteFamily = isIP(remoteAddr.hostname); - } - } - - /** - * Opens a file descriptor. - * @param fd The file descriptor to open. - * @return An error status code. - */ - open(_fd: number): number { - // REF: https://github.com/denoland/deno/issues/6529 - notImplemented("TCP.prototype.open"); - } - - /** - * Bind to an IPv4 address. - * @param address The hostname to bind to. - * @param port The port to bind to - * @return An error status code. - */ - bind(address: string, port: number): number { - return this.#bind(address, port, 0); - } - - /** - * Bind to an IPv6 address. - * @param address The hostname to bind to. - * @param port The port to bind to - * @return An error status code. - */ - bind6(address: string, port: number, flags: number): number { - return this.#bind(address, port, flags); - } - - /** - * Connect to an IPv4 address. - * @param req A TCPConnectWrap instance. - * @param address The hostname to connect to. - * @param port The port to connect to. - * @return An error status code. - */ - connect(req: TCPConnectWrap, address: string, port: number): number { - return this.#connect(req, address, port); - } - - /** - * Connect to an IPv6 address. - * @param req A TCPConnectWrap instance. - * @param address The hostname to connect to. - * @param port The port to connect to. - * @return An error status code. - */ - connect6(req: TCPConnectWrap, address: string, port: number): number { - return this.#connect(req, address, port); - } - - /** - * Listen for new connections. - * @param backlog The maximum length of the queue of pending connections. - * @return An error status code. - */ - listen(backlog: number): number { - this.#backlog = ceilPowOf2(backlog + 1); - - const listenOptions = { - hostname: this.#address!, - port: this.#port!, - transport: "tcp" as const, - }; - - let listener; - - try { - listener = Deno.listen(listenOptions); - } catch (e) { - if (e instanceof Deno.errors.AddrInUse) { - return codeMap.get("EADDRINUSE")!; - } else if (e instanceof Deno.errors.AddrNotAvailable) { - return codeMap.get("EADDRNOTAVAIL")!; - } - - // TODO(cmorten): map errors to appropriate error codes. - return codeMap.get("UNKNOWN")!; - } - - const address = listener.addr as Deno.NetAddr; - this.#address = address.hostname; - this.#port = address.port; - - this.#listener = listener; - this.#accept(); - - return 0; - } - - override ref() { - if (this.#listener) { - this.#listener.ref(); - } - - if (this[kStreamBaseField]) { - this[kStreamBaseField].ref(); - } - } - - override unref() { - if (this.#listener) { - this.#listener.unref(); - } - - if (this[kStreamBaseField]) { - this[kStreamBaseField].unref(); - } - } - - /** - * Populates the provided object with local address entries. - * @param sockname An object to add the local address entries to. - * @return An error status code. - */ - getsockname(sockname: Record | AddressInfo): number { - if ( - typeof this.#address === "undefined" || - typeof this.#port === "undefined" - ) { - return codeMap.get("EADDRNOTAVAIL")!; - } - - sockname.address = this.#address; - sockname.port = this.#port; - sockname.family = isIP(this.#address); - - return 0; - } - - /** - * Populates the provided object with remote address entries. - * @param peername An object to add the remote address entries to. - * @return An error status code. - */ - getpeername(peername: Record | AddressInfo): number { - if ( - typeof this.#remoteAddress === "undefined" || - typeof this.#remotePort === "undefined" - ) { - return codeMap.get("EADDRNOTAVAIL")!; - } - - peername.address = this.#remoteAddress; - peername.port = this.#remotePort; - peername.family = this.#remoteFamily; - - return 0; - } - - /** - * @param noDelay - * @return An error status code. - */ - setNoDelay(_noDelay: boolean): number { - // TODO(bnoordhuis) https://github.com/denoland/deno/pull/13103 - return 0; - } - - /** - * @param enable - * @param initialDelay - * @return An error status code. - */ - setKeepAlive(_enable: boolean, _initialDelay: number): number { - // TODO(bnoordhuis) https://github.com/denoland/deno/pull/13103 - return 0; - } - - /** - * Windows only. - * - * Deprecated by Node. - * REF: https://github.com/nodejs/node/blob/master/lib/net.js#L1731 - * - * @param enable - * @return An error status code. - * @deprecated - */ - setSimultaneousAccepts(_enable: boolean) { - // Low priority to implement owing to it being deprecated in Node. - notImplemented("TCP.prototype.setSimultaneousAccepts"); - } - - /** - * Bind to an IPv4 or IPv6 address. - * @param address The hostname to bind to. - * @param port The port to bind to - * @param _flags - * @return An error status code. - */ - #bind(address: string, port: number, _flags: number): number { - // Deno doesn't currently separate bind from connect etc. - // REF: - // - https://doc.deno.land/deno/stable/~/Deno.connect - // - https://doc.deno.land/deno/stable/~/Deno.listen - // - // This also means we won't be connecting from the specified local address - // and port as providing these is not an option in Deno. - // REF: - // - https://doc.deno.land/deno/stable/~/Deno.ConnectOptions - // - https://doc.deno.land/deno/stable/~/Deno.ListenOptions - - this.#address = address; - this.#port = port; - - return 0; - } - - /** - * Connect to an IPv4 or IPv6 address. - * @param req A TCPConnectWrap instance. - * @param address The hostname to connect to. - * @param port The port to connect to. - * @return An error status code. - */ - #connect(req: TCPConnectWrap, address: string, port: number): number { - this.#remoteAddress = address; - this.#remotePort = port; - this.#remoteFamily = isIP(address); - - const connectOptions: Deno.ConnectOptions = { - hostname: address, - port, - transport: "tcp", - }; - - Deno.connect(connectOptions).then( - (conn: Deno.Conn) => { - // Incorrect / backwards, but correcting the local address and port with - // what was actually used given we can't actually specify these in Deno. - const localAddr = conn.localAddr as Deno.NetAddr; - this.#address = req.localAddress = localAddr.hostname; - this.#port = req.localPort = localAddr.port; - this[kStreamBaseField] = conn; - - try { - this.afterConnect(req, 0); - } catch { - // swallow callback errors. - } - }, - () => { - try { - // TODO(cmorten): correct mapping of connection error to status code. - this.afterConnect(req, codeMap.get("ECONNREFUSED")!); - } catch { - // swallow callback errors. - } - }, - ); - - return 0; - } - - /** Handle backoff delays following an unsuccessful accept. */ - async #acceptBackoff() { - // Backoff after transient errors to allow time for the system to - // recover, and avoid blocking up the event loop with a continuously - // running loop. - if (!this.#acceptBackoffDelay) { - this.#acceptBackoffDelay = INITIAL_ACCEPT_BACKOFF_DELAY; - } else { - this.#acceptBackoffDelay *= 2; - } - - if (this.#acceptBackoffDelay >= MAX_ACCEPT_BACKOFF_DELAY) { - this.#acceptBackoffDelay = MAX_ACCEPT_BACKOFF_DELAY; - } - - await delay(this.#acceptBackoffDelay); - - this.#accept(); - } - - /** Accept new connections. */ - async #accept(): Promise { - if (this.#closed) { - return; - } - - if (this.#connections > this.#backlog!) { - this.#acceptBackoff(); - - return; - } - - let connection: Deno.Conn; - - try { - connection = await this.#listener.accept(); - } catch (e) { - if (e instanceof Deno.errors.BadResource && this.#closed) { - // Listener and server has closed. - return; - } - - try { - // TODO(cmorten): map errors to appropriate error codes. - this.onconnection!(codeMap.get("UNKNOWN")!, undefined); - } catch { - // swallow callback errors. - } - - this.#acceptBackoff(); - - return; - } - - // Reset the backoff delay upon successful accept. - this.#acceptBackoffDelay = undefined; - - const connectionHandle = new TCP(socketType.SOCKET, connection); - this.#connections++; - - try { - this.onconnection!(0, connectionHandle); - } catch { - // swallow callback errors. - } - - return this.#accept(); - } - - /** Handle server closure. */ - override _onClose(): number { - this.#closed = true; - this.reading = false; - - this.#address = undefined; - this.#port = undefined; - - this.#remoteAddress = undefined; - this.#remoteFamily = undefined; - this.#remotePort = undefined; - - this.#backlog = undefined; - this.#connections = 0; - this.#acceptBackoffDelay = undefined; - - if (this.provider === providerType.TCPSERVERWRAP) { - try { - this.#listener.close(); - } catch { - // listener already closed - } - } - - return LibuvStreamWrap.prototype._onClose.call(this); - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts deleted file mode 100644 index fa2ee6b..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts +++ /dev/null @@ -1,186 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// -// Adapted from Node.js. Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import { core } from "../_core.ts"; - -const _toString = Object.prototype.toString; - -const _isObjectLike = (value: unknown): boolean => - value !== null && typeof value === "object"; - -const _isFunctionLike = (value: unknown): boolean => - value !== null && typeof value === "function"; - -export function isAnyArrayBuffer(value: unknown): boolean { - return ( - _isObjectLike(value) && - (_toString.call(value) === "[object ArrayBuffer]" || - _toString.call(value) === "[object SharedArrayBuffer]") - ); -} - -export function isArgumentsObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Arguments]"; -} - -export function isArrayBuffer(value: unknown): boolean { - return ( - _isObjectLike(value) && _toString.call(value) === "[object ArrayBuffer]" - ); -} - -export function isAsyncFunction(value: unknown): boolean { - return ( - _isFunctionLike(value) && _toString.call(value) === "[object AsyncFunction]" - ); -} - -export function isBooleanObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Boolean]"; -} - -export function isBoxedPrimitive(value: unknown): boolean { - return ( - isBooleanObject(value) || - isStringObject(value) || - isNumberObject(value) || - isSymbolObject(value) || - isBigIntObject(value) - ); -} - -export function isDataView(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object DataView]"; -} - -export function isDate(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Date]"; -} - -export function isGeneratorFunction(value: unknown): boolean { - return ( - _isFunctionLike(value) && - _toString.call(value) === "[object GeneratorFunction]" - ); -} - -export function isGeneratorObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Generator]"; -} - -export function isMap(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Map]"; -} - -export function isMapIterator(value: unknown): boolean { - return ( - _isObjectLike(value) && _toString.call(value) === "[object Map Iterator]" - ); -} - -export function isModuleNamespaceObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Module]"; -} - -export function isNativeError(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Error]"; -} - -export function isNumberObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Number]"; -} - -export function isBigIntObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object BigInt]"; -} - -export function isPromise(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Promise]"; -} - -export function isProxy(value: unknown): boolean { - return core.isProxy(value); -} - -export function isRegExp(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object RegExp]"; -} - -export function isSet(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Set]"; -} - -export function isSetIterator(value: unknown): boolean { - return ( - _isObjectLike(value) && _toString.call(value) === "[object Set Iterator]" - ); -} - -export function isSharedArrayBuffer(value: unknown): boolean { - return ( - _isObjectLike(value) && - _toString.call(value) === "[object SharedArrayBuffer]" - ); -} - -export function isStringObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object String]"; -} - -export function isSymbolObject(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object Symbol]"; -} - -export function isWeakMap(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object WeakMap]"; -} - -export function isWeakSet(value: unknown): boolean { - return _isObjectLike(value) && _toString.call(value) === "[object WeakSet]"; -} - -export default { - isAsyncFunction, - isGeneratorFunction, - isAnyArrayBuffer, - isArrayBuffer, - isArgumentsObject, - isBoxedPrimitive, - isDataView, - // isExternal, - isMap, - isMapIterator, - isModuleNamespaceObject, - isNativeError, - isPromise, - isSet, - isSetIterator, - isWeakMap, - isWeakSet, - isRegExp, - isDate, - isStringObject, - isNumberObject, - isBooleanObject, - isBigIntObject, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts deleted file mode 100644 index 374ffa5..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts +++ /dev/null @@ -1,496 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import { AsyncWrap, providerType } from "./async_wrap.ts"; -import { GetAddrInfoReqWrap } from "./cares_wrap.ts"; -import { HandleWrap } from "./handle_wrap.ts"; -import { ownerSymbol } from "./symbols.ts"; -import { codeMap, errorMap } from "./uv.ts"; -import { notImplemented } from "../_utils.ts"; -import { Buffer } from "../buffer.ts"; -import type { ErrnoException } from "../internal/errors.ts"; -import { isIP } from "../internal/net.ts"; - -import { isLinux, isWindows } from "../../_util/os.ts"; - -// @ts-ignore Deno[Deno.internal] is used on purpose here -const DenoListenDatagram = Deno[Deno.internal]?.nodeUnstable?.listenDatagram || - Deno.listenDatagram; - -type MessageType = string | Uint8Array | Buffer | DataView; - -const AF_INET = 2; -const AF_INET6 = 10; - -const UDP_DGRAM_MAXSIZE = 64 * 1024; - -export class SendWrap extends AsyncWrap { - list!: MessageType[]; - address!: string; - port!: number; - - callback!: (error: ErrnoException | null, bytes?: number) => void; - oncomplete!: (err: number | null, sent?: number) => void; - - constructor() { - super(providerType.UDPSENDWRAP); - } -} - -export class UDP extends HandleWrap { - [ownerSymbol]: unknown = null; - - #address?: string; - #family?: string; - #port?: number; - - #remoteAddress?: string; - #remoteFamily?: string; - #remotePort?: number; - - #listener?: Deno.DatagramConn; - #receiving = false; - - #recvBufferSize = UDP_DGRAM_MAXSIZE; - #sendBufferSize = UDP_DGRAM_MAXSIZE; - - onmessage!: ( - nread: number, - handle: UDP, - buf?: Buffer, - rinfo?: { - address: string; - family: "IPv4" | "IPv6"; - port: number; - size?: number; - }, - ) => void; - - lookup!: ( - address: string, - callback: ( - err: ErrnoException | null, - address: string, - family: number, - ) => void, - ) => GetAddrInfoReqWrap | Record; - - constructor() { - super(providerType.UDPWRAP); - } - - addMembership(_multicastAddress: string, _interfaceAddress?: string): number { - notImplemented("udp.UDP.prototype.addMembership"); - } - - addSourceSpecificMembership( - _sourceAddress: string, - _groupAddress: string, - _interfaceAddress?: string, - ): number { - notImplemented("udp.UDP.prototype.addSourceSpecificMembership"); - } - - /** - * Bind to an IPv4 address. - * @param ip The hostname to bind to. - * @param port The port to bind to - * @return An error status code. - */ - bind(ip: string, port: number, flags: number): number { - return this.#doBind(ip, port, flags, AF_INET); - } - - /** - * Bind to an IPv6 address. - * @param ip The hostname to bind to. - * @param port The port to bind to - * @return An error status code. - */ - bind6(ip: string, port: number, flags: number): number { - return this.#doBind(ip, port, flags, AF_INET6); - } - - bufferSize( - size: number, - buffer: boolean, - ctx: Record, - ): number | undefined { - let err: string | undefined; - - if (size > UDP_DGRAM_MAXSIZE) { - err = "EINVAL"; - } else if (!this.#address) { - err = isWindows ? "ENOTSOCK" : "EBADF"; - } - - if (err) { - ctx.errno = codeMap.get(err)!; - ctx.code = err; - ctx.message = errorMap.get(ctx.errno)![1]; - ctx.syscall = buffer ? "uv_recv_buffer_size" : "uv_send_buffer_size"; - - return; - } - - if (size !== 0) { - size = isLinux ? size * 2 : size; - - if (buffer) { - return (this.#recvBufferSize = size); - } - - return (this.#sendBufferSize = size); - } - - return buffer ? this.#recvBufferSize : this.#sendBufferSize; - } - - connect(ip: string, port: number): number { - return this.#doConnect(ip, port, AF_INET); - } - - connect6(ip: string, port: number): number { - return this.#doConnect(ip, port, AF_INET6); - } - - disconnect(): number { - this.#remoteAddress = undefined; - this.#remotePort = undefined; - this.#remoteFamily = undefined; - - return 0; - } - - dropMembership( - _multicastAddress: string, - _interfaceAddress?: string, - ): number { - notImplemented("udp.UDP.prototype.dropMembership"); - } - - dropSourceSpecificMembership( - _sourceAddress: string, - _groupAddress: string, - _interfaceAddress?: string, - ): number { - notImplemented("udp.UDP.prototype.dropSourceSpecificMembership"); - } - - /** - * Populates the provided object with remote address entries. - * @param peername An object to add the remote address entries to. - * @return An error status code. - */ - getpeername(peername: Record): number { - if (this.#remoteAddress === undefined) { - return codeMap.get("EBADF")!; - } - - peername.address = this.#remoteAddress; - peername.port = this.#remotePort!; - peername.family = this.#remoteFamily!; - - return 0; - } - - /** - * Populates the provided object with local address entries. - * @param sockname An object to add the local address entries to. - * @return An error status code. - */ - getsockname(sockname: Record): number { - if (this.#address === undefined) { - return codeMap.get("EBADF")!; - } - - sockname.address = this.#address; - sockname.port = this.#port!; - sockname.family = this.#family!; - - return 0; - } - - /** - * Opens a file descriptor. - * @param fd The file descriptor to open. - * @return An error status code. - */ - open(_fd: number): number { - // REF: https://github.com/denoland/deno/issues/6529 - notImplemented("udp.UDP.prototype.open"); - } - - /** - * Start receiving on the connection. - * @return An error status code. - */ - recvStart(): number { - if (!this.#receiving) { - this.#receiving = true; - this.#receive(); - } - - return 0; - } - - /** - * Stop receiving on the connection. - * @return An error status code. - */ - recvStop(): number { - this.#receiving = false; - - return 0; - } - - override ref() { - notImplemented("udp.UDP.prototype.ref"); - } - - send( - req: SendWrap, - bufs: MessageType[], - count: number, - ...args: [number, string, boolean] | [boolean] - ): number { - return this.#doSend(req, bufs, count, args, AF_INET); - } - - send6( - req: SendWrap, - bufs: MessageType[], - count: number, - ...args: [number, string, boolean] | [boolean] - ): number { - return this.#doSend(req, bufs, count, args, AF_INET6); - } - - setBroadcast(_bool: 0 | 1): number { - notImplemented("udp.UDP.prototype.setBroadcast"); - } - - setMulticastInterface(_interfaceAddress: string): number { - notImplemented("udp.UDP.prototype.setMulticastInterface"); - } - - setMulticastLoopback(_bool: 0 | 1): number { - notImplemented("udp.UDP.prototype.setMulticastLoopback"); - } - - setMulticastTTL(_ttl: number): number { - notImplemented("udp.UDP.prototype.setMulticastTTL"); - } - - setTTL(_ttl: number): number { - notImplemented("udp.UDP.prototype.setTTL"); - } - - override unref() { - notImplemented("udp.UDP.prototype.unref"); - } - - #doBind(ip: string, port: number, _flags: number, family: number): number { - // TODO(cmorten): use flags to inform socket reuse etc. - const listenOptions = { - port, - hostname: ip, - transport: "udp" as const, - }; - - let listener; - - try { - listener = DenoListenDatagram(listenOptions); - } catch (e) { - if (e instanceof Deno.errors.AddrInUse) { - return codeMap.get("EADDRINUSE")!; - } else if (e instanceof Deno.errors.AddrNotAvailable) { - return codeMap.get("EADDRNOTAVAIL")!; - } - - // TODO(cmorten): map errors to appropriate error codes. - return codeMap.get("UNKNOWN")!; - } - - const address = listener.addr as Deno.NetAddr; - this.#address = address.hostname; - this.#port = address.port; - this.#family = family === AF_INET6 ? ("IPv6" as const) : ("IPv4" as const); - this.#listener = listener; - - return 0; - } - - #doConnect(ip: string, port: number, family: number): number { - this.#remoteAddress = ip; - this.#remotePort = port; - this.#remoteFamily = family === AF_INET6 - ? ("IPv6" as const) - : ("IPv4" as const); - - return 0; - } - - #doSend( - req: SendWrap, - bufs: MessageType[], - _count: number, - args: [number, string, boolean] | [boolean], - _family: number, - ): number { - let hasCallback: boolean; - - if (args.length === 3) { - this.#remotePort = args[0] as number; - this.#remoteAddress = args[1] as string; - hasCallback = args[2] as boolean; - } else { - hasCallback = args[0] as boolean; - } - - const addr: Deno.NetAddr = { - hostname: this.#remoteAddress!, - port: this.#remotePort!, - transport: "udp", - }; - - // Deno.DatagramConn.prototype.send accepts only one Uint8Array - const payload = new Uint8Array( - Buffer.concat( - bufs.map((buf) => { - if (typeof buf === "string") { - return Buffer.from(buf); - } - - return Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength); - }), - ), - ); - - (async () => { - let sent: number; - let err: number | null = null; - - try { - sent = await this.#listener!.send(payload, addr); - } catch (e) { - // TODO(cmorten): map errors to appropriate error codes. - if (e instanceof Deno.errors.BadResource) { - err = codeMap.get("EBADF")!; - } else if ( - e instanceof Error && - e.message.match(/os error (40|90|10040)/) - ) { - err = codeMap.get("EMSGSIZE")!; - } else { - err = codeMap.get("UNKNOWN")!; - } - - sent = 0; - } - - if (hasCallback) { - try { - req.oncomplete(err, sent); - } catch { - // swallow callback errors - } - } - })(); - - return 0; - } - - async #receive() { - if (!this.#receiving) { - return; - } - - const p = new Uint8Array(this.#recvBufferSize); - - let buf: Uint8Array; - let remoteAddr: Deno.NetAddr | null; - let nread: number | null; - - try { - [buf, remoteAddr] = (await this.#listener!.receive(p)) as [ - Uint8Array, - Deno.NetAddr, - ]; - - nread = buf.length; - } catch (e) { - // TODO(cmorten): map errors to appropriate error codes. - if ( - e instanceof Deno.errors.Interrupted || - e instanceof Deno.errors.BadResource - ) { - nread = 0; - } else { - nread = codeMap.get("UNKNOWN")!; - } - - buf = new Uint8Array(0); - remoteAddr = null; - } - - nread ??= 0; - - const rinfo = remoteAddr - ? { - address: remoteAddr.hostname, - port: remoteAddr.port, - family: isIP(remoteAddr.hostname) === 6 - ? ("IPv6" as const) - : ("IPv4" as const), - } - : undefined; - - try { - this.onmessage(nread, this, Buffer.from(buf), rinfo); - } catch { - // swallow callback errors. - } - - this.#receive(); - } - - /** Handle socket closure. */ - override _onClose(): number { - this.#receiving = false; - - this.#address = undefined; - this.#port = undefined; - this.#family = undefined; - - try { - this.#listener!.close(); - } catch { - // listener already closed - } - - this.#listener = undefined; - - return 0; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts deleted file mode 100644 index cc1b9c1..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/util-inl.h -// - https://github.com/nodejs/node/blob/master/src/util.cc -// - https://github.com/nodejs/node/blob/master/src/util.h - -import { notImplemented } from "../_utils.ts"; - -export function guessHandleType(_fd: number): string { - notImplemented("util.guessHandleType"); -} - -export const ALL_PROPERTIES = 0; -export const ONLY_WRITABLE = 1; -export const ONLY_ENUMERABLE = 2; -export const ONLY_CONFIGURABLE = 4; -export const ONLY_ENUM_WRITABLE = 6; -export const SKIP_STRINGS = 8; -export const SKIP_SYMBOLS = 16; - -/** - * Efficiently determine whether the provided property key is numeric - * (and thus could be an array indexer) or not. - * - * Always returns true for values of type `'number'`. - * - * Otherwise, only returns true for strings that consist only of positive integers. - * - * Results are cached. - */ -const isNumericLookup: Record = {}; -export function isArrayIndex(value: unknown): value is number | string { - switch (typeof value) { - case "number": - return value >= 0 && (value | 0) === value; - case "string": { - const result = isNumericLookup[value]; - if (result !== void 0) { - return result; - } - const length = value.length; - if (length === 0) { - return isNumericLookup[value] = false; - } - let ch = 0; - let i = 0; - for (; i < length; ++i) { - ch = value.charCodeAt(i); - if ( - i === 0 && ch === 0x30 && length > 1 /* must not start with 0 */ || - ch < 0x30 /* 0 */ || ch > 0x39 /* 9 */ - ) { - return isNumericLookup[value] = false; - } - } - return isNumericLookup[value] = true; - } - default: - return false; - } -} - -export function getOwnNonIndexProperties( - // deno-lint-ignore ban-types - obj: object, - filter: number, -): (string | symbol)[] { - let allProperties = [ - ...Object.getOwnPropertyNames(obj), - ...Object.getOwnPropertySymbols(obj), - ]; - - if (Array.isArray(obj)) { - allProperties = allProperties.filter((k) => !isArrayIndex(k)); - } - - if (filter === ALL_PROPERTIES) { - return allProperties; - } - - const result: (string | symbol)[] = []; - for (const key of allProperties) { - const desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc === undefined) { - continue; - } - if (filter & ONLY_WRITABLE && !desc.writable) { - continue; - } - if (filter & ONLY_ENUMERABLE && !desc.enumerable) { - continue; - } - if (filter & ONLY_CONFIGURABLE && !desc.configurable) { - continue; - } - if (filter & SKIP_STRINGS && typeof key === "string") { - continue; - } - if (filter & SKIP_SYMBOLS && typeof key === "symbol") { - continue; - } - result.push(key); - } - return result; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts deleted file mode 100644 index 2ec80d0..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts +++ /dev/null @@ -1,437 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// This module ports: -// - https://github.com/nodejs/node/blob/master/src/uv.cc -// - https://github.com/nodejs/node/blob/master/deps/uv -// -// See also: http://docs.libuv.org/en/v1.x/errors.html#error-constants - -import { unreachable } from "../../_util/asserts.ts"; -import { osType } from "../../_util/os.ts"; -import { uvTranslateSysError } from "./_libuv_winerror.ts"; - -// In Node these values are coming from libuv: -// Ref: https://github.com/libuv/libuv/blob/v1.x/include/uv/errno.h -// Ref: https://github.com/nodejs/node/blob/524123fbf064ff64bb6fcd83485cfc27db932f68/lib/internal/errors.js#L383 -// Since there is no easy way to port code from libuv and these maps are -// changing very rarely, we simply extract them from Node and store here. - -// Note -// Run the following to get the map: -// $ node -e "console.log(process.binding('uv').getErrorMap())" -// This setup automatically exports maps from both "win", "linux" & darwin: -// https://github.com/schwarzkopfb/node_errno_map - -type ErrorMapData = Array<[number, [string, string]]>; -type CodeMapData = Array<[string, number]>; - -const codeToErrorWindows: ErrorMapData = [ - [-4093, ["E2BIG", "argument list too long"]], - [-4092, ["EACCES", "permission denied"]], - [-4091, ["EADDRINUSE", "address already in use"]], - [-4090, ["EADDRNOTAVAIL", "address not available"]], - [-4089, ["EAFNOSUPPORT", "address family not supported"]], - [-4088, ["EAGAIN", "resource temporarily unavailable"]], - [-3000, ["EAI_ADDRFAMILY", "address family not supported"]], - [-3001, ["EAI_AGAIN", "temporary failure"]], - [-3002, ["EAI_BADFLAGS", "bad ai_flags value"]], - [-3013, ["EAI_BADHINTS", "invalid value for hints"]], - [-3003, ["EAI_CANCELED", "request canceled"]], - [-3004, ["EAI_FAIL", "permanent failure"]], - [-3005, ["EAI_FAMILY", "ai_family not supported"]], - [-3006, ["EAI_MEMORY", "out of memory"]], - [-3007, ["EAI_NODATA", "no address"]], - [-3008, ["EAI_NONAME", "unknown node or service"]], - [-3009, ["EAI_OVERFLOW", "argument buffer overflow"]], - [-3014, ["EAI_PROTOCOL", "resolved protocol is unknown"]], - [-3010, ["EAI_SERVICE", "service not available for socket type"]], - [-3011, ["EAI_SOCKTYPE", "socket type not supported"]], - [-4084, ["EALREADY", "connection already in progress"]], - [-4083, ["EBADF", "bad file descriptor"]], - [-4082, ["EBUSY", "resource busy or locked"]], - [-4081, ["ECANCELED", "operation canceled"]], - [-4080, ["ECHARSET", "invalid Unicode character"]], - [-4079, ["ECONNABORTED", "software caused connection abort"]], - [-4078, ["ECONNREFUSED", "connection refused"]], - [-4077, ["ECONNRESET", "connection reset by peer"]], - [-4076, ["EDESTADDRREQ", "destination address required"]], - [-4075, ["EEXIST", "file already exists"]], - [-4074, ["EFAULT", "bad address in system call argument"]], - [-4036, ["EFBIG", "file too large"]], - [-4073, ["EHOSTUNREACH", "host is unreachable"]], - [-4072, ["EINTR", "interrupted system call"]], - [-4071, ["EINVAL", "invalid argument"]], - [-4070, ["EIO", "i/o error"]], - [-4069, ["EISCONN", "socket is already connected"]], - [-4068, ["EISDIR", "illegal operation on a directory"]], - [-4067, ["ELOOP", "too many symbolic links encountered"]], - [-4066, ["EMFILE", "too many open files"]], - [-4065, ["EMSGSIZE", "message too long"]], - [-4064, ["ENAMETOOLONG", "name too long"]], - [-4063, ["ENETDOWN", "network is down"]], - [-4062, ["ENETUNREACH", "network is unreachable"]], - [-4061, ["ENFILE", "file table overflow"]], - [-4060, ["ENOBUFS", "no buffer space available"]], - [-4059, ["ENODEV", "no such device"]], - [-4058, ["ENOENT", "no such file or directory"]], - [-4057, ["ENOMEM", "not enough memory"]], - [-4056, ["ENONET", "machine is not on the network"]], - [-4035, ["ENOPROTOOPT", "protocol not available"]], - [-4055, ["ENOSPC", "no space left on device"]], - [-4054, ["ENOSYS", "function not implemented"]], - [-4053, ["ENOTCONN", "socket is not connected"]], - [-4052, ["ENOTDIR", "not a directory"]], - [-4051, ["ENOTEMPTY", "directory not empty"]], - [-4050, ["ENOTSOCK", "socket operation on non-socket"]], - [-4049, ["ENOTSUP", "operation not supported on socket"]], - [-4048, ["EPERM", "operation not permitted"]], - [-4047, ["EPIPE", "broken pipe"]], - [-4046, ["EPROTO", "protocol error"]], - [-4045, ["EPROTONOSUPPORT", "protocol not supported"]], - [-4044, ["EPROTOTYPE", "protocol wrong type for socket"]], - [-4034, ["ERANGE", "result too large"]], - [-4043, ["EROFS", "read-only file system"]], - [-4042, ["ESHUTDOWN", "cannot send after transport endpoint shutdown"]], - [-4041, ["ESPIPE", "invalid seek"]], - [-4040, ["ESRCH", "no such process"]], - [-4039, ["ETIMEDOUT", "connection timed out"]], - [-4038, ["ETXTBSY", "text file is busy"]], - [-4037, ["EXDEV", "cross-device link not permitted"]], - [-4094, ["UNKNOWN", "unknown error"]], - [-4095, ["EOF", "end of file"]], - [-4033, ["ENXIO", "no such device or address"]], - [-4032, ["EMLINK", "too many links"]], - [-4031, ["EHOSTDOWN", "host is down"]], - [-4030, ["EREMOTEIO", "remote I/O error"]], - [-4029, ["ENOTTY", "inappropriate ioctl for device"]], - [-4028, ["EFTYPE", "inappropriate file type or format"]], - [-4027, ["EILSEQ", "illegal byte sequence"]], -]; - -const errorToCodeWindows: CodeMapData = codeToErrorWindows.map(( - [status, [error]], -) => [error, status]); - -const codeToErrorDarwin: ErrorMapData = [ - [-7, ["E2BIG", "argument list too long"]], - [-13, ["EACCES", "permission denied"]], - [-48, ["EADDRINUSE", "address already in use"]], - [-49, ["EADDRNOTAVAIL", "address not available"]], - [-47, ["EAFNOSUPPORT", "address family not supported"]], - [-35, ["EAGAIN", "resource temporarily unavailable"]], - [-3000, ["EAI_ADDRFAMILY", "address family not supported"]], - [-3001, ["EAI_AGAIN", "temporary failure"]], - [-3002, ["EAI_BADFLAGS", "bad ai_flags value"]], - [-3013, ["EAI_BADHINTS", "invalid value for hints"]], - [-3003, ["EAI_CANCELED", "request canceled"]], - [-3004, ["EAI_FAIL", "permanent failure"]], - [-3005, ["EAI_FAMILY", "ai_family not supported"]], - [-3006, ["EAI_MEMORY", "out of memory"]], - [-3007, ["EAI_NODATA", "no address"]], - [-3008, ["EAI_NONAME", "unknown node or service"]], - [-3009, ["EAI_OVERFLOW", "argument buffer overflow"]], - [-3014, ["EAI_PROTOCOL", "resolved protocol is unknown"]], - [-3010, ["EAI_SERVICE", "service not available for socket type"]], - [-3011, ["EAI_SOCKTYPE", "socket type not supported"]], - [-37, ["EALREADY", "connection already in progress"]], - [-9, ["EBADF", "bad file descriptor"]], - [-16, ["EBUSY", "resource busy or locked"]], - [-89, ["ECANCELED", "operation canceled"]], - [-4080, ["ECHARSET", "invalid Unicode character"]], - [-53, ["ECONNABORTED", "software caused connection abort"]], - [-61, ["ECONNREFUSED", "connection refused"]], - [-54, ["ECONNRESET", "connection reset by peer"]], - [-39, ["EDESTADDRREQ", "destination address required"]], - [-17, ["EEXIST", "file already exists"]], - [-14, ["EFAULT", "bad address in system call argument"]], - [-27, ["EFBIG", "file too large"]], - [-65, ["EHOSTUNREACH", "host is unreachable"]], - [-4, ["EINTR", "interrupted system call"]], - [-22, ["EINVAL", "invalid argument"]], - [-5, ["EIO", "i/o error"]], - [-56, ["EISCONN", "socket is already connected"]], - [-21, ["EISDIR", "illegal operation on a directory"]], - [-62, ["ELOOP", "too many symbolic links encountered"]], - [-24, ["EMFILE", "too many open files"]], - [-40, ["EMSGSIZE", "message too long"]], - [-63, ["ENAMETOOLONG", "name too long"]], - [-50, ["ENETDOWN", "network is down"]], - [-51, ["ENETUNREACH", "network is unreachable"]], - [-23, ["ENFILE", "file table overflow"]], - [-55, ["ENOBUFS", "no buffer space available"]], - [-19, ["ENODEV", "no such device"]], - [-2, ["ENOENT", "no such file or directory"]], - [-12, ["ENOMEM", "not enough memory"]], - [-4056, ["ENONET", "machine is not on the network"]], - [-42, ["ENOPROTOOPT", "protocol not available"]], - [-28, ["ENOSPC", "no space left on device"]], - [-78, ["ENOSYS", "function not implemented"]], - [-57, ["ENOTCONN", "socket is not connected"]], - [-20, ["ENOTDIR", "not a directory"]], - [-66, ["ENOTEMPTY", "directory not empty"]], - [-38, ["ENOTSOCK", "socket operation on non-socket"]], - [-45, ["ENOTSUP", "operation not supported on socket"]], - [-1, ["EPERM", "operation not permitted"]], - [-32, ["EPIPE", "broken pipe"]], - [-100, ["EPROTO", "protocol error"]], - [-43, ["EPROTONOSUPPORT", "protocol not supported"]], - [-41, ["EPROTOTYPE", "protocol wrong type for socket"]], - [-34, ["ERANGE", "result too large"]], - [-30, ["EROFS", "read-only file system"]], - [-58, ["ESHUTDOWN", "cannot send after transport endpoint shutdown"]], - [-29, ["ESPIPE", "invalid seek"]], - [-3, ["ESRCH", "no such process"]], - [-60, ["ETIMEDOUT", "connection timed out"]], - [-26, ["ETXTBSY", "text file is busy"]], - [-18, ["EXDEV", "cross-device link not permitted"]], - [-4094, ["UNKNOWN", "unknown error"]], - [-4095, ["EOF", "end of file"]], - [-6, ["ENXIO", "no such device or address"]], - [-31, ["EMLINK", "too many links"]], - [-64, ["EHOSTDOWN", "host is down"]], - [-4030, ["EREMOTEIO", "remote I/O error"]], - [-25, ["ENOTTY", "inappropriate ioctl for device"]], - [-79, ["EFTYPE", "inappropriate file type or format"]], - [-92, ["EILSEQ", "illegal byte sequence"]], -]; - -const errorToCodeDarwin: CodeMapData = codeToErrorDarwin.map(( - [status, [code]], -) => [code, status]); - -const codeToErrorLinux: ErrorMapData = [ - [-7, ["E2BIG", "argument list too long"]], - [-13, ["EACCES", "permission denied"]], - [-98, ["EADDRINUSE", "address already in use"]], - [-99, ["EADDRNOTAVAIL", "address not available"]], - [-97, ["EAFNOSUPPORT", "address family not supported"]], - [-11, ["EAGAIN", "resource temporarily unavailable"]], - [-3000, ["EAI_ADDRFAMILY", "address family not supported"]], - [-3001, ["EAI_AGAIN", "temporary failure"]], - [-3002, ["EAI_BADFLAGS", "bad ai_flags value"]], - [-3013, ["EAI_BADHINTS", "invalid value for hints"]], - [-3003, ["EAI_CANCELED", "request canceled"]], - [-3004, ["EAI_FAIL", "permanent failure"]], - [-3005, ["EAI_FAMILY", "ai_family not supported"]], - [-3006, ["EAI_MEMORY", "out of memory"]], - [-3007, ["EAI_NODATA", "no address"]], - [-3008, ["EAI_NONAME", "unknown node or service"]], - [-3009, ["EAI_OVERFLOW", "argument buffer overflow"]], - [-3014, ["EAI_PROTOCOL", "resolved protocol is unknown"]], - [-3010, ["EAI_SERVICE", "service not available for socket type"]], - [-3011, ["EAI_SOCKTYPE", "socket type not supported"]], - [-114, ["EALREADY", "connection already in progress"]], - [-9, ["EBADF", "bad file descriptor"]], - [-16, ["EBUSY", "resource busy or locked"]], - [-125, ["ECANCELED", "operation canceled"]], - [-4080, ["ECHARSET", "invalid Unicode character"]], - [-103, ["ECONNABORTED", "software caused connection abort"]], - [-111, ["ECONNREFUSED", "connection refused"]], - [-104, ["ECONNRESET", "connection reset by peer"]], - [-89, ["EDESTADDRREQ", "destination address required"]], - [-17, ["EEXIST", "file already exists"]], - [-14, ["EFAULT", "bad address in system call argument"]], - [-27, ["EFBIG", "file too large"]], - [-113, ["EHOSTUNREACH", "host is unreachable"]], - [-4, ["EINTR", "interrupted system call"]], - [-22, ["EINVAL", "invalid argument"]], - [-5, ["EIO", "i/o error"]], - [-106, ["EISCONN", "socket is already connected"]], - [-21, ["EISDIR", "illegal operation on a directory"]], - [-40, ["ELOOP", "too many symbolic links encountered"]], - [-24, ["EMFILE", "too many open files"]], - [-90, ["EMSGSIZE", "message too long"]], - [-36, ["ENAMETOOLONG", "name too long"]], - [-100, ["ENETDOWN", "network is down"]], - [-101, ["ENETUNREACH", "network is unreachable"]], - [-23, ["ENFILE", "file table overflow"]], - [-105, ["ENOBUFS", "no buffer space available"]], - [-19, ["ENODEV", "no such device"]], - [-2, ["ENOENT", "no such file or directory"]], - [-12, ["ENOMEM", "not enough memory"]], - [-64, ["ENONET", "machine is not on the network"]], - [-92, ["ENOPROTOOPT", "protocol not available"]], - [-28, ["ENOSPC", "no space left on device"]], - [-38, ["ENOSYS", "function not implemented"]], - [-107, ["ENOTCONN", "socket is not connected"]], - [-20, ["ENOTDIR", "not a directory"]], - [-39, ["ENOTEMPTY", "directory not empty"]], - [-88, ["ENOTSOCK", "socket operation on non-socket"]], - [-95, ["ENOTSUP", "operation not supported on socket"]], - [-1, ["EPERM", "operation not permitted"]], - [-32, ["EPIPE", "broken pipe"]], - [-71, ["EPROTO", "protocol error"]], - [-93, ["EPROTONOSUPPORT", "protocol not supported"]], - [-91, ["EPROTOTYPE", "protocol wrong type for socket"]], - [-34, ["ERANGE", "result too large"]], - [-30, ["EROFS", "read-only file system"]], - [-108, ["ESHUTDOWN", "cannot send after transport endpoint shutdown"]], - [-29, ["ESPIPE", "invalid seek"]], - [-3, ["ESRCH", "no such process"]], - [-110, ["ETIMEDOUT", "connection timed out"]], - [-26, ["ETXTBSY", "text file is busy"]], - [-18, ["EXDEV", "cross-device link not permitted"]], - [-4094, ["UNKNOWN", "unknown error"]], - [-4095, ["EOF", "end of file"]], - [-6, ["ENXIO", "no such device or address"]], - [-31, ["EMLINK", "too many links"]], - [-112, ["EHOSTDOWN", "host is down"]], - [-121, ["EREMOTEIO", "remote I/O error"]], - [-25, ["ENOTTY", "inappropriate ioctl for device"]], - [-4028, ["EFTYPE", "inappropriate file type or format"]], - [-84, ["EILSEQ", "illegal byte sequence"]], -]; - -const errorToCodeLinux: CodeMapData = codeToErrorLinux.map(( - [status, [code]], -) => [code, status]); - -const codeToErrorFreebsd: ErrorMapData = [ - [-7, ["E2BIG", "argument list too long"]], - [-13, ["EACCES", "permission denied"]], - [-48, ["EADDRINUSE", "address already in use"]], - [-49, ["EADDRNOTAVAIL", "address not available"]], - [-47, ["EAFNOSUPPORT", "address family not supported"]], - [-35, ["EAGAIN", "resource temporarily unavailable"]], - [-3000, ["EAI_ADDRFAMILY", "address family not supported"]], - [-3001, ["EAI_AGAIN", "temporary failure"]], - [-3002, ["EAI_BADFLAGS", "bad ai_flags value"]], - [-3013, ["EAI_BADHINTS", "invalid value for hints"]], - [-3003, ["EAI_CANCELED", "request canceled"]], - [-3004, ["EAI_FAIL", "permanent failure"]], - [-3005, ["EAI_FAMILY", "ai_family not supported"]], - [-3006, ["EAI_MEMORY", "out of memory"]], - [-3007, ["EAI_NODATA", "no address"]], - [-3008, ["EAI_NONAME", "unknown node or service"]], - [-3009, ["EAI_OVERFLOW", "argument buffer overflow"]], - [-3014, ["EAI_PROTOCOL", "resolved protocol is unknown"]], - [-3010, ["EAI_SERVICE", "service not available for socket type"]], - [-3011, ["EAI_SOCKTYPE", "socket type not supported"]], - [-37, ["EALREADY", "connection already in progress"]], - [-9, ["EBADF", "bad file descriptor"]], - [-16, ["EBUSY", "resource busy or locked"]], - [-85, ["ECANCELED", "operation canceled"]], - [-4080, ["ECHARSET", "invalid Unicode character"]], - [-53, ["ECONNABORTED", "software caused connection abort"]], - [-61, ["ECONNREFUSED", "connection refused"]], - [-54, ["ECONNRESET", "connection reset by peer"]], - [-39, ["EDESTADDRREQ", "destination address required"]], - [-17, ["EEXIST", "file already exists"]], - [-14, ["EFAULT", "bad address in system call argument"]], - [-27, ["EFBIG", "file too large"]], - [-65, ["EHOSTUNREACH", "host is unreachable"]], - [-4, ["EINTR", "interrupted system call"]], - [-22, ["EINVAL", "invalid argument"]], - [-5, ["EIO", "i/o error"]], - [-56, ["EISCONN", "socket is already connected"]], - [-21, ["EISDIR", "illegal operation on a directory"]], - [-62, ["ELOOP", "too many symbolic links encountered"]], - [-24, ["EMFILE", "too many open files"]], - [-40, ["EMSGSIZE", "message too long"]], - [-63, ["ENAMETOOLONG", "name too long"]], - [-50, ["ENETDOWN", "network is down"]], - [-51, ["ENETUNREACH", "network is unreachable"]], - [-23, ["ENFILE", "file table overflow"]], - [-55, ["ENOBUFS", "no buffer space available"]], - [-19, ["ENODEV", "no such device"]], - [-2, ["ENOENT", "no such file or directory"]], - [-12, ["ENOMEM", "not enough memory"]], - [-4056, ["ENONET", "machine is not on the network"]], - [-42, ["ENOPROTOOPT", "protocol not available"]], - [-28, ["ENOSPC", "no space left on device"]], - [-78, ["ENOSYS", "function not implemented"]], - [-57, ["ENOTCONN", "socket is not connected"]], - [-20, ["ENOTDIR", "not a directory"]], - [-66, ["ENOTEMPTY", "directory not empty"]], - [-38, ["ENOTSOCK", "socket operation on non-socket"]], - [-45, ["ENOTSUP", "operation not supported on socket"]], - [-84, ["EOVERFLOW", "value too large for defined data type"]], - [-1, ["EPERM", "operation not permitted"]], - [-32, ["EPIPE", "broken pipe"]], - [-92, ["EPROTO", "protocol error"]], - [-43, ["EPROTONOSUPPORT", "protocol not supported"]], - [-41, ["EPROTOTYPE", "protocol wrong type for socket"]], - [-34, ["ERANGE", "result too large"]], - [-30, ["EROFS", "read-only file system"]], - [-58, ["ESHUTDOWN", "cannot send after transport endpoint shutdown"]], - [-29, ["ESPIPE", "invalid seek"]], - [-3, ["ESRCH", "no such process"]], - [-60, ["ETIMEDOUT", "connection timed out"]], - [-26, ["ETXTBSY", "text file is busy"]], - [-18, ["EXDEV", "cross-device link not permitted"]], - [-4094, ["UNKNOWN", "unknown error"]], - [-4095, ["EOF", "end of file"]], - [-6, ["ENXIO", "no such device or address"]], - [-31, ["EMLINK", "too many links"]], - [-64, ["EHOSTDOWN", "host is down"]], - [-4030, ["EREMOTEIO", "remote I/O error"]], - [-25, ["ENOTTY", "inappropriate ioctl for device"]], - [-79, ["EFTYPE", "inappropriate file type or format"]], - [-86, ["EILSEQ", "illegal byte sequence"]], - [-44, ["ESOCKTNOSUPPORT", "socket type not supported"]], -]; - -const errorToCodeFreebsd: CodeMapData = codeToErrorFreebsd.map(( - [status, [code]], -) => [code, status]); - -export const errorMap = new Map( - osType === "windows" - ? codeToErrorWindows - : osType === "darwin" - ? codeToErrorDarwin - : osType === "linux" - ? codeToErrorLinux - : osType === "freebsd" - ? codeToErrorFreebsd - : unreachable(), -); - -export const codeMap = new Map( - osType === "windows" - ? errorToCodeWindows - : osType === "darwin" - ? errorToCodeDarwin - : osType === "linux" - ? errorToCodeLinux - : osType === "freebsd" - ? errorToCodeFreebsd - : unreachable(), -); - -export function mapSysErrnoToUvErrno(sysErrno: number): number { - if (osType === "windows") { - const code = uvTranslateSysError(sysErrno); - return codeMap.get(code) ?? -sysErrno; - } else { - return -sysErrno; - } -} - -export const UV_EAI_MEMORY = codeMap.get("EAI_MEMORY")!; -export const UV_EBADF = codeMap.get("EBADF")!; -export const UV_EEXIST = codeMap.get("EEXIST"); -export const UV_EINVAL = codeMap.get("EINVAL")!; -export const UV_ENOENT = codeMap.get("ENOENT"); -export const UV_ENOTSOCK = codeMap.get("ENOTSOCK")!; -export const UV_UNKNOWN = codeMap.get("UNKNOWN")!; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts deleted file mode 100644 index 93e2042..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -export {}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/process.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/process.ts deleted file mode 100644 index 021bd98..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/process.ts +++ /dev/null @@ -1,705 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license. - -import { notImplemented, warnNotImplemented } from "./_utils.ts"; -import { EventEmitter } from "./events.ts"; -import { validateString } from "./internal/validators.mjs"; -import { - ERR_INVALID_ARG_TYPE, - ERR_UNKNOWN_SIGNAL, - errnoException, -} from "./internal/errors.ts"; -import { getOptionValue } from "./internal/options.ts"; -import { assert } from "../_util/asserts.ts"; -import { fromFileUrl, join } from "../path/mod.ts"; -import { - arch, - chdir, - cwd, - env, - nextTick as _nextTick, - pid, - platform, - version, - versions, -} from "./_process/process.ts"; -import { _exiting } from "./_process/exiting.ts"; -export { - _nextTick as nextTick, - arch, - argv, - chdir, - cwd, - env, - pid, - platform, - version, - versions, -}; -import { - stderr as stderr_, - stdin as stdin_, - stdout as stdout_, -} from "./_process/streams.mjs"; -import { core } from "./_core.ts"; -import { processTicksAndRejections } from "./_next_tick.ts"; - -// TODO(kt3k): Give better types to stdio objects -// deno-lint-ignore no-explicit-any -const stderr = stderr_ as any; -// deno-lint-ignore no-explicit-any -const stdin = stdin_ as any; -// deno-lint-ignore no-explicit-any -const stdout = stdout_ as any; -export { stderr, stdin, stdout }; -import { getBinding } from "./internal_binding/mod.ts"; -import * as constants from "./internal_binding/constants.ts"; -import * as uv from "./internal_binding/uv.ts"; -import type { BindingName } from "./internal_binding/mod.ts"; -import { buildAllowedFlags } from "./internal/process/per_thread.mjs"; - -// @ts-ignore Deno[Deno.internal] is used on purpose here -const DenoCommand = Deno[Deno.internal]?.nodeUnstable?.Command || - Deno.Command; - -const notImplementedEvents = [ - "disconnect", - "message", - "multipleResolves", - "rejectionHandled", - "worker", -]; - -// The first 2 items are placeholders. -// They will be overwritten by the below Object.defineProperty calls. -const argv = ["", "", ...Deno.args]; -// Overwrites the 1st item with getter. -Object.defineProperty(argv, "0", { get: Deno.execPath }); -// Overwrites the 2st item with getter. -Object.defineProperty(argv, "1", { - get: () => { - if (Deno.mainModule.startsWith("file:")) { - return fromFileUrl(Deno.mainModule); - } else { - return join(Deno.cwd(), "$deno$node.js"); - } - }, -}); - -/** https://nodejs.org/api/process.html#process_process_exit_code */ -export const exit = (code?: number | string) => { - if (code || code === 0) { - if (typeof code === "string") { - const parsedCode = parseInt(code); - process.exitCode = isNaN(parsedCode) ? undefined : parsedCode; - } else { - process.exitCode = code; - } - } - - if (!process._exiting) { - process._exiting = true; - // FIXME(bartlomieju): this is wrong, we won't be using syscall to exit - // and thus the `unload` event will not be emitted to properly trigger "emit" - // event on `process`. - process.emit("exit", process.exitCode || 0); - } - - Deno.exit(process.exitCode || 0); -}; - -function addReadOnlyProcessAlias( - name: string, - option: string, - enumerable = true, -) { - const value = getOptionValue(option); - - if (value) { - Object.defineProperty(process, name, { - writable: false, - configurable: true, - enumerable, - value, - }); - } -} - -function createWarningObject( - warning: string, - type: string, - code?: string, - // deno-lint-ignore ban-types - ctor?: Function, - detail?: string, -): Error { - assert(typeof warning === "string"); - - // deno-lint-ignore no-explicit-any - const warningErr: any = new Error(warning); - warningErr.name = String(type || "Warning"); - - if (code !== undefined) { - warningErr.code = code; - } - if (detail !== undefined) { - warningErr.detail = detail; - } - - // @ts-ignore this function is not available in lib.dom.d.ts - Error.captureStackTrace(warningErr, ctor || process.emitWarning); - - return warningErr; -} - -function doEmitWarning(warning: Error) { - process.emit("warning", warning); -} - -/** https://nodejs.org/api/process.html#process_process_emitwarning_warning_options */ -export function emitWarning( - warning: string | Error, - type: - // deno-lint-ignore ban-types - | { type: string; detail: string; code: string; ctor: Function } - | string - | null, - code?: string, - // deno-lint-ignore ban-types - ctor?: Function, -) { - let detail; - - if (type !== null && typeof type === "object" && !Array.isArray(type)) { - ctor = type.ctor; - code = type.code; - - if (typeof type.detail === "string") { - detail = type.detail; - } - - type = type.type || "Warning"; - } else if (typeof type === "function") { - ctor = type; - code = undefined; - type = "Warning"; - } - - if (type !== undefined) { - validateString(type, "type"); - } - - if (typeof code === "function") { - ctor = code; - code = undefined; - } else if (code !== undefined) { - validateString(code, "code"); - } - - if (typeof warning === "string") { - warning = createWarningObject(warning, type as string, code, ctor, detail); - } else if (!(warning instanceof Error)) { - throw new ERR_INVALID_ARG_TYPE("warning", ["Error", "string"], warning); - } - - if (warning.name === "DeprecationWarning") { - // deno-lint-ignore no-explicit-any - if ((process as any).noDeprecation) { - return; - } - - // deno-lint-ignore no-explicit-any - if ((process as any).throwDeprecation) { - // Delay throwing the error to guarantee that all former warnings were - // properly logged. - return process.nextTick(() => { - throw warning; - }); - } - } - - process.nextTick(doEmitWarning, warning); -} - -export function hrtime(time?: [number, number]): [number, number] { - const milli = performance.now(); - const sec = Math.floor(milli / 1000); - const nano = Math.floor(milli * 1_000_000 - sec * 1_000_000_000); - if (!time) { - return [sec, nano]; - } - const [prevSec, prevNano] = time; - return [sec - prevSec, nano - prevNano]; -} - -hrtime.bigint = function (): BigInt { - const [sec, nano] = hrtime(); - return BigInt(sec) * 1_000_000_000n + BigInt(nano); -}; - -export function memoryUsage(): { - rss: number; - heapTotal: number; - heapUsed: number; - external: number; - arrayBuffers: number; -} { - return { - ...Deno.memoryUsage(), - arrayBuffers: 0, - }; -} - -memoryUsage.rss = function (): number { - return memoryUsage().rss; -}; - -// Returns a negative error code than can be recognized by errnoException -function _kill(pid: number, sig: number): number { - let errCode; - - if (sig === 0) { - let status; - if (Deno.build.os === "windows") { - status = (new DenoCommand("powershell.exe", { - args: ["Get-Process", "-pid", pid], - })).outputSync(); - } else { - status = (new DenoCommand("kill", { - args: ["-0", pid], - })).outputSync(); - } - - if (!status.success) { - errCode = uv.codeMap.get("ESRCH"); - } - } else { - // Reverse search the shortname based on the numeric code - const maybeSignal = Object.entries(constants.os.signals).find(( - [_, numericCode], - ) => numericCode === sig); - - if (!maybeSignal) { - errCode = uv.codeMap.get("EINVAL"); - } else { - try { - Deno.kill(pid, maybeSignal[0] as Deno.Signal); - } catch (e) { - if (e instanceof TypeError) { - throw notImplemented(maybeSignal[0]); - } - - throw e; - } - } - } - - if (!errCode) { - return 0; - } else { - return errCode; - } -} - -export function kill(pid: number, sig: string | number = "SIGTERM") { - if (pid != (pid | 0)) { - throw new ERR_INVALID_ARG_TYPE("pid", "number", pid); - } - - let err; - if (typeof sig === "number") { - err = process._kill(pid, sig); - } else { - if (sig in constants.os.signals) { - // @ts-ignore Index previously checked - err = process._kill(pid, constants.os.signals[sig]); - } else { - throw new ERR_UNKNOWN_SIGNAL(sig); - } - } - - if (err) { - throw errnoException(err, "kill"); - } - - return true; -} - -// deno-lint-ignore no-explicit-any -function uncaughtExceptionHandler(err: any, origin: string) { - // The origin parameter can be 'unhandledRejection' or 'uncaughtException' - // depending on how the uncaught exception was created. In Node.js, - // exceptions thrown from the top level of a CommonJS module are reported as - // 'uncaughtException', while exceptions thrown from the top level of an ESM - // module are reported as 'unhandledRejection'. Deno does not have a true - // CommonJS implementation, so all exceptions thrown from the top level are - // reported as 'uncaughtException'. - process.emit("uncaughtExceptionMonitor", err, origin); - process.emit("uncaughtException", err, origin); -} - -let execPath: string | null = null; - -class Process extends EventEmitter { - constructor() { - super(); - - globalThis.addEventListener("unhandledrejection", (event) => { - if (process.listenerCount("unhandledRejection") === 0) { - // The Node.js default behavior is to raise an uncaught exception if - // an unhandled rejection occurs and there are no unhandledRejection - // listeners. - if (process.listenerCount("uncaughtException") === 0) { - throw event.reason; - } - - event.preventDefault(); - uncaughtExceptionHandler(event.reason, "unhandledRejection"); - return; - } - - event.preventDefault(); - process.emit("unhandledRejection", event.reason, event.promise); - }); - - globalThis.addEventListener("error", (event) => { - if (process.listenerCount("uncaughtException") > 0) { - event.preventDefault(); - } - - uncaughtExceptionHandler(event.error, "uncaughtException"); - }); - - globalThis.addEventListener("beforeunload", (e) => { - super.emit("beforeExit", process.exitCode || 0); - processTicksAndRejections(); - if (core.eventLoopHasMoreWork()) { - e.preventDefault(); - } - }); - - globalThis.addEventListener("unload", () => { - if (!process._exiting) { - process._exiting = true; - super.emit("exit", process.exitCode || 0); - } - }); - } - - /** https://nodejs.org/api/process.html#process_process_arch */ - arch = arch; - - /** - * https://nodejs.org/api/process.html#process_process_argv - * Read permissions are required in order to get the executable route - */ - argv = argv; - - /** https://nodejs.org/api/process.html#process_process_chdir_directory */ - chdir = chdir; - - /** https://nodejs.org/api/process.html#processconfig */ - config = { - target_defaults: {}, - variables: {}, - }; - - /** https://nodejs.org/api/process.html#process_process_cwd */ - cwd = cwd; - - /** - * https://nodejs.org/api/process.html#process_process_env - * Requires env permissions - */ - env = env; - - /** https://nodejs.org/api/process.html#process_process_execargv */ - execArgv: string[] = []; - - /** https://nodejs.org/api/process.html#process_process_exit_code */ - exit = exit; - - _exiting = _exiting; - - /** https://nodejs.org/api/process.html#processexitcode_1 */ - exitCode: undefined | number = undefined; - - // Typed as any to avoid importing "module" module for types - // deno-lint-ignore no-explicit-any - mainModule: any = undefined; - - /** https://nodejs.org/api/process.html#process_process_nexttick_callback_args */ - nextTick = _nextTick; - - /** https://nodejs.org/api/process.html#process_process_events */ - override on(event: "exit", listener: (code: number) => void): this; - override on( - event: typeof notImplementedEvents[number], - // deno-lint-ignore ban-types - listener: Function, - ): this; - // deno-lint-ignore no-explicit-any - override on(event: string, listener: (...args: any[]) => void): this { - if (notImplementedEvents.includes(event)) { - warnNotImplemented(`process.on("${event}")`); - super.on(event, listener); - } else if (event.startsWith("SIG")) { - if (event === "SIGBREAK" && Deno.build.os !== "windows") { - // Ignores SIGBREAK if the platform is not windows. - } else if (event === "SIGTERM" && Deno.build.os === "windows") { - // Ignores SIGTERM on windows. - } else { - Deno.addSignalListener(event as Deno.Signal, listener); - } - } else { - super.on(event, listener); - } - - return this; - } - - override off(event: "exit", listener: (code: number) => void): this; - override off( - event: typeof notImplementedEvents[number], - // deno-lint-ignore ban-types - listener: Function, - ): this; - // deno-lint-ignore no-explicit-any - override off(event: string, listener: (...args: any[]) => void): this { - if (notImplementedEvents.includes(event)) { - warnNotImplemented(`process.off("${event}")`); - super.off(event, listener); - } else if (event.startsWith("SIG")) { - if (event === "SIGBREAK" && Deno.build.os !== "windows") { - // Ignores SIGBREAK if the platform is not windows. - } else if (event === "SIGTERM" && Deno.build.os === "windows") { - // Ignores SIGTERM on windows. - } else { - Deno.removeSignalListener(event as Deno.Signal, listener); - } - } else { - super.off(event, listener); - } - - return this; - } - - // deno-lint-ignore no-explicit-any - override emit(event: string, ...args: any[]): boolean { - if (event.startsWith("SIG")) { - if (event === "SIGBREAK" && Deno.build.os !== "windows") { - // Ignores SIGBREAK if the platform is not windows. - } else { - Deno.kill(Deno.pid, event as Deno.Signal); - } - } else { - return super.emit(event, ...args); - } - - return true; - } - - override prependListener( - event: "exit", - listener: (code: number) => void, - ): this; - override prependListener( - event: typeof notImplementedEvents[number], - // deno-lint-ignore ban-types - listener: Function, - ): this; - override prependListener( - event: string, - // deno-lint-ignore no-explicit-any - listener: (...args: any[]) => void, - ): this { - if (notImplementedEvents.includes(event)) { - warnNotImplemented(`process.prependListener("${event}")`); - super.prependListener(event, listener); - } else if (event.startsWith("SIG")) { - if (event === "SIGBREAK" && Deno.build.os !== "windows") { - // Ignores SIGBREAK if the platform is not windows. - } else { - Deno.addSignalListener(event as Deno.Signal, listener); - } - } else { - super.prependListener(event, listener); - } - - return this; - } - - /** https://nodejs.org/api/process.html#process_process_pid */ - pid = pid; - - /** https://nodejs.org/api/process.html#process_process_platform */ - platform = platform; - - override addListener(event: "exit", listener: (code: number) => void): this; - override addListener( - event: typeof notImplementedEvents[number], - // deno-lint-ignore ban-types - listener: Function, - ): this; - override addListener( - event: string, - // deno-lint-ignore no-explicit-any - listener: (...args: any[]) => void, - ): this { - if (notImplementedEvents.includes(event)) { - warnNotImplemented(`process.addListener("${event}")`); - } - - return this.on(event, listener); - } - - override removeListener( - event: "exit", - listener: (code: number) => void, - ): this; - override removeListener( - event: typeof notImplementedEvents[number], - // deno-lint-ignore ban-types - listener: Function, - ): this; - override removeListener( - event: string, - // deno-lint-ignore no-explicit-any - listener: (...args: any[]) => void, - ): this { - if (notImplementedEvents.includes(event)) { - warnNotImplemented(`process.removeListener("${event}")`); - } - - return this.off(event, listener); - } - - /** - * Returns the current high-resolution real time in a [seconds, nanoseconds] - * tuple. - * - * Note: You need to give --allow-hrtime permission to Deno to actually get - * nanoseconds precision values. If you don't give 'hrtime' permission, the returned - * values only have milliseconds precision. - * - * `time` is an optional parameter that must be the result of a previous process.hrtime() call to diff with the current time. - * - * These times are relative to an arbitrary time in the past, and not related to the time of day and therefore not subject to clock drift. The primary use is for measuring performance between intervals. - * https://nodejs.org/api/process.html#process_process_hrtime_time - */ - hrtime = hrtime; - - /** - * @private - * - * NodeJS internal, use process.kill instead - */ - _kill = _kill; - - /** https://nodejs.org/api/process.html#processkillpid-signal */ - kill = kill; - - memoryUsage = memoryUsage; - - /** https://nodejs.org/api/process.html#process_process_stderr */ - stderr = stderr; - - /** https://nodejs.org/api/process.html#process_process_stdin */ - stdin = stdin; - - /** https://nodejs.org/api/process.html#process_process_stdout */ - stdout = stdout; - - /** https://nodejs.org/api/process.html#process_process_version */ - version = version; - - /** https://nodejs.org/api/process.html#process_process_versions */ - versions = versions; - - /** https://nodejs.org/api/process.html#process_process_emitwarning_warning_options */ - emitWarning = emitWarning; - - binding(name: BindingName) { - return getBinding(name); - } - - /** https://nodejs.org/api/process.html#processumaskmask */ - umask() { - // Always return the system default umask value. - // We don't use Deno.umask here because it has a race - // condition bug. - // See https://github.com/denoland/deno_std/issues/1893#issuecomment-1032897779 - return 0o22; - } - - /** This method is removed on Windows */ - getgid?(): number { - return Deno.gid()!; - } - - /** This method is removed on Windows */ - getuid?(): number { - return Deno.uid()!; - } - - // TODO(kt3k): Implement this when we added -e option to node compat mode - _eval: string | undefined = undefined; - - /** https://nodejs.org/api/process.html#processexecpath */ - get execPath() { - if (execPath) { - return execPath; - } - execPath = Deno.execPath(); - return execPath; - } - - set execPath(path: string) { - execPath = path; - } - - #startTime = Date.now(); - /** https://nodejs.org/api/process.html#processuptime */ - uptime() { - return (Date.now() - this.#startTime) / 1000; - } - - #allowedFlags = buildAllowedFlags(); - /** https://nodejs.org/api/process.html#processallowednodeenvironmentflags */ - get allowedNodeEnvironmentFlags() { - return this.#allowedFlags; - } - - features = { inspector: false }; - - // TODO(kt3k): Get the value from --no-deprecation flag. - noDeprecation = false; -} - -if (Deno.build.os === "windows") { - delete Process.prototype.getgid; - delete Process.prototype.getuid; -} - -/** https://nodejs.org/api/process.html#process_process */ -const process = new Process(); - -Object.defineProperty(process, Symbol.toStringTag, { - enumerable: false, - writable: true, - configurable: false, - value: "process", -}); - -addReadOnlyProcessAlias("noDeprecation", "--no-deprecation"); -addReadOnlyProcessAlias("throwDeprecation", "--throw-deprecation"); - -export const removeListener = process.removeListener; -export const removeAllListeners = process.removeAllListeners; - -export default process; - -//TODO(Soremwar) -//Remove on 1.0 -//Kept for backwards compatibility with std -export { process }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/stream.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/stream.ts deleted file mode 100644 index 8b9fccb..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/stream.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// compose, destroy and isDisturbed are experimental APIs without -// typings. They can be exposed once they are released as stable in Node - -// @deno-types="./_stream.d.ts" -import { - _isUint8Array, - _uint8ArrayToBuffer, - addAbortSignal, - // compose, - // destroy, - Duplex, - finished, - // isDisturbed, - PassThrough, - pipeline, - Readable, - Stream, - Transform, - Writable, -} from "./_stream.mjs"; - -export { - _isUint8Array, - _uint8ArrayToBuffer, - addAbortSignal, - Duplex, - finished, - PassThrough, - pipeline, - Readable, - Stream, - Transform, - Writable, -}; - -export default Stream; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/string_decoder.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/string_decoder.ts deleted file mode 100644 index 5694e02..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/string_decoder.ts +++ /dev/null @@ -1,337 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -import { Buffer } from "./buffer.ts"; -import { normalizeEncoding as castEncoding, notImplemented } from "./_utils.ts"; - -enum NotImplemented { - "ascii", - "latin1", - "utf16le", -} - -function normalizeEncoding(enc?: string): string { - const encoding = castEncoding(enc ?? null); - if (encoding && encoding in NotImplemented) notImplemented(encoding); - if (!encoding && typeof enc === "string" && enc.toLowerCase() !== "raw") { - throw new Error(`Unknown encoding: ${enc}`); - } - return String(encoding); -} - -/** - * Check is `ArrayBuffer` and not `TypedArray`. Typescript allowed `TypedArray` to be passed as `ArrayBuffer` and does not do a deep check - */ - -function isBufferType(buf: Buffer) { - return buf instanceof ArrayBuffer && buf.BYTES_PER_ELEMENT; -} - -/* - * Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a - * continuation byte. If an invalid byte is detected, -2 is returned. - */ -function utf8CheckByte(byte: number): number { - if (byte <= 0x7f) return 0; - else if (byte >> 5 === 0x06) return 2; - else if (byte >> 4 === 0x0e) return 3; - else if (byte >> 3 === 0x1e) return 4; - return byte >> 6 === 0x02 ? -1 : -2; -} - -/* - * Checks at most 3 bytes at the end of a Buffer in order to detect an - * incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) - * needed to complete the UTF-8 character (if applicable) are returned. - */ -function utf8CheckIncomplete( - self: StringDecoderBase, - buf: Buffer, - i: number, -): number { - let j = buf.length - 1; - if (j < i) return 0; - let nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0; - else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} - -/* - * Validates as many continuation bytes for a multi-byte UTF-8 character as - * needed or are available. If we see a non-continuation byte where we expect - * one, we "replace" the validated continuation bytes we've seen so far with - * a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding - * behavior. The continuation byte check is included three times in the case - * where all of the continuation bytes for a character exist in the same buffer. - * It is also done this way as a slight performance increase instead of using a - * loop. - */ -function utf8CheckExtraBytes( - self: StringDecoderBase, - buf: Buffer, -): string | undefined { - if ((buf[0] & 0xc0) !== 0x80) { - self.lastNeed = 0; - return "\ufffd"; - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xc0) !== 0x80) { - self.lastNeed = 1; - return "\ufffd"; - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xc0) !== 0x80) { - self.lastNeed = 2; - return "\ufffd"; - } - } - } -} - -/* - * Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. - */ -function utf8FillLastComplete( - this: StringDecoderBase, - buf: Buffer, -): string | undefined { - const p = this.lastTotal - this.lastNeed; - const r = utf8CheckExtraBytes(this, buf); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} - -/* - * Attempts to complete a partial non-UTF-8 character using bytes from a Buffer - */ -function utf8FillLastIncomplete( - this: StringDecoderBase, - buf: Buffer, -): string | undefined { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; -} - -/* - * Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a - * partial character, the character's bytes are buffered until the required - * number of bytes are available. - */ -function utf8Text(this: StringDecoderBase, buf: Buffer, i: number): string { - const total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString("utf8", i); - this.lastTotal = total; - const end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString("utf8", i, end); -} - -/* - * For UTF-8, a replacement character is added when ending on a partial - * character. - */ -function utf8End(this: Utf8Decoder, buf?: Buffer): string { - const r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) return r + "\ufffd"; - return r; -} - -function utf8Write( - this: Utf8Decoder | Base64Decoder, - buf: Buffer | string, -): string { - if (typeof buf === "string") { - return buf; - } - if (buf.length === 0) return ""; - let r; - let i; - // Because `TypedArray` is recognized as `ArrayBuffer` but in the reality, there are some fundamental difference. We would need to cast it properly - const normalizedBuffer: Buffer = isBufferType(buf) ? buf : Buffer.from(buf); - if (this.lastNeed) { - r = this.fillLast(normalizedBuffer); - if (r === undefined) return ""; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) { - return r - ? r + this.text(normalizedBuffer, i) - : this.text(normalizedBuffer, i); - } - return r || ""; -} - -function base64Text(this: StringDecoderBase, buf: Buffer, i: number): string { - const n = (buf.length - i) % 3; - if (n === 0) return buf.toString("base64", i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString("base64", i, buf.length - n); -} - -function base64End(this: Base64Decoder, buf?: Buffer): string { - const r = buf && buf.length ? this.write(buf) : ""; - if (this.lastNeed) { - return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed); - } - return r; -} - -function simpleWrite( - this: StringDecoderBase, - buf: Buffer | string, -): string { - if (typeof buf === "string") { - return buf; - } - return buf.toString(this.encoding); -} - -function simpleEnd(this: GenericDecoder, buf?: Buffer): string { - return buf && buf.length ? this.write(buf) : ""; -} - -class StringDecoderBase { - public lastChar: Buffer; - public lastNeed = 0; - public lastTotal = 0; - constructor(public encoding: string, nb: number) { - this.lastChar = Buffer.allocUnsafe(nb); - } -} - -class Base64Decoder extends StringDecoderBase { - public end = base64End; - public fillLast = utf8FillLastIncomplete; - public text = base64Text; - public write = utf8Write; - - constructor(encoding?: string) { - super(normalizeEncoding(encoding), 3); - } -} - -class GenericDecoder extends StringDecoderBase { - public end = simpleEnd; - public fillLast = undefined; - public text = utf8Text; - public write = simpleWrite; - - constructor(encoding?: string) { - super(normalizeEncoding(encoding), 4); - } -} - -class Utf8Decoder extends StringDecoderBase { - public end = utf8End; - public fillLast = utf8FillLastComplete; - public text = utf8Text; - public write = utf8Write; - - constructor(encoding?: string) { - super(normalizeEncoding(encoding), 4); - } -} - -/* - * StringDecoder provides an interface for efficiently splitting a series of - * buffers into a series of JS strings without breaking apart multi-byte - * characters. - */ -export class StringDecoder { - public encoding: string; - public end: (buf?: Buffer) => string; - public fillLast: ((buf: Buffer) => string | undefined) | undefined; - public lastChar: Buffer; - public lastNeed: number; - public lastTotal: number; - public text: (buf: Buffer, n: number) => string; - public write: (buf: Buffer) => string; - - constructor(encoding?: string) { - const normalizedEncoding = normalizeEncoding(encoding); - let decoder: Utf8Decoder | Base64Decoder | GenericDecoder; - switch (normalizedEncoding) { - case "utf8": - decoder = new Utf8Decoder(encoding); - break; - case "base64": - decoder = new Base64Decoder(encoding); - break; - default: - decoder = new GenericDecoder(encoding); - } - this.encoding = decoder.encoding; - this.end = decoder.end; - this.fillLast = decoder.fillLast; - this.lastChar = decoder.lastChar; - this.lastNeed = decoder.lastNeed; - this.lastTotal = decoder.lastTotal; - this.text = decoder.text; - this.write = decoder.write; - } -} -// Allow calling StringDecoder() without new -const PStringDecoder = new Proxy(StringDecoder, { - apply(_target, thisArg, args) { - // @ts-ignore tedious to replicate types ... - return Object.assign(thisArg, new StringDecoder(...args)); - }, -}); - -export default { StringDecoder: PStringDecoder }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/util.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/util.ts deleted file mode 100644 index 3755312..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/util.ts +++ /dev/null @@ -1,289 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import { promisify } from "./internal/util.mjs"; -import { callbackify } from "./_util/_util_callbackify.ts"; -import { debuglog } from "./internal/util/debuglog.ts"; -import { - format, - formatWithOptions, - inspect, - stripVTControlCharacters, -} from "./internal/util/inspect.mjs"; -import { codes } from "./internal/error_codes.ts"; -import types from "./util/types.ts"; -import { Buffer } from "./buffer.ts"; -import { isDeepStrictEqual } from "./internal/util/comparisons.ts"; -import process from "./process.ts"; -import { validateString } from "./internal/validators.mjs"; - -export { - callbackify, - debuglog, - format, - formatWithOptions, - inspect, - promisify, - stripVTControlCharacters, - types, -}; - -/** @deprecated - use `Array.isArray()` instead. */ -export function isArray(value: unknown): boolean { - return Array.isArray(value); -} - -/** @deprecated - use `typeof value === "boolean" || value instanceof Boolean` instead. */ -export function isBoolean(value: unknown): boolean { - return typeof value === "boolean" || value instanceof Boolean; -} - -/** @deprecated - use `value === null` instead. */ -export function isNull(value: unknown): boolean { - return value === null; -} - -/** @deprecated - use `value === null || value === undefined` instead. */ -export function isNullOrUndefined(value: unknown): boolean { - return value === null || value === undefined; -} - -/** @deprecated - use `typeof value === "number" || value instanceof Number` instead. */ -export function isNumber(value: unknown): boolean { - return typeof value === "number" || value instanceof Number; -} - -/** @deprecated - use `typeof value === "string" || value instanceof String` instead. */ -export function isString(value: unknown): boolean { - return typeof value === "string" || value instanceof String; -} - -/** @deprecated - use `typeof value === "symbol"` instead. */ -export function isSymbol(value: unknown): boolean { - return typeof value === "symbol"; -} - -/** @deprecated - use `value === undefined` instead. */ -export function isUndefined(value: unknown): boolean { - return value === undefined; -} - -/** @deprecated - use `value !== null && typeof value === "object"` instead. */ -export function isObject(value: unknown): boolean { - return value !== null && typeof value === "object"; -} - -/** @deprecated - use `e instanceof Error` instead. */ -export function isError(e: unknown): boolean { - return e instanceof Error; -} - -/** @deprecated - use `typeof value === "function"` instead. */ -export function isFunction(value: unknown): boolean { - return typeof value === "function"; -} - -/** @deprecated Use util.types.RegExp() instead. */ -export function isRegExp(value: unknown): boolean { - return types.isRegExp(value); -} - -/** @deprecated Use util.types.isDate() instead. */ -export function isDate(value: unknown): boolean { - return types.isDate(value); -} - -/** @deprecated - use `value === null || (typeof value !== "object" && typeof value !== "function")` instead. */ -export function isPrimitive(value: unknown): boolean { - return ( - value === null || (typeof value !== "object" && typeof value !== "function") - ); -} - -/** @deprecated Use Buffer.isBuffer() instead. */ -export function isBuffer(value: unknown): boolean { - return Buffer.isBuffer(value); -} - -/** @deprecated Use Object.assign() instead. */ -export function _extend( - target: Record, - source: unknown, -): Record { - // Don't do anything if source isn't an object - if (source === null || typeof source !== "object") return target; - - const keys = Object.keys(source!); - let i = keys.length; - while (i--) { - target[keys[i]] = (source as Record)[keys[i]]; - } - return target; -} - -/** - * https://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor - * @param ctor Constructor function which needs to inherit the prototype. - * @param superCtor Constructor function to inherit prototype from. - */ -export function inherits( - ctor: new (...args: unknown[]) => T, - superCtor: new (...args: unknown[]) => U, -) { - if (ctor === undefined || ctor === null) { - throw new codes.ERR_INVALID_ARG_TYPE("ctor", "Function", ctor); - } - - if (superCtor === undefined || superCtor === null) { - throw new codes.ERR_INVALID_ARG_TYPE("superCtor", "Function", superCtor); - } - - if (superCtor.prototype === undefined) { - throw new codes.ERR_INVALID_ARG_TYPE( - "superCtor.prototype", - "Object", - superCtor.prototype, - ); - } - Object.defineProperty(ctor, "super_", { - value: superCtor, - writable: true, - configurable: true, - }); - Object.setPrototypeOf(ctor.prototype, superCtor.prototype); -} - -import { _TextDecoder, _TextEncoder, getSystemErrorName } from "./_utils.ts"; - -/** The global TextDecoder */ -export type TextDecoder = import("./_utils.ts")._TextDecoder; -export const TextDecoder = _TextDecoder; - -/** The global TextEncoder */ -export type TextEncoder = import("./_utils.ts")._TextEncoder; -export const TextEncoder = _TextEncoder; - -function pad(n: number) { - return n.toString().padStart(2, "0"); -} - -const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", -]; - -/** - * @returns 26 Feb 16:19:34 - */ -function timestamp(): string { - const d = new Date(); - const t = [ - pad(d.getHours()), - pad(d.getMinutes()), - pad(d.getSeconds()), - ].join(":"); - return `${(d.getDate())} ${months[(d).getMonth()]} ${t}`; -} - -/** - * Log is just a thin wrapper to console.log that prepends a timestamp - * @deprecated - */ -// deno-lint-ignore no-explicit-any -export function log(...args: any[]) { - console.log("%s - %s", timestamp(), format(...args)); -} - -// Keep a list of deprecation codes that have been warned on so we only warn on -// each one once. -const codesWarned = new Set(); - -// Mark that a method should not be used. -// Returns a modified function which warns once by default. -// If --no-deprecation is set, then it is a no-op. -// deno-lint-ignore no-explicit-any -export function deprecate(fn: any, msg: string, code?: any) { - if (process.noDeprecation === true) { - return fn; - } - - if (code !== undefined) { - validateString(code, "code"); - } - - let warned = false; - // deno-lint-ignore no-explicit-any - function deprecated(this: any, ...args: any[]) { - if (!warned) { - warned = true; - if (code !== undefined) { - if (!codesWarned.has(code)) { - process.emitWarning(msg, "DeprecationWarning", code, deprecated); - codesWarned.add(code); - } - } else { - // deno-lint-ignore no-explicit-any - process.emitWarning(msg, "DeprecationWarning", deprecated as any); - } - } - if (new.target) { - return Reflect.construct(fn, args, new.target); - } - return Reflect.apply(fn, this, args); - } - - // The wrapper will keep the same prototype as fn to maintain prototype chain - Object.setPrototypeOf(deprecated, fn); - if (fn.prototype) { - // Setting this (rather than using Object.setPrototype, as above) ensures - // that calling the unwrapped constructor gives an instanceof the wrapped - // constructor. - deprecated.prototype = fn.prototype; - } - - return deprecated; -} - -export { getSystemErrorName, isDeepStrictEqual }; - -export default { - format, - formatWithOptions, - inspect, - isArray, - isBoolean, - isNull, - isNullOrUndefined, - isNumber, - isString, - isSymbol, - isUndefined, - isObject, - isError, - isFunction, - isRegExp, - isDate, - isPrimitive, - isBuffer, - _extend, - getSystemErrorName, - deprecate, - callbackify, - promisify, - inherits, - types, - stripVTControlCharacters, - TextDecoder, - TextEncoder, - log, - debuglog, - isDeepStrictEqual, -}; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/util/types.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/util/types.ts deleted file mode 100644 index a482574..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/node/util/types.ts +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -import * as types from "../internal/util/types.ts"; -export * from "../internal/util/types.ts"; -export default { ...types }; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_constants.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_constants.ts deleted file mode 100644 index 8da22a8..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_constants.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -// Alphabet chars. -export const CHAR_UPPERCASE_A = 65; /* A */ -export const CHAR_LOWERCASE_A = 97; /* a */ -export const CHAR_UPPERCASE_Z = 90; /* Z */ -export const CHAR_LOWERCASE_Z = 122; /* z */ - -// Non-alphabetic chars. -export const CHAR_DOT = 46; /* . */ -export const CHAR_FORWARD_SLASH = 47; /* / */ -export const CHAR_BACKWARD_SLASH = 92; /* \ */ -export const CHAR_VERTICAL_LINE = 124; /* | */ -export const CHAR_COLON = 58; /* : */ -export const CHAR_QUESTION_MARK = 63; /* ? */ -export const CHAR_UNDERSCORE = 95; /* _ */ -export const CHAR_LINE_FEED = 10; /* \n */ -export const CHAR_CARRIAGE_RETURN = 13; /* \r */ -export const CHAR_TAB = 9; /* \t */ -export const CHAR_FORM_FEED = 12; /* \f */ -export const CHAR_EXCLAMATION_MARK = 33; /* ! */ -export const CHAR_HASH = 35; /* # */ -export const CHAR_SPACE = 32; /* */ -export const CHAR_NO_BREAK_SPACE = 160; /* \u00A0 */ -export const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279; /* \uFEFF */ -export const CHAR_LEFT_SQUARE_BRACKET = 91; /* [ */ -export const CHAR_RIGHT_SQUARE_BRACKET = 93; /* ] */ -export const CHAR_LEFT_ANGLE_BRACKET = 60; /* < */ -export const CHAR_RIGHT_ANGLE_BRACKET = 62; /* > */ -export const CHAR_LEFT_CURLY_BRACKET = 123; /* { */ -export const CHAR_RIGHT_CURLY_BRACKET = 125; /* } */ -export const CHAR_HYPHEN_MINUS = 45; /* - */ -export const CHAR_PLUS = 43; /* + */ -export const CHAR_DOUBLE_QUOTE = 34; /* " */ -export const CHAR_SINGLE_QUOTE = 39; /* ' */ -export const CHAR_PERCENT = 37; /* % */ -export const CHAR_SEMICOLON = 59; /* ; */ -export const CHAR_CIRCUMFLEX_ACCENT = 94; /* ^ */ -export const CHAR_GRAVE_ACCENT = 96; /* ` */ -export const CHAR_AT = 64; /* @ */ -export const CHAR_AMPERSAND = 38; /* & */ -export const CHAR_EQUAL = 61; /* = */ - -// Digits -export const CHAR_0 = 48; /* 0 */ -export const CHAR_9 = 57; /* 9 */ diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_interface.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_interface.ts deleted file mode 100644 index 153f3de..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_interface.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -/** - * A parsed path object generated by path.parse() or consumed by path.format(). - */ -export interface ParsedPath { - /** - * The root of the path such as '/' or 'c:\' - */ - root: string; - /** - * The full directory path such as '/home/user/dir' or 'c:\path\dir' - */ - dir: string; - /** - * The file name including extension (if any) such as 'index.html' - */ - base: string; - /** - * The file extension (if any) such as '.html' - */ - ext: string; - /** - * The file name without extension (if any) such as 'index' - */ - name: string; -} - -export type FormatInputPathObject = Partial; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_util.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_util.ts deleted file mode 100644 index b84ff91..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/_util.ts +++ /dev/null @@ -1,194 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -import type { FormatInputPathObject } from "./_interface.ts"; -import { - CHAR_BACKWARD_SLASH, - CHAR_DOT, - CHAR_FORWARD_SLASH, - CHAR_LOWERCASE_A, - CHAR_LOWERCASE_Z, - CHAR_UPPERCASE_A, - CHAR_UPPERCASE_Z, -} from "./_constants.ts"; - -export function assertPath(path: string) { - if (typeof path !== "string") { - throw new TypeError( - `Path must be a string. Received ${JSON.stringify(path)}`, - ); - } -} - -export function isPosixPathSeparator(code: number): boolean { - return code === CHAR_FORWARD_SLASH; -} - -export function isPathSeparator(code: number): boolean { - return isPosixPathSeparator(code) || code === CHAR_BACKWARD_SLASH; -} - -export function isWindowsDeviceRoot(code: number): boolean { - return ( - (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z) || - (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) - ); -} - -// Resolves . and .. elements in a path with directory names -export function normalizeString( - path: string, - allowAboveRoot: boolean, - separator: string, - isPathSeparator: (code: number) => boolean, -): string { - let res = ""; - let lastSegmentLength = 0; - let lastSlash = -1; - let dots = 0; - let code: number | undefined; - for (let i = 0, len = path.length; i <= len; ++i) { - if (i < len) code = path.charCodeAt(i); - else if (isPathSeparator(code!)) break; - else code = CHAR_FORWARD_SLASH; - - if (isPathSeparator(code!)) { - if (lastSlash === i - 1 || dots === 1) { - // NOOP - } else if (lastSlash !== i - 1 && dots === 2) { - if ( - res.length < 2 || - lastSegmentLength !== 2 || - res.charCodeAt(res.length - 1) !== CHAR_DOT || - res.charCodeAt(res.length - 2) !== CHAR_DOT - ) { - if (res.length > 2) { - const lastSlashIndex = res.lastIndexOf(separator); - if (lastSlashIndex === -1) { - res = ""; - lastSegmentLength = 0; - } else { - res = res.slice(0, lastSlashIndex); - lastSegmentLength = res.length - 1 - res.lastIndexOf(separator); - } - lastSlash = i; - dots = 0; - continue; - } else if (res.length === 2 || res.length === 1) { - res = ""; - lastSegmentLength = 0; - lastSlash = i; - dots = 0; - continue; - } - } - if (allowAboveRoot) { - if (res.length > 0) res += `${separator}..`; - else res = ".."; - lastSegmentLength = 2; - } - } else { - if (res.length > 0) res += separator + path.slice(lastSlash + 1, i); - else res = path.slice(lastSlash + 1, i); - lastSegmentLength = i - lastSlash - 1; - } - lastSlash = i; - dots = 0; - } else if (code === CHAR_DOT && dots !== -1) { - ++dots; - } else { - dots = -1; - } - } - return res; -} - -export function _format( - sep: string, - pathObject: FormatInputPathObject, -): string { - const dir: string | undefined = pathObject.dir || pathObject.root; - const base: string = pathObject.base || - (pathObject.name || "") + (pathObject.ext || ""); - if (!dir) return base; - if (base === sep) return dir; - if (dir === pathObject.root) return dir + base; - return dir + sep + base; -} - -const WHITESPACE_ENCODINGS: Record = { - "\u0009": "%09", - "\u000A": "%0A", - "\u000B": "%0B", - "\u000C": "%0C", - "\u000D": "%0D", - "\u0020": "%20", -}; - -export function encodeWhitespace(string: string): string { - return string.replaceAll(/[\s]/g, (c) => { - return WHITESPACE_ENCODINGS[c] ?? c; - }); -} - -export function lastPathSegment( - path: string, - isSep: (char: number) => boolean, - start = 0, -): string { - let matchedNonSeparator = false; - let end = path.length; - - for (let i = path.length - 1; i >= start; --i) { - if (isSep(path.charCodeAt(i))) { - if (matchedNonSeparator) { - start = i + 1; - break; - } - } else if (!matchedNonSeparator) { - matchedNonSeparator = true; - end = i + 1; - } - } - - return path.slice(start, end); -} - -export function stripTrailingSeparators( - segment: string, - isSep: (char: number) => boolean, -): string { - if (segment.length <= 1) { - return segment; - } - - let end = segment.length; - - for (let i = segment.length - 1; i > 0; i--) { - if (isSep(segment.charCodeAt(i))) { - end = i; - } else { - break; - } - } - - return segment.slice(0, end); -} - -export function stripSuffix(name: string, suffix: string): string { - if (suffix.length >= name.length) { - return name; - } - - const lenDiff = name.length - suffix.length; - - for (let i = suffix.length - 1; i >= 0; --i) { - if (name.charCodeAt(lenDiff + i) !== suffix.charCodeAt(i)) { - return name; - } - } - - return name.slice(0, -suffix.length); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/common.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/common.ts deleted file mode 100644 index 791105a..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/common.ts +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { SEP } from "./separator.ts"; - -/** Determines the common path from a set of paths, using an optional separator, - * which defaults to the OS default separator. - * - * ```ts - * import { common } from "https://deno.land/std@$STD_VERSION/path/mod.ts"; - * const p = common([ - * "./deno/std/path/mod.ts", - * "./deno/std/fs/mod.ts", - * ]); - * console.log(p); // "./deno/std/" - * ``` - */ -export function common(paths: string[], sep = SEP): string { - const [first = "", ...remaining] = paths; - if (first === "" || remaining.length === 0) { - return first.substring(0, first.lastIndexOf(sep) + 1); - } - const parts = first.split(sep); - - let endOfPrefix = parts.length; - for (const path of remaining) { - const compare = path.split(sep); - for (let i = 0; i < endOfPrefix; i++) { - if (compare[i] !== parts[i]) { - endOfPrefix = i; - } - } - - if (endOfPrefix === 0) { - return ""; - } - } - const prefix = parts.slice(0, endOfPrefix).join(sep); - return prefix.endsWith(sep) ? prefix : `${prefix}${sep}`; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/glob.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/glob.ts deleted file mode 100644 index 265dc4a..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/glob.ts +++ /dev/null @@ -1,418 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { isWindows, osType } from "../_util/os.ts"; -import { SEP, SEP_PATTERN } from "./separator.ts"; -import * as _win32 from "./win32.ts"; -import * as _posix from "./posix.ts"; -import type { OSType } from "../_util/os.ts"; - -const path = isWindows ? _win32 : _posix; -const { join, normalize } = path; - -export interface GlobOptions { - /** Extended glob syntax. - * See https://www.linuxjournal.com/content/bash-extended-globbing. - * - * @default {true} - */ - extended?: boolean; - /** Globstar syntax. - * See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. - * If false, `**` is treated like `*`. - * - * @default {true} - */ - globstar?: boolean; - /** Whether globstar should be case-insensitive. */ - caseInsensitive?: boolean; - /** Operating system. Defaults to the native OS. */ - os?: OSType; -} - -export type GlobToRegExpOptions = GlobOptions; - -const regExpEscapeChars = [ - "!", - "$", - "(", - ")", - "*", - "+", - ".", - "=", - "?", - "[", - "\\", - "^", - "{", - "|", -]; -const rangeEscapeChars = ["-", "\\", "]"]; - -/** Convert a glob string to a regular expression. - * - * Tries to match bash glob expansion as closely as possible. - * - * Basic glob syntax: - * - `*` - Matches everything without leaving the path segment. - * - `?` - Matches any single character. - * - `{foo,bar}` - Matches `foo` or `bar`. - * - `[abcd]` - Matches `a`, `b`, `c` or `d`. - * - `[a-d]` - Matches `a`, `b`, `c` or `d`. - * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. - * - `[[::]]` - Matches any character belonging to ``. - * - `[[:alnum:]]` - Matches any digit or letter. - * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. - * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes - * for a complete list of supported character classes. - * - `\` - Escapes the next character for an `os` other than `"windows"`. - * - \` - Escapes the next character for `os` set to `"windows"`. - * - `/` - Path separator. - * - `\` - Additional path separator only for `os` set to `"windows"`. - * - * Extended syntax: - * - Requires `{ extended: true }`. - * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. - * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. - * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. - * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. - * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. - * - See https://www.linuxjournal.com/content/bash-extended-globbing. - * - * Globstar syntax: - * - Requires `{ globstar: true }`. - * - `**` - Matches any number of any path segments. - * - Must comprise its entire path segment in the provided glob. - * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. - * - * Note the following properties: - * - The generated `RegExp` is anchored at both start and end. - * - Repeating and trailing separators are tolerated. Trailing separators in the - * provided glob have no meaning and are discarded. - * - Absolute globs will only match absolute paths, etc. - * - Empty globs will match nothing. - * - Any special glob syntax must be contained to one path segment. For example, - * `?(foo|bar/baz)` is invalid. The separator will take precedence and the - * first segment ends with an unclosed group. - * - If a path segment ends with unclosed groups or a dangling escape prefix, a - * parse error has occurred. Every character for that segment is taken - * literally in this event. - * - * Limitations: - * - A negative group like `!(foo|bar)` will wrongly be converted to a negative - * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly - * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, - * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if - * the group occurs not nested at the end of the segment. */ -export function globToRegExp( - glob: string, - { - extended = true, - globstar: globstarOption = true, - os = osType, - caseInsensitive = false, - }: GlobToRegExpOptions = {}, -): RegExp { - if (glob == "") { - return /(?!)/; - } - - const sep = os == "windows" ? "(?:\\\\|/)+" : "/+"; - const sepMaybe = os == "windows" ? "(?:\\\\|/)*" : "/*"; - const seps = os == "windows" ? ["\\", "/"] : ["/"]; - const globstar = os == "windows" - ? "(?:[^\\\\/]*(?:\\\\|/|$)+)*" - : "(?:[^/]*(?:/|$)+)*"; - const wildcard = os == "windows" ? "[^\\\\/]*" : "[^/]*"; - const escapePrefix = os == "windows" ? "`" : "\\"; - - // Remove trailing separators. - let newLength = glob.length; - for (; newLength > 1 && seps.includes(glob[newLength - 1]); newLength--); - glob = glob.slice(0, newLength); - - let regExpString = ""; - - // Terminates correctly. Trust that `j` is incremented every iteration. - for (let j = 0; j < glob.length;) { - let segment = ""; - const groupStack: string[] = []; - let inRange = false; - let inEscape = false; - let endsWithSep = false; - let i = j; - - // Terminates with `i` at the non-inclusive end of the current segment. - for (; i < glob.length && !seps.includes(glob[i]); i++) { - if (inEscape) { - inEscape = false; - const escapeChars = inRange ? rangeEscapeChars : regExpEscapeChars; - segment += escapeChars.includes(glob[i]) ? `\\${glob[i]}` : glob[i]; - continue; - } - - if (glob[i] == escapePrefix) { - inEscape = true; - continue; - } - - if (glob[i] == "[") { - if (!inRange) { - inRange = true; - segment += "["; - if (glob[i + 1] == "!") { - i++; - segment += "^"; - } else if (glob[i + 1] == "^") { - i++; - segment += "\\^"; - } - continue; - } else if (glob[i + 1] == ":") { - let k = i + 1; - let value = ""; - while (glob[k + 1] != null && glob[k + 1] != ":") { - value += glob[k + 1]; - k++; - } - if (glob[k + 1] == ":" && glob[k + 2] == "]") { - i = k + 2; - if (value == "alnum") segment += "\\dA-Za-z"; - else if (value == "alpha") segment += "A-Za-z"; - else if (value == "ascii") segment += "\x00-\x7F"; - else if (value == "blank") segment += "\t "; - else if (value == "cntrl") segment += "\x00-\x1F\x7F"; - else if (value == "digit") segment += "\\d"; - else if (value == "graph") segment += "\x21-\x7E"; - else if (value == "lower") segment += "a-z"; - else if (value == "print") segment += "\x20-\x7E"; - else if (value == "punct") { - segment += "!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_‘{|}~"; - } else if (value == "space") segment += "\\s\v"; - else if (value == "upper") segment += "A-Z"; - else if (value == "word") segment += "\\w"; - else if (value == "xdigit") segment += "\\dA-Fa-f"; - continue; - } - } - } - - if (glob[i] == "]" && inRange) { - inRange = false; - segment += "]"; - continue; - } - - if (inRange) { - if (glob[i] == "\\") { - segment += `\\\\`; - } else { - segment += glob[i]; - } - continue; - } - - if ( - glob[i] == ")" && groupStack.length > 0 && - groupStack[groupStack.length - 1] != "BRACE" - ) { - segment += ")"; - const type = groupStack.pop()!; - if (type == "!") { - segment += wildcard; - } else if (type != "@") { - segment += type; - } - continue; - } - - if ( - glob[i] == "|" && groupStack.length > 0 && - groupStack[groupStack.length - 1] != "BRACE" - ) { - segment += "|"; - continue; - } - - if (glob[i] == "+" && extended && glob[i + 1] == "(") { - i++; - groupStack.push("+"); - segment += "(?:"; - continue; - } - - if (glob[i] == "@" && extended && glob[i + 1] == "(") { - i++; - groupStack.push("@"); - segment += "(?:"; - continue; - } - - if (glob[i] == "?") { - if (extended && glob[i + 1] == "(") { - i++; - groupStack.push("?"); - segment += "(?:"; - } else { - segment += "."; - } - continue; - } - - if (glob[i] == "!" && extended && glob[i + 1] == "(") { - i++; - groupStack.push("!"); - segment += "(?!"; - continue; - } - - if (glob[i] == "{") { - groupStack.push("BRACE"); - segment += "(?:"; - continue; - } - - if (glob[i] == "}" && groupStack[groupStack.length - 1] == "BRACE") { - groupStack.pop(); - segment += ")"; - continue; - } - - if (glob[i] == "," && groupStack[groupStack.length - 1] == "BRACE") { - segment += "|"; - continue; - } - - if (glob[i] == "*") { - if (extended && glob[i + 1] == "(") { - i++; - groupStack.push("*"); - segment += "(?:"; - } else { - const prevChar = glob[i - 1]; - let numStars = 1; - while (glob[i + 1] == "*") { - i++; - numStars++; - } - const nextChar = glob[i + 1]; - if ( - globstarOption && numStars == 2 && - [...seps, undefined].includes(prevChar) && - [...seps, undefined].includes(nextChar) - ) { - segment += globstar; - endsWithSep = true; - } else { - segment += wildcard; - } - } - continue; - } - - segment += regExpEscapeChars.includes(glob[i]) ? `\\${glob[i]}` : glob[i]; - } - - // Check for unclosed groups or a dangling backslash. - if (groupStack.length > 0 || inRange || inEscape) { - // Parse failure. Take all characters from this segment literally. - segment = ""; - for (const c of glob.slice(j, i)) { - segment += regExpEscapeChars.includes(c) ? `\\${c}` : c; - endsWithSep = false; - } - } - - regExpString += segment; - if (!endsWithSep) { - regExpString += i < glob.length ? sep : sepMaybe; - endsWithSep = true; - } - - // Terminates with `i` at the start of the next segment. - while (seps.includes(glob[i])) i++; - - // Check that the next value of `j` is indeed higher than the current value. - if (!(i > j)) { - throw new Error("Assertion failure: i > j (potential infinite loop)"); - } - j = i; - } - - regExpString = `^${regExpString}$`; - return new RegExp(regExpString, caseInsensitive ? "i" : ""); -} - -/** Test whether the given string is a glob */ -export function isGlob(str: string): boolean { - const chars: Record = { "{": "}", "(": ")", "[": "]" }; - const regex = - /\\(.)|(^!|\*|\?|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; - - if (str === "") { - return false; - } - - let match: RegExpExecArray | null; - - while ((match = regex.exec(str))) { - if (match[2]) return true; - let idx = match.index + match[0].length; - - // if an open bracket/brace/paren is escaped, - // set the index to the next closing character - const open = match[1]; - const close = open ? chars[open] : null; - if (open && close) { - const n = str.indexOf(close, idx); - if (n !== -1) { - idx = n + 1; - } - } - - str = str.slice(idx); - } - - return false; -} - -/** Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. */ -export function normalizeGlob( - glob: string, - { globstar = false }: GlobOptions = {}, -): string { - if (glob.match(/\0/g)) { - throw new Error(`Glob contains invalid characters: "${glob}"`); - } - if (!globstar) { - return normalize(glob); - } - const s = SEP_PATTERN.source; - const badParentPattern = new RegExp( - `(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, - "g", - ); - return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, ".."); -} - -/** Like join(), but doesn't collapse "**\/.." when `globstar` is true. */ -export function joinGlobs( - globs: string[], - { extended = true, globstar = false }: GlobOptions = {}, -): string { - if (!globstar || globs.length == 0) { - return join(...globs); - } - if (globs.length === 0) return "."; - let joined: string | undefined; - for (const glob of globs) { - const path = glob; - if (path.length > 0) { - if (!joined) joined = path; - else joined += `${SEP}${path}`; - } - } - if (!joined) return "."; - return normalizeGlob(joined, { extended, globstar }); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/mod.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/mod.ts deleted file mode 100644 index 7250754..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/mod.ts +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported mostly from https://github.com/browserify/path-browserify/ - -/** - * Utilities for working with OS-specific file paths. - * - * Codes in the examples uses POSIX path but it automatically use Windows path - * on Windows. Use methods under `posix` or `win32` object instead to handle non - * platform specific path like: - * ```ts - * import { posix, win32 } from "https://deno.land/std@$STD_VERSION/path/mod.ts"; - * const p1 = posix.fromFileUrl("file:///home/foo"); - * const p2 = win32.fromFileUrl("file:///home/foo"); - * console.log(p1); // "/home/foo" - * console.log(p2); // "\\home\\foo" - * ``` - * - * This module is browser compatible. - * - * @module - */ - -import { isWindows } from "../_util/os.ts"; -import * as _win32 from "./win32.ts"; -import * as _posix from "./posix.ts"; - -const path = isWindows ? _win32 : _posix; - -export const win32 = _win32; -export const posix = _posix; -export const { - basename, - delimiter, - dirname, - extname, - format, - fromFileUrl, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - sep, - toFileUrl, - toNamespacedPath, -} = path; - -export * from "./common.ts"; -export { SEP, SEP_PATTERN } from "./separator.ts"; -export * from "./_interface.ts"; -export * from "./glob.ts"; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/posix.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/posix.ts deleted file mode 100644 index 472ccaf..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/posix.ts +++ /dev/null @@ -1,487 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -import type { FormatInputPathObject, ParsedPath } from "./_interface.ts"; -import { CHAR_DOT } from "./_constants.ts"; - -import { - _format, - assertPath, - encodeWhitespace, - isPosixPathSeparator, - lastPathSegment, - normalizeString, - stripSuffix, - stripTrailingSeparators, -} from "./_util.ts"; - -export const sep = "/"; -export const delimiter = ":"; - -// path.resolve([from ...], to) -/** - * Resolves `pathSegments` into an absolute path. - * @param pathSegments an array of path segments - */ -export function resolve(...pathSegments: string[]): string { - let resolvedPath = ""; - let resolvedAbsolute = false; - - for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - let path: string; - - if (i >= 0) path = pathSegments[i]; - else { - // deno-lint-ignore no-explicit-any - const { Deno } = globalThis as any; - if (typeof Deno?.cwd !== "function") { - throw new TypeError("Resolved a relative path without a CWD."); - } - path = Deno.cwd(); - } - - assertPath(path); - - // Skip empty entries - if (path.length === 0) { - continue; - } - - resolvedPath = `${path}/${resolvedPath}`; - resolvedAbsolute = isPosixPathSeparator(path.charCodeAt(0)); - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - - // Normalize the path - resolvedPath = normalizeString( - resolvedPath, - !resolvedAbsolute, - "/", - isPosixPathSeparator, - ); - - if (resolvedAbsolute) { - if (resolvedPath.length > 0) return `/${resolvedPath}`; - else return "/"; - } else if (resolvedPath.length > 0) return resolvedPath; - else return "."; -} - -/** - * Normalize the `path`, resolving `'..'` and `'.'` segments. - * Note that resolving these segments does not necessarily mean that all will be eliminated. - * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. - * @param path to be normalized - */ -export function normalize(path: string): string { - assertPath(path); - - if (path.length === 0) return "."; - - const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); - const trailingSeparator = isPosixPathSeparator( - path.charCodeAt(path.length - 1), - ); - - // Normalize the path - path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator); - - if (path.length === 0 && !isAbsolute) path = "."; - if (path.length > 0 && trailingSeparator) path += "/"; - - if (isAbsolute) return `/${path}`; - return path; -} - -/** - * Verifies whether provided path is absolute - * @param path to be verified as absolute - */ -export function isAbsolute(path: string): boolean { - assertPath(path); - return path.length > 0 && isPosixPathSeparator(path.charCodeAt(0)); -} - -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * @param paths to be joined and normalized - */ -export function join(...paths: string[]): string { - if (paths.length === 0) return "."; - let joined: string | undefined; - for (let i = 0, len = paths.length; i < len; ++i) { - const path = paths[i]; - assertPath(path); - if (path.length > 0) { - if (!joined) joined = path; - else joined += `/${path}`; - } - } - if (!joined) return "."; - return normalize(joined); -} - -/** - * Return the relative path from `from` to `to` based on current working directory. - * @param from path in current working directory - * @param to path in current working directory - */ -export function relative(from: string, to: string): string { - assertPath(from); - assertPath(to); - - if (from === to) return ""; - - from = resolve(from); - to = resolve(to); - - if (from === to) return ""; - - // Trim any leading backslashes - let fromStart = 1; - const fromEnd = from.length; - for (; fromStart < fromEnd; ++fromStart) { - if (!isPosixPathSeparator(from.charCodeAt(fromStart))) break; - } - const fromLen = fromEnd - fromStart; - - // Trim any leading backslashes - let toStart = 1; - const toEnd = to.length; - for (; toStart < toEnd; ++toStart) { - if (!isPosixPathSeparator(to.charCodeAt(toStart))) break; - } - const toLen = toEnd - toStart; - - // Compare paths to find the longest common path from root - const length = fromLen < toLen ? fromLen : toLen; - let lastCommonSep = -1; - let i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (isPosixPathSeparator(to.charCodeAt(toStart + i))) { - // We get here if `from` is the exact base path for `to`. - // For example: from='/foo/bar'; to='/foo/bar/baz' - return to.slice(toStart + i + 1); - } else if (i === 0) { - // We get here if `from` is the root - // For example: from='/'; to='/foo' - return to.slice(toStart + i); - } - } else if (fromLen > length) { - if (isPosixPathSeparator(from.charCodeAt(fromStart + i))) { - // We get here if `to` is the exact base path for `from`. - // For example: from='/foo/bar/baz'; to='/foo/bar' - lastCommonSep = i; - } else if (i === 0) { - // We get here if `to` is the root. - // For example: from='/foo'; to='/' - lastCommonSep = 0; - } - } - break; - } - const fromCode = from.charCodeAt(fromStart + i); - const toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) break; - else if (isPosixPathSeparator(fromCode)) lastCommonSep = i; - } - - let out = ""; - // Generate the relative path based on the path difference between `to` - // and `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || isPosixPathSeparator(from.charCodeAt(i))) { - if (out.length === 0) out += ".."; - else out += "/.."; - } - } - - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) return out + to.slice(toStart + lastCommonSep); - else { - toStart += lastCommonSep; - if (isPosixPathSeparator(to.charCodeAt(toStart))) ++toStart; - return to.slice(toStart); - } -} - -/** - * Resolves path to a namespace path - * @param path to resolve to namespace - */ -export function toNamespacedPath(path: string): string { - // Non-op on posix systems - return path; -} - -/** - * Return the directory path of a `path`. - * @param path - path to extract the directory from. - */ -export function dirname(path: string): string { - if (path.length === 0) return "."; - - let end = -1; - let matchedNonSeparator = false; - - for (let i = path.length - 1; i >= 1; --i) { - if (isPosixPathSeparator(path.charCodeAt(i))) { - if (matchedNonSeparator) { - end = i; - break; - } - } else { - matchedNonSeparator = true; - } - } - - // No matches. Fallback based on provided path: - // - // - leading slashes paths - // "/foo" => "/" - // "///foo" => "/" - // - no slash path - // "foo" => "." - if (end === -1) { - return isPosixPathSeparator(path.charCodeAt(0)) ? "/" : "."; - } - - return stripTrailingSeparators( - path.slice(0, end), - isPosixPathSeparator, - ); -} - -/** - * Return the last portion of a `path`. - * Trailing directory separators are ignored, and optional suffix is removed. - * - * @param path - path to extract the name from. - * @param [suffix] - suffix to remove from extracted name. - */ -export function basename(path: string, suffix = ""): string { - assertPath(path); - - if (path.length === 0) return path; - - if (typeof suffix !== "string") { - throw new TypeError( - `Suffix must be a string. Received ${JSON.stringify(suffix)}`, - ); - } - - const lastSegment = lastPathSegment(path, isPosixPathSeparator); - const strippedSegment = stripTrailingSeparators( - lastSegment, - isPosixPathSeparator, - ); - return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; -} - -/** - * Return the extension of the `path` with leading period. - * @param path with extension - * @returns extension (ex. for `file.ts` returns `.ts`) - */ -export function extname(path: string): string { - assertPath(path); - let startDot = -1; - let startPart = 0; - let end = -1; - let matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - for (let i = path.length - 1; i >= 0; --i) { - const code = path.charCodeAt(i); - if (isPosixPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i; - else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if ( - startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) - ) { - return ""; - } - return path.slice(startDot, end); -} - -/** - * Generate a path from `FormatInputPathObject` object. - * @param pathObject with path - */ -export function format(pathObject: FormatInputPathObject): string { - if (pathObject === null || typeof pathObject !== "object") { - throw new TypeError( - `The "pathObject" argument must be of type Object. Received type ${typeof pathObject}`, - ); - } - return _format("/", pathObject); -} - -/** - * Return a `ParsedPath` object of the `path`. - * @param path to process - */ -export function parse(path: string): ParsedPath { - assertPath(path); - - const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; - if (path.length === 0) return ret; - const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); - let start: number; - if (isAbsolute) { - ret.root = "/"; - start = 1; - } else { - start = 0; - } - let startDot = -1; - let startPart = 0; - let end = -1; - let matchedSlash = true; - let i = path.length - 1; - - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - - // Get non-dir info - for (; i >= start; --i) { - const code = path.charCodeAt(i); - if (isPosixPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i; - else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if ( - startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) - ) { - if (end !== -1) { - if (startPart === 0 && isAbsolute) { - ret.base = ret.name = path.slice(1, end); - } else { - ret.base = ret.name = path.slice(startPart, end); - } - } - // Fallback to '/' in case there is no basename - ret.base = ret.base || "/"; - } else { - if (startPart === 0 && isAbsolute) { - ret.name = path.slice(1, startDot); - ret.base = path.slice(1, end); - } else { - ret.name = path.slice(startPart, startDot); - ret.base = path.slice(startPart, end); - } - ret.ext = path.slice(startDot, end); - } - - if (startPart > 0) { - ret.dir = stripTrailingSeparators( - path.slice(0, startPart - 1), - isPosixPathSeparator, - ); - } else if (isAbsolute) ret.dir = "/"; - - return ret; -} - -/** - * Converts a file URL to a path string. - * - * ```ts - * import { fromFileUrl } from "https://deno.land/std@$STD_VERSION/path/posix.ts"; - * fromFileUrl("file:///home/foo"); // "/home/foo" - * ``` - * @param url of a file URL - */ -export function fromFileUrl(url: string | URL): string { - url = url instanceof URL ? url : new URL(url); - if (url.protocol != "file:") { - throw new TypeError("Must be a file URL."); - } - return decodeURIComponent( - url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), - ); -} - -/** - * Converts a path string to a file URL. - * - * ```ts - * import { toFileUrl } from "https://deno.land/std@$STD_VERSION/path/posix.ts"; - * toFileUrl("/home/foo"); // new URL("file:///home/foo") - * ``` - * @param path to convert to file URL - */ -export function toFileUrl(path: string): URL { - if (!isAbsolute(path)) { - throw new TypeError("Must be an absolute path."); - } - const url = new URL("file:///"); - url.pathname = encodeWhitespace( - path.replace(/%/g, "%25").replace(/\\/g, "%5C"), - ); - return url; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/separator.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/separator.ts deleted file mode 100644 index 99e4dff..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/separator.ts +++ /dev/null @@ -1,7 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { isWindows } from "../_util/os.ts"; - -export const SEP = isWindows ? "\\" : "/"; -export const SEP_PATTERN = isWindows ? /[\\/]+/ : /\/+/; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/win32.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/win32.ts deleted file mode 100644 index de4bd58..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/path/win32.ts +++ /dev/null @@ -1,962 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// Copyright the Browserify authors. MIT License. -// Ported from https://github.com/browserify/path-browserify/ -// This module is browser compatible. - -import type { FormatInputPathObject, ParsedPath } from "./_interface.ts"; -import { - CHAR_BACKWARD_SLASH, - CHAR_COLON, - CHAR_DOT, - CHAR_QUESTION_MARK, -} from "./_constants.ts"; - -import { - _format, - assertPath, - encodeWhitespace, - isPathSeparator, - isPosixPathSeparator, - isWindowsDeviceRoot, - lastPathSegment, - normalizeString, - stripSuffix, - stripTrailingSeparators, -} from "./_util.ts"; -import { assert } from "../_util/asserts.ts"; - -export const sep = "\\"; -export const delimiter = ";"; - -/** - * Resolves path segments into a `path` - * @param pathSegments to process to path - */ -export function resolve(...pathSegments: string[]): string { - let resolvedDevice = ""; - let resolvedTail = ""; - let resolvedAbsolute = false; - - for (let i = pathSegments.length - 1; i >= -1; i--) { - let path: string; - // deno-lint-ignore no-explicit-any - const { Deno } = globalThis as any; - if (i >= 0) { - path = pathSegments[i]; - } else if (!resolvedDevice) { - if (typeof Deno?.cwd !== "function") { - throw new TypeError("Resolved a drive-letter-less path without a CWD."); - } - path = Deno.cwd(); - } else { - if ( - typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function" - ) { - throw new TypeError("Resolved a relative path without a CWD."); - } - path = Deno.cwd(); - - // Verify that a cwd was found and that it actually points - // to our drive. If not, default to the drive's root. - if ( - path === undefined || - path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\` - ) { - path = `${resolvedDevice}\\`; - } - } - - assertPath(path); - - const len = path.length; - - // Skip empty entries - if (len === 0) continue; - - let rootEnd = 0; - let device = ""; - let isAbsolute = false; - const code = path.charCodeAt(0); - - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - - // If we started with a separator, we know we at least have an - // absolute path of some kind (UNC or otherwise) - isAbsolute = true; - - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - const firstPart = path.slice(last, j); - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j === len) { - // We matched a UNC root only - device = `\\\\${firstPart}\\${path.slice(last)}`; - rootEnd = j; - } else if (j !== last) { - // We matched a UNC root with leftovers - - device = `\\\\${firstPart}\\${path.slice(last, j)}`; - rootEnd = j; - } - } - } - } else { - rootEnd = 1; - } - } else if (isWindowsDeviceRoot(code)) { - // Possible device root - - if (path.charCodeAt(1) === CHAR_COLON) { - device = path.slice(0, 2); - rootEnd = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) { - // Treat separator following drive name as an absolute path - // indicator - isAbsolute = true; - rootEnd = 3; - } - } - } - } - } else if (isPathSeparator(code)) { - // `path` contains just a path separator - rootEnd = 1; - isAbsolute = true; - } - - if ( - device.length > 0 && - resolvedDevice.length > 0 && - device.toLowerCase() !== resolvedDevice.toLowerCase() - ) { - // This path points to another device so it is not applicable - continue; - } - - if (resolvedDevice.length === 0 && device.length > 0) { - resolvedDevice = device; - } - if (!resolvedAbsolute) { - resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`; - resolvedAbsolute = isAbsolute; - } - - if (resolvedAbsolute && resolvedDevice.length > 0) break; - } - - // At this point the path should be resolved to a full absolute path, - // but handle relative paths to be safe (might happen when process.cwd() - // fails) - - // Normalize the tail path - resolvedTail = normalizeString( - resolvedTail, - !resolvedAbsolute, - "\\", - isPathSeparator, - ); - - return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || "."; -} - -/** - * Normalizes a `path` - * @param path to normalize - */ -export function normalize(path: string): string { - assertPath(path); - const len = path.length; - if (len === 0) return "."; - let rootEnd = 0; - let device: string | undefined; - let isAbsolute = false; - const code = path.charCodeAt(0); - - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - - // If we started with a separator, we know we at least have an absolute - // path of some kind (UNC or otherwise) - isAbsolute = true; - - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - const firstPart = path.slice(last, j); - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j === len) { - // We matched a UNC root only - // Return the normalized version of the UNC root since there - // is nothing left to process - - return `\\\\${firstPart}\\${path.slice(last)}\\`; - } else if (j !== last) { - // We matched a UNC root with leftovers - - device = `\\\\${firstPart}\\${path.slice(last, j)}`; - rootEnd = j; - } - } - } - } else { - rootEnd = 1; - } - } else if (isWindowsDeviceRoot(code)) { - // Possible device root - - if (path.charCodeAt(1) === CHAR_COLON) { - device = path.slice(0, 2); - rootEnd = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) { - // Treat separator following drive name as an absolute path - // indicator - isAbsolute = true; - rootEnd = 3; - } - } - } - } - } else if (isPathSeparator(code)) { - // `path` contains just a path separator, exit early to avoid unnecessary - // work - return "\\"; - } - - let tail: string; - if (rootEnd < len) { - tail = normalizeString( - path.slice(rootEnd), - !isAbsolute, - "\\", - isPathSeparator, - ); - } else { - tail = ""; - } - if (tail.length === 0 && !isAbsolute) tail = "."; - if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) { - tail += "\\"; - } - if (device === undefined) { - if (isAbsolute) { - if (tail.length > 0) return `\\${tail}`; - else return "\\"; - } else if (tail.length > 0) { - return tail; - } else { - return ""; - } - } else if (isAbsolute) { - if (tail.length > 0) return `${device}\\${tail}`; - else return `${device}\\`; - } else if (tail.length > 0) { - return device + tail; - } else { - return device; - } -} - -/** - * Verifies whether path is absolute - * @param path to verify - */ -export function isAbsolute(path: string): boolean { - assertPath(path); - const len = path.length; - if (len === 0) return false; - - const code = path.charCodeAt(0); - if (isPathSeparator(code)) { - return true; - } else if (isWindowsDeviceRoot(code)) { - // Possible device root - - if (len > 2 && path.charCodeAt(1) === CHAR_COLON) { - if (isPathSeparator(path.charCodeAt(2))) return true; - } - } - return false; -} - -/** - * Join all given a sequence of `paths`,then normalizes the resulting path. - * @param paths to be joined and normalized - */ -export function join(...paths: string[]): string { - const pathsCount = paths.length; - if (pathsCount === 0) return "."; - - let joined: string | undefined; - let firstPart: string | null = null; - for (let i = 0; i < pathsCount; ++i) { - const path = paths[i]; - assertPath(path); - if (path.length > 0) { - if (joined === undefined) joined = firstPart = path; - else joined += `\\${path}`; - } - } - - if (joined === undefined) return "."; - - // Make sure that the joined path doesn't start with two slashes, because - // normalize() will mistake it for an UNC path then. - // - // This step is skipped when it is very clear that the user actually - // intended to point at an UNC path. This is assumed when the first - // non-empty string arguments starts with exactly two slashes followed by - // at least one more non-slash character. - // - // Note that for normalize() to treat a path as an UNC path it needs to - // have at least 2 components, so we don't filter for that here. - // This means that the user can use join to construct UNC paths from - // a server name and a share name; for example: - // path.join('//server', 'share') -> '\\\\server\\share\\') - let needsReplace = true; - let slashCount = 0; - assert(firstPart != null); - if (isPathSeparator(firstPart.charCodeAt(0))) { - ++slashCount; - const firstLen = firstPart.length; - if (firstLen > 1) { - if (isPathSeparator(firstPart.charCodeAt(1))) { - ++slashCount; - if (firstLen > 2) { - if (isPathSeparator(firstPart.charCodeAt(2))) ++slashCount; - else { - // We matched a UNC path in the first part - needsReplace = false; - } - } - } - } - } - if (needsReplace) { - // Find any more consecutive slashes we need to replace - for (; slashCount < joined.length; ++slashCount) { - if (!isPathSeparator(joined.charCodeAt(slashCount))) break; - } - - // Replace the slashes if needed - if (slashCount >= 2) joined = `\\${joined.slice(slashCount)}`; - } - - return normalize(joined); -} - -/** - * It will solve the relative path from `from` to `to`, for instance: - * from = 'C:\\orandea\\test\\aaa' - * to = 'C:\\orandea\\impl\\bbb' - * The output of the function should be: '..\\..\\impl\\bbb' - * @param from relative path - * @param to relative path - */ -export function relative(from: string, to: string): string { - assertPath(from); - assertPath(to); - - if (from === to) return ""; - - const fromOrig = resolve(from); - const toOrig = resolve(to); - - if (fromOrig === toOrig) return ""; - - from = fromOrig.toLowerCase(); - to = toOrig.toLowerCase(); - - if (from === to) return ""; - - // Trim any leading backslashes - let fromStart = 0; - let fromEnd = from.length; - for (; fromStart < fromEnd; ++fromStart) { - if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH) break; - } - // Trim trailing backslashes (applicable to UNC paths only) - for (; fromEnd - 1 > fromStart; --fromEnd) { - if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH) break; - } - const fromLen = fromEnd - fromStart; - - // Trim any leading backslashes - let toStart = 0; - let toEnd = to.length; - for (; toStart < toEnd; ++toStart) { - if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH) break; - } - // Trim trailing backslashes (applicable to UNC paths only) - for (; toEnd - 1 > toStart; --toEnd) { - if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH) break; - } - const toLen = toEnd - toStart; - - // Compare paths to find the longest common path from root - const length = fromLen < toLen ? fromLen : toLen; - let lastCommonSep = -1; - let i = 0; - for (; i <= length; ++i) { - if (i === length) { - if (toLen > length) { - if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) { - // We get here if `from` is the exact base path for `to`. - // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz' - return toOrig.slice(toStart + i + 1); - } else if (i === 2) { - // We get here if `from` is the device root. - // For example: from='C:\\'; to='C:\\foo' - return toOrig.slice(toStart + i); - } - } - if (fromLen > length) { - if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) { - // We get here if `to` is the exact base path for `from`. - // For example: from='C:\\foo\\bar'; to='C:\\foo' - lastCommonSep = i; - } else if (i === 2) { - // We get here if `to` is the device root. - // For example: from='C:\\foo\\bar'; to='C:\\' - lastCommonSep = 3; - } - } - break; - } - const fromCode = from.charCodeAt(fromStart + i); - const toCode = to.charCodeAt(toStart + i); - if (fromCode !== toCode) break; - else if (fromCode === CHAR_BACKWARD_SLASH) lastCommonSep = i; - } - - // We found a mismatch before the first common path separator was seen, so - // return the original `to`. - if (i !== length && lastCommonSep === -1) { - return toOrig; - } - - let out = ""; - if (lastCommonSep === -1) lastCommonSep = 0; - // Generate the relative path based on the path difference between `to` and - // `from` - for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { - if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) { - if (out.length === 0) out += ".."; - else out += "\\.."; - } - } - - // Lastly, append the rest of the destination (`to`) path that comes after - // the common path parts - if (out.length > 0) { - return out + toOrig.slice(toStart + lastCommonSep, toEnd); - } else { - toStart += lastCommonSep; - if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) ++toStart; - return toOrig.slice(toStart, toEnd); - } -} - -/** - * Resolves path to a namespace path - * @param path to resolve to namespace - */ -export function toNamespacedPath(path: string): string { - // Note: this will *probably* throw somewhere. - if (typeof path !== "string") return path; - if (path.length === 0) return ""; - - const resolvedPath = resolve(path); - - if (resolvedPath.length >= 3) { - if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) { - // Possible UNC root - - if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) { - const code = resolvedPath.charCodeAt(2); - if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) { - // Matched non-long UNC root, convert the path to a long UNC path - return `\\\\?\\UNC\\${resolvedPath.slice(2)}`; - } - } - } else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0))) { - // Possible device root - - if ( - resolvedPath.charCodeAt(1) === CHAR_COLON && - resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH - ) { - // Matched device root, convert the path to a long UNC path - return `\\\\?\\${resolvedPath}`; - } - } - } - - return path; -} - -/** - * Return the directory path of a `path`. - * @param path - path to extract the directory from. - */ -export function dirname(path: string): string { - assertPath(path); - const len = path.length; - if (len === 0) return "."; - let rootEnd = -1; - let end = -1; - let matchedSlash = true; - let offset = 0; - const code = path.charCodeAt(0); - - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - - rootEnd = offset = 1; - - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j === len) { - // We matched a UNC root only - return path; - } - if (j !== last) { - // We matched a UNC root with leftovers - - // Offset by 1 to include the separator after the UNC root to - // treat it as a "normal root" on top of a (UNC) root - rootEnd = offset = j + 1; - } - } - } - } - } else if (isWindowsDeviceRoot(code)) { - // Possible device root - - if (path.charCodeAt(1) === CHAR_COLON) { - rootEnd = offset = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) rootEnd = offset = 3; - } - } - } - } else if (isPathSeparator(code)) { - // `path` contains just a path separator, exit early to avoid - // unnecessary work - return path; - } - - for (let i = len - 1; i >= offset; --i) { - if (isPathSeparator(path.charCodeAt(i))) { - if (!matchedSlash) { - end = i; - break; - } - } else { - // We saw the first non-path separator - matchedSlash = false; - } - } - - if (end === -1) { - if (rootEnd === -1) return "."; - else end = rootEnd; - } - return stripTrailingSeparators(path.slice(0, end), isPosixPathSeparator); -} - -/** - * Return the last portion of a `path`. - * Trailing directory separators are ignored, and optional suffix is removed. - * - * @param path - path to extract name from. - * @param [suffix] - suffix to remove from extracted name. - */ -export function basename(path: string, suffix = ""): string { - assertPath(path); - - if (path.length === 0) return path; - - if (typeof suffix !== "string") { - throw new TypeError( - `Suffix must be a string. Received ${JSON.stringify(suffix)}`, - ); - } - - // Check for a drive letter prefix so as not to mistake the following - // path separator as an extra separator at the end of the path that can be - // disregarded - let start = 0; - if (path.length >= 2) { - const drive = path.charCodeAt(0); - if (isWindowsDeviceRoot(drive)) { - if (path.charCodeAt(1) === CHAR_COLON) start = 2; - } - } - - const lastSegment = lastPathSegment(path, isPathSeparator, start); - const strippedSegment = stripTrailingSeparators(lastSegment, isPathSeparator); - return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; -} - -/** - * Return the extension of the `path` with leading period. - * @param path with extension - * @returns extension (ex. for `file.ts` returns `.ts`) - */ -export function extname(path: string): string { - assertPath(path); - let start = 0; - let startDot = -1; - let startPart = 0; - let end = -1; - let matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - - // Check for a drive letter prefix so as not to mistake the following - // path separator as an extra separator at the end of the path that can be - // disregarded - - if ( - path.length >= 2 && - path.charCodeAt(1) === CHAR_COLON && - isWindowsDeviceRoot(path.charCodeAt(0)) - ) { - start = startPart = 2; - } - - for (let i = path.length - 1; i >= start; --i) { - const code = path.charCodeAt(i); - if (isPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i; - else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if ( - startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) - ) { - return ""; - } - return path.slice(startDot, end); -} - -/** - * Generate a path from `FormatInputPathObject` object. - * @param pathObject with path - */ -export function format(pathObject: FormatInputPathObject): string { - if (pathObject === null || typeof pathObject !== "object") { - throw new TypeError( - `The "pathObject" argument must be of type Object. Received type ${typeof pathObject}`, - ); - } - return _format("\\", pathObject); -} - -/** - * Return a `ParsedPath` object of the `path`. - * @param path to process - */ -export function parse(path: string): ParsedPath { - assertPath(path); - - const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; - - const len = path.length; - if (len === 0) return ret; - - let rootEnd = 0; - let code = path.charCodeAt(0); - - // Try to match a root - if (len > 1) { - if (isPathSeparator(code)) { - // Possible UNC root - - rootEnd = 1; - if (isPathSeparator(path.charCodeAt(1))) { - // Matched double path separator at beginning - let j = 2; - let last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more path separators - for (; j < len; ++j) { - if (!isPathSeparator(path.charCodeAt(j))) break; - } - if (j < len && j !== last) { - // Matched! - last = j; - // Match 1 or more non-path separators - for (; j < len; ++j) { - if (isPathSeparator(path.charCodeAt(j))) break; - } - if (j === len) { - // We matched a UNC root only - - rootEnd = j; - } else if (j !== last) { - // We matched a UNC root with leftovers - - rootEnd = j + 1; - } - } - } - } - } else if (isWindowsDeviceRoot(code)) { - // Possible device root - - if (path.charCodeAt(1) === CHAR_COLON) { - rootEnd = 2; - if (len > 2) { - if (isPathSeparator(path.charCodeAt(2))) { - if (len === 3) { - // `path` contains just a drive root, exit early to avoid - // unnecessary work - ret.root = ret.dir = path; - ret.base = "\\"; - return ret; - } - rootEnd = 3; - } - } else { - // `path` contains just a relative drive root, exit early to avoid - // unnecessary work - ret.root = ret.dir = path; - return ret; - } - } - } - } else if (isPathSeparator(code)) { - // `path` contains just a path separator, exit early to avoid - // unnecessary work - ret.root = ret.dir = path; - ret.base = "\\"; - return ret; - } - - if (rootEnd > 0) ret.root = path.slice(0, rootEnd); - - let startDot = -1; - let startPart = rootEnd; - let end = -1; - let matchedSlash = true; - let i = path.length - 1; - - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - let preDotState = 0; - - // Get non-dir info - for (; i >= rootEnd; --i) { - code = path.charCodeAt(i); - if (isPathSeparator(code)) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === CHAR_DOT) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) startDot = i; - else if (preDotState !== 1) preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if ( - startDot === -1 || - end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) - ) { - if (end !== -1) { - ret.base = ret.name = path.slice(startPart, end); - } - } else { - ret.name = path.slice(startPart, startDot); - ret.base = path.slice(startPart, end); - ret.ext = path.slice(startDot, end); - } - - // Fallback to '\' in case there is no basename - ret.base = ret.base || "\\"; - - // If the directory is the root, use the entire root as the `dir` including - // the trailing slash if any (`C:\abc` -> `C:\`). Otherwise, strip out the - // trailing slash (`C:\abc\def` -> `C:\abc`). - if (startPart > 0 && startPart !== rootEnd) { - ret.dir = path.slice(0, startPart - 1); - } else ret.dir = ret.root; - - return ret; -} - -/** - * Converts a file URL to a path string. - * - * ```ts - * import { fromFileUrl } from "https://deno.land/std@$STD_VERSION/path/win32.ts"; - * fromFileUrl("file:///home/foo"); // "\\home\\foo" - * fromFileUrl("file:///C:/Users/foo"); // "C:\\Users\\foo" - * fromFileUrl("file://localhost/home/foo"); // "\\\\localhost\\home\\foo" - * ``` - * @param url of a file URL - */ -export function fromFileUrl(url: string | URL): string { - url = url instanceof URL ? url : new URL(url); - if (url.protocol != "file:") { - throw new TypeError("Must be a file URL."); - } - let path = decodeURIComponent( - url.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), - ).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\"); - if (url.hostname != "") { - // Note: The `URL` implementation guarantees that the drive letter and - // hostname are mutually exclusive. Otherwise it would not have been valid - // to append the hostname and path like this. - path = `\\\\${url.hostname}${path}`; - } - return path; -} - -/** - * Converts a path string to a file URL. - * - * ```ts - * import { toFileUrl } from "https://deno.land/std@$STD_VERSION/path/win32.ts"; - * toFileUrl("\\home\\foo"); // new URL("file:///home/foo") - * toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo") - * toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo") - * ``` - * @param path to convert to file URL - */ -export function toFileUrl(path: string): URL { - if (!isAbsolute(path)) { - throw new TypeError("Must be an absolute path."); - } - const [, hostname, pathname] = path.match( - /^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/, - )!; - const url = new URL("file:///"); - url.pathname = encodeWhitespace(pathname.replace(/%/g, "%25")); - if (hostname != null && hostname != "localhost") { - url.hostname = hostname; - if (!url.hostname) { - throw new TypeError("Invalid hostname."); - } - } - return url; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/streams/write_all.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/streams/write_all.ts deleted file mode 100644 index a6aaf88..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/streams/write_all.ts +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -import type { Writer, WriterSync } from "../types.d.ts"; - -/** Write all the content of the array buffer (`arr`) to the writer (`w`). - * - * ```ts - * import { Buffer } from "https://deno.land/std@$STD_VERSION/io/buffer.ts"; - * import { writeAll } from "https://deno.land/std@$STD_VERSION/streams/write_all.ts"; - - * // Example writing to stdout - * let contentBytes = new TextEncoder().encode("Hello World"); - * await writeAll(Deno.stdout, contentBytes); - * - * // Example writing to file - * contentBytes = new TextEncoder().encode("Hello World"); - * const file = await Deno.open('test.file', {write: true}); - * await writeAll(file, contentBytes); - * file.close(); - * - * // Example writing to buffer - * contentBytes = new TextEncoder().encode("Hello World"); - * const writer = new Buffer(); - * await writeAll(writer, contentBytes); - * console.log(writer.bytes().length); // 11 - * ``` - */ -export async function writeAll(w: Writer, arr: Uint8Array) { - let nwritten = 0; - while (nwritten < arr.length) { - nwritten += await w.write(arr.subarray(nwritten)); - } -} - -/** Synchronously write all the content of the array buffer (`arr`) to the - * writer (`w`). - * - * ```ts - * import { Buffer } from "https://deno.land/std@$STD_VERSION/io/buffer.ts"; - * import { writeAllSync } from "https://deno.land/std@$STD_VERSION/streams/write_all.ts"; - * - * // Example writing to stdout - * let contentBytes = new TextEncoder().encode("Hello World"); - * writeAllSync(Deno.stdout, contentBytes); - * - * // Example writing to file - * contentBytes = new TextEncoder().encode("Hello World"); - * const file = Deno.openSync('test.file', {write: true}); - * writeAllSync(file, contentBytes); - * file.close(); - * - * // Example writing to buffer - * contentBytes = new TextEncoder().encode("Hello World"); - * const writer = new Buffer(); - * writeAllSync(writer, contentBytes); - * console.log(writer.bytes().length); // 11 - * ``` - */ -export function writeAllSync(w: WriterSync, arr: Uint8Array) { - let nwritten = 0; - while (nwritten < arr.length) { - nwritten += w.writeSync(arr.subarray(nwritten)); - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/_diff.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/_diff.ts deleted file mode 100644 index bd416e5..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/_diff.ts +++ /dev/null @@ -1,440 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -import { - bgGreen, - bgRed, - bold, - gray, - green, - red, - white, -} from "../fmt/colors.ts"; - -interface FarthestPoint { - y: number; - id: number; -} - -export enum DiffType { - removed = "removed", - common = "common", - added = "added", -} - -export interface DiffResult { - type: DiffType; - value: T; - details?: Array>; -} - -const REMOVED = 1; -const COMMON = 2; -const ADDED = 3; - -function createCommon(A: T[], B: T[], reverse?: boolean): T[] { - const common = []; - if (A.length === 0 || B.length === 0) return []; - for (let i = 0; i < Math.min(A.length, B.length); i += 1) { - if ( - A[reverse ? A.length - i - 1 : i] === B[reverse ? B.length - i - 1 : i] - ) { - common.push(A[reverse ? A.length - i - 1 : i]); - } else { - return common; - } - } - return common; -} - -/** - * Renders the differences between the actual and expected values - * @param A Actual value - * @param B Expected value - */ -export function diff(A: T[], B: T[]): Array> { - const prefixCommon = createCommon(A, B); - const suffixCommon = createCommon( - A.slice(prefixCommon.length), - B.slice(prefixCommon.length), - true, - ).reverse(); - A = suffixCommon.length - ? A.slice(prefixCommon.length, -suffixCommon.length) - : A.slice(prefixCommon.length); - B = suffixCommon.length - ? B.slice(prefixCommon.length, -suffixCommon.length) - : B.slice(prefixCommon.length); - const swapped = B.length > A.length; - [A, B] = swapped ? [B, A] : [A, B]; - const M = A.length; - const N = B.length; - if (!M && !N && !suffixCommon.length && !prefixCommon.length) return []; - if (!N) { - return [ - ...prefixCommon.map( - (c): DiffResult => ({ type: DiffType.common, value: c }), - ), - ...A.map( - (a): DiffResult => ({ - type: swapped ? DiffType.added : DiffType.removed, - value: a, - }), - ), - ...suffixCommon.map( - (c): DiffResult => ({ type: DiffType.common, value: c }), - ), - ]; - } - const offset = N; - const delta = M - N; - const size = M + N + 1; - const fp: FarthestPoint[] = Array.from( - { length: size }, - () => ({ y: -1, id: -1 }), - ); - /** - * INFO: - * This buffer is used to save memory and improve performance. - * The first half is used to save route and last half is used to save diff - * type. - * This is because, when I kept new uint8array area to save type,performance - * worsened. - */ - const routes = new Uint32Array((M * N + size + 1) * 2); - const diffTypesPtrOffset = routes.length / 2; - let ptr = 0; - let p = -1; - - function backTrace( - A: T[], - B: T[], - current: FarthestPoint, - swapped: boolean, - ): Array<{ - type: DiffType; - value: T; - }> { - const M = A.length; - const N = B.length; - const result = []; - let a = M - 1; - let b = N - 1; - let j = routes[current.id]; - let type = routes[current.id + diffTypesPtrOffset]; - while (true) { - if (!j && !type) break; - const prev = j; - if (type === REMOVED) { - result.unshift({ - type: swapped ? DiffType.removed : DiffType.added, - value: B[b], - }); - b -= 1; - } else if (type === ADDED) { - result.unshift({ - type: swapped ? DiffType.added : DiffType.removed, - value: A[a], - }); - a -= 1; - } else { - result.unshift({ type: DiffType.common, value: A[a] }); - a -= 1; - b -= 1; - } - j = routes[prev]; - type = routes[prev + diffTypesPtrOffset]; - } - return result; - } - - function createFP( - slide: FarthestPoint, - down: FarthestPoint, - k: number, - M: number, - ): FarthestPoint { - if (slide && slide.y === -1 && down && down.y === -1) { - return { y: 0, id: 0 }; - } - if ( - (down && down.y === -1) || - k === M || - (slide && slide.y) > (down && down.y) + 1 - ) { - const prev = slide.id; - ptr++; - routes[ptr] = prev; - routes[ptr + diffTypesPtrOffset] = ADDED; - return { y: slide.y, id: ptr }; - } else { - const prev = down.id; - ptr++; - routes[ptr] = prev; - routes[ptr + diffTypesPtrOffset] = REMOVED; - return { y: down.y + 1, id: ptr }; - } - } - - function snake( - k: number, - slide: FarthestPoint, - down: FarthestPoint, - _offset: number, - A: T[], - B: T[], - ): FarthestPoint { - const M = A.length; - const N = B.length; - if (k < -N || M < k) return { y: -1, id: -1 }; - const fp = createFP(slide, down, k, M); - while (fp.y + k < M && fp.y < N && A[fp.y + k] === B[fp.y]) { - const prev = fp.id; - ptr++; - fp.id = ptr; - fp.y += 1; - routes[ptr] = prev; - routes[ptr + diffTypesPtrOffset] = COMMON; - } - return fp; - } - - while (fp[delta + offset].y < N) { - p = p + 1; - for (let k = -p; k < delta; ++k) { - fp[k + offset] = snake( - k, - fp[k - 1 + offset], - fp[k + 1 + offset], - offset, - A, - B, - ); - } - for (let k = delta + p; k > delta; --k) { - fp[k + offset] = snake( - k, - fp[k - 1 + offset], - fp[k + 1 + offset], - offset, - A, - B, - ); - } - fp[delta + offset] = snake( - delta, - fp[delta - 1 + offset], - fp[delta + 1 + offset], - offset, - A, - B, - ); - } - return [ - ...prefixCommon.map( - (c): DiffResult => ({ type: DiffType.common, value: c }), - ), - ...backTrace(A, B, fp[delta + offset], swapped), - ...suffixCommon.map( - (c): DiffResult => ({ type: DiffType.common, value: c }), - ), - ]; -} - -/** - * Renders the differences between the actual and expected strings - * Partially inspired from https://github.com/kpdecker/jsdiff - * @param A Actual string - * @param B Expected string - */ -export function diffstr(A: string, B: string) { - function unescape(string: string): string { - // unescape invisible characters. - // ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#escape_sequences - return string - .replaceAll("\b", "\\b") - .replaceAll("\f", "\\f") - .replaceAll("\t", "\\t") - .replaceAll("\v", "\\v") - .replaceAll( // does not remove line breaks - /\r\n|\r|\n/g, - (str) => str === "\r" ? "\\r" : str === "\n" ? "\\n\n" : "\\r\\n\r\n", - ); - } - - function tokenize(string: string, { wordDiff = false } = {}): string[] { - if (wordDiff) { - // Split string on whitespace symbols - const tokens = string.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); - // Extended Latin character set - const words = - /^[a-zA-Z\u{C0}-\u{FF}\u{D8}-\u{F6}\u{F8}-\u{2C6}\u{2C8}-\u{2D7}\u{2DE}-\u{2FF}\u{1E00}-\u{1EFF}]+$/u; - - // Join boundary splits that we do not consider to be boundaries and merge empty strings surrounded by word chars - for (let i = 0; i < tokens.length - 1; i++) { - if ( - !tokens[i + 1] && tokens[i + 2] && words.test(tokens[i]) && - words.test(tokens[i + 2]) - ) { - tokens[i] += tokens[i + 2]; - tokens.splice(i + 1, 2); - i--; - } - } - return tokens.filter((token) => token); - } else { - // Split string on new lines symbols - const tokens = [], lines = string.split(/(\n|\r\n)/); - - // Ignore final empty token when text ends with a newline - if (!lines[lines.length - 1]) { - lines.pop(); - } - - // Merge the content and line separators into single tokens - for (let i = 0; i < lines.length; i++) { - if (i % 2) { - tokens[tokens.length - 1] += lines[i]; - } else { - tokens.push(lines[i]); - } - } - return tokens; - } - } - - // Create details by filtering relevant word-diff for current line - // and merge "space-diff" if surrounded by word-diff for cleaner displays - function createDetails( - line: DiffResult, - tokens: Array>, - ) { - return tokens.filter(({ type }) => - type === line.type || type === DiffType.common - ).map((result, i, t) => { - if ( - (result.type === DiffType.common) && (t[i - 1]) && - (t[i - 1]?.type === t[i + 1]?.type) && /\s+/.test(result.value) - ) { - return { - ...result, - type: t[i - 1].type, - }; - } - return result; - }); - } - - // Compute multi-line diff - const diffResult = diff( - tokenize(`${unescape(A)}\n`), - tokenize(`${unescape(B)}\n`), - ); - - const added = [], removed = []; - for (const result of diffResult) { - if (result.type === DiffType.added) { - added.push(result); - } - if (result.type === DiffType.removed) { - removed.push(result); - } - } - - // Compute word-diff - const aLines = added.length < removed.length ? added : removed; - const bLines = aLines === removed ? added : removed; - for (const a of aLines) { - let tokens = [] as Array>, - b: undefined | DiffResult; - // Search another diff line with at least one common token - while (bLines.length) { - b = bLines.shift(); - tokens = diff( - tokenize(a.value, { wordDiff: true }), - tokenize(b?.value ?? "", { wordDiff: true }), - ); - if ( - tokens.some(({ type, value }) => - type === DiffType.common && value.trim().length - ) - ) { - break; - } - } - // Register word-diff details - a.details = createDetails(a, tokens); - if (b) { - b.details = createDetails(b, tokens); - } - } - - return diffResult; -} - -/** - * Colors the output of assertion diffs - * @param diffType Difference type, either added or removed - */ -function createColor( - diffType: DiffType, - { background = false } = {}, -): (s: string) => string { - // TODO(@littledivy): Remove this when we can detect - // true color terminals. - // https://github.com/denoland/deno_std/issues/2575 - background = false; - switch (diffType) { - case DiffType.added: - return (s: string): string => - background ? bgGreen(white(s)) : green(bold(s)); - case DiffType.removed: - return (s: string): string => background ? bgRed(white(s)) : red(bold(s)); - default: - return white; - } -} - -/** - * Prefixes `+` or `-` in diff output - * @param diffType Difference type, either added or removed - */ -function createSign(diffType: DiffType): string { - switch (diffType) { - case DiffType.added: - return "+ "; - case DiffType.removed: - return "- "; - default: - return " "; - } -} - -export function buildMessage( - diffResult: ReadonlyArray>, - { stringDiff = false } = {}, -): string[] { - const messages: string[] = [], diffMessages: string[] = []; - messages.push(""); - messages.push(""); - messages.push( - ` ${gray(bold("[Diff]"))} ${red(bold("Actual"))} / ${ - green(bold("Expected")) - }`, - ); - messages.push(""); - messages.push(""); - diffResult.forEach((result: DiffResult) => { - const c = createColor(result.type); - const line = result.details?.map((detail) => - detail.type !== DiffType.common - ? createColor(detail.type, { background: true })(detail.value) - : detail.value - ).join("") ?? result.value; - diffMessages.push(c(`${createSign(result.type)}${line}`)); - }); - messages.push(...(stringDiff ? [diffMessages.join("")] : diffMessages)); - messages.push(""); - - return messages; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/_format.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/_format.ts deleted file mode 100644 index 4496aa6..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/_format.ts +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// This module is browser compatible. - -/** - * Converts the input into a string. Objects, Sets and Maps are sorted so as to - * make tests less flaky - * @param v Value to be formatted - */ -export function format(v: unknown): string { - // deno-lint-ignore no-explicit-any - const { Deno } = globalThis as any; - return typeof Deno?.inspect === "function" - ? Deno.inspect(v, { - depth: Infinity, - sorted: true, - trailingComma: true, - compact: false, - iterableLimit: Infinity, - // getters should be true in assertEquals. - getters: true, - }) - : `"${String(v).replace(/(?=["\\])/g, "\\")}"`; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/asserts.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/asserts.ts deleted file mode 100644 index 35ed77b..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/testing/asserts.ts +++ /dev/null @@ -1,906 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -/** A library of assertion functions. - * If the assertion is false an `AssertionError` will be thrown which will - * result in pretty-printed diff of failing assertion. - * - * This module is browser compatible, but do not rely on good formatting of - * values for AssertionError messages in browsers. - * - * @module - */ - -import { red, stripColor } from "../fmt/colors.ts"; -import { buildMessage, diff, diffstr } from "./_diff.ts"; -import { format } from "./_format.ts"; - -const CAN_NOT_DISPLAY = "[Cannot display]"; - -export class AssertionError extends Error { - override name = "AssertionError"; - constructor(message: string) { - super(message); - } -} - -function isKeyedCollection(x: unknown): x is Set { - return [Symbol.iterator, "size"].every((k) => k in (x as Set)); -} - -/** - * Deep equality comparison used in assertions - * @param c actual value - * @param d expected value - */ -export function equal(c: unknown, d: unknown): boolean { - const seen = new Map(); - return (function compare(a: unknown, b: unknown): boolean { - // Have to render RegExp & Date for string comparison - // unless it's mistreated as object - if ( - a && - b && - ((a instanceof RegExp && b instanceof RegExp) || - (a instanceof URL && b instanceof URL)) - ) { - return String(a) === String(b); - } - if (a instanceof Date && b instanceof Date) { - const aTime = a.getTime(); - const bTime = b.getTime(); - // Check for NaN equality manually since NaN is not - // equal to itself. - if (Number.isNaN(aTime) && Number.isNaN(bTime)) { - return true; - } - return aTime === bTime; - } - if (typeof a === "number" && typeof b === "number") { - return Number.isNaN(a) && Number.isNaN(b) || a === b; - } - if (Object.is(a, b)) { - return true; - } - if (a && typeof a === "object" && b && typeof b === "object") { - if (a && b && !constructorsEqual(a, b)) { - return false; - } - if (a instanceof WeakMap || b instanceof WeakMap) { - if (!(a instanceof WeakMap && b instanceof WeakMap)) return false; - throw new TypeError("cannot compare WeakMap instances"); - } - if (a instanceof WeakSet || b instanceof WeakSet) { - if (!(a instanceof WeakSet && b instanceof WeakSet)) return false; - throw new TypeError("cannot compare WeakSet instances"); - } - if (seen.get(a) === b) { - return true; - } - if (Object.keys(a || {}).length !== Object.keys(b || {}).length) { - return false; - } - seen.set(a, b); - if (isKeyedCollection(a) && isKeyedCollection(b)) { - if (a.size !== b.size) { - return false; - } - - let unmatchedEntries = a.size; - - for (const [aKey, aValue] of a.entries()) { - for (const [bKey, bValue] of b.entries()) { - /* Given that Map keys can be references, we need - * to ensure that they are also deeply equal */ - if ( - (aKey === aValue && bKey === bValue && compare(aKey, bKey)) || - (compare(aKey, bKey) && compare(aValue, bValue)) - ) { - unmatchedEntries--; - break; - } - } - } - - return unmatchedEntries === 0; - } - const merged = { ...a, ...b }; - for ( - const key of [ - ...Object.getOwnPropertyNames(merged), - ...Object.getOwnPropertySymbols(merged), - ] - ) { - type Key = keyof typeof merged; - if (!compare(a && a[key as Key], b && b[key as Key])) { - return false; - } - if (((key in a) && (!(key in b))) || ((key in b) && (!(key in a)))) { - return false; - } - } - if (a instanceof WeakRef || b instanceof WeakRef) { - if (!(a instanceof WeakRef && b instanceof WeakRef)) return false; - return compare(a.deref(), b.deref()); - } - return true; - } - return false; - })(c, d); -} - -// deno-lint-ignore ban-types -function constructorsEqual(a: object, b: object) { - return a.constructor === b.constructor || - a.constructor === Object && !b.constructor || - !a.constructor && b.constructor === Object; -} - -/** Make an assertion, error will be thrown if `expr` does not have truthy value. */ -export function assert(expr: unknown, msg = ""): asserts expr { - if (!expr) { - throw new AssertionError(msg); - } -} - -/** Make an assertion, error will be thrown if `expr` have truthy value. */ -type Falsy = false | 0 | 0n | "" | null | undefined; -export function assertFalse(expr: unknown, msg = ""): asserts expr is Falsy { - if (expr) { - throw new AssertionError(msg); - } -} - -/** - * Make an assertion that `actual` and `expected` are equal, deeply. If not - * deeply equal, then throw. - * - * Type parameter can be specified to ensure values under comparison have the same type. - * - * @example - * ```ts - * import { assertEquals } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * Deno.test("example", function (): void { - * assertEquals("world", "world"); - * assertEquals({ hello: "world" }, { hello: "world" }); - * }); - * ``` - */ -export function assertEquals(actual: T, expected: T, msg?: string) { - if (equal(actual, expected)) { - return; - } - let message = ""; - const actualString = format(actual); - const expectedString = format(expected); - try { - const stringDiff = (typeof actual === "string") && - (typeof expected === "string"); - const diffResult = stringDiff - ? diffstr(actual as string, expected as string) - : diff(actualString.split("\n"), expectedString.split("\n")); - const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n"); - message = `Values are not equal:\n${diffMsg}`; - } catch { - message = `\n${red(CAN_NOT_DISPLAY)} + \n\n`; - } - if (msg) { - message = msg; - } - throw new AssertionError(message); -} - -/** - * Make an assertion that `actual` and `expected` are not equal, deeply. - * If not then throw. - * - * Type parameter can be specified to ensure values under comparison have the same type. - * - * @example - * ```ts - * import { assertNotEquals } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * assertNotEquals(1, 2) - * ``` - */ -export function assertNotEquals(actual: T, expected: T, msg?: string) { - if (!equal(actual, expected)) { - return; - } - let actualString: string; - let expectedString: string; - try { - actualString = String(actual); - } catch { - actualString = "[Cannot display]"; - } - try { - expectedString = String(expected); - } catch { - expectedString = "[Cannot display]"; - } - if (!msg) { - msg = `actual: ${actualString} expected not to be: ${expectedString}`; - } - throw new AssertionError(msg); -} - -/** - * Make an assertion that `actual` and `expected` are strictly equal. If - * not then throw. - * - * @example - * ```ts - * import { assertStrictEquals } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * Deno.test("isStrictlyEqual", function (): void { - * const a = {}; - * const b = a; - * assertStrictEquals(a, b); - * }); - * - * // This test fails - * Deno.test("isNotStrictlyEqual", function (): void { - * const a = {}; - * const b = {}; - * assertStrictEquals(a, b); - * }); - * ``` - */ -export function assertStrictEquals( - actual: unknown, - expected: T, - msg?: string, -): asserts actual is T { - if (Object.is(actual, expected)) { - return; - } - - let message: string; - - if (msg) { - message = msg; - } else { - const actualString = format(actual); - const expectedString = format(expected); - - if (actualString === expectedString) { - const withOffset = actualString - .split("\n") - .map((l) => ` ${l}`) - .join("\n"); - message = - `Values have the same structure but are not reference-equal:\n\n${ - red(withOffset) - }\n`; - } else { - try { - const stringDiff = (typeof actual === "string") && - (typeof expected === "string"); - const diffResult = stringDiff - ? diffstr(actual as string, expected as string) - : diff(actualString.split("\n"), expectedString.split("\n")); - const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n"); - message = `Values are not strictly equal:\n${diffMsg}`; - } catch { - message = `\n${red(CAN_NOT_DISPLAY)} + \n\n`; - } - } - } - - throw new AssertionError(message); -} - -/** - * Make an assertion that `actual` and `expected` are not strictly equal. - * If the values are strictly equal then throw. - * - * ```ts - * import { assertNotStrictEquals } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * assertNotStrictEquals(1, 1) - * ``` - */ -export function assertNotStrictEquals( - actual: T, - expected: T, - msg?: string, -) { - if (!Object.is(actual, expected)) { - return; - } - - throw new AssertionError( - msg ?? `Expected "actual" to be strictly unequal to: ${format(actual)}\n`, - ); -} - -/** - * Make an assertion that `actual` and `expected` are almost equal numbers through - * a given tolerance. It can be used to take into account IEEE-754 double-precision - * floating-point representation limitations. - * If the values are not almost equal then throw. - * - * @example - * ```ts - * import { assertAlmostEquals, assertThrows } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * assertAlmostEquals(0.1, 0.2); - * - * // Using a custom tolerance value - * assertAlmostEquals(0.1 + 0.2, 0.3, 1e-16); - * assertThrows(() => assertAlmostEquals(0.1 + 0.2, 0.3, 1e-17)); - * ``` - */ -export function assertAlmostEquals( - actual: number, - expected: number, - tolerance = 1e-7, - msg?: string, -) { - if (Object.is(actual, expected)) { - return; - } - const delta = Math.abs(expected - actual); - if (delta <= tolerance) { - return; - } - const f = (n: number) => Number.isInteger(n) ? n : n.toExponential(); - throw new AssertionError( - msg ?? - `actual: "${f(actual)}" expected to be close to "${f(expected)}": \ -delta "${f(delta)}" is greater than "${f(tolerance)}"`, - ); -} - -// deno-lint-ignore no-explicit-any -type AnyConstructor = new (...args: any[]) => any; -type GetConstructorType = T extends // deno-lint-ignore no-explicit-any -new (...args: any) => infer C ? C - : never; - -/** - * Make an assertion that `obj` is an instance of `type`. - * If not then throw. - */ -export function assertInstanceOf( - actual: unknown, - expectedType: T, - msg = "", -): asserts actual is GetConstructorType { - if (!msg) { - const expectedTypeStr = expectedType.name; - - let actualTypeStr = ""; - if (actual === null) { - actualTypeStr = "null"; - } else if (actual === undefined) { - actualTypeStr = "undefined"; - } else if (typeof actual === "object") { - actualTypeStr = actual.constructor?.name ?? "Object"; - } else { - actualTypeStr = typeof actual; - } - - if (expectedTypeStr == actualTypeStr) { - msg = `Expected object to be an instance of "${expectedTypeStr}".`; - } else if (actualTypeStr == "function") { - msg = - `Expected object to be an instance of "${expectedTypeStr}" but was not an instanced object.`; - } else { - msg = - `Expected object to be an instance of "${expectedTypeStr}" but was "${actualTypeStr}".`; - } - } - assert(actual instanceof expectedType, msg); -} - -/** - * Make an assertion that `obj` is not an instance of `type`. - * If so, then throw. - */ -export function assertNotInstanceOf( - actual: A, - // deno-lint-ignore no-explicit-any - unexpectedType: new (...args: any[]) => T, - msg = `Expected object to not be an instance of "${typeof unexpectedType}"`, -): asserts actual is Exclude { - assertFalse(actual instanceof unexpectedType, msg); -} - -/** - * Make an assertion that actual is not null or undefined. - * If not then throw. - */ -export function assertExists( - actual: T, - msg?: string, -): asserts actual is NonNullable { - if (actual === undefined || actual === null) { - if (!msg) { - msg = `actual: "${actual}" expected to not be null or undefined`; - } - throw new AssertionError(msg); - } -} - -/** - * Make an assertion that actual includes expected. If not - * then throw. - */ -export function assertStringIncludes( - actual: string, - expected: string, - msg?: string, -) { - if (!actual.includes(expected)) { - if (!msg) { - msg = `actual: "${actual}" expected to contain: "${expected}"`; - } - throw new AssertionError(msg); - } -} - -/** - * Make an assertion that `actual` includes the `expected` values. - * If not then an error will be thrown. - * - * Type parameter can be specified to ensure values under comparison have the same type. - * - * @example - * ```ts - * import { assertArrayIncludes } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * assertArrayIncludes([1, 2], [2]) - * ``` - */ -export function assertArrayIncludes( - actual: ArrayLike, - expected: ArrayLike, - msg?: string, -) { - const missing: unknown[] = []; - for (let i = 0; i < expected.length; i++) { - let found = false; - for (let j = 0; j < actual.length; j++) { - if (equal(expected[i], actual[j])) { - found = true; - break; - } - } - if (!found) { - missing.push(expected[i]); - } - } - if (missing.length === 0) { - return; - } - if (!msg) { - msg = `actual: "${format(actual)}" expected to include: "${ - format(expected) - }"\nmissing: ${format(missing)}`; - } - throw new AssertionError(msg); -} - -/** - * Make an assertion that `actual` match RegExp `expected`. If not - * then throw. - */ -export function assertMatch( - actual: string, - expected: RegExp, - msg?: string, -) { - if (!expected.test(actual)) { - if (!msg) { - msg = `actual: "${actual}" expected to match: "${expected}"`; - } - throw new AssertionError(msg); - } -} - -/** - * Make an assertion that `actual` not match RegExp `expected`. If match - * then throw. - */ -export function assertNotMatch( - actual: string, - expected: RegExp, - msg?: string, -) { - if (expected.test(actual)) { - if (!msg) { - msg = `actual: "${actual}" expected to not match: "${expected}"`; - } - throw new AssertionError(msg); - } -} - -/** - * Make an assertion that `actual` object is a subset of `expected` object, deeply. - * If not, then throw. - */ -export function assertObjectMatch( - // deno-lint-ignore no-explicit-any - actual: Record, - expected: Record, -) { - type loose = Record; - - function filter(a: loose, b: loose) { - const seen = new WeakMap(); - return fn(a, b); - - function fn(a: loose, b: loose): loose { - // Prevent infinite loop with circular references with same filter - if ((seen.has(a)) && (seen.get(a) === b)) { - return a; - } - seen.set(a, b); - // Filter keys and symbols which are present in both actual and expected - const filtered = {} as loose; - const entries = [ - ...Object.getOwnPropertyNames(a), - ...Object.getOwnPropertySymbols(a), - ] - .filter((key) => key in b) - .map((key) => [key, a[key as string]]) as Array<[string, unknown]>; - for (const [key, value] of entries) { - // On array references, build a filtered array and filter nested objects inside - if (Array.isArray(value)) { - const subset = (b as loose)[key]; - if (Array.isArray(subset)) { - filtered[key] = fn({ ...value }, { ...subset }); - continue; - } - } // On regexp references, keep value as it to avoid loosing pattern and flags - else if (value instanceof RegExp) { - filtered[key] = value; - continue; - } // On nested objects references, build a filtered object recursively - else if (typeof value === "object") { - const subset = (b as loose)[key]; - if ((typeof subset === "object") && (subset)) { - // When both operands are maps, build a filtered map with common keys and filter nested objects inside - if ((value instanceof Map) && (subset instanceof Map)) { - filtered[key] = new Map( - [...value].filter(([k]) => subset.has(k)).map(( - [k, v], - ) => [k, typeof v === "object" ? fn(v, subset.get(k)) : v]), - ); - continue; - } - // When both operands are set, build a filtered set with common values - if ((value instanceof Set) && (subset instanceof Set)) { - filtered[key] = new Set([...value].filter((v) => subset.has(v))); - continue; - } - filtered[key] = fn(value as loose, subset as loose); - continue; - } - } - filtered[key] = value; - } - return filtered; - } - } - return assertEquals( - // get the intersection of "actual" and "expected" - // side effect: all the instances' constructor field is "Object" now. - filter(actual, expected), - // set (nested) instances' constructor field to be "Object" without changing expected value. - // see https://github.com/denoland/deno_std/pull/1419 - filter(expected, expected), - ); -} - -/** - * Forcefully throws a failed assertion - */ -export function fail(msg?: string): never { - assert(false, `Failed assertion${msg ? `: ${msg}` : "."}`); -} - -/** - * Make an assertion that `error` is an `Error`. - * If not then an error will be thrown. - * An error class and a string that should be included in the - * error message can also be asserted. - */ -export function assertIsError( - error: unknown, - // deno-lint-ignore no-explicit-any - ErrorClass?: new (...args: any[]) => E, - msgIncludes?: string, - msg?: string, -): asserts error is E { - if (error instanceof Error === false) { - throw new AssertionError(`Expected "error" to be an Error object.`); - } - if (ErrorClass && !(error instanceof ErrorClass)) { - msg = `Expected error to be instance of "${ErrorClass.name}", but was "${ - typeof error === "object" ? error?.constructor?.name : "[not an object]" - }"${msg ? `: ${msg}` : "."}`; - throw new AssertionError(msg); - } - if ( - msgIncludes && (!(error instanceof Error) || - !stripColor(error.message).includes(stripColor(msgIncludes))) - ) { - msg = `Expected error message to include "${msgIncludes}", but got "${ - error instanceof Error ? error.message : "[not an Error]" - }"${msg ? `: ${msg}` : "."}`; - throw new AssertionError(msg); - } -} - -/** - * Executes a function, expecting it to throw. If it does not, then it - * throws. - * - * @example - * ```ts - * import { assertThrows } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * Deno.test("doesThrow", function (): void { - * assertThrows((): void => { - * throw new TypeError("hello world!"); - * }); - * }); - * - * // This test will not pass. - * Deno.test("fails", function (): void { - * assertThrows((): void => { - * console.log("Hello world"); - * }); - * }); - * ``` - */ -export function assertThrows( - fn: () => unknown, - msg?: string, -): unknown; -/** - * Executes a function, expecting it to throw. If it does not, then it - * throws. An error class and a string that should be included in the - * error message can also be asserted. - * - * @example - * - * ```ts - * import { assertThrows } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * Deno.test("doesThrow", function (): void { - * assertThrows((): void => { - * throw new TypeError("hello world!"); - * }, TypeError); - * assertThrows( - * (): void => { - * throw new TypeError("hello world!"); - * }, - * TypeError, - * "hello", - * ); - * }); - * - * // This test will not pass. - * Deno.test("fails", function (): void { - * assertThrows((): void => { - * console.log("Hello world"); - * }); - * }); - * ``` - */ -export function assertThrows( - fn: () => unknown, - // deno-lint-ignore no-explicit-any - ErrorClass: new (...args: any[]) => E, - msgIncludes?: string, - msg?: string, -): E; -export function assertThrows( - fn: () => unknown, - errorClassOrMsg?: - // deno-lint-ignore no-explicit-any - | (new (...args: any[]) => E) - | string, - msgIncludesOrMsg?: string, - msg?: string, -): E | Error | unknown { - // deno-lint-ignore no-explicit-any - let ErrorClass: (new (...args: any[]) => E) | undefined = undefined; - let msgIncludes: string | undefined = undefined; - let err; - - if (typeof errorClassOrMsg !== "string") { - if ( - errorClassOrMsg === undefined || - errorClassOrMsg.prototype instanceof Error || - errorClassOrMsg.prototype === Error.prototype - ) { - // deno-lint-ignore no-explicit-any - ErrorClass = errorClassOrMsg as new (...args: any[]) => E; - msgIncludes = msgIncludesOrMsg; - } else { - msg = msgIncludesOrMsg; - } - } else { - msg = errorClassOrMsg; - } - let doesThrow = false; - const msgToAppendToError = msg ? `: ${msg}` : "."; - try { - fn(); - } catch (error) { - if (ErrorClass) { - if (error instanceof Error === false) { - throw new AssertionError("A non-Error object was thrown."); - } - assertIsError( - error, - ErrorClass, - msgIncludes, - msg, - ); - } - err = error; - doesThrow = true; - } - if (!doesThrow) { - msg = `Expected function to throw${msgToAppendToError}`; - throw new AssertionError(msg); - } - return err; -} - -/** - * Executes a function which returns a promise, expecting it to reject. - * - * @example - * ```ts - * import { assertRejects } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * Deno.test("doesThrow", async function () { - * await assertRejects( - * async () => { - * throw new TypeError("hello world!"); - * }, - * ); - * await assertRejects( - * async () => { - * return Promise.reject(new Error()); - * }, - * ); - * }); - * - * // This test will not pass. - * Deno.test("fails", async function () { - * await assertRejects( - * async () => { - * console.log("Hello world"); - * }, - * ); - * }); - * ``` - */ -export function assertRejects( - fn: () => PromiseLike, - msg?: string, -): Promise; -/** - * Executes a function which returns a promise, expecting it to reject. - * If it does not, then it throws. An error class and a string that should be - * included in the error message can also be asserted. - * - * @example - * ```ts - * import { assertRejects } from "https://deno.land/std@$STD_VERSION/testing/asserts.ts"; - * - * Deno.test("doesThrow", async function () { - * await assertRejects(async () => { - * throw new TypeError("hello world!"); - * }, TypeError); - * await assertRejects( - * async () => { - * throw new TypeError("hello world!"); - * }, - * TypeError, - * "hello", - * ); - * }); - * - * // This test will not pass. - * Deno.test("fails", async function () { - * await assertRejects( - * async () => { - * console.log("Hello world"); - * }, - * ); - * }); - * ``` - */ -export function assertRejects( - fn: () => PromiseLike, - // deno-lint-ignore no-explicit-any - ErrorClass: new (...args: any[]) => E, - msgIncludes?: string, - msg?: string, -): Promise; -export async function assertRejects( - fn: () => PromiseLike, - errorClassOrMsg?: - // deno-lint-ignore no-explicit-any - | (new (...args: any[]) => E) - | string, - msgIncludesOrMsg?: string, - msg?: string, -): Promise { - // deno-lint-ignore no-explicit-any - let ErrorClass: (new (...args: any[]) => E) | undefined = undefined; - let msgIncludes: string | undefined = undefined; - let err; - - if (typeof errorClassOrMsg !== "string") { - if ( - errorClassOrMsg === undefined || - errorClassOrMsg.prototype instanceof Error || - errorClassOrMsg.prototype === Error.prototype - ) { - // deno-lint-ignore no-explicit-any - ErrorClass = errorClassOrMsg as new (...args: any[]) => E; - msgIncludes = msgIncludesOrMsg; - } - } else { - msg = errorClassOrMsg; - } - let doesThrow = false; - let isPromiseReturned = false; - const msgToAppendToError = msg ? `: ${msg}` : "."; - try { - const possiblePromise = fn(); - if ( - possiblePromise && - typeof possiblePromise === "object" && - typeof possiblePromise.then === "function" - ) { - isPromiseReturned = true; - await possiblePromise; - } - } catch (error) { - if (!isPromiseReturned) { - throw new AssertionError( - `Function throws when expected to reject${msgToAppendToError}`, - ); - } - if (ErrorClass) { - if (error instanceof Error === false) { - throw new AssertionError("A non-Error object was rejected."); - } - assertIsError( - error, - ErrorClass, - msgIncludes, - msg, - ); - } - err = error; - doesThrow = true; - } - if (!doesThrow) { - throw new AssertionError( - `Expected function to reject${msgToAppendToError}`, - ); - } - return err; -} - -/** Use this to stub out methods that will throw when invoked. */ -export function unimplemented(msg?: string): never { - throw new AssertionError(msg || "unimplemented"); -} - -/** Use this to assert unreachable code. */ -export function unreachable(): never { - throw new AssertionError("unreachable"); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/types.d.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/types.d.ts deleted file mode 100644 index aefb653..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/std@0.175.0/types.d.ts +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -/** See the Contributing > Types section in the README for an explanation of this file. */ - -/** An abstract interface which when implemented provides an interface to read bytes into an array buffer asynchronously. */ -export interface Reader { - /** Reads up to `p.byteLength` bytes into `p`. It resolves to the number of - * bytes read (`0` < `n` <= `p.byteLength`) and rejects if any error - * encountered. Even if `read()` resolves to `n` < `p.byteLength`, it may - * use all of `p` as scratch space during the call. If some data is - * available but not `p.byteLength` bytes, `read()` conventionally resolves - * to what is available instead of waiting for more. - * - * When `read()` encounters end-of-file condition, it resolves to EOF - * (`null`). - * - * When `read()` encounters an error, it rejects with an error. - * - * Callers should always process the `n` > `0` bytes returned before - * considering the EOF (`null`). Doing so correctly handles I/O errors that - * happen after reading some bytes and also both of the allowed EOF - * behaviors. - * - * Implementations should not retain a reference to `p`. - * - * Use iterateReader() from https://deno.land/std@$STD_VERSION/streams/iterate_reader.ts to turn a Reader into an - * AsyncIterator. - */ - read(p: Uint8Array): Promise; -} - -/** An abstract interface which when implemented provides an interface to read bytes into an array buffer synchronously. */ -export interface ReaderSync { - /** Reads up to `p.byteLength` bytes into `p`. It resolves to the number - * of bytes read (`0` < `n` <= `p.byteLength`) and rejects if any error - * encountered. Even if `read()` returns `n` < `p.byteLength`, it may use - * all of `p` as scratch space during the call. If some data is available - * but not `p.byteLength` bytes, `read()` conventionally returns what is - * available instead of waiting for more. - * - * When `readSync()` encounters end-of-file condition, it returns EOF - * (`null`). - * - * When `readSync()` encounters an error, it throws with an error. - * - * Callers should always process the `n` > `0` bytes returned before - * considering the EOF (`null`). Doing so correctly handles I/O errors that happen - * after reading some bytes and also both of the allowed EOF behaviors. - * - * Implementations should not retain a reference to `p`. - * - * Use iterateReaderSync() from https://deno.land/std@$STD_VERSION/streams/iterate_reader.ts to turn a ReaderSync - * into an Iterator. - */ - readSync(p: Uint8Array): number | null; -} - -/** An abstract interface which when implemented provides an interface to write bytes from an array buffer to a file/resource asynchronously. */ -export interface Writer { - /** Writes `p.byteLength` bytes from `p` to the underlying data stream. It - * resolves to the number of bytes written from `p` (`0` <= `n` <= - * `p.byteLength`) or reject with the error encountered that caused the - * write to stop early. `write()` must reject with a non-null error if - * would resolve to `n` < `p.byteLength`. `write()` must not modify the - * slice data, even temporarily. - * - * Implementations should not retain a reference to `p`. - */ - write(p: Uint8Array): Promise; -} -/** An abstract interface which when implemented provides an interface to write bytes from an array buffer to a file/resource synchronously. */ -export interface WriterSync { - /** Writes `p.byteLength` bytes from `p` to the underlying data - * stream. It returns the number of bytes written from `p` (`0` <= `n` - * <= `p.byteLength`) and any error encountered that caused the write to - * stop early. `writeSync()` must throw a non-null error if it returns `n` < - * `p.byteLength`. `writeSync()` must not modify the slice data, even - * temporarily. - * - * Implementations should not retain a reference to `p`. - */ - writeSync(p: Uint8Array): number; -} - -/** An abstract interface which when implemented provides an interface to close files/resources that were previously opened. */ -export interface Closer { - /** Closes the resource, "freeing" the backing file/resource. */ - close(): void; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter.js b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter.js deleted file mode 100644 index c658aeb..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter.js +++ /dev/null @@ -1,1218 +0,0 @@ -let wasm; - -const cachedTextDecoder = typeof TextDecoder !== "undefined" - ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) - : { - decode: () => { - throw Error("TextDecoder not available"); - }, - }; - -if (typeof TextDecoder !== "undefined") cachedTextDecoder.decode(); - -let cachedUint8ArrayMemory0 = null; - -function getUint8ArrayMemory0() { - if ( - cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0 - ) { - cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8ArrayMemory0; -} - -function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode( - getUint8ArrayMemory0().subarray(ptr, ptr + len), - ); -} - -function debugString(val) { - // primitive types - const type = typeof val; - if (type == "number" || type == "boolean" || val == null) { - return `${val}`; - } - if (type == "string") { - return `"${val}"`; - } - if (type == "symbol") { - const description = val.description; - if (description == null) { - return "Symbol"; - } else { - return `Symbol(${description})`; - } - } - if (type == "function") { - const name = val.name; - if (typeof name == "string" && name.length > 0) { - return `Function(${name})`; - } else { - return "Function"; - } - } - // objects - if (Array.isArray(val)) { - const length = val.length; - let debug = "["; - if (length > 0) { - debug += debugString(val[0]); - } - for (let i = 1; i < length; i++) { - debug += ", " + debugString(val[i]); - } - debug += "]"; - return debug; - } - // Test for built-in - const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); - let className; - if (builtInMatches.length > 1) { - className = builtInMatches[1]; - } else { - // Failed to match the standard '[object ClassName]' - return toString.call(val); - } - if (className == "Object") { - // we're a user defined class or Object - // JSON.stringify avoids problems with cycles, and is generally much - // easier than looping through ownProperties of `val`. - try { - return "Object(" + JSON.stringify(val) + ")"; - } catch (_) { - return "Object"; - } - } - // errors - if (val instanceof Error) { - return `${val.name}: ${val.message}\n${val.stack}`; - } - // TODO we could test for more things here, like `Set`s and `Map`s. - return className; -} - -let WASM_VECTOR_LEN = 0; - -const cachedTextEncoder = typeof TextEncoder !== "undefined" - ? new TextEncoder("utf-8") - : { - encode: () => { - throw Error("TextEncoder not available"); - }, - }; - -const encodeString = typeof cachedTextEncoder.encodeInto === "function" - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); - } - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length, - }; - }; - -function passStringToWasm0(arg, malloc, realloc) { - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length, 1) >>> 0; - getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - - const mem = getUint8ArrayMemory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; - const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -let cachedDataViewMemory0 = null; - -function getDataViewMemory0() { - if ( - cachedDataViewMemory0 === null || - cachedDataViewMemory0.buffer.detached === true || - (cachedDataViewMemory0.buffer.detached === undefined && - cachedDataViewMemory0.buffer !== wasm.memory.buffer) - ) { - cachedDataViewMemory0 = new DataView(wasm.memory.buffer); - } - return cachedDataViewMemory0; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -function addToExternrefTable0(obj) { - const idx = wasm.__externref_table_alloc(); - wasm.__wbindgen_export_2.set(idx, obj); - return idx; -} - -function takeFromExternrefTable0(idx) { - const value = wasm.__wbindgen_export_2.get(idx); - wasm.__externref_table_dealloc(idx); - return value; -} - -function passArray8ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 1, 1) >>> 0; - getUint8ArrayMemory0().set(arg, ptr / 1); - WASM_VECTOR_LEN = arg.length; - return ptr; -} - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - const idx = addToExternrefTable0(e); - wasm.__wbindgen_exn_store(idx); - } -} - -const CommentFinalization = (typeof FinalizationRegistry === "undefined") - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_comment_free(ptr >>> 0, 1)); - -export class Comment { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Comment.prototype); - obj.__wbg_ptr = ptr; - CommentFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - CommentFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_comment_free(ptr, 0); - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - before(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.comment_before( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - after(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.comment_after( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - replace(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.comment_replace( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - remove() { - const ret = wasm.comment_remove(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {boolean} - */ - get removed() { - const ret = wasm.comment_removed(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * @returns {string} - */ - get text() { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.comment_text(this.__wbg_ptr); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * @param {string} text - */ - set text(text) { - const ptr0 = passStringToWasm0( - text, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.comment_set_text(this.__wbg_ptr, ptr0, len0); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } -} - -const DoctypeFinalization = (typeof FinalizationRegistry === "undefined") - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_doctype_free(ptr >>> 0, 1)); - -export class Doctype { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Doctype.prototype); - obj.__wbg_ptr = ptr; - DoctypeFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - DoctypeFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_doctype_free(ptr, 0); - } - /** - * @returns {any} - */ - get name() { - const ret = wasm.doctype_name(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @returns {any} - */ - get publicId() { - const ret = wasm.doctype_public_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @returns {any} - */ - get systemId() { - const ret = wasm.doctype_system_id(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } -} - -const DocumentEndFinalization = (typeof FinalizationRegistry === "undefined") - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_documentend_free(ptr >>> 0, 1) - ); - -export class DocumentEnd { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(DocumentEnd.prototype); - obj.__wbg_ptr = ptr; - DocumentEndFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - DocumentEndFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_documentend_free(ptr, 0); - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - append(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.documentend_append( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } -} - -const ElementFinalization = (typeof FinalizationRegistry === "undefined") - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_element_free(ptr >>> 0, 1)); - -export class Element { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(Element.prototype); - obj.__wbg_ptr = ptr; - ElementFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - ElementFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_element_free(ptr, 0); - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - before(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_before( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - after(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_after( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - replace(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_replace( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - remove() { - const ret = wasm.element_remove(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {boolean} - */ - get removed() { - const ret = wasm.element_removed(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * @returns {string} - */ - get tagName() { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.element_tag_name(this.__wbg_ptr); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * @param {string} name - */ - set tagName(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_set_tag_name(this.__wbg_ptr, ptr0, len0); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {any} - */ - get namespaceURI() { - const ret = wasm.element_namespace_uri(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @returns {any} - */ - get attributes() { - const ret = wasm.element_attributes(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {string} name - * @returns {any} - */ - getAttribute(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_getAttribute(this.__wbg_ptr, ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); - } - /** - * @param {string} name - * @returns {boolean} - */ - hasAttribute(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_hasAttribute(this.__wbg_ptr, ptr0, len0); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * @param {string} name - * @param {string} value - */ - setAttribute(name, value) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0( - value, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len1 = WASM_VECTOR_LEN; - const ret = wasm.element_setAttribute( - this.__wbg_ptr, - ptr0, - len0, - ptr1, - len1, - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} name - */ - removeAttribute(name) { - const ptr0 = passStringToWasm0( - name, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_removeAttribute(this.__wbg_ptr, ptr0, len0); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - prepend(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_prepend( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - append(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_append( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - setInnerContent(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.element_setInnerContent( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - removeAndKeepContent() { - const ret = wasm.element_removeAndKeepContent(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } -} - -const HTMLRewriterFinalization = (typeof FinalizationRegistry === "undefined") - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => - wasm.__wbg_htmlrewriter_free(ptr >>> 0, 1) - ); - -export class HTMLRewriter { - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - HTMLRewriterFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_htmlrewriter_free(ptr, 0); - } - /** - * @param {Function} output_sink - * @param {any | undefined} [options] - */ - constructor(output_sink, options) { - const ret = wasm.htmlrewriter_new( - output_sink, - isLikeNone(options) ? 0 : addToExternrefTable0(options), - ); - this.__wbg_ptr = ret >>> 0; - HTMLRewriterFinalization.register(this, this.__wbg_ptr, this); - return this; - } - /** - * @param {string} selector - * @param {any} handlers - */ - on(selector, handlers) { - const ptr0 = passStringToWasm0( - selector, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.htmlrewriter_on(this.__wbg_ptr, ptr0, len0, handlers); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {any} handlers - */ - onDocument(handlers) { - const ret = wasm.htmlrewriter_onDocument(this.__wbg_ptr, handlers); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {Uint8Array} chunk - */ - write(chunk) { - const ptr0 = passArray8ToWasm0(chunk, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.htmlrewriter_write(this.__wbg_ptr, ptr0, len0); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - end() { - const ret = wasm.htmlrewriter_end(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {number} - */ - get asyncifyStackPtr() { - const ret = wasm.htmlrewriter_asyncify_stack_ptr(this.__wbg_ptr); - return ret >>> 0; - } -} - -const TextChunkFinalization = (typeof FinalizationRegistry === "undefined") - ? { register: () => {}, unregister: () => {} } - : new FinalizationRegistry((ptr) => wasm.__wbg_textchunk_free(ptr >>> 0, 1)); - -export class TextChunk { - static __wrap(ptr) { - ptr = ptr >>> 0; - const obj = Object.create(TextChunk.prototype); - obj.__wbg_ptr = ptr; - TextChunkFinalization.register(obj, obj.__wbg_ptr, obj); - return obj; - } - - __destroy_into_raw() { - const ptr = this.__wbg_ptr; - this.__wbg_ptr = 0; - TextChunkFinalization.unregister(this); - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_textchunk_free(ptr, 0); - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - before(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.textchunk_before( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - after(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.textchunk_after( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @param {string} content - * @param {any | undefined} [content_type] - */ - replace(content, content_type) { - const ptr0 = passStringToWasm0( - content, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.textchunk_replace( - this.__wbg_ptr, - ptr0, - len0, - isLikeNone(content_type) ? 0 : addToExternrefTable0(content_type), - ); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - remove() { - const ret = wasm.textchunk_remove(this.__wbg_ptr); - if (ret[1]) { - throw takeFromExternrefTable0(ret[0]); - } - } - /** - * @returns {boolean} - */ - get removed() { - const ret = wasm.textchunk_removed(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } - /** - * @returns {string} - */ - get text() { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.textchunk_text(this.__wbg_ptr); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; - len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } - } - /** - * @returns {boolean} - */ - get lastInTextNode() { - const ret = wasm.textchunk_last_in_text_node(this.__wbg_ptr); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0] !== 0; - } -} - -async function __wbg_load(module, imports) { - if (typeof Response === "function" && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === "function") { - try { - return await WebAssembly.instantiateStreaming(module, imports); - } catch (e) { - if (module.headers.get("Content-Type") != "application/wasm") { - console.warn( - "`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", - e, - ); - } else { - throw e; - } - } - } - - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - } else { - const instance = await WebAssembly.instantiate(module, imports); - - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; - } else { - return instance; - } - } -} - -function __wbg_get_imports() { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbg_documentend_new = function (arg0) { - const ret = DocumentEnd.__wrap(arg0); - return ret; - }; - imports.wbg.__wbindgen_string_new = function (arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return ret; - }; - imports.wbg.__wbg_html_fbd00991d780a754 = function (arg0) { - const ret = arg0.html; - return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; - }; - imports.wbg.__wbg_element_dc40d85e59f7e8db = function (arg0) { - const ret = arg0.element; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - imports.wbg.__wbg_comments_f4a32acf5bd7f6d3 = function (arg0) { - const ret = arg0.comments; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - imports.wbg.__wbg_text_52e38b02986f1e18 = function (arg0) { - const ret = arg0.text; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - imports.wbg.__wbg_element_new = function (arg0) { - const ret = Element.__wrap(arg0); - return ret; - }; - imports.wbg.__wbg_comment_new = function (arg0) { - const ret = Comment.__wrap(arg0); - return ret; - }; - imports.wbg.__wbg_textchunk_new = function (arg0) { - const ret = TextChunk.__wrap(arg0); - return ret; - }; - imports.wbg.__wbg_doctype_95d10656b9e0c589 = function (arg0) { - const ret = arg0.doctype; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - imports.wbg.__wbg_comments_b4db58b38f105644 = function (arg0) { - const ret = arg0.comments; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - imports.wbg.__wbg_text_54a231591f2b4f44 = function (arg0) { - const ret = arg0.text; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - imports.wbg.__wbg_end_84bb4f497e4b2cf5 = function (arg0) { - const ret = arg0.end; - return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); - }; - imports.wbg.__wbg_doctype_new = function (arg0) { - const ret = Doctype.__wrap(arg0); - return ret; - }; - imports.wbg.__wbg_enableEsiTags_d72598c2e278624d = function (arg0) { - const ret = arg0.enableEsiTags; - return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0; - }; - imports.wbg.__wbg_String_b9412f8799faab3e = function (arg0, arg1) { - const ret = String(arg1); - const ptr1 = passStringToWasm0( - ret, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len1 = WASM_VECTOR_LEN; - getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); - getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); - }; - imports.wbg.__wbg_new_034f913e7636e987 = function () { - const ret = new Array(); - return ret; - }; - imports.wbg.__wbg_set_425e70f7c64ac962 = function (arg0, arg1, arg2) { - arg0[arg1 >>> 0] = arg2; - }; - imports.wbg.__wbg_call_3bfa248576352471 = function () { - return handleError(function (arg0, arg1, arg2) { - const ret = arg0.call(arg1, arg2); - return ret; - }, arguments); - }; - imports.wbg.__wbg_new_9a7e38dd635a4e93 = function (arg0, arg1) { - const ret = new TypeError(getStringFromWasm0(arg0, arg1)); - return ret; - }; - imports.wbg.__wbg_buffer_ccaed51a635d8a2d = function (arg0) { - const ret = arg0.buffer; - return ret; - }; - imports.wbg.__wbg_newwithbyteoffsetandlength_7e3eb787208af730 = function ( - arg0, - arg1, - arg2, - ) { - const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); - return ret; - }; - imports.wbg.__wbg_new_fec2611eb9180f95 = function (arg0) { - const ret = new Uint8Array(arg0); - return ret; - }; - imports.wbg.__wbindgen_debug_string = function (arg0, arg1) { - const ret = debugString(arg1); - const ptr1 = passStringToWasm0( - ret, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc, - ); - const len1 = WASM_VECTOR_LEN; - getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); - getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); - }; - imports.wbg.__wbindgen_throw = function (arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_memory = function () { - const ret = wasm.memory; - return ret; - }; - imports.wbg.__wbindgen_init_externref_table = function () { - const table = wasm.__wbindgen_export_2; - const offset = table.grow(4); - table.set(0, undefined); - table.set(offset + 0, undefined); - table.set(offset + 1, null); - table.set(offset + 2, true); - table.set(offset + 3, false); - }; - - return imports; -} - -function __wbg_init_memory(imports, memory) { -} - -function __wbg_finalize_init(instance, module) { - wasm = instance.exports; - __wbg_init.__wbindgen_wasm_module = module; - cachedDataViewMemory0 = null; - cachedUint8ArrayMemory0 = null; - - wasm.__wbindgen_start(); - return wasm; -} - -function initSync(module) { - if (wasm !== undefined) return wasm; - - if (typeof module !== "undefined") { - if (Object.getPrototypeOf(module) === Object.prototype) { - ({ module } = module); - } else { - console.warn( - "using deprecated parameters for `initSync()`; pass a single object instead", - ); - } - } - - const imports = __wbg_get_imports(); - - __wbg_init_memory(imports); - - if (!(module instanceof WebAssembly.Module)) { - module = new WebAssembly.Module(module); - } - - const instance = new WebAssembly.Instance(module, imports); - - return __wbg_finalize_init(instance, module); -} - -async function __wbg_init(module_or_path) { - if (wasm !== undefined) return wasm; - - if (typeof module_or_path !== "undefined") { - if (Object.getPrototypeOf(module_or_path) === Object.prototype) { - ({ module_or_path } = module_or_path); - } else { - console.warn( - "using deprecated parameters for the initialization function; pass a single object instead", - ); - } - } - - if (typeof module_or_path === "undefined") { - module_or_path = new URL("htmlrewriter_bg.wasm", import.meta.url); - } - const imports = __wbg_get_imports(); - - if ( - typeof module_or_path === "string" || - (typeof Request === "function" && module_or_path instanceof Request) || - (typeof URL === "function" && module_or_path instanceof URL) - ) { - module_or_path = fetch(module_or_path); - } - - __wbg_init_memory(imports); - - const { instance, module } = await __wbg_load(await module_or_path, imports); - - return __wbg_finalize_init(instance, module); -} - -export { initSync }; -export default __wbg_init; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter_bg.wasm b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter_bg.wasm deleted file mode 100644 index a2d22d5..0000000 Binary files a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter_bg.wasm and /dev/null differ diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts deleted file mode 100644 index aba6cdb..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { HTMLRewriter as RawHTMLRewriter } from "../pkg/htmlrewriter.js"; -import type { DocumentHandlers, ElementHandlers } from "./types.d.ts"; - -export type { - Comment, - ContentTypeOptions, - Doctype, - DocumentEnd, - DocumentHandlers, - Element, - ElementHandlers, - EndTag, - TextChunk, -} from "./types.d.ts"; - -export { default as init } from "../pkg/htmlrewriter.js"; - -export class HTMLRewriter { - constructor() {} - - elementHandlers: [selector: string, handlers: ElementHandlers][] = []; - documentHandlers: DocumentHandlers[] = []; - - on(selector: string, handlers: ElementHandlers): HTMLRewriter { - this.elementHandlers.push([selector, handlers]); - return this; - } - onDocument(handlers: DocumentHandlers): HTMLRewriter { - this.documentHandlers.push(handlers); - return this; - } - - transform(response: Response): Response { - const body = response.body as ReadableStream | null; - // HTMLRewriter doesn't run the end handler if the body is null, so it's - // pointless to setup the transform stream. - if (body === null) { - return new Response(body, response); - } - - if (response instanceof Response) { - // Make sure we validate chunks are BufferSources and convert them to - // Uint8Arrays as required by the Rust glue code. - response = new Response(response.body, response); - } - - let rewriter: RawHTMLRewriter; - const transformStream = new TransformStream({ - start: (controller) => { - // Create a rewriter instance for this transformation that writes its - // output to the transformed response's stream. Note that each - // RawHTMLRewriter can only be used once. - rewriter = new RawHTMLRewriter((chunk: Uint8Array) => { - // enqueue will throw on empty chunks - if (chunk.length !== 0) controller.enqueue(chunk); - }); - // Add all registered handlers - for (const [selector, handlers] of this.elementHandlers) { - rewriter.on(selector, handlers); - } - for (const handlers of this.documentHandlers) { - rewriter.onDocument(handlers); - } - }, - transform: (chunk) => { - rewriter.write(chunk); - }, - flush: () => { - rewriter.end(); - rewriter.free(); - }, - }); - // Return a response with the transformed body, copying over headers, etc - const res = new Response(body.pipeThrough(transformStream), response); - // If Content-Length is set, it's probably going to be wrong, since we're - // rewriting content, so remove it - res.headers.delete("Content-Length"); - return res; - } -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/types.d.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/types.d.ts deleted file mode 100644 index 8f1ba36..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/types.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -export interface ContentTypeOptions { - html?: boolean; -} - -export class Element { - before(content: string, options?: ContentTypeOptions): this; - after(content: string, options?: ContentTypeOptions): this; - replace(content: string, options?: ContentTypeOptions): this; - remove(): this; - getAttribute(name: string): string | null; - hasAttribute(name: string): boolean; - setAttribute(name: string, value: string): this; - removeAttribute(name: string): this; - prepend(content: string, options?: ContentTypeOptions): this; - append(content: string, options?: ContentTypeOptions): this; - setInnerContent(content: string, options?: ContentTypeOptions): this; - removeAndKeepContent(): this; - readonly attributes: [string, string][]; - readonly namespaceURI: string; - readonly removed: boolean; - tagName: string; -} - -export class EndTag { - before(content: string, options?: ContentTypeOptions): this; - after(content: string, options?: ContentTypeOptions): this; - remove(): this; - name: string; -} - -export class Comment { - before(content: string, options?: ContentTypeOptions): this; - after(content: string, options?: ContentTypeOptions): this; - replace(content: string, options?: ContentTypeOptions): this; - remove(): this; - readonly removed: boolean; - text: string; -} - -export class TextChunk { - before(content: string, options?: ContentTypeOptions): this; - after(content: string, options?: ContentTypeOptions): this; - replace(content: string, options?: ContentTypeOptions): this; - remove(): this; - readonly lastInTextNode: boolean; - readonly removed: boolean; - readonly text: string; -} - -export class Doctype { - readonly name: string | null; - readonly publicId: string | null; - readonly systemId: string | null; -} - -export class DocumentEnd { - append(content: string, options?: ContentTypeOptions): this; -} - -export interface ElementHandlers { - element?(element: Element): void; - comments?(comment: Comment): void; - text?(text: TextChunk): void; -} - -export interface DocumentHandlers { - doctype?(doctype: Doctype): void; - comments?(comment: Comment): void; - text?(text: TextChunk): void; - end?(end: DocumentEnd): void; -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts deleted file mode 100644 index d754fee..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts +++ /dev/null @@ -1,621 +0,0 @@ -/** - * Tokenizer results. - */ -interface LexToken { - type: - | "OPEN" - | "CLOSE" - | "PATTERN" - | "NAME" - | "CHAR" - | "ESCAPED_CHAR" - | "MODIFIER" - | "END"; - index: number; - value: string; -} - -/** - * Tokenize input string. - */ -function lexer(str: string): LexToken[] { - const tokens: LexToken[] = []; - let i = 0; - - while (i < str.length) { - const char = str[i]; - - if (char === "*" || char === "+" || char === "?") { - tokens.push({ type: "MODIFIER", index: i, value: str[i++] }); - continue; - } - - if (char === "\\") { - tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] }); - continue; - } - - if (char === "{") { - tokens.push({ type: "OPEN", index: i, value: str[i++] }); - continue; - } - - if (char === "}") { - tokens.push({ type: "CLOSE", index: i, value: str[i++] }); - continue; - } - - if (char === ":") { - let name = ""; - let j = i + 1; - - while (j < str.length) { - const code = str.charCodeAt(j); - - if ( - // `0-9` - (code >= 48 && code <= 57) || - // `A-Z` - (code >= 65 && code <= 90) || - // `a-z` - (code >= 97 && code <= 122) || - // `_` - code === 95 - ) { - name += str[j++]; - continue; - } - - break; - } - - if (!name) throw new TypeError(`Missing parameter name at ${i}`); - - tokens.push({ type: "NAME", index: i, value: name }); - i = j; - continue; - } - - if (char === "(") { - let count = 1; - let pattern = ""; - let j = i + 1; - - if (str[j] === "?") { - throw new TypeError(`Pattern cannot start with "?" at ${j}`); - } - - while (j < str.length) { - if (str[j] === "\\") { - pattern += str[j++] + str[j++]; - continue; - } - - if (str[j] === ")") { - count--; - if (count === 0) { - j++; - break; - } - } else if (str[j] === "(") { - count++; - if (str[j + 1] !== "?") { - throw new TypeError(`Capturing groups are not allowed at ${j}`); - } - } - - pattern += str[j++]; - } - - if (count) throw new TypeError(`Unbalanced pattern at ${i}`); - if (!pattern) throw new TypeError(`Missing pattern at ${i}`); - - tokens.push({ type: "PATTERN", index: i, value: pattern }); - i = j; - continue; - } - - tokens.push({ type: "CHAR", index: i, value: str[i++] }); - } - - tokens.push({ type: "END", index: i, value: "" }); - - return tokens; -} - -export interface ParseOptions { - /** - * Set the default delimiter for repeat parameters. (default: `'/'`) - */ - delimiter?: string; - /** - * List of characters to automatically consider prefixes when parsing. - */ - prefixes?: string; -} - -/** - * Parse a string for the raw tokens. - */ -export function parse(str: string, options: ParseOptions = {}): Token[] { - const tokens = lexer(str); - const { prefixes = "./" } = options; - const defaultPattern = `[^${escapeString(options.delimiter || "/#?")}]+?`; - const result: Token[] = []; - let key = 0; - let i = 0; - let path = ""; - - const tryConsume = (type: LexToken["type"]): string | undefined => { - if (i < tokens.length && tokens[i].type === type) return tokens[i++].value; - }; - - const mustConsume = (type: LexToken["type"]): string => { - const value = tryConsume(type); - if (value !== undefined) return value; - const { type: nextType, index } = tokens[i]; - throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}`); - }; - - const consumeText = (): string => { - let result = ""; - let value: string | undefined; - while ((value = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR"))) { - result += value; - } - return result; - }; - - while (i < tokens.length) { - const char = tryConsume("CHAR"); - const name = tryConsume("NAME"); - const pattern = tryConsume("PATTERN"); - - if (name || pattern) { - let prefix = char || ""; - - if (prefixes.indexOf(prefix) === -1) { - path += prefix; - prefix = ""; - } - - if (path) { - result.push(path); - path = ""; - } - - result.push({ - name: name || key++, - prefix, - suffix: "", - pattern: pattern || defaultPattern, - modifier: tryConsume("MODIFIER") || "", - }); - continue; - } - - const value = char || tryConsume("ESCAPED_CHAR"); - if (value) { - path += value; - continue; - } - - if (path) { - result.push(path); - path = ""; - } - - const open = tryConsume("OPEN"); - if (open) { - const prefix = consumeText(); - const name = tryConsume("NAME") || ""; - const pattern = tryConsume("PATTERN") || ""; - const suffix = consumeText(); - - mustConsume("CLOSE"); - - result.push({ - name: name || (pattern ? key++ : ""), - pattern: name && !pattern ? defaultPattern : pattern, - prefix, - suffix, - modifier: tryConsume("MODIFIER") || "", - }); - continue; - } - - mustConsume("END"); - } - - return result; -} - -export interface TokensToFunctionOptions { - /** - * When `true` the regexp will be case sensitive. (default: `false`) - */ - sensitive?: boolean; - /** - * Function for encoding input strings for output. - */ - encode?: (value: string, token: Key) => string; - /** - * When `false` the function can produce an invalid (unmatched) path. (default: `true`) - */ - validate?: boolean; -} - -/** - * Compile a string to a template function for the path. - */ -export function compile

( - str: string, - options?: ParseOptions & TokensToFunctionOptions -) { - return tokensToFunction

(parse(str, options), options); -} - -export type PathFunction

= (data?: P) => string; - -/** - * Expose a method for transforming tokens into the path function. - */ -export function tokensToFunction

( - tokens: Token[], - options: TokensToFunctionOptions = {} -): PathFunction

{ - const reFlags = flags(options); - const { encode = (x: string) => x, validate = true } = options; - - // Compile all the tokens into regexps. - const matches = tokens.map((token) => { - if (typeof token === "object") { - return new RegExp(`^(?:${token.pattern})$`, reFlags); - } - }); - - return (data: Record | null | undefined) => { - let path = ""; - - for (let i = 0; i < tokens.length; i++) { - const token = tokens[i]; - - if (typeof token === "string") { - path += token; - continue; - } - - const value = data ? data[token.name] : undefined; - const optional = token.modifier === "?" || token.modifier === "*"; - const repeat = token.modifier === "*" || token.modifier === "+"; - - if (Array.isArray(value)) { - if (!repeat) { - throw new TypeError( - `Expected "${token.name}" to not repeat, but got an array` - ); - } - - if (value.length === 0) { - if (optional) continue; - - throw new TypeError(`Expected "${token.name}" to not be empty`); - } - - for (let j = 0; j < value.length; j++) { - const segment = encode(value[j], token); - - if (validate && !(matches[i] as RegExp).test(segment)) { - throw new TypeError( - `Expected all "${token.name}" to match "${token.pattern}", but got "${segment}"` - ); - } - - path += token.prefix + segment + token.suffix; - } - - continue; - } - - if (typeof value === "string" || typeof value === "number") { - const segment = encode(String(value), token); - - if (validate && !(matches[i] as RegExp).test(segment)) { - throw new TypeError( - `Expected "${token.name}" to match "${token.pattern}", but got "${segment}"` - ); - } - - path += token.prefix + segment + token.suffix; - continue; - } - - if (optional) continue; - - const typeOfMessage = repeat ? "an array" : "a string"; - throw new TypeError(`Expected "${token.name}" to be ${typeOfMessage}`); - } - - return path; - }; -} - -export interface RegexpToFunctionOptions { - /** - * Function for decoding strings for params. - */ - decode?: (value: string, token: Key) => string; -} - -/** - * A match result contains data about the path match. - */ -export interface MatchResult

{ - path: string; - index: number; - params: P; -} - -/** - * A match is either `false` (no match) or a match result. - */ -export type Match

= false | MatchResult

; - -/** - * The match function takes a string and returns whether it matched the path. - */ -export type MatchFunction

= ( - path: string -) => Match

; - -/** - * Create path match function from `path-to-regexp` spec. - */ -export function match

( - str: Path, - options?: ParseOptions & TokensToRegexpOptions & RegexpToFunctionOptions -) { - const keys: Key[] = []; - const re = pathToRegexp(str, keys, options); - return regexpToFunction

(re, keys, options); -} - -/** - * Create a path match function from `path-to-regexp` output. - */ -export function regexpToFunction

( - re: RegExp, - keys: Key[], - options: RegexpToFunctionOptions = {} -): MatchFunction

{ - const { decode = (x: string) => x } = options; - - return function (pathname: string) { - const m = re.exec(pathname); - if (!m) return false; - - const { 0: path, index } = m; - const params = Object.create(null); - - for (let i = 1; i < m.length; i++) { - if (m[i] === undefined) continue; - - const key = keys[i - 1]; - - if (key.modifier === "*" || key.modifier === "+") { - params[key.name] = m[i].split(key.prefix + key.suffix).map((value) => { - return decode(value, key); - }); - } else { - params[key.name] = decode(m[i], key); - } - } - - return { path, index, params }; - }; -} - -/** - * Escape a regular expression string. - */ -function escapeString(str: string) { - return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); -} - -/** - * Get the flags for a regexp from the options. - */ -function flags(options?: { sensitive?: boolean }) { - return options && options.sensitive ? "" : "i"; -} - -/** - * Metadata about a key. - */ -export interface Key { - name: string | number; - prefix: string; - suffix: string; - pattern: string; - modifier: string; -} - -/** - * A token is a string (nothing special) or key metadata (capture group). - */ -export type Token = string | Key; - -/** - * Pull out keys from a regexp. - */ -function regexpToRegexp(path: RegExp, keys?: Key[]): RegExp { - if (!keys) return path; - - const groupsRegex = /\((?:\?<(.*?)>)?(?!\?)/g; - - let index = 0; - let execResult = groupsRegex.exec(path.source); - while (execResult) { - keys.push({ - // Use parenthesized substring match if available, index otherwise - name: execResult[1] || index++, - prefix: "", - suffix: "", - modifier: "", - pattern: "", - }); - execResult = groupsRegex.exec(path.source); - } - - return path; -} - -/** - * Transform an array into a regexp. - */ -function arrayToRegexp( - paths: Array, - keys?: Key[], - options?: TokensToRegexpOptions & ParseOptions -): RegExp { - const parts = paths.map((path) => pathToRegexp(path, keys, options).source); - return new RegExp(`(?:${parts.join("|")})`, flags(options)); -} - -/** - * Create a path regexp from string input. - */ -function stringToRegexp( - path: string, - keys?: Key[], - options?: TokensToRegexpOptions & ParseOptions -) { - return tokensToRegexp(parse(path, options), keys, options); -} - -export interface TokensToRegexpOptions { - /** - * When `true` the regexp will be case sensitive. (default: `false`) - */ - sensitive?: boolean; - /** - * When `true` the regexp won't allow an optional trailing delimiter to match. (default: `false`) - */ - strict?: boolean; - /** - * When `true` the regexp will match to the end of the string. (default: `true`) - */ - end?: boolean; - /** - * When `true` the regexp will match from the beginning of the string. (default: `true`) - */ - start?: boolean; - /** - * Sets the final character for non-ending optimistic matches. (default: `/`) - */ - delimiter?: string; - /** - * List of characters that can also be "end" characters. - */ - endsWith?: string; - /** - * Encode path tokens for use in the `RegExp`. - */ - encode?: (value: string) => string; -} - -/** - * Expose a function for taking tokens and returning a RegExp. - */ -export function tokensToRegexp( - tokens: Token[], - keys?: Key[], - options: TokensToRegexpOptions = {} -) { - const { - strict = false, - start = true, - end = true, - encode = (x: string) => x, - delimiter = "/#?", - endsWith = "", - } = options; - const endsWithRe = `[${escapeString(endsWith)}]|$`; - const delimiterRe = `[${escapeString(delimiter)}]`; - let route = start ? "^" : ""; - - // Iterate over the tokens and create our regexp string. - for (const token of tokens) { - if (typeof token === "string") { - route += escapeString(encode(token)); - } else { - const prefix = escapeString(encode(token.prefix)); - const suffix = escapeString(encode(token.suffix)); - - if (token.pattern) { - if (keys) keys.push(token); - - if (prefix || suffix) { - if (token.modifier === "+" || token.modifier === "*") { - const mod = token.modifier === "*" ? "?" : ""; - route += `(?:${prefix}((?:${token.pattern})(?:${suffix}${prefix}(?:${token.pattern}))*)${suffix})${mod}`; - } else { - route += `(?:${prefix}(${token.pattern})${suffix})${token.modifier}`; - } - } else { - if (token.modifier === "+" || token.modifier === "*") { - route += `((?:${token.pattern})${token.modifier})`; - } else { - route += `(${token.pattern})${token.modifier}`; - } - } - } else { - route += `(?:${prefix}${suffix})${token.modifier}`; - } - } - } - - if (end) { - if (!strict) route += `${delimiterRe}?`; - - route += !options.endsWith ? "$" : `(?=${endsWithRe})`; - } else { - const endToken = tokens[tokens.length - 1]; - const isEndDelimited = - typeof endToken === "string" - ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 - : endToken === undefined; - - if (!strict) { - route += `(?:${delimiterRe}(?=${endsWithRe}))?`; - } - - if (!isEndDelimited) { - route += `(?=${delimiterRe}|${endsWithRe})`; - } - } - - return new RegExp(route, flags(options)); -} - -/** - * Supported `path-to-regexp` input types. - */ -export type Path = string | RegExp | Array; - -/** - * Normalize the given path string, returning a regular expression. - * - * An empty array can be passed in for the keys, which will hold the - * placeholder key descriptions. For example, using `/user/:id`, `keys` will - * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`. - */ -export function pathToRegexp( - path: Path, - keys?: Key[], - options?: TokensToRegexpOptions & ParseOptions -) { - if (path instanceof RegExp) return regexpToRegexp(path, keys); - if (Array.isArray(path)) return arrayToRegexp(path, keys, options); - return stringToRegexp(path, keys, options); -} diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/manifest.json b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/manifest.json deleted file mode 100644 index 6ecd9f2..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "modules": { - "https://deno.land/std@0.175.0/node/internal_binding/_timingSafeEqual.ts": {} - } -} \ No newline at end of file diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/logger.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/logger.ts deleted file mode 100644 index bd7dafc..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/logger.ts +++ /dev/null @@ -1,164 +0,0 @@ -type Logger = (...data: unknown[]) => void; - -export enum LogLevel { - Debug = 1, - Log, - Error, -} - -const serializeError = (error: Error): Record => { - const cause = error?.cause instanceof Error - ? serializeError(error.cause) - : error.cause; - - return { - error: error.message, - error_cause: cause, - error_stack: error.stack, - }; -}; - -export class StructuredLogger { - private fields: Record; - private logLevel: LogLevel; - private message: string; - private rawLogger?: Logger; - private requestID?: string; - __netlifyStructuredLogger: number; - - constructor( - message?: string, - fields?: Record, - requestID?: string, - rawLogger?: Logger, - logLevel?: LogLevel, - ) { - this.fields = fields ?? {}; - this.logLevel = logLevel ?? LogLevel.Log; - this.message = message ?? ""; - this.rawLogger = rawLogger; - this.requestID = requestID; - - // Value should be equal to the major version - this.__netlifyStructuredLogger = 1; - } - - debug(message: string) { - if (this.logLevel > LogLevel.Debug) { - return; - } - - const logger = this.rawLogger ?? globalThis.console.log; - - logger( - new StructuredLogger( - message, - this.fields, - this.requestID, - this.rawLogger, - this.logLevel, - ), - ); - } - - error(message: string) { - if (this.logLevel > LogLevel.Error) { - return; - } - - const logger = this.rawLogger ?? globalThis.console.log; - - logger( - new StructuredLogger( - message, - this.fields, - this.requestID, - this.rawLogger, - this.logLevel, - ), - ); - } - - log(message: string) { - if (this.logLevel > LogLevel.Log) { - return; - } - - const logger = this.rawLogger ?? globalThis.console.log; - - logger( - new StructuredLogger( - message, - this.fields, - this.requestID, - this.rawLogger, - this.logLevel, - ), - ); - } - - serialize() { - const log = { - fields: this.fields, - message: this.message, - requestID: this.requestID, - }; - - return log; - } - - withError(error: unknown) { - const fields = error instanceof Error ? serializeError(error) : { error }; - - return this.withFields(fields); - } - - withFields(fields: Record) { - return new StructuredLogger( - this.message, - { - ...this.fields, - ...fields, - }, - this.requestID, - this.rawLogger, - this.logLevel, - ); - } - - withLogLevel(logLevel: LogLevel) { - return new StructuredLogger( - this.message, - this.fields, - this.requestID, - this.rawLogger, - logLevel, - ); - } - - withRawLogger(logger: Logger) { - return new StructuredLogger( - this.message, - this.fields, - this.requestID, - logger, - this.logLevel, - ); - } - - withRequestID(requestID: string | null) { - if (requestID === null) { - return this; - } - - return new StructuredLogger( - this.message, - this.fields, - requestID, - this.rawLogger, - this.logLevel, - ); - } -} - -export const logger = new StructuredLogger(); diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/mod.ts b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/mod.ts deleted file mode 100644 index 8824d1b..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/mod.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./logger.ts"; diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/manifest.yml b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/manifest.yml deleted file mode 100644 index cc815ed..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/manifest.yml +++ /dev/null @@ -1 +0,0 @@ -name: '@netlify/plugin-nextjs' diff --git a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/package.json b/.netlify/plugins/node_modules/@netlify/plugin-nextjs/package.json deleted file mode 100644 index f67cb55..0000000 --- a/.netlify/plugins/node_modules/@netlify/plugin-nextjs/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@netlify/plugin-nextjs", - "version": "5.14.7", - "description": "Run Next.js seamlessly on Netlify", - "main": "./dist/index.js", - "type": "module", - "files": [ - "dist", - "edge-runtime", - "!edge-runtime/deno.json", - "!edge-runtime/deno.lock", - "!edge-runtime/**/*.test.ts", - "!edge-runtime/lib/fixture", - "manifest.yml" - ], - "engines": { - "node": ">=18.0.0" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/opennextjs/opennextjs-netlify.git" - }, - "keywords": [ - "nextjs", - "netlify", - "next", - "netlify-runtime" - ], - "license": "MIT", - "bugs": { - "url": "https://github.com/opennextjs/opennextjs-netlify/issues" - }, - "homepage": "https://opennext.js.org/netlify" -} diff --git a/.netlify/plugins/package-lock.json b/.netlify/plugins/package-lock.json deleted file mode 100644 index a7c88cd..0000000 --- a/.netlify/plugins/package-lock.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "netlify-local-plugins", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "netlify-local-plugins", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@netlify/plugin-nextjs": "5.14.7" - } - }, - "node_modules/@netlify/plugin-nextjs": { - "version": "5.14.7", - "resolved": "https://registry.npmmirror.com/@netlify/plugin-nextjs/-/plugin-nextjs-5.14.7.tgz", - "integrity": "sha512-RJRPGIlaY3M4KA6GxpOlynCPUKCVbtkHwg4ccHhoSVrHgysW3nqw1pX+FBvlBexrUl1JO2zuDFh4enRal9BpAw==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - } - } -} diff --git a/.netlify/plugins/package.json b/.netlify/plugins/package.json deleted file mode 100644 index dd87888..0000000 --- a/.netlify/plugins/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "netlify-local-plugins", - "description": "This directory contains Build plugins that have been automatically installed by Netlify.", - "version": "1.0.0", - "private": true, - "author": "Netlify", - "license": "MIT", - "dependencies": { - "@netlify/plugin-nextjs": "5.14.7" - } -} diff --git a/.netlify/state.json b/.netlify/state.json deleted file mode 100644 index 8269881..0000000 --- a/.netlify/state.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "siteId": "63bf81ac-62a4-4096-b8a1-ff5ef27e5ccf" -} \ No newline at end of file diff --git a/.netlify/static/.nojekyll b/.netlify/static/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/.netlify/static/404.html b/.netlify/static/404.html deleted file mode 100644 index 51e9c0f..0000000 --- a/.netlify/static/404.html +++ /dev/null @@ -1 +0,0 @@ -404: This page could not be found.GoodAction-Hub

404

This page could not be found.

\ No newline at end of file diff --git a/.netlify/static/404/index.html b/.netlify/static/404/index.html deleted file mode 100644 index 51e9c0f..0000000 --- a/.netlify/static/404/index.html +++ /dev/null @@ -1 +0,0 @@ -404: This page could not be found.GoodAction-Hub

404

This page could not be found.

\ No newline at end of file diff --git a/.netlify/static/Barrier-Free-Bites/index.html b/.netlify/static/Barrier-Free-Bites/index.html deleted file mode 100644 index 4fe75d1..0000000 --- a/.netlify/static/Barrier-Free-Bites/index.html +++ /dev/null @@ -1,116 +0,0 @@ -æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—

🌟 æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—

å‘现包容性é¤é¥®ä½“验

培哥烟囱é¢åŒ…

👂å¬éšœå‹å¥½

专为å¬éšœäººå£«è®¾è®¡çš„æ¸©é¦¨é¢åŒ…店

特色æœåŠ¡

  • 手语æœåŠ¡
  • 视觉èœå•
  • æ— éšœç¢è®¾æ–½
美食类型é¢åŒ…ã€å’–å•¡
äººå‡æ¶ˆè´¹Â¥30-50
地å€å®‰å¾½çœåˆè‚¥å¸‚åºé˜³åŒºå«å±±è·¯29å·105-3室

木马黑暗é¤åŽ…

ðŸ‘ï¸è§†éšœå‹å¥½

在黑暗中用心感å—美食的独特体验

特色æœåŠ¡

  • 黑暗用é¤ä½“验
  • 专业引导æœåŠ¡
  • 感官训练
主è¦èœå“è¥¿å¼æ–™ç†ã€åˆ›æ„èœå“
体验特色黑暗中的感官盛宴
äººå‡æ¶ˆè´¹Â¥150-200
地å€åŒ—京市æœé˜³åŒºå·¥ä½“北路

星巴克文德店

👂å¬éšœå‹å¥½â˜•å’–å•¡

æä¾›æ‰‹è¯­æœåŠ¡çš„æ¸©é¦¨å’–å•¡åº—

特色æœåŠ¡

  • 手语æœåŠ¡
  • å†™å­—æ¿æ²Ÿé€š
  • 视觉èœå•
主è¦èœå“å’–å•¡ã€è½»é£Ÿã€ç”œå“
äººå‡æ¶ˆè´¹Â¥40-60
地å€å¹¿å·žå¸‚越秀区文德北路68å·ä¸œæ–¹æ–‡å¾·å¹¿åœºä¸€å±‚

å…¨èšå¾·å‰é—¨åº—

ðŸ‘ï¸è§†éšœå‹å¥½

百年è€å­—å·ï¼Œæä¾›è§†éšœå‹å¥½æœåŠ¡

特色æœåŠ¡

  • 语音èœå•
  • æœåŠ¡å‘˜å¼•å¯¼
  • 触觉辅助
主è¦èœå“北京烤鸭ã€ä¼ ç»Ÿäº¬èœ
äººå‡æ¶ˆè´¹Â¥200-300
地å€åŒ—京市东城区å‰é—¨å¤§è¡—

那伽树无障ç¢å’–啡披è¨é›†åˆåº—

ðŸ‘ï¸è§†éšœå‹å¥½â™¿è½®æ¤…å‹å¥½

专为残障人士设计的无障ç¢é¤åŽ…

特色æœåŠ¡

  • æ— éšœç¢é€šé“
  • 盲文èœå•
  • 轮椅å‹å¥½
ç‰¹è‰²äº®ç‚¹å’–å•¡ã€æŠ«è¨ã€æ— éšœç¢è®¾æ–½
地å€åŒ—京市西城区大栅æ 

无声饭店

👂å¬éšœå‹å¥½ðŸ§ è®¤çŸ¥å‹å¥½

专为å¬éšœå’Œè®¤çŸ¥éšœç¢äººå£«æœåŠ¡çš„é¤åŽ…

特色æœåŠ¡

  • 手语æœåŠ¡
  • 图片èœå•
  • è€å¿ƒæœåŠ¡
主è¦èœå“云å—èœã€ç±³çº¿ã€è¿‡æ¡¥ç±³çº¿
äººå‡æ¶ˆè´¹Â¥25-40
地å€äº‘å—çœçŽ‰æºªå¸‚çº¢å¡”åŒº

圆亮798

👂å¬éšœå‹å¥½

798艺术区内的å¬éšœå‹å¥½é¤åŽ…

特色æœåŠ¡

  • 手语æœåŠ¡
  • 艺术氛围
  • 创æ„èœå“
主è¦èœå“创æ„èœã€å’–å•¡ã€è½»é£Ÿ
äººå‡æ¶ˆè´¹Â¥80-120
地å€åŒ—京市æœé˜³åŒº798艺术区

彩虹天使

👂å¬éšœå‹å¥½

温馨的å¬éšœå‹å¥½é¤åŽ…

特色æœåŠ¡

  • 手语æœåŠ¡
  • 温馨环境
  • 贴心æœåŠ¡
主è¦èœå“家常èœã€æ±¤å“ã€å°é£Ÿ
äººå‡æ¶ˆè´¹Â¥35-55
地å€åŒ—京市海淀区中关æ‘

米娜通州店

👂å¬éšœå‹å¥½

通州区的å¬éšœå‹å¥½é¤åŽ…

特色æœåŠ¡

  • 手语æœåŠ¡
  • å†™å­—æ¿æ²Ÿé€š
  • è€å¿ƒæœåŠ¡
主è¦èœå“å·èœã€ç«é”…ã€å°ç‚’
äººå‡æ¶ˆè´¹Â¥45-70
地å€åŒ—京市通州区万达广场

无声ç«é”…

👂å¬éšœå‹å¥½

专为å¬éšœäººå£«è®¾è®¡çš„ç«é”…店

特色æœåŠ¡

  • 手语æœåŠ¡
  • 图片èœå•
  • 无声点é¤
主è¦èœå“ç«é”…ã€æ¶®èœã€è°ƒæ–™
äººå‡æ¶ˆè´¹Â¥60-90
地å€åŒ—京市丰å°åŒºæ–¹åº„

春厨

🧠认知å‹å¥½

专为认知障ç¢äººå£«è®¾è®¡çš„é¤åŽ…

特色æœåŠ¡

  • 简化èœå•
  • è€å¿ƒæœåŠ¡
  • 清晰标识
主è¦èœå“家常èœã€æ±¤å“ã€é¢é£Ÿ
äººå‡æ¶ˆè´¹Â¥30-50
地å€åŒ—京市西城区德胜门

星巴克DC店

♿轮椅å‹å¥½

æä¾›è½®æ¤…æ— éšœç¢é€šé“的咖啡店

特色æœåŠ¡

  • æ— éšœç¢é€šé“
  • 轮椅å‹å¥½æ¡Œæ¤…
  • 便民设施
主è¦èœå“å’–å•¡ã€è½»é£Ÿã€ç”œå“
äººå‡æ¶ˆè´¹Â¥40-60
地å€åŒ—京市æœé˜³åŒºå›½è´¸

关于无障ç¢ç¾Žé£Ÿ

æ— éšœç¢ç¾Žé£Ÿè‡´åŠ›äºŽä¸ºæ®‹éšœäººå£«æä¾›å¹³ç­‰çš„用é¤ä½“验。我们精选了北京åŠå‘¨è¾¹åœ°åŒºçš„æ— éšœç¢å‹å¥½é¤åŽ…ï¼Œæ¶µç›–å¬éšœã€è§†éšœã€è½®æ¤…使用者和认知障ç¢äººå£«çš„需求。

æ¯å®¶é¤åŽ…éƒ½ç»è¿‡å®žåœ°è€ƒå¯Ÿï¼Œç¡®ä¿æä¾›çœŸæ­£çš„æ— éšœç¢æœåŠ¡ã€‚æˆ‘ä»¬å¸Œæœ›é€šè¿‡è¿™ä¸ªå¹³å°ï¼Œè®©æ›´å¤šäººäº†è§£å’Œæ”¯æŒæ— éšœç¢é¤é¥®ï¼Œå…±åŒåˆ›é€ ä¸€ä¸ªæ›´åŒ…容的社会。

\ No newline at end of file diff --git a/.netlify/static/Barrier-Free-Bites/index.txt b/.netlify/static/Barrier-Free-Bites/index.txt deleted file mode 100644 index 3425c52..0000000 --- a/.netlify/static/Barrier-Free-Bites/index.txt +++ /dev/null @@ -1,25 +0,0 @@ -1:"$Sreact.fragment" -2:I[8344,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"default"] -3:I[6874,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],""] -4:I[6453,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"SwitchLanguage"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[4113,["953","static/chunks/97bfd92e-9f7bdc8ced03498c.js","598","static/chunks/598-f4ad1f547f11f343.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","832","static/chunks/832-c9bf61612c364f73.js","65","static/chunks/app/Barrier-Free-Bites/page-7f6c2a4cdff8554e.js"],"default"] -b:I[9665,[],"OutletBoundary"] -e:I[4911,[],"AsyncMetadataOutlet"] -10:I[9665,[],"ViewportBoundary"] -12:I[9665,[],"MetadataBoundary"] -14:I[6614,[],""] -:HL["/_next/static/css/f4384244562b2716.css","style"] -0:{"P":null,"b":"-gpKtK-vIETF7bcDHMvb4","p":"","c":["","Barrier-Free-Bites",""],"i":false,"f":[[["",{"children":["Barrier-Free-Bites",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f4384244562b2716.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":["$","script",null,{"defer":true,"src":"https://umami.rkd.icu/script.js","data-website-id":"78225323-cc05-46af-9a51-6c670b9a804a"}]}],["$","body",null,{"className":"__variable_f367f3 __variable_f367f3 antialiased","children":["$","$L2",null,{"children":[["$","header",null,{"className":"sticky top-0 z-50 bg-white/80 backdrop-blur-sm shadow-sm border-b border-white/20","children":["$","div",null,{"className":"container mx-auto px-4 py-3 flex items-center justify-between","children":[["$","nav",null,{"className":"flex items-center gap-3","children":[["$","$L3",null,{"href":"/","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"公益慈善活动截止日期"}],["$","span",null,{"className":"text-gray-300","children":"|"}],["$","$L3",null,{"href":"/Barrier-Free-Bites","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}]]}],["$","div",null,{"className":"flex items-center gap-3","children":["$","$L4",null,{}]}]]}]}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]]}],{"children":["Barrier-Free-Bites",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc","$Ld",["$","$Le",null,{"promise":"$@f"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","1SolOq-tkGSe15KR9fMyJv",{"children":[["$","$L10",null,{"children":"$L11"}],null]}],["$","$L12",null,{"children":"$L13"}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} -15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] -9:{} -a:{} -13:["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}]}] -d:null -11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -c:null -f:{"metadata":[["$","title","0",{"children":"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}],["$","meta","1",{"name":"description","content":"追踪公益慈善会议ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸçš„网站,帮助公益从业者ã€å¿—æ„¿è€…å’Œçˆ±å¿ƒäººå£«åŠæ—¶äº†è§£æœ€æ–°çš„公益慈善活动动æ€ï¼Œä¸å†é”™è¿‡å‚与公益事业ã€å¥‰çŒ®çˆ±å¿ƒå’Œç¤¾ä¼šæœåŠ¡çš„æœºä¼šã€‚"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.png?535ef846ab308bd6","type":"image/png","sizes":"1328x1328"}]],"error":null,"digest":"$undefined"} -17:{"metadata":"$f:metadata","error":null,"digest":"$undefined"} diff --git a/.netlify/static/CNAME b/.netlify/static/CNAME deleted file mode 100644 index ff5c2a2..0000000 --- a/.netlify/static/CNAME +++ /dev/null @@ -1 +0,0 @@ -goodactionhub.org \ No newline at end of file diff --git a/.netlify/static/_next/static/-gpKtK-vIETF7bcDHMvb4/_buildManifest.js b/.netlify/static/_next/static/-gpKtK-vIETF7bcDHMvb4/_buildManifest.js deleted file mode 100644 index 12f4ead..0000000 --- a/.netlify/static/_next/static/-gpKtK-vIETF7bcDHMvb4/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:11,errorRate:1e-4,numBits:211,numHashes:14,bitArray:[0,0,r,1,1,e,r,r,e,e,r,r,e,r,e,r,e,e,e,e,r,r,e,e,e,r,e,r,r,r,r,r,e,e,e,e,r,r,r,e,e,e,e,e,r,e,r,e,e,e,r,e,r,r,e,r,e,r,r,e,r,r,e,r,r,e,r,e,e,e,e,r,r,r,r,r,e,e,r,r,r,r,r,e,e,e,r,e,r,r,e,e,e,r,e,e,e,e,r,r,r,e,e,e,e,r,r,e,r,r,r,e,r,r,e,r,r,r,e,e,e,e,r,r,r,e,r,r,r,r,r,r,r,r,r,r,e,e,r,e,r,e,e,e,e,e,r,r,r,e,e,r,e,r,r,r,e,r,r,e,e,e,e,e,r,e,e,r,r,r,r,e,e,r,r,r,e,e,r,e,e,e,e,e,e,e,e,r,e,r,e,r,e,r,e,e,e,r,r,e,e,e,e,r,r,r,e,e,r,e,e]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-71d2b6a7b832d02a.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/.netlify/static/_next/static/-gpKtK-vIETF7bcDHMvb4/_ssgManifest.js b/.netlify/static/_next/static/-gpKtK-vIETF7bcDHMvb4/_ssgManifest.js deleted file mode 100644 index 5b3ff59..0000000 --- a/.netlify/static/_next/static/-gpKtK-vIETF7bcDHMvb4/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/0e5ce63c-e88db91ff00e13de.js b/.netlify/static/_next/static/chunks/0e5ce63c-e88db91ff00e13de.js deleted file mode 100644 index f60a07f..0000000 --- a/.netlify/static/_next/static/chunks/0e5ce63c-e88db91ff00e13de.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[105],{3096:(e,r,n)=>{n.d(r,{D3D:()=>o});var l=n(2115),t=["color"],o=(0,l.forwardRef)(function(e,r){var n=e.color,o=function(e,r){if(null==e)return{};var n,l,t={},o=Object.keys(e);for(l=0;l=0||(t[n]=e[n]);return t}(e,t);return(0,l.createElement)("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o,{ref:r}),(0,l.createElement)("path",{d:"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",fill:void 0===n?"currentColor":n,fillRule:"evenodd",clipRule:"evenodd"}))})}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/120.48ea8d909af0b73f.js b/.netlify/static/_next/static/chunks/120.48ea8d909af0b73f.js deleted file mode 100644 index 5ac0d2a..0000000 --- a/.netlify/static/_next/static/chunks/120.48ea8d909af0b73f.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[120],{5120:(t,e,r)=>{var o="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g,n=function(){function t(){this.fetch=!1,this.DOMException=o.DOMException}return t.prototype=o,new t}();!function(t){!function(e){var r=void 0!==t&&t||"undefined"!=typeof self&&self||void 0!==r&&r,o={searchParams:"URLSearchParams"in r,iterable:"Symbol"in r&&"iterator"in Symbol,blob:"FileReader"in r&&"Blob"in r&&function(){try{return new Blob,!0}catch(t){return!1}}(),formData:"FormData"in r,arrayBuffer:"ArrayBuffer"in r};if(o.arrayBuffer)var n=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],i=ArrayBuffer.isView||function(t){return t&&n.indexOf(Object.prototype.toString.call(t))>-1};function s(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function a(t){return"string"!=typeof t&&(t=String(t)),t}function h(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return o.iterable&&(e[Symbol.iterator]=function(){return e}),e}function f(t){this.map={},t instanceof f?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function u(t){if(t.bodyUsed)return Promise.reject(TypeError("Already read"));t.bodyUsed=!0}function c(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function d(t){var e=new FileReader,r=c(e);return e.readAsArrayBuffer(t),r}function y(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function l(){return this.bodyUsed=!1,this._initBody=function(t){if(this.bodyUsed=this.bodyUsed,this._bodyInit=t,t)if("string"==typeof t)this._bodyText=t;else if(o.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(o.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t))this._bodyText=t.toString();else{var e;o.arrayBuffer&&o.blob&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=y(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=y(t):this._bodyText=t=Object.prototype.toString.call(t)}else this._bodyText="";!this.headers.get("content-type")&&("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o.blob&&(this.blob=function(){var t=u(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(!this._bodyFormData)return Promise.resolve(new Blob([this._bodyText]));throw Error("could not read FormData body as blob")},this.arrayBuffer=function(){if(!this._bodyArrayBuffer)return this.blob().then(d);var t=u(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}),this.text=function(){var t,e,r,o=u(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,r=c(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=Array(e.length),o=0;o-1?o:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),("GET"===this.method||"HEAD"===this.method)&&("no-store"===e.cache||"no-cache"===e.cache)){var i=/([?&])_=[^&]*/;i.test(this.url)?this.url=this.url.replace(i,"$1_="+new Date().getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+new Date().getTime()}}function m(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),o=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(n))}}),e}function w(t,e){if(!(this instanceof w))throw TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new f(e.headers),this.url=e.url||"",this._initBody(t)}b.prototype.clone=function(){return new b(this,{body:this._bodyInit})},l.call(b.prototype),l.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var v=[301,302,303,307,308];w.redirect=function(t,e){if(-1===v.indexOf(e))throw RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=r.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function E(t,n){return new Promise(function(i,s){var h=new b(t,n);if(h.signal&&h.signal.aborted)return s(new e.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function c(){u.abort()}u.onload=function(){var t,e,r={status:u.status,statusText:u.statusText,headers:(t=u.getAllResponseHeaders()||"",e=new f,t.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t}).forEach(function(t){var r=t.split(":"),o=r.shift().trim();if(o){var n=r.join(":").trim();e.append(o,n)}}),e)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var o="response"in u?u.response:u.responseText;setTimeout(function(){i(new w(o,r))},0)},u.onerror=function(){setTimeout(function(){s(TypeError("Network request failed"))},0)},u.ontimeout=function(){setTimeout(function(){s(TypeError("Network request failed"))},0)},u.onabort=function(){setTimeout(function(){s(new e.DOMException("Aborted","AbortError"))},0)},u.open(h.method,function(t){try{return""===t&&r.location.href?r.location.href:t}catch(e){return t}}(h.url),!0),"include"===h.credentials?u.withCredentials=!0:"omit"===h.credentials&&(u.withCredentials=!1),"responseType"in u&&(o.blob?u.responseType="blob":o.arrayBuffer&&h.headers.get("Content-Type")&&-1!==h.headers.get("Content-Type").indexOf("application/octet-stream")&&(u.responseType="arraybuffer")),!n||"object"!=typeof n.headers||n.headers instanceof f?h.headers.forEach(function(t,e){u.setRequestHeader(e,t)}):Object.getOwnPropertyNames(n.headers).forEach(function(t){u.setRequestHeader(t,a(n.headers[t]))}),h.signal&&(h.signal.addEventListener("abort",c),u.onreadystatechange=function(){4===u.readyState&&h.signal.removeEventListener("abort",c)}),u.send(void 0===h._bodyInit?null:h._bodyInit)})}E.polyfill=!0,r.fetch||(r.fetch=E,r.Headers=f,r.Request=b,r.Response=w),e.Headers=f,e.Request=b,e.Response=w,e.fetch=E}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var i=o.fetch?o:n;(e=i.fetch).default=i.fetch,e.fetch=i.fetch,e.Headers=i.Headers,e.Request=i.Request,e.Response=i.Response,t.exports=e}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/218-b5cd179088e9e94e.js b/.netlify/static/_next/static/chunks/218-b5cd179088e9e94e.js deleted file mode 100644 index f73ef14..0000000 --- a/.netlify/static/_next/static/chunks/218-b5cd179088e9e94e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[218],{762:e=>{e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},1218:(e,n,t)=>{"use strict";let r;t.d(n,{xC:()=>U,r9:()=>L,Bd:()=>R});var s=t(2115),a=t(762),i=t.n(a),l=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;Object.create(null);let o=(e,n,t,r)=>{let s=[t,{code:n,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(s,"warn","react-i18next::",!0);m(s[0])&&(s[0]=`react-i18next:: ${s[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...s):console?.warn&&console.warn(...s)},u={},c=(e,n,t,r)=>{m(t)&&u[t]||(m(t)&&(u[t]=new Date),o(e,n,t,r))},p=(e,n)=>()=>{if(e.isInitialized)n();else{let t=()=>{setTimeout(()=>{e.off("initialized",t)},0),n()};e.on("initialized",t)}},g=(e,n,t)=>{e.loadNamespaces(n,p(e,t))},d=(e,n,t,r)=>{if(m(t)&&(t=[t]),e.options.preload&&e.options.preload.indexOf(n)>-1)return g(e,t,r);t.forEach(n=>{0>e.options.ns.indexOf(n)&&e.options.ns.push(n)}),e.loadLanguages(n,p(e,r))},f=(e,n,t={})=>n.languages&&n.languages.length?n.hasLoadedNamespace(e,{lng:t.lng,precheck:(n,r)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!r(n.isLanguageChangingTo,e))return!1}}):(c(n,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:n.languages}),!0),m=e=>"string"==typeof e,h=e=>"object"==typeof e&&null!==e,y=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,N={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"\xa9","©":"\xa9","®":"\xae","®":"\xae","…":"…","…":"…","/":"/","/":"/"},b=e=>N[e],E={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(y,b)},w=(e={})=>{E={...E,...e}},k=()=>E,x=(e,n)=>{if(!e)return!1;let t=e.props?.children??e.children;return n?t.length>0:!!t},O=e=>{if(!e)return[];let n=e.props?.children??e.children;return e.props?.i18nIsDynamicList?I(n):n},C=e=>Array.isArray(e)&&e.every(isValidElement),I=e=>Array.isArray(e)?e:[e],T=(e,n)=>{let t={...n};return t.props=Object.assign(e.props,n.props),t},v=(e,n,t)=>{let r=e.key||n,s=cloneElement(e,{key:r});return!s.props||!s.props.children||0>t.indexOf(`${n}/>`)&&0>t.indexOf(`${n} />`)?s:createElement(function(){return createElement(Fragment,null,s)},{key:r})},A=(e,n)=>e.map((e,t)=>v(e,t,n)),S=(e,n)=>{let t={};return Object.keys(e).forEach(r=>{Object.assign(t,{[r]:v(e[r],r,n)})}),t},_=e=>{r=e},j=()=>r,L={type:"3rdParty",init(e){w(e.options.react),_(e)}},z=(0,s.createContext)();class F{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}let P=(e,n)=>{let t=(0,s.useRef)();return(0,s.useEffect)(()=>{t.current=n?t.current:e},[e,n]),t.current},$=(e,n,t,r)=>e.getFixedT(n,t,r),D=(e,n,t,r)=>(0,s.useCallback)($(e,n,t,r),[e,n,t,r]),R=(e,n={})=>{let{i18n:t}=n,{i18n:r,defaultNS:a}=(0,s.useContext)(z)||{},i=t||r||j();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new F),!i){c(i,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");let e=(e,n)=>m(n)?n:h(n)&&m(n.defaultValue)?n.defaultValue:Array.isArray(e)?e[e.length-1]:e,n=[e,{},!1];return n.t=e,n.i18n={},n.ready=!1,n}i.options.react?.wait&&c(i,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");let l={...k(),...i.options.react,...n},{useSuspense:o,keyPrefix:u}=l,p=e||a||i.options?.defaultNS;p=m(p)?[p]:p||["translation"],i.reportNamespaces.addUsedNamespaces?.(p);let y=(i.isInitialized||i.initializedStoreOnce)&&p.every(e=>f(e,i,l)),N=D(i,n.lng||null,"fallback"===l.nsMode?p:p[0],u),b=()=>N,E=()=>$(i,n.lng||null,"fallback"===l.nsMode?p:p[0],u),[w,x]=(0,s.useState)(b),O=p.join();n.lng&&(O=`${n.lng}${O}`);let C=P(O),I=(0,s.useRef)(!0);(0,s.useEffect)(()=>{let{bindI18n:e,bindI18nStore:t}=l;I.current=!0,y||o||(n.lng?d(i,n.lng,p,()=>{I.current&&x(E)}):g(i,p,()=>{I.current&&x(E)})),y&&C&&C!==O&&I.current&&x(E);let r=()=>{I.current&&x(E)};return e&&i?.on(e,r),t&&i?.store.on(t,r),()=>{I.current=!1,i&&e&&e?.split(" ").forEach(e=>i.off(e,r)),t&&i&&t.split(" ").forEach(e=>i.store.off(e,r))}},[i,O]),(0,s.useEffect)(()=>{I.current&&y&&x(b)},[i,u,y]);let T=[w,i,y];if(T.t=w,T.i18n=i,T.ready=y,y||!y&&!o)return T;throw new Promise(e=>{n.lng?d(i,n.lng,p,()=>e()):g(i,p,()=>e())})};function U({i18n:e,defaultNS:n,children:t}){let r=(0,s.useMemo)(()=>({i18n:e,defaultNS:n}),[e,n]);return(0,s.createElement)(z.Provider,{value:r},t)}}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/24-f1a7ced9447044cb.js b/.netlify/static/_next/static/chunks/24-f1a7ced9447044cb.js deleted file mode 100644 index eead0ea..0000000 --- a/.netlify/static/_next/static/chunks/24-f1a7ced9447044cb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[24],{3999:(e,t,r)=>{r.d(t,{cn:()=>o,y:()=>i});var a=r(2596),s=r(9688),n=r(2231);function o(){for(var e=arguments.length,t=Array(e),r=0;r=0?s+="+":s+="-",s+=r,a>0&&(s+=":"+a.toString().padStart(2,"0")),s}catch(t){return console.error("Error formatting timezone ".concat(e,":"),t),e}}},5203:(e,t,r)=>{r.d(t,{h:()=>n});var a=r(5453),s=r(6786);let n=(0,a.v)()((0,s.Zr)(e=>({items:[],loading:!0,selectedCategory:null,selectedTags:[],selectedLocations:[],searchQuery:"",favorites:[],showOnlyFavorites:!1,mounted:!1,displayTimezone:"Asia/Shanghai",toggleFavorite:t=>e(e=>({favorites:e.favorites.includes(t)?e.favorites.filter(e=>e!==t):[...e.favorites,t]})),setShowOnlyFavorites:t=>e({showOnlyFavorites:t}),fetchItems:async()=>{e({loading:!0});try{let t=await fetch("/api/data"),r=await t.json();e({items:r,loading:!1})}catch(t){console.error("Failed to load data:",t),e({loading:!1})}},setDisplayTimezone:t=>e({displayTimezone:t}),detectUserTimezone:()=>{try{let t=Intl.DateTimeFormat().resolvedOptions().timeZone;t&&e({displayTimezone:t})}catch(e){console.error("Failed to detect user timezone:",e)}},setCategory:t=>e({selectedCategory:t}),toggleTag:t=>e(e=>({selectedTags:e.selectedTags.includes(t)?e.selectedTags.filter(e=>e!==t):[...e.selectedTags,t]})),toggleLocation:t=>e(e=>({selectedLocations:e.selectedLocations.includes(t)?e.selectedLocations.filter(e=>e!==t):[...e.selectedLocations,t]})),setSearchQuery:t=>e({searchQuery:t})}),{name:"favorites-storage",storage:(0,s.KU)(()=>localStorage),partialize:e=>({favorites:e.favorites,displayTimezone:e.displayTimezone}),onRehydrateStorage:()=>e=>{e&&(e.mounted=!0)}}))},7024:(e,t,r)=>{r.d(t,{n:()=>Z});var a=r(5155),s=r(2115),n=r(2231),o=r(5203),i=r(1218);function l(e){let{deadline:t}=e,[r,l]=(0,s.useState)(null),{t:d}=(0,i.Bd)("common"),c=(0,o.h)(e=>e.displayTimezone);return((0,s.useEffect)(()=>{let e=()=>{let e=n.c9.now().setZone(c),r=t.setZone(c).toMillis()-e.toMillis();if(r>0){let e=Math.floor(r/864e5),t=Math.floor(r%864e5/36e5);l({days:e,hours:t,minutes:Math.floor(r%36e5/6e4),seconds:Math.floor(r%6e4/1e3)})}else l(null)};e();let r=setInterval(e,1e3);return()=>clearInterval(r)},[t,c]),r)?(0,a.jsxs)("div",{className:"flex items-center justify-center gap-1 sm:gap-1.5 flex-wrap",children:[r.days>0&&(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"bg-gradient-to-b from-orange-500 to-orange-600 text-white px-2 sm:px-2.5 py-1.5 sm:py-2 rounded-lg font-bold text-sm sm:text-base min-w-[35px] sm:min-w-[40px] shadow-md",children:r.days.toString().padStart(2,"0")}),(0,a.jsx)("div",{className:"text-xs text-orange-700 mt-1 font-medium",children:d("date.days")})]}),(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"bg-gradient-to-b from-orange-500 to-orange-600 text-white px-2 sm:px-2.5 py-1.5 sm:py-2 rounded-lg font-bold text-sm sm:text-base min-w-[35px] sm:min-w-[40px] shadow-md",children:r.hours.toString().padStart(2,"0")}),(0,a.jsx)("div",{className:"text-xs text-orange-700 mt-1 font-medium",children:d("date.hours")})]}),(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"bg-gradient-to-b from-orange-500 to-orange-600 text-white px-2 sm:px-2.5 py-1.5 sm:py-2 rounded-lg font-bold text-sm sm:text-base min-w-[35px] sm:min-w-[40px] shadow-md",children:r.minutes.toString().padStart(2,"0")}),(0,a.jsx)("div",{className:"text-xs text-orange-700 mt-1 font-medium",children:d("date.minutes")})]}),(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"bg-gradient-to-b from-orange-500 to-orange-600 text-white px-2 sm:px-2.5 py-1.5 sm:py-2 rounded-lg font-bold text-sm sm:text-base min-w-[35px] sm:min-w-[40px] shadow-md countdown-pulse",children:r.seconds.toString().padStart(2,"0")}),(0,a.jsx)("div",{className:"text-xs text-orange-700 mt-1 font-medium",children:d("date.seconds")})]})]}):(0,a.jsx)("div",{className:"text-sm font-bold text-red-600 bg-red-100 px-3 py-2 rounded-lg",children:d("events.outdated")})}var d=r(3999);let c=(0,s.forwardRef)(function(e,t){let{event:r,timezone:i,isEnded:l,isActive:c=!1,isUpcoming:m=!1,totalEvents:x,index:h}=e,[f,u]=(0,s.useState)(!1),[g,p]=(0,s.useState)({left:0,top:0,arrowOffset:0}),v=(0,s.useRef)(null),b=(0,o.h)(e=>e.displayTimezone),y=n.c9.fromISO(r.deadline,{zone:i});(0,s.useEffect)(()=>{if(!f||!v.current||l)return;let e=v.current.getBoundingClientRect(),t=e.left+e.width/2,r=e.top,a=0;requestAnimationFrame(()=>{let e=window.innerWidth;t-120<10?(a=120-(t-10),t=130):t+120>e-10&&(a=-(e-10-t-120),t=e-10-120),p({left:t,top:r-10,arrowOffset:a})})},[f,l]);let w="\n w-3 h-3 rounded-full border-2 shadow-sm transition-all duration-300 cursor-pointer\n ".concat(c?"bg-orange-500 border-orange-300 ring-2 ring-orange-200 scale-125":m?"bg-blue-500 border-blue-300":"bg-gray-400 border-gray-300","\n ").concat(l?"opacity-50":"","\n ").concat(f?"scale-125":"","\n "),j=(0,d.y)(b),N=(0,d.y)(i);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{ref:function(e){v.current=e,"function"==typeof t?t(e):t&&(t.current=e)},className:"absolute flex flex-col items-center",style:{left:"".concat(x>1?h/(x-1)*80+10:50,"%"),transform:"translateX(-50%)",top:"50%",marginTop:"-6px"},onMouseEnter:()=>!l&&u(!0),onMouseLeave:()=>u(!1),children:[(0,a.jsx)("div",{className:w}),(0,a.jsx)("div",{className:"\n absolute top-full mt-1 text-center transition-all duration-300\n ".concat(l?"opacity-50":"","\n "),children:(0,a.jsx)("div",{className:"text-xs font-medium whitespace-nowrap ".concat(c?"text-orange-700 font-bold":"text-gray-600"),children:y.setZone(b).toFormat("MM-dd")})})]}),f&&!l&&(0,a.jsx)("div",{className:"fixed z-50 pointer-events-none",style:{left:"".concat(g.left,"px"),top:"".concat(g.top,"px"),transform:"translate(-50%, -100%)"},children:(0,a.jsxs)("div",{className:"bg-gray-900 text-white text-xs rounded-lg px-3 py-2 whitespace-nowrap shadow-lg",children:[(0,a.jsx)("div",{className:"font-medium",children:r.comment}),(0,a.jsxs)("div",{className:"text-gray-300",children:[y.setZone(b).toFormat("yyyy-MM-dd HH:mm:ss")," (",j,")"]}),(0,a.jsxs)("div",{className:"text-gray-300",children:[y.toFormat("yyyy-MM-dd HH:mm:ss")," (",N,", 原始时区)"]}),(0,a.jsx)("div",{className:"absolute top-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-l-4 border-r-4 border-t-4 border-transparent border-t-gray-900 hidden md:block",style:{marginLeft:"".concat(g.arrowOffset,"px")}})]})})]})});var m=r(8145),x=r(8482),h=r(7655);let f=s.forwardRef((e,t)=>{let{className:r,children:s,viewportRef:n,...o}=e;return(0,a.jsxs)(h.bL,{ref:t,className:(0,d.cn)("relative",r),...o,children:[(0,a.jsx)(h.LM,{ref:n,className:"h-full w-full rounded-[inherit]",children:s}),(0,a.jsx)(u,{orientation:"horizontal"}),(0,a.jsx)(h.OK,{})]})});f.displayName=h.bL.displayName;let u=s.forwardRef((e,t)=>{let{className:r,orientation:s="vertical",...n}=e;return"horizontal"===s?(0,a.jsx)(h.Ze,{ref:t,orientation:s,className:(0,d.cn)("flex touch-none select-none transition-colors","h-2.5 flex-col border-t border-t-transparent p-[1px]",r),...n,children:(0,a.jsx)(h.zi,{className:"relative flex-1 rounded-full bg-border"})}):null});u.displayName=h.Ze.displayName;let g=()=>{try{let e=localStorage.getItem("favorites-storage");if(e){let t=JSON.parse(e);if(t.state&&t.state.displayTimezone)return t.state.displayTimezone}}catch(e){console.warn("Failed to get timezone from storage:",e)}return"Asia/Shanghai"};var p=r(3786),v=r(8564),b=r(9074),y=r(4186),w=r(4516),j=r(6874),N=r.n(j),k=r(7168),z=r(9449);function T(e){let{...t}=e;return(0,a.jsx)(z.bL,{"data-slot":"dropdown-menu",...t})}function M(e){let{...t}=e;return(0,a.jsx)(z.l9,{"data-slot":"dropdown-menu-trigger",...t})}function S(e){let{className:t,sideOffset:r=4,...s}=e;return(0,a.jsx)(z.ZL,{children:(0,a.jsx)(z.UC,{"data-slot":"dropdown-menu-content",sideOffset:r,className:(0,d.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...s})})}function E(e){let{className:t,inset:r,variant:s="default",...n}=e;return(0,a.jsx)(z.q7,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":s,className:(0,d.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...n})}var F=r(5398),A=r(3562),D=r(8883),L=r(5206),O=r(2024);function C(e){let{title:t,description:r,location:s,startDate:o,endDate:l,startTime:d,endTime:c,timeZone:m}=e,x=n.c9.fromISO("".concat(o,"T").concat(null!=d?d:"00:00"),{zone:m}),h=n.c9.fromISO("".concat(l,"T").concat(null!=c?c:"23:59"),{zone:m}),f=x.toUTC().toFormat("yyyyMMdd'T'HHmmss'Z'"),u=h.toUTC().toFormat("yyyyMMdd'T'HHmmss'Z'"),g={title:t,description:r,location:s,start:x.toISO(),end:h.toISO()},{t:p}=(0,i.Bd)();return(0,a.jsxs)(T,{children:[(0,a.jsx)(M,{asChild:!0,children:(0,a.jsxs)(k.$,{variant:"outline",className:"flex items-center gap-2",children:[(0,a.jsx)(b.A,{className:"h-4 w-4"}),p("calendar.title")]})}),(0,a.jsxs)(S,{children:[(0,a.jsx)(E,{asChild:!0,children:(0,a.jsxs)("a",{href:(0,F.q7)(g),target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2",children:[(0,a.jsx)(A.A,{className:"h-4 w-4"})," 谷歌日历"]})}),(0,a.jsx)(E,{asChild:!0,children:(0,a.jsxs)("a",{href:(0,F.En)(g),target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2",children:[(0,a.jsx)(D.A,{className:"h-4 w-4"})," Outlook日历"]})}),(0,a.jsx)(E,{asChild:!0,children:(0,a.jsxs)("a",{href:(0,F.fM)(g),target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2",children:[(0,a.jsx)(L.A,{className:"h-4 w-4"})," 雅虎日历"]})}),(0,a.jsxs)(E,{onClick:e=>{e.preventDefault(),e.stopPropagation();let a=new Blob(["BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//YourApp//EN\nBEGIN:VEVENT\nUID:".concat(Date.now(),"-").concat(Math.random().toString(36).substring(2,11),"@example.com\nDTSTAMP:").concat(n.c9.now().toUTC().toFormat("yyyyMMdd'T'HHmmss'Z'"),"\nDTSTART:").concat(f,"\nDTEND:").concat(u,"\nSUMMARY:").concat(t.replace(/[\n\r]/g,"\\n"),"\n").concat(r?"DESCRIPTION:".concat(r.replace(/[\n\r]/g,"\\n")):"","\n").concat(s?"LOCATION:".concat(s.replace(/[\n\r]/g,"\\n")):"","\nEND:VEVENT\nEND:VCALENDAR")],{type:"text/calendar;charset=utf-8"}),i=URL.createObjectURL(a),l=document.createElement("a");l.href=i,l.download="".concat(t,"_").concat(o,".ics"),l.click(),URL.revokeObjectURL(i)},className:"flex items-center gap-2 cursor-pointer",children:[(0,a.jsx)(O.A,{className:"h-4 w-4"})," 苹果日历 (",p("calendar.download"),")"]})]})]})}function Z(e){let{item:t,event:r}=e,{t:h}=(0,i.Bd)("common"),{favorites:u,toggleFavorite:j,mounted:k,displayTimezone:z}=(0,o.h)(),T="".concat(r.id),M=u.includes(T);(0,s.useEffect)(()=>{o.h.setState({mounted:!0})},[]);let S=function(e){let t=g(),r=n.c9.now().setZone(t),a=e.timeline[e.timeline.length-1].deadline;return n.c9.fromISO(a,{zone:e.timezone}).setZone(t)({...e,date:n.c9.fromISO(e.deadline,{zone:r.timezone}),index:t})).filter(e=>e.date.setZone(z)>E).sort((e,t)=>e.date.toMillis()-t.date.toMillis()),A=F[0],D=(0,d.y)(z),L=(0,d.y)(r.timezone),O=F.map(e=>e.index),Z=(0,s.useRef)(null),H=(0,s.useRef)(null),R=(0,s.useRef)(null),[I,_]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e=()=>{Z.current&&H.current&&_(Z.current.scrollWidth>H.current.offsetWidth+1)};return setTimeout(e,0),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[r.timeline]),(0,s.useEffect)(()=>{if(I&&H.current&&R.current){let e=H.current,t=R.current,r=e.offsetWidth,a=t.offsetLeft,s=t.offsetWidth;e.scrollTo({left:a-r/2+s/2,behavior:"smooth"})}},[I,r.timeline]),(0,a.jsx)(x.Zp,{className:"transition-all duration-300 hover:shadow-lg ".concat(S?"opacity-60 grayscale":""),children:(0,a.jsxs)(x.Wu,{children:[(0,a.jsxs)("div",{className:"flex flex-col md:flex-row md:gap-6",children:[(0,a.jsxs)("div",{className:"flex-1 space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("div",{className:"flex items-start justify-between gap-3",children:(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center gap-2",children:[(0,a.jsx)("div",{className:"mb-1 sm:mb-0 sm:mr-2 flex",children:(0,a.jsx)(()=>(0,a.jsx)("div",{className:"inline-flex px-4 py-2 rounded-xl text-sm font-bold whitespace-nowrap shadow-lg transform transition-all duration-300 hover:scale-105 hover:shadow-xl ".concat({conference:"bg-gradient-to-r from-purple-500 to-purple-600 text-white",competition:"bg-gradient-to-r from-pink-500 to-pink-600 text-white",activity:"bg-gradient-to-r from-cyan-500 to-cyan-600 text-white"}[t.category]||"bg-gradient-to-r from-purple-500 to-purple-600 text-white"),children:h("filter.category_".concat(t.category))}),{})}),(0,a.jsxs)("div",{className:"flex items-start gap-2 flex-wrap",children:[(0,a.jsxs)(N(),{href:r.link,target:"_blank",rel:"noopener noreferrer",className:"hover:underline flex items-center gap-1",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold leading-tight break-words underline",children:t.title}),(0,a.jsx)(p.A,{className:"w-4 h-4"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,a.jsx)(m.E,{variant:"outline",className:"text-xs",children:r.year}),S&&(0,a.jsx)(m.E,{variant:"secondary",className:"text-xs",children:h("events.ended")}),k&&(0,a.jsx)(v.A,{className:"w-4 h-4 cursor-pointer transition-colors ".concat(M?"text-yellow-400 fill-yellow-400":"text-gray-400 hover:text-yellow-500"),onClick:()=>j(T)})]})]})]})})}),(0,a.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:t.description})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:t.tags.map(e=>(0,a.jsx)(m.E,{variant:"outline",className:"text-xs",children:e},e))}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row md:flex-col md:items-start lg:flex-row sm:items-center gap-2 sm:gap-4 text-sm text-muted-foreground",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(b.A,{className:"w-4 h-4 flex-shrink-0"}),(0,a.jsx)("span",{className:"break-words",children:r.date})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(y.A,{className:"w-4 h-4 flex-shrink-0"}),(0,a.jsx)("span",{className:"break-words",children:L})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(w.A,{className:"w-4 h-4 flex-shrink-0"}),(0,a.jsx)("span",{className:"break-words",children:r.place})]})]})]}),(0,a.jsx)("div",{className:"hidden md:block md:w-1/2",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-nowrap",children:[(0,a.jsx)(y.A,{className:"w-4 h-4"}),(0,a.jsx)("span",{className:"text-sm font-medium",children:h("events.timeline")}),!S&&A&&(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsx)(C,{title:t.title,description:t.description,location:r.place,startDate:A.date.toFormat("yyyy-MM-dd"),endDate:A.date.toFormat("yyyy-MM-dd"),startTime:A.date.toFormat("HH:mm"),endTime:A.date.toFormat("HH:mm"),timeZone:r.timezone})})]}),(0,a.jsx)("div",{className:"flex items-center flex-nowrap",children:(0,a.jsxs)("div",{className:"relative bg-gray-50 rounded-lg border h-16 flex items-center flex-grow min-w-0",children:[(0,a.jsx)("div",{className:"absolute left-[10%] right-[10%] h-0.5 bg-gray-300 top-1/2 transform -translate-y-1/2"}),(0,a.jsx)("div",{className:"relative w-full h-full",children:r.timeline.map((e,t)=>(0,a.jsx)(c,{event:e,timezone:r.timezone,isEnded:S,isActive:(null==A?void 0:A.index)===t,isUpcoming:O.slice(1).includes(t),totalEvents:r.timeline.length,index:t,ref:(null==A?void 0:A.index)===t?R:void 0},t))})]})})]}),!S&&A?(0,a.jsx)("div",{className:"p-3 bg-gradient-to-br from-purple-100/80 via-pink-100/80 to-cyan-100/80 backdrop-blur-sm rounded-xl border border-white/30 shadow-lg",children:(0,a.jsxs)("div",{className:"flex flex-col lg:flex-row lg:items-center lg:justify-between",children:[(0,a.jsxs)("div",{className:"space-y-1 text-center lg:text-left",children:[(0,a.jsx)("div",{className:"text-sm font-bold bg-gradient-to-r from-purple-600 to-pink-600 bg-clip-text text-transparent",children:h("events.nextDeadline")}),(0,a.jsx)("div",{className:"text-sm font-bold text-gray-800 leading-tight break-words",children:A.comment}),(0,a.jsxs)("div",{className:"text-xs text-gray-600",children:[A.date.setZone(z).toFormat("yyyy-MM-dd HH:mm:ss")," (",D,")"]})]}),(0,a.jsx)("div",{className:"mt-2 lg:mt-0 flex justify-center items-center",children:(0,a.jsx)(l,{deadline:A.date})})]})}):(0,a.jsx)("div",{className:"p-3 bg-gradient-to-br from-gray-100/80 to-gray-200/80 backdrop-blur-sm rounded-xl border border-white/20 shadow-lg",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"text-sm font-bold bg-gradient-to-r from-gray-600 to-gray-700 bg-clip-text text-transparent mb-1",children:h("events.ended")}),(0,a.jsx)("div",{className:"text-xs text-gray-500",children:h("events.allDeadlinesPassed")})]})})]})})]}),(0,a.jsxs)("div",{className:"block md:hidden space-y-6 mt-6",children:[(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(y.A,{className:"w-4 h-4"}),(0,a.jsx)("span",{className:"text-sm font-medium",children:h("events.timeline")}),!S&&A&&(0,a.jsx)("div",{className:"mt-2 ml-auto",children:(0,a.jsx)(C,{title:t.title,description:t.description,location:r.place,startDate:A.date.toFormat("yyyy-MM-dd"),endDate:A.date.toFormat("yyyy-MM-dd"),startTime:A.date.toFormat("HH:mm"),endTime:A.date.plus({hours:1}).toFormat("HH:mm"),timeZone:r.timezone})})]}),(0,a.jsxs)("div",{className:"relative w-full border rounded-lg overflow-hidden bg-gray-50",children:[(0,a.jsx)("div",{className:"pointer-events-none absolute left-0 top-0 h-full w-6 z-10 bg-gradient-to-r from-gray-50/90 to-transparent"}),(0,a.jsx)("div",{className:"pointer-events-none absolute right-0 top-0 h-full w-6 z-10 bg-gradient-to-l from-gray-50/90 to-transparent"}),(0,a.jsx)(f,{className:"w-full pb-6",viewportRef:H,children:(0,a.jsxs)("div",{className:"relative flex items-center h-16 min-w-[320px]",style:{minWidth:"".concat(80*r.timeline.length,"px")},ref:Z,children:[(0,a.jsx)("div",{className:"absolute left-0 right-0 h-0.5 bg-gray-300 top-1/2 -translate-y-1/2 z-0"}),(0,a.jsx)("div",{className:"relative flex w-full h-full z-10",children:r.timeline.map((e,t)=>(0,a.jsx)(c,{event:e,timezone:r.timezone,isEnded:S,isActive:(null==A?void 0:A.index)===t,isUpcoming:O.slice(1).includes(t),totalEvents:r.timeline.length,index:t,ref:(null==A?void 0:A.index)===t?R:void 0},t))})]})}),I&&(0,a.jsxs)("div",{className:"absolute right-2 bottom-2 flex items-center z-30 animate-bounce",children:[(0,a.jsx)("span",{className:"text-xs text-gray-400 mr-1",children:h("events.swipe")}),(0,a.jsx)("svg",{className:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 12h14m-7-7l7 7-7 7"})})]})]})]}),(0,a.jsx)("div",{className:"w-full",children:!S&&A?(0,a.jsx)("div",{className:"p-4 bg-gradient-to-br from-purple-100/80 via-pink-100/80 to-cyan-100/80 backdrop-blur-sm rounded-xl border border-white/30 shadow-lg",children:(0,a.jsxs)("div",{className:"text-center space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("div",{className:"text-sm font-bold bg-gradient-to-r from-purple-600 to-pink-600 bg-clip-text text-transparent mb-1",children:h("events.nextDeadline")}),(0,a.jsx)("div",{className:"text-base font-bold text-gray-800 leading-tight break-words",children:A.comment}),(0,a.jsxs)("div",{className:"text-xs text-gray-600",children:[A.date.setZone(z).toFormat("yyyy-MM-dd HH:mm:ss")," (",D,")"]})]}),(0,a.jsx)("div",{className:"flex justify-center",children:(0,a.jsx)(l,{deadline:A.date})})]})}):(0,a.jsx)("div",{className:"p-4 bg-gradient-to-br from-gray-100/80 to-gray-200/80 backdrop-blur-sm rounded-xl border border-white/20 shadow-lg",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"text-sm font-bold bg-gradient-to-r from-gray-600 to-gray-700 bg-clip-text text-transparent mb-1",children:h("events.ended")}),(0,a.jsx)("div",{className:"text-xs text-gray-500",children:h("events.allDeadlinesPassed")})]})})})]})]})})}},7168:(e,t,r)=>{r.d(t,{$:()=>l});var a=r(5155);r(2115);var s=r(9708),n=r(2085),o=r(3999);let i=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl text-sm font-medium transition-all duration-300 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transform hover:scale-105 active:scale-95",{variants:{variant:{default:"bg-gradient-to-r from-purple-500 to-purple-600 text-white shadow-lg hover:from-purple-600 hover:to-purple-700 hover:shadow-xl",destructive:"bg-gradient-to-r from-red-500 to-red-600 text-white shadow-lg hover:from-red-600 hover:to-red-700 hover:shadow-xl focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40",outline:"border-2 border-purple-200 bg-white/80 backdrop-blur-sm shadow-lg hover:bg-gradient-to-r hover:from-purple-50 hover:to-pink-50 hover:border-purple-300 hover:shadow-xl dark:bg-gray-800/80 dark:border-purple-400 dark:hover:bg-gradient-to-r dark:hover:from-purple-900/50 dark:hover:to-pink-900/50",secondary:"bg-gradient-to-r from-gray-100 to-gray-200 text-gray-800 shadow-lg hover:from-gray-200 hover:to-gray-300 hover:shadow-xl dark:from-gray-700 dark:to-gray-800 dark:text-white dark:hover:from-gray-600 dark:hover:to-gray-700",ghost:"hover:bg-gradient-to-r hover:from-purple-50 hover:to-pink-50 hover:text-purple-700 hover:shadow-md dark:hover:from-purple-900/30 dark:hover:to-pink-900/30 dark:hover:text-purple-300",link:"text-purple-600 underline-offset-4 hover:underline hover:text-purple-700 dark:text-purple-400 dark:hover:text-purple-300"},size:{default:"h-10 px-6 py-2 has-[>svg]:px-4",sm:"h-8 rounded-lg gap-1.5 px-4 has-[>svg]:px-3",lg:"h-12 rounded-xl px-8 has-[>svg]:px-6 text-base",icon:"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:t,variant:r,size:n,asChild:l=!1,...d}=e,c=l?s.DX:"button";return(0,a.jsx)(c,{"data-slot":"button",className:(0,o.cn)(i({variant:r,size:n,className:t})),...d})}},8145:(e,t,r)=>{r.d(t,{E:()=>l});var a=r(5155);r(2115);var s=r(9708),n=r(2085),o=r(3999);let i=(0,n.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:r,asChild:n=!1,...l}=e,d=n?s.DX:"span";return(0,a.jsx)(d,{"data-slot":"badge",className:(0,o.cn)(i({variant:r}),t),...l})}},8482:(e,t,r)=>{r.d(t,{Wu:()=>o,Zp:()=>n});var a=r(5155);r(2115);var s=r(3999);function n(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card/80 backdrop-blur-sm text-card-foreground flex flex-col gap-6 rounded-xl border border-white/20 py-6 shadow-lg transition-all duration-300 hover:shadow-xl hover:border-white/30",t),...r})}function o(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",t),...r})}}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/341.df3329d77a5faa19.js b/.netlify/static/_next/static/chunks/341.df3329d77a5faa19.js deleted file mode 100644 index 715942f..0000000 --- a/.netlify/static/_next/static/chunks/341.df3329d77a5faa19.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[341],{303:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return r}});let r=n(4252)._(n(4232)).default.createContext({})},3776:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(4232),o=r.useLayoutEffect,l=r.useEffect;function a(e){let{headManager:t,reduceComponentsToState:n}=e;function a(){if(t&&t.mountedInstances){let o=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(o,e))}}return o(()=>{var n;return null==t||null==(n=t.mountedInstances)||n.add(e.children),()=>{var n;null==t||null==(n=t.mountedInstances)||n.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},5679:(e,t,n)=>{var r=n(5364);Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return y},defaultHead:function(){return p}});let o=n(4252),l=n(8365),a=n(7876),i=l._(n(4232)),d=o._(n(3776)),s=n(303),u=n(8831),c=n(6807);function p(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}n(6079);let h=["name","httpEquiv","charSet","itemProp"];function m(e,t){let{inAmpMode:n}=t;return e.reduce(f,[]).reverse().concat(p(n).reverse()).filter(function(){let e=new Set,t=new Set,n=new Set,r={};return o=>{let l=!0,a=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){a=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?l=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?l=!1:t.add(o.type);break;case"meta":for(let e=0,t=h.length;e{let o=e.key||t;if(r.env.__NEXT_OPTIMIZE_FONTS&&!n&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:o})})}let y=function(e){let{children:t}=e,n=(0,i.useContext)(s.AmpStateContext),r=(0,i.useContext)(u.HeadManagerContext);return(0,a.jsx)(d.default,{reduceComponentsToState:m,headManager:r,inAmpMode:(0,c.isInAmpMode)(n),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6079:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},6807:(e,t)=>{function n(e){let{ampFirst:t=!1,hybrid:n=!1,hasQuery:r=!1}=void 0===e?{}:e;return t||n&&r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return n}})},9341:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let r=n(4252),o=n(7876),l=r._(n(4232)),a=r._(n(5679)),i={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function d(e){let{req:t,res:n,err:r}=e;return{statusCode:n&&n.statusCode?n.statusCode:r?r.statusCode:404,hostname:window.location.hostname}}let s={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class u extends l.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,n=this.props.title||i[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:s.error,children:[(0,o.jsx)(a.default,{children:(0,o.jsx)("title",{children:e?e+": "+n:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:s.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:s.h1,children:e}):null,(0,o.jsx)("div",{style:s.wrap,children:(0,o.jsxs)("h2",{style:s.h2,children:[this.props.title||e?n:(0,o.jsxs)(o.Fragment,{children:["Application error: a client-side exception has occurred"," ",!!this.props.hostname&&(0,o.jsxs)(o.Fragment,{children:["while loading ",this.props.hostname]})," ","(see the browser console for more information)"]}),"."]})})]})]})}}u.displayName="ErrorPage",u.getInitialProps=d,u.origGetInitialProps=d,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/366-e1c2244921201c8c.js b/.netlify/static/_next/static/chunks/366-e1c2244921201c8c.js deleted file mode 100644 index 4cf0093..0000000 --- a/.netlify/static/_next/static/chunks/366-e1c2244921201c8c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[366],{4315:(e,t,n)=>{n.d(t,{jH:()=>o});var r=n(2115);n(5155);var i=r.createContext(void 0);function o(e){let t=r.useContext(i);return e||t||"ltr"}},7328:(e,t,n)=>{function r(e,t,n){if(!t.has(e))throw TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function i(e,t){var n=r(e,t,"get");return n.get?n.get.call(e):n.value}function o(e,t,n){var i=r(e,t,"set");if(i.set)i.set.call(e,n);else{if(!i.writable)throw TypeError("attempted to set read only private field");i.value=n}return n}n.d(t,{N:()=>d});var l,a=n(2115),f=n(6081),u=n(6101),c=n(9708),s=n(5155);function d(e){let t=e+"CollectionProvider",[n,r]=(0,f.A)(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=e=>{let{scope:t,children:n}=e,r=a.useRef(null),o=a.useRef(new Map).current;return(0,s.jsx)(i,{scope:t,itemMap:o,collectionRef:r,children:n})};l.displayName=t;let d=e+"CollectionSlot",p=(0,c.TL)(d),h=a.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=o(d,n),l=(0,u.s)(t,i.collectionRef);return(0,s.jsx)(p,{ref:l,children:r})});h.displayName=d;let m=e+"CollectionItemSlot",g="data-radix-collection-item",y=(0,c.TL)(m),w=a.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,l=a.useRef(null),f=(0,u.s)(t,l),c=o(m,n);return a.useEffect(()=>(c.itemMap.set(l,{ref:l,...i}),()=>void c.itemMap.delete(l))),(0,s.jsx)(y,{...{[g]:""},ref:f,children:r})});return w.displayName=m,[{Provider:l,Slot:h,ItemSlot:w},function(t){let n=o(e+"CollectionConsumer",t);return a.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll("[".concat(g,"]")));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])},r]}var p=new WeakMap;function h(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=function(e,t){let n=e.length,r=m(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}(e,t);return -1===n?void 0:e[n]}function m(e){return e!=e||0===e?0:Math.trunc(e)}l=new WeakMap},8795:(e,t,n)=>{n.d(t,{Mz:()=>e4,i3:()=>tt,UC:()=>te,bL:()=>e9,Bk:()=>eX});var r=n(2115);let i=["top","right","bottom","left"],o=Math.min,l=Math.max,a=Math.round,f=Math.floor,u=e=>({x:e,y:e}),c={left:"right",right:"left",bottom:"top",top:"bottom"},s={start:"end",end:"start"};function d(e,t){return"function"==typeof e?e(t):e}function p(e){return e.split("-")[0]}function h(e){return e.split("-")[1]}function m(e){return"x"===e?"y":"x"}function g(e){return"y"===e?"height":"width"}let y=new Set(["top","bottom"]);function w(e){return y.has(p(e))?"y":"x"}function x(e){return e.replace(/start|end/g,e=>s[e])}let v=["left","right"],b=["right","left"],R=["top","bottom"],A=["bottom","top"];function S(e){return e.replace(/left|right|bottom|top/g,e=>c[e])}function C(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function L(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function T(e,t,n){let r,{reference:i,floating:o}=e,l=w(t),a=m(w(t)),f=g(a),u=p(t),c="y"===l,s=i.x+i.width/2-o.width/2,d=i.y+i.height/2-o.height/2,y=i[f]/2-o[f]/2;switch(u){case"top":r={x:s,y:i.y-o.height};break;case"bottom":r={x:s,y:i.y+i.height};break;case"right":r={x:i.x+i.width,y:d};break;case"left":r={x:i.x-o.width,y:d};break;default:r={x:i.x,y:i.y}}switch(h(t)){case"start":r[a]-=y*(n&&c?-1:1);break;case"end":r[a]+=y*(n&&c?-1:1)}return r}let E=async(e,t,n)=>{let{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:l}=n,a=o.filter(Boolean),f=await (null==l.isRTL?void 0:l.isRTL(t)),u=await l.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:s}=T(u,r,f),d=r,p={},h=0;for(let n=0;ne[t]>=0)}let k=new Set(["left","top"]);async function H(e,t){let{placement:n,platform:r,elements:i}=e,o=await (null==r.isRTL?void 0:r.isRTL(i.floating)),l=p(n),a=h(n),f="y"===w(n),u=k.has(l)?-1:1,c=o&&f?-1:1,s=d(t,e),{mainAxis:m,crossAxis:g,alignmentAxis:y}="number"==typeof s?{mainAxis:s,crossAxis:0,alignmentAxis:null}:{mainAxis:s.mainAxis||0,crossAxis:s.crossAxis||0,alignmentAxis:s.alignmentAxis};return a&&"number"==typeof y&&(g="end"===a?-1*y:y),f?{x:g*c,y:m*u}:{x:m*u,y:g*c}}function D(){return"undefined"!=typeof window}function N(e){return F(e)?(e.nodeName||"").toLowerCase():"#document"}function j(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function W(e){var t;return null==(t=(F(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function F(e){return!!D()&&(e instanceof Node||e instanceof j(e).Node)}function z(e){return!!D()&&(e instanceof Element||e instanceof j(e).Element)}function B(e){return!!D()&&(e instanceof HTMLElement||e instanceof j(e).HTMLElement)}function V(e){return!!D()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof j(e).ShadowRoot)}let I=new Set(["inline","contents"]);function _(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!I.has(i)}let Y=new Set(["table","td","th"]),q=[":popover-open",":modal"];function X(e){return q.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let G=["transform","translate","scale","rotate","perspective"],$=["transform","translate","scale","rotate","perspective","filter"],U=["paint","layout","strict","content"];function J(e){let t=K(),n=z(e)?ee(e):e;return G.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||$.some(e=>(n.willChange||"").includes(e))||U.some(e=>(n.contain||"").includes(e))}function K(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let Q=new Set(["html","body","#document"]);function Z(e){return Q.has(N(e))}function ee(e){return j(e).getComputedStyle(e)}function et(e){return z(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function en(e){if("html"===N(e))return e;let t=e.assignedSlot||e.parentNode||V(e)&&e.host||W(e);return V(t)?t.host:t}function er(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let i=function e(t){let n=en(t);return Z(n)?t.ownerDocument?t.ownerDocument.body:t.body:B(n)&&_(n)?n:e(n)}(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),l=j(i);if(o){let e=ei(l);return t.concat(l,l.visualViewport||[],_(i)?i:[],e&&n?er(e):[])}return t.concat(i,er(i,[],n))}function ei(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eo(e){let t=ee(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=B(e),o=i?e.offsetWidth:n,l=i?e.offsetHeight:r,f=a(n)!==o||a(r)!==l;return f&&(n=o,r=l),{width:n,height:r,$:f}}function el(e){return z(e)?e:e.contextElement}function ea(e){let t=el(e);if(!B(t))return u(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:o}=eo(t),l=(o?a(n.width):n.width)/r,f=(o?a(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),f&&Number.isFinite(f)||(f=1),{x:l,y:f}}let ef=u(0);function eu(e){let t=j(e);return K()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:ef}function ec(e,t,n,r){var i;void 0===t&&(t=!1),void 0===n&&(n=!1);let o=e.getBoundingClientRect(),l=el(e),a=u(1);t&&(r?z(r)&&(a=ea(r)):a=ea(e));let f=(void 0===(i=n)&&(i=!1),r&&(!i||r===j(l))&&i)?eu(l):u(0),c=(o.left+f.x)/a.x,s=(o.top+f.y)/a.y,d=o.width/a.x,p=o.height/a.y;if(l){let e=j(l),t=r&&z(r)?j(r):r,n=e,i=ei(n);for(;i&&r&&t!==n;){let e=ea(i),t=i.getBoundingClientRect(),r=ee(i),o=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,l=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,s*=e.y,d*=e.x,p*=e.y,c+=o,s+=l,i=ei(n=j(i))}}return L({width:d,height:p,x:c,y:s})}function es(e,t){let n=et(e).scrollLeft;return t?t.left+n:ec(W(e)).left+n}function ed(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-es(e,n),y:n.top+t.scrollTop}}let ep=new Set(["absolute","fixed"]);function eh(e,t,n){let r;if("viewport"===t)r=function(e,t){let n=j(e),r=W(e),i=n.visualViewport,o=r.clientWidth,l=r.clientHeight,a=0,f=0;if(i){o=i.width,l=i.height;let e=K();(!e||e&&"fixed"===t)&&(a=i.offsetLeft,f=i.offsetTop)}let u=es(r);if(u<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,l=Math.abs(r.clientWidth-t.clientWidth-i);l<=25&&(o-=l)}else u<=25&&(o+=u);return{width:o,height:l,x:a,y:f}}(e,n);else if("document"===t)r=function(e){let t=W(e),n=et(e),r=e.ownerDocument.body,i=l(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),o=l(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),a=-n.scrollLeft+es(e),f=-n.scrollTop;return"rtl"===ee(r).direction&&(a+=l(t.clientWidth,r.clientWidth)-i),{width:i,height:o,x:a,y:f}}(W(e));else if(z(t))r=function(e,t){let n=ec(e,!0,"fixed"===t),r=n.top+e.clientTop,i=n.left+e.clientLeft,o=B(e)?ea(e):u(1),l=e.clientWidth*o.x,a=e.clientHeight*o.y;return{width:l,height:a,x:i*o.x,y:r*o.y}}(t,n);else{let n=eu(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return L(r)}function em(e){return"static"===ee(e).position}function eg(e,t){if(!B(e)||"fixed"===ee(e).position)return null;if(t)return t(e);let n=e.offsetParent;return W(e)===n&&(n=n.ownerDocument.body),n}function ey(e,t){var n;let r=j(e);if(X(e))return r;if(!B(e)){let t=en(e);for(;t&&!Z(t);){if(z(t)&&!em(t))return t;t=en(t)}return r}let i=eg(e,t);for(;i&&(n=i,Y.has(N(n)))&&em(i);)i=eg(i,t);return i&&Z(i)&&em(i)&&!J(i)?r:i||function(e){let t=en(e);for(;B(t)&&!Z(t);){if(J(t))return t;if(X(t))break;t=en(t)}return null}(e)||r}let ew=async function(e){let t=this.getOffsetParent||ey,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=B(t),i=W(t),o="fixed"===n,l=ec(e,!0,o,t),a={scrollLeft:0,scrollTop:0},f=u(0);if(r||!r&&!o)if(("body"!==N(t)||_(i))&&(a=et(t)),r){let e=ec(t,!0,o,t);f.x=e.x+t.clientLeft,f.y=e.y+t.clientTop}else i&&(f.x=es(i));o&&!r&&i&&(f.x=es(i));let c=!i||r||o?u(0):ed(i,a);return{x:l.left+a.scrollLeft-f.x-c.x,y:l.top+a.scrollTop-f.y-c.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},ex={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,o="fixed"===i,l=W(r),a=!!t&&X(t.floating);if(r===l||a&&o)return n;let f={scrollLeft:0,scrollTop:0},c=u(1),s=u(0),d=B(r);if((d||!d&&!o)&&(("body"!==N(r)||_(l))&&(f=et(r)),B(r))){let e=ec(r);c=ea(r),s.x=e.x+r.clientLeft,s.y=e.y+r.clientTop}let p=!l||d||o?u(0):ed(l,f);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-f.scrollLeft*c.x+s.x+p.x,y:n.y*c.y-f.scrollTop*c.y+s.y+p.y}},getDocumentElement:W,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[..."clippingAncestors"===n?X(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=er(e,[],!1).filter(e=>z(e)&&"body"!==N(e)),i=null,o="fixed"===ee(e).position,l=o?en(e):e;for(;z(l)&&!Z(l);){let t=ee(l),n=J(l);n||"fixed"!==t.position||(i=null),(o?!n&&!i:!n&&"static"===t.position&&!!i&&ep.has(i.position)||_(l)&&!n&&function e(t,n){let r=en(t);return!(r===n||!z(r)||Z(r))&&("fixed"===ee(r).position||e(r,n))}(e,l))?r=r.filter(e=>e!==l):i=t,l=en(l)}return t.set(e,r),r}(t,this._c):[].concat(n),r],f=a[0],u=a.reduce((e,n)=>{let r=eh(t,n,i);return e.top=l(r.top,e.top),e.right=o(r.right,e.right),e.bottom=o(r.bottom,e.bottom),e.left=l(r.left,e.left),e},eh(t,f,i));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:ey,getElementRects:ew,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=eo(e);return{width:t,height:n}},getScale:ea,isElement:z,isRTL:function(e){return"rtl"===ee(e).direction}};function ev(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let eb=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:f,elements:u,middlewareData:c}=t,{element:s,padding:p=0}=d(e,t)||{};if(null==s)return{};let y=C(p),x={x:n,y:r},v=m(w(i)),b=g(v),R=await f.getDimensions(s),A="y"===v,S=A?"clientHeight":"clientWidth",L=a.reference[b]+a.reference[v]-x[v]-a.floating[b],T=x[v]-a.reference[v],E=await (null==f.getOffsetParent?void 0:f.getOffsetParent(s)),O=E?E[S]:0;O&&await (null==f.isElement?void 0:f.isElement(E))||(O=u.floating[S]||a.floating[b]);let P=O/2-R[b]/2-1,M=o(y[A?"top":"left"],P),k=o(y[A?"bottom":"right"],P),H=O-R[b]-k,D=O/2-R[b]/2+(L/2-T/2),N=l(M,o(D,H)),j=!c.arrow&&null!=h(i)&&D!==N&&a.reference[b]/2-(D{let r=new Map,i={platform:ex,...n},o={...i.platform,_c:r};return E(e,t,{...i,platform:o})};var eA=n(7650),eS="undefined"!=typeof document?r.useLayoutEffect:function(){};function eC(e,t){let n,r,i;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!eC(e[r],t[r]))return!1;return!0}if((n=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,i[r]))return!1;for(r=n;0!=r--;){let n=i[r];if(("_owner"!==n||!e.$$typeof)&&!eC(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function eL(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eT(e,t){let n=eL(e);return Math.round(t*n)/n}function eE(e){let t=r.useRef(e);return eS(()=>{t.current=e}),t}let eO=e=>({name:"arrow",options:e,fn(t){let{element:n,padding:r}="function"==typeof e?e(t):e;return n&&({}).hasOwnProperty.call(n,"current")?null!=n.current?eb({element:n.current,padding:r}).fn(t):{}:n?eb({element:n,padding:r}).fn(t):{}}}),eP=(e,t)=>({...function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:i,y:o,placement:l,middlewareData:a}=t,f=await H(t,e);return l===(null==(n=a.offset)?void 0:n.placement)&&null!=(r=a.arrow)&&r.alignmentOffset?{}:{x:i+f.x,y:o+f.y,data:{...f,placement:l}}}}}(e),options:[e,t]}),eM=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:f=!1,limiter:u={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=d(e,t),s={x:n,y:r},h=await O(t,c),g=w(p(i)),y=m(g),x=s[y],v=s[g];if(a){let e="y"===y?"top":"left",t="y"===y?"bottom":"right",n=x+h[e],r=x-h[t];x=l(n,o(x,r))}if(f){let e="y"===g?"top":"left",t="y"===g?"bottom":"right",n=v+h[e],r=v-h[t];v=l(n,o(v,r))}let b=u.fn({...t,[y]:x,[g]:v});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[y]:a,[g]:f}}}}}}(e),options:[e,t]}),ek=(e,t)=>({...function(e){return void 0===e&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:o,middlewareData:l}=t,{offset:a=0,mainAxis:f=!0,crossAxis:u=!0}=d(e,t),c={x:n,y:r},s=w(i),h=m(s),g=c[h],y=c[s],x=d(a,t),v="number"==typeof x?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(f){let e="y"===h?"height":"width",t=o.reference[h]-o.floating[e]+v.mainAxis,n=o.reference[h]+o.reference[e]-v.mainAxis;gn&&(g=n)}if(u){var b,R;let e="y"===h?"width":"height",t=k.has(p(i)),n=o.reference[s]-o.floating[e]+(t&&(null==(b=l.offset)?void 0:b[s])||0)+(t?0:v.crossAxis),r=o.reference[s]+o.reference[e]+(t?0:(null==(R=l.offset)?void 0:R[s])||0)-(t?v.crossAxis:0);yr&&(y=r)}return{[h]:g,[s]:y}}}}(e),options:[e,t]}),eH=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r,i,o,l;let{placement:a,middlewareData:f,rects:u,initialPlacement:c,platform:s,elements:y}=t,{mainAxis:C=!0,crossAxis:L=!0,fallbackPlacements:T,fallbackStrategy:E="bestFit",fallbackAxisSideDirection:P="none",flipAlignment:M=!0,...k}=d(e,t);if(null!=(n=f.arrow)&&n.alignmentOffset)return{};let H=p(a),D=w(c),N=p(c)===c,j=await (null==s.isRTL?void 0:s.isRTL(y.floating)),W=T||(N||!M?[S(c)]:function(e){let t=S(e);return[x(e),t,x(t)]}(c)),F="none"!==P;!T&&F&&W.push(...function(e,t,n,r){let i=h(e),o=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?b:v;return t?v:b;case"left":case"right":return t?R:A;default:return[]}}(p(e),"start"===n,r);return i&&(o=o.map(e=>e+"-"+i),t&&(o=o.concat(o.map(x)))),o}(c,M,P,j));let z=[c,...W],B=await O(t,k),V=[],I=(null==(r=f.flip)?void 0:r.overflows)||[];if(C&&V.push(B[H]),L){let e=function(e,t,n){void 0===n&&(n=!1);let r=h(e),i=m(w(e)),o=g(i),l="x"===i?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[o]>t.floating[o]&&(l=S(l)),[l,S(l)]}(a,u,j);V.push(B[e[0]],B[e[1]])}if(I=[...I,{placement:a,overflows:V}],!V.every(e=>e<=0)){let e=((null==(i=f.flip)?void 0:i.index)||0)+1,t=z[e];if(t&&("alignment"!==L||D===w(t)||I.every(e=>w(e.placement)!==D||e.overflows[0]>0)))return{data:{index:e,overflows:I},reset:{placement:t}};let n=null==(o=I.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!n)switch(E){case"bestFit":{let e=null==(l=I.filter(e=>{if(F){let t=w(e.placement);return t===D||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:l[0];e&&(n=e);break}case"initialPlacement":n=c}if(a!==n)return{reset:{placement:n}}}return{}}}}(e),options:[e,t]}),eD=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,r;let i,a,{placement:f,rects:u,platform:c,elements:s}=t,{apply:m=()=>{},...g}=d(e,t),y=await O(t,g),x=p(f),v=h(f),b="y"===w(f),{width:R,height:A}=u.floating;"top"===x||"bottom"===x?(i=x,a=v===(await (null==c.isRTL?void 0:c.isRTL(s.floating))?"start":"end")?"left":"right"):(a=x,i="end"===v?"top":"bottom");let S=A-y.top-y.bottom,C=R-y.left-y.right,L=o(A-y[i],S),T=o(R-y[a],C),E=!t.middlewareData.shift,P=L,M=T;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(M=C),null!=(r=t.middlewareData.shift)&&r.enabled.y&&(P=S),E&&!v){let e=l(y.left,0),t=l(y.right,0),n=l(y.top,0),r=l(y.bottom,0);b?M=R-2*(0!==e||0!==t?e+t:l(y.left,y.right)):P=A-2*(0!==n||0!==r?n+r:l(y.top,y.bottom))}await m({...t,availableWidth:M,availableHeight:P});let k=await c.getDimensions(s.floating);return R!==k.width||A!==k.height?{reset:{rects:!0}}:{}}}}(e),options:[e,t]}),eN=(e,t)=>({...function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n}=t,{strategy:r="referenceHidden",...i}=d(e,t);switch(r){case"referenceHidden":{let e=P(await O(t,{...i,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:M(e)}}}case"escaped":{let e=P(await O(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:M(e)}}}default:return{}}}}}(e),options:[e,t]}),ej=(e,t)=>({...eO(e),options:[e,t]});var eW=n(3655),eF=n(5155),ez=r.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,eF.jsx)(eW.sG.svg,{...o,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,eF.jsx)("polygon",{points:"0,0 30,0 15,10"})})});ez.displayName="Arrow";var eB=n(6101),eV=n(6081),eI=n(9033),e_=n(2712),eY="Popper",[eq,eX]=(0,eV.A)(eY),[eG,e$]=eq(eY),eU=e=>{let{__scopePopper:t,children:n}=e,[i,o]=r.useState(null);return(0,eF.jsx)(eG,{scope:t,anchor:i,onAnchorChange:o,children:n})};eU.displayName=eY;var eJ="PopperAnchor",eK=r.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:i,...o}=e,l=e$(eJ,n),a=r.useRef(null),f=(0,eB.s)(t,a),u=r.useRef(null);return r.useEffect(()=>{let e=u.current;u.current=(null==i?void 0:i.current)||a.current,e!==u.current&&l.onAnchorChange(u.current)}),i?null:(0,eF.jsx)(eW.sG.div,{...o,ref:f})});eK.displayName=eJ;var eQ="PopperContent",[eZ,e0]=eq(eQ),e1=r.forwardRef((e,t)=>{var n,i,a,u,c,s,d,p;let{__scopePopper:h,side:m="bottom",sideOffset:g=0,align:y="center",alignOffset:w=0,arrowPadding:x=0,avoidCollisions:v=!0,collisionBoundary:b=[],collisionPadding:R=0,sticky:A="partial",hideWhenDetached:S=!1,updatePositionStrategy:C="optimized",onPlaced:L,...T}=e,E=e$(eQ,h),[O,P]=r.useState(null),M=(0,eB.s)(t,e=>P(e)),[k,H]=r.useState(null),D=function(e){let[t,n]=r.useState(void 0);return(0,e_.N)(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,i;if(!Array.isArray(t)||!t.length)return;let o=t[0];if("borderBoxSize"in o){let e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,i=t.blockSize}else r=e.offsetWidth,i=e.offsetHeight;n({width:r,height:i})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}(k),N=null!=(d=null==D?void 0:D.width)?d:0,j=null!=(p=null==D?void 0:D.height)?p:0,F="number"==typeof R?R:{top:0,right:0,bottom:0,left:0,...R},z=Array.isArray(b)?b:[b],B=z.length>0,V={padding:F,boundary:z.filter(e6),altBoundary:B},{refs:I,floatingStyles:_,placement:Y,isPositioned:q,middlewareData:X}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:o,elements:{reference:l,floating:a}={},transform:f=!0,whileElementsMounted:u,open:c}=e,[s,d]=r.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=r.useState(i);eC(p,i)||h(i);let[m,g]=r.useState(null),[y,w]=r.useState(null),x=r.useCallback(e=>{e!==A.current&&(A.current=e,g(e))},[]),v=r.useCallback(e=>{e!==S.current&&(S.current=e,w(e))},[]),b=l||m,R=a||y,A=r.useRef(null),S=r.useRef(null),C=r.useRef(s),L=null!=u,T=eE(u),E=eE(o),O=eE(c),P=r.useCallback(()=>{if(!A.current||!S.current)return;let e={placement:t,strategy:n,middleware:p};E.current&&(e.platform=E.current),eR(A.current,S.current,e).then(e=>{let t={...e,isPositioned:!1!==O.current};M.current&&!eC(C.current,t)&&(C.current=t,eA.flushSync(()=>{d(t)}))})},[p,t,n,E,O]);eS(()=>{!1===c&&C.current.isPositioned&&(C.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[c]);let M=r.useRef(!1);eS(()=>(M.current=!0,()=>{M.current=!1}),[]),eS(()=>{if(b&&(A.current=b),R&&(S.current=R),b&&R){if(T.current)return T.current(b,R,P);P()}},[b,R,P,T,L]);let k=r.useMemo(()=>({reference:A,floating:S,setReference:x,setFloating:v}),[x,v]),H=r.useMemo(()=>({reference:b,floating:R}),[b,R]),D=r.useMemo(()=>{let e={position:n,left:0,top:0};if(!H.floating)return e;let t=eT(H.floating,s.x),r=eT(H.floating,s.y);return f?{...e,transform:"translate("+t+"px, "+r+"px)",...eL(H.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,f,H.floating,s.x,s.y]);return r.useMemo(()=>({...s,update:P,refs:k,elements:H,floatingStyles:D}),[s,P,k,H,D])}({strategy:"fixed",placement:m+("center"!==y?"-"+y:""),whileElementsMounted:function(){for(var e=arguments.length,t=Array(e),n=0;n{a&&e.addEventListener("scroll",n,{passive:!0}),u&&e.addEventListener("resize",n)});let m=p&&s?function(e,t){let n,r=null,i=W(e);function a(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return!function u(c,s){void 0===c&&(c=!1),void 0===s&&(s=1),a();let d=e.getBoundingClientRect(),{left:p,top:h,width:m,height:g}=d;if(c||t(),!m||!g)return;let y=f(h),w=f(i.clientWidth-(p+m)),x={rootMargin:-y+"px "+-w+"px "+-f(i.clientHeight-(h+g))+"px "+-f(p)+"px",threshold:l(0,o(1,s))||1},v=!0;function b(t){let r=t[0].intersectionRatio;if(r!==s){if(!v)return u();r?u(!1,r):n=setTimeout(()=>{u(!1,1e-7)},1e3)}1!==r||ev(d,e.getBoundingClientRect())||u(),v=!1}try{r=new IntersectionObserver(b,{...x,root:i.ownerDocument})}catch(e){r=new IntersectionObserver(b,x)}r.observe(e)}(!0),a}(p,n):null,g=-1,y=null;c&&(y=new ResizeObserver(e=>{let[r]=e;r&&r.target===p&&y&&(y.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var e;null==(e=y)||e.observe(t)})),n()}),p&&!d&&y.observe(p),y.observe(t));let w=d?ec(e):null;return d&&function t(){let r=ec(e);w&&!ev(w,r)&&n(),w=r,i=requestAnimationFrame(t)}(),n(),()=>{var e;h.forEach(e=>{a&&e.removeEventListener("scroll",n),u&&e.removeEventListener("resize",n)}),null==m||m(),null==(e=y)||e.disconnect(),y=null,d&&cancelAnimationFrame(i)}}(...t,{animationFrame:"always"===C})},elements:{reference:E.anchor},middleware:[eP({mainAxis:g+j,alignmentAxis:w}),v&&eM({mainAxis:!0,crossAxis:!1,limiter:"partial"===A?ek():void 0,...V}),v&&eH({...V}),eD({...V,apply:e=>{let{elements:t,rects:n,availableWidth:r,availableHeight:i}=e,{width:o,height:l}=n.reference,a=t.floating.style;a.setProperty("--radix-popper-available-width","".concat(r,"px")),a.setProperty("--radix-popper-available-height","".concat(i,"px")),a.setProperty("--radix-popper-anchor-width","".concat(o,"px")),a.setProperty("--radix-popper-anchor-height","".concat(l,"px"))}}),k&&ej({element:k,padding:x}),e7({arrowWidth:N,arrowHeight:j}),S&&eN({strategy:"referenceHidden",...V})]}),[G,$]=e8(Y),U=(0,eI.c)(L);(0,e_.N)(()=>{q&&(null==U||U())},[q,U]);let J=null==(n=X.arrow)?void 0:n.x,K=null==(i=X.arrow)?void 0:i.y,Q=(null==(a=X.arrow)?void 0:a.centerOffset)!==0,[Z,ee]=r.useState();return(0,e_.N)(()=>{O&&ee(window.getComputedStyle(O).zIndex)},[O]),(0,eF.jsx)("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{..._,transform:q?_.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Z,"--radix-popper-transform-origin":[null==(u=X.transformOrigin)?void 0:u.x,null==(c=X.transformOrigin)?void 0:c.y].join(" "),...(null==(s=X.hide)?void 0:s.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,eF.jsx)(eZ,{scope:h,placedSide:G,onArrowChange:H,arrowX:J,arrowY:K,shouldHideArrow:Q,children:(0,eF.jsx)(eW.sG.div,{"data-side":G,"data-align":$,...T,ref:M,style:{...T.style,animation:q?void 0:"none"}})})})});e1.displayName=eQ;var e5="PopperArrow",e2={top:"bottom",right:"left",bottom:"top",left:"right"},e3=r.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=e0(e5,n),o=e2[i.placedSide];return(0,eF.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,eF.jsx)(ez,{...r,ref:t,style:{...r.style,display:"block"}})})});function e6(e){return null!==e}e3.displayName=e5;var e7=e=>({name:"transformOrigin",options:e,fn(t){var n,r,i,o,l;let{placement:a,rects:f,middlewareData:u}=t,c=(null==(n=u.arrow)?void 0:n.centerOffset)!==0,s=c?0:e.arrowWidth,d=c?0:e.arrowHeight,[p,h]=e8(a),m={start:"0%",center:"50%",end:"100%"}[h],g=(null!=(o=null==(r=u.arrow)?void 0:r.x)?o:0)+s/2,y=(null!=(l=null==(i=u.arrow)?void 0:i.y)?l:0)+d/2,w="",x="";return"bottom"===p?(w=c?m:"".concat(g,"px"),x="".concat(-d,"px")):"top"===p?(w=c?m:"".concat(g,"px"),x="".concat(f.floating.height+d,"px")):"right"===p?(w="".concat(-d,"px"),x=c?m:"".concat(y,"px")):"left"===p&&(w="".concat(f.floating.width+d,"px"),x=c?m:"".concat(y,"px")),{data:{x:w,y:x}}}});function e8(e){let[t,n="center"]=e.split("-");return[t,n]}var e9=eU,e4=eK,te=e1,tt=e3},9367:(e,t,n)=>{n.d(t,{q:()=>r});function r(e,[t,n]){return Math.min(n,Math.max(t,e))}}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/412-d274c4b222f04c47.js b/.netlify/static/_next/static/chunks/412-d274c4b222f04c47.js deleted file mode 100644 index 7a69f66..0000000 --- a/.netlify/static/_next/static/chunks/412-d274c4b222f04c47.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[412],{1656:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}},4431:(e,t,r)=>{"use strict";r.d(t,{A:()=>O});let{slice:i,forEach:o}=[],n=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,s=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{path:"/"},i=encodeURIComponent(t),o=`${e}=${i}`;if(r.maxAge>0){let e=r.maxAge-0;if(Number.isNaN(e))throw Error("maxAge should be a Number");o+=`; Max-Age=${Math.floor(e)}`}if(r.domain){if(!n.test(r.domain))throw TypeError("option domain is invalid");o+=`; Domain=${r.domain}`}if(r.path){if(!n.test(r.path))throw TypeError("option path is invalid");o+=`; Path=${r.path}`}if(r.expires){if("function"!=typeof r.expires.toUTCString)throw TypeError("option expires is invalid");o+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(o+="; HttpOnly"),r.secure&&(o+="; Secure"),r.sameSite)switch("string"==typeof r.sameSite?r.sameSite.toLowerCase():r.sameSite){case!0:case"strict":o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"none":o+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return r.partitioned&&(o+="; Partitioned"),o},a={create(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{path:"/",sameSite:"strict"};r&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+60*r*1e3)),i&&(o.domain=i),document.cookie=s(e,t,o)},read(e){let t=`${e}=`,r=document.cookie.split(";");for(let e=0;e-1&&(e=window.location.hash.substring(window.location.hash.indexOf("?")));let i=e.substring(1).split("&");for(let e=0;e0&&i[e].substring(0,o)===r&&(t=i[e].substring(o+1))}}return t}},c={name:"hash",lookup(e){let t,{lookupHash:r,lookupFromHashIndex:i}=e;if("undefined"!=typeof window){let{hash:e}=window.location;if(e&&e.length>2){let o=e.substring(1);if(r){let e=o.split("&");for(let i=0;i0&&e[i].substring(0,o)===r&&(t=e[i].substring(o+1))}}if(t)return t;if(!t&&i>-1){let t=e.match(/\/([a-zA-Z-]*)/g);if(!Array.isArray(t))return;return t["number"==typeof i?i:0]?.replace("/","")}}}return t}};let d=null,p=()=>{if(null!==d)return d;try{if(!(d="undefined"!=typeof window&&null!==window.localStorage))return!1;let e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch(e){d=!1}return d};var h={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&p())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:r}=t;r&&p()&&window.localStorage.setItem(r,e)}};let g=null,f=()=>{if(null!==g)return g;try{if(!(g="undefined"!=typeof window&&null!==window.sessionStorage))return!1;let e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch(e){g=!1}return g};var m={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&f())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:r}=t;r&&f()&&window.sessionStorage.setItem(r,e)}},y={name:"navigator",lookup(e){let t=[];if("undefined"!=typeof navigator){let{languages:e,userLanguage:r,language:i}=navigator;if(e)for(let r=0;r0?t:void 0}},v={name:"htmlTag",lookup(e){let t,{htmlTag:r}=e,i=r||("undefined"!=typeof document?document.documentElement:null);return i&&"function"==typeof i.getAttribute&&(t=i.getAttribute("lang")),t}},b={name:"path",lookup(e){let{lookupFromPathIndex:t}=e;if("undefined"==typeof window)return;let r=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(Array.isArray(r))return r["number"==typeof t?t:0]?.replace("/","")}},x={name:"subdomain",lookup(e){let{lookupFromSubdomainIndex:t}=e,r="undefined"!=typeof window&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r["number"==typeof t?t+1:1]}};let w=!1;try{document.cookie,w=!0}catch(e){}let S=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];w||S.splice(1,1);let k=()=>({order:S,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e});class O{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{languageUtils:{}},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return o.call(i.call(arguments,1),t=>{if(t)for(let r in t)void 0===e[r]&&(e[r]=t[r])}),e}(t,this.options||{},k()),"string"==typeof this.options.convertDetectedLanguage&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=e=>e.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(l),this.addDetector(u),this.addDetector(h),this.addDetector(m),this.addDetector(y),this.addDetector(v),this.addDetector(b),this.addDetector(x),this.addDetector(c)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.order,t=[];return(e.forEach(e=>{if(this.detectors[e]){let r=this.detectors[e].lookup(this.options);r&&"string"==typeof r&&(r=[r]),r&&(t=t.concat(r))}}),t=t.filter(e=>null!=e&&!("string"==typeof e&&[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(e)))).map(e=>this.options.convertDetectedLanguage(e)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes)?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(t=>{this.detectors[t]&&this.detectors[t].cacheUserLanguage(e,this.options)}))}}O.type="languageDetector"},4522:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}},4869:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});let i=(0,r(9946).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},7985:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>ee});let i=e=>"string"==typeof e,o=()=>{let e,t,r=new Promise((r,i)=>{e=r,t=i});return r.resolve=e,r.reject=t,r},n=e=>null==e?"":""+e,s=(e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})},a=/###/g,l=e=>e&&e.indexOf("###")>-1?e.replace(a,"."):e,u=e=>!e||i(e),c=(e,t,r)=>{let o=i(t)?t.split("."):t,n=0;for(;n{let{obj:i,k:o}=c(e,t,Object);if(void 0!==i||1===t.length){i[o]=r;return}let n=t[t.length-1],s=t.slice(0,t.length-1),a=c(e,s,Object);for(;void 0===a.obj&&s.length;)n=`${s[s.length-1]}.${n}`,a=c(e,s=s.slice(0,s.length-1),Object),a?.obj&&void 0!==a.obj[`${a.k}.${n}`]&&(a.obj=void 0);a.obj[`${a.k}.${n}`]=r},p=(e,t,r,i)=>{let{obj:o,k:n}=c(e,t,Object);o[n]=o[n]||[],o[n].push(r)},h=(e,t)=>{let{obj:r,k:i}=c(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,i))return r[i]},g=(e,t,r)=>{let i=h(e,r);return void 0!==i?i:h(t,r)},f=(e,t,r)=>{for(let o in t)"__proto__"!==o&&"constructor"!==o&&(o in e?i(e[o])||e[o]instanceof String||i(t[o])||t[o]instanceof String?r&&(e[o]=t[o]):f(e[o],t[o],r):e[o]=t[o]);return e},m=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var y={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let v=e=>i(e)?e.replace(/[&<>"'\/]/g,e=>y[e]):e;class b{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}let x=[" ",",","?","!",";"],w=new b(20),S=(e,t,r)=>{t=t||"",r=r||"";let i=x.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===i.length)return!0;let o=w.getRegExp(`(${i.map(e=>"?"===e?"\\?":e).join("|")})`),n=!o.test(e);if(!n){let t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(n=!0)}return n},k=(e,t,r=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}let i=t.split(r),o=e;for(let e=0;e-1&&se?.replace("_","-"),L={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class C{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||L,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,o){return o&&!this.debug?null:(i(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new C(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new C(this.logger,e)}}var j=new C;class P{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,r])=>{for(let i=0;i{for(let o=0;othis.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,o={}){let n,s=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?n=e.split("."):(n=[e,t],r&&(Array.isArray(r)?n.push(...r):i(r)&&s?n.push(...r.split(s)):n.push(r)));let l=h(this.data,n);return(!l&&!t&&!r&&e.indexOf(".")>-1&&(e=n[0],t=n[1],r=n.slice(2).join(".")),!l&&a&&i(r))?k(this.data?.[e]?.[t],r,s):l}addResource(e,t,r,i,o={silent:!1}){let n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,s=[e,t];r&&(s=s.concat(n?r.split(n):r)),e.indexOf(".")>-1&&(s=e.split("."),i=t,t=s[1]),this.addNamespaces(t),d(this.data,s,i),o.silent||this.emit("added",e,t,r,i)}addResources(e,t,r,o={silent:!1}){for(let o in r)(i(r[o])||Array.isArray(r[o]))&&this.addResource(e,t,o,r[o],{silent:!0});o.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,i,o,n={silent:!1,skipCopy:!1}){let s=[e,t];e.indexOf(".")>-1&&(s=e.split("."),i=r,r=t,t=s[1]),this.addNamespaces(t);let a=h(this.data,s)||{};n.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?f(a,r,o):a={...a,...r},d(this.data,s,a),n.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var N={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,i,o){return e.forEach(e=>{t=this.processors[e]?.process(t,r,i,o)??t}),t}};let E=Symbol("i18next/PATH_KEY");function $(e,t){let{[E]:r}=e(function(){let e,t=[],r=Object.create(null);return r.get=(i,o)=>(e?.revoke?.(),o===E)?t:(t.push(o),(e=Proxy.revocable(i,r)).proxy),Proxy.revocable(Object.create(null),r).proxy}());return r.join(t?.keySeparator??".")}let T={},I=e=>!i(e)&&"boolean"!=typeof e&&"number"!=typeof e;class D extends P{constructor(e,t={}){super(),s(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=j.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(null==e)return!1;let i=this.resolve(e,r);return i?.res!==void 0}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");let o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,n=t.ns||this.options.defaultNS||[],s=r&&e.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!S(e,r,o);if(s&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i(n)?[n]:n};let s=e.split(r);(r!==o||r===o&&this.options.ns.indexOf(s[0])>-1)&&(n=s.shift()),e=s.join(o)}return{key:e,namespaces:i(n)?[n]:n}}translate(e,t,r){let o="object"==typeof t?{...t}:t;if("object"!=typeof o&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof o&&(o={...o}),o||(o={}),null==e)return"";"function"==typeof e&&(e=$(e,{...this.options,...o})),Array.isArray(e)||(e=[String(e)]);let n=void 0!==o.returnDetails?o.returnDetails:this.options.returnDetails,s=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,{key:a,namespaces:l}=this.extractFromKey(e[e.length-1],o),u=l[l.length-1],c=void 0!==o.nsSeparator?o.nsSeparator:this.options.nsSeparator;void 0===c&&(c=":");let d=o.lng||this.language,p=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()==="cimode")return p?n?{res:`${u}${c}${a}`,usedKey:a,exactUsedKey:a,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(o)}:`${u}${c}${a}`:n?{res:a,usedKey:a,exactUsedKey:a,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(o)}:a;let h=this.resolve(e,o),g=h?.res,f=h?.usedKey||a,m=h?.exactUsedKey||a,y=void 0!==o.joinArrays?o.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==o.count&&!i(o.count),x=D.hasDefaultValue(o),w=b?this.pluralResolver.getSuffix(d,o.count,o):"",S=o.ordinal&&b?this.pluralResolver.getSuffix(d,o.count,{ordinal:!1}):"",k=b&&!o.ordinal&&0===o.count,O=k&&o[`defaultValue${this.options.pluralSeparator}zero`]||o[`defaultValue${w}`]||o[`defaultValue${S}`]||o.defaultValue,L=g;v&&!g&&x&&(L=O);let C=I(L),j=Object.prototype.toString.apply(L);if(v&&L&&C&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(j)&&!(i(y)&&Array.isArray(L))){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(f,L,{...o,ns:l}):`key '${a} (${this.language})' returned an object instead of string.`;return n?(h.res=e,h.usedParams=this.getUsedParamsDetails(o),h):e}if(s){let e=Array.isArray(L),t=e?[]:{},r=e?m:f;for(let e in L)if(Object.prototype.hasOwnProperty.call(L,e)){let i=`${r}${s}${e}`;x&&!g?t[e]=this.translate(i,{...o,defaultValue:I(O)?O[e]:void 0,...{joinArrays:!1,ns:l}}):t[e]=this.translate(i,{...o,joinArrays:!1,ns:l}),t[e]===i&&(t[e]=L[e])}g=t}}else if(v&&i(y)&&Array.isArray(g))(g=g.join(y))&&(g=this.extendTranslation(g,e,o,r));else{let t=!1,i=!1;!this.isValidLookup(g)&&x&&(t=!0,g=O),this.isValidLookup(g)||(i=!0,g=a);let n=(o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&i?void 0:g,l=x&&O!==g&&this.options.updateMissing;if(i||t||l){if(this.logger.log(l?"updateKey":"missingKey",d,u,a,l?O:g),s){let e=this.resolve(a,{...o,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let r=0;r{let i=x&&r!==g?r:n;this.options.missingKeyHandler?this.options.missingKeyHandler(e,u,t,i,l,o):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,u,t,i,l,o),this.emit("missingKey",e,u,t,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,o);k&&o[`defaultValue${this.options.pluralSeparator}zero`]&&0>t.indexOf(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],a+t,o[`defaultValue${t}`]||O)})}):r(e,a,O))}g=this.extendTranslation(g,e,o,h,r),i&&g===a&&this.options.appendNamespaceToMissingKey&&(g=`${u}${c}${a}`),(i||t)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${u}${c}${a}`:a,t?g:void 0,o))}return n?(h.res=g,h.usedParams=this.getUsedParamsDetails(o),h):g}extendTranslation(e,t,r,o,n){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){let s;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=i(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let l=r.replace&&!i(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,r.lng||this.language||o.usedLng,r),a){let t=e.match(this.interpolator.nestingRegexp);s<(t&&t.length)&&(r.nest=!1)}!r.lng&&o&&o.res&&(r.lng=this.language||o.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(...e)=>n?.[0]!==e[0]||r.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),r)),r.interpolation&&this.interpolator.reset()}let s=r.postProcess||this.options.postProcess,a=i(s)?[s]:s;return null!=e&&a?.length&&!1!==r.applyPostProcessor&&(e=N.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,o,n,s,a;return i(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(r))return;let l=this.extractFromKey(e,t),u=l.key;o=u;let c=l.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));let d=void 0!==t.count&&!i(t.count),p=d&&!t.ordinal&&0===t.count,h=void 0!==t.context&&(i(t.context)||"number"==typeof t.context)&&""!==t.context,g=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);c.forEach(e=>{this.isValidLookup(r)||(a=e,!T[`${g[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(T[`${g[0]}-${e}`]=!0,this.logger.warn(`key "${o}" for languages "${g.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(i=>{let o;if(this.isValidLookup(r))return;s=i;let a=[u];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(a,u,i,e,t);else{let e;d&&(e=this.pluralResolver.getSuffix(i,t.count,t));let r=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(t.ordinal&&0===e.indexOf(o)&&a.push(u+e.replace(o,this.options.pluralSeparator)),a.push(u+e),p&&a.push(u+r)),h){let i=`${u}${this.options.contextSeparator||"_"}${t.context}`;a.push(i),d&&(t.ordinal&&0===e.indexOf(o)&&a.push(i+e.replace(o,this.options.pluralSeparator)),a.push(i+e),p&&a.push(i+r))}}for(;o=a.pop();)this.isValidLookup(r)||(n=o,r=this.getResource(i,e,o,t))}))})}),{res:r,usedKey:o,exactUsedKey:n,usedLng:s,usedNS:a}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,r,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,i):this.resourceStore.getResource(e,t,r,i)}getUsedParamsDetails(e={}){let t=e.replace&&!i(e.replace),r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t)for(let e of(r={...r},["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"]))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}}class A{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=j.create("languageUtils")}getScriptPartFromCode(e){if(!(e=O(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=O(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(i(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)?t:this.options.lowerCaseLng?e.toLowerCase():e}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let r=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;let i=this.getLanguagePartFromCode(e);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(e=>{if(e===i||!(0>e.indexOf("-")&&0>i.indexOf("-"))&&(e.indexOf("-")>0&&0>i.indexOf("-")&&e.substring(0,e.indexOf("-"))===i||0===e.indexOf(i)&&i.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),i(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),o=[],n=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return i(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(e))):i(e)&&n(this.formatLanguageCode(e)),r.forEach(e=>{0>o.indexOf(e)&&n(this.formatLanguageCode(e))}),o}}let F={zero:0,one:1,two:2,few:3,many:4,other:5},M={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class H{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=j.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,i=O("dev"===e?"en":e),o=t.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:i,type:o});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];try{r=new Intl.PluralRules(i,{type:o})}catch(o){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),M;if(!e.match(/-|_/))return M;let i=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(i,t)}return this.pluralRulesCache[n]=r,r}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return(r||(r=this.getRule("dev",t)),r)?r.resolvedOptions().pluralCategories.sort((e,t)=>F[e]-F[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,r={}){let i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}let V=(e,t,r,o=".",n=!0)=>{let s=g(e,t,r);return!s&&n&&i(r)&&void 0===(s=k(e,r,o))&&(s=k(t,r,o)),s},K=e=>e.replace(/\$/g,"$$$$");class U{constructor(e={}){this.logger=j.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:i,prefix:o,prefixEscaped:n,suffix:s,suffixEscaped:a,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:h,nestingSuffixEscaped:g,nestingOptionsSeparator:f,maxReplaces:y,alwaysFormat:b}=e.interpolation;this.escape=void 0!==t?t:v,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==i&&i,this.prefix=o?m(o):n||"{{",this.suffix=s?m(s):a||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?m(d):p||m("$t("),this.nestingSuffix=h?m(h):g||m(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==b&&b,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,o){let s,a,l,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(0>e.indexOf(this.formatSeparator)){let i=V(t,u,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,r,{...o,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),n=i.shift().trim(),s=i.join(this.formatSeparator).trim();return this.format(V(t,u,n,this.options.keySeparator,this.options.ignoreJSONStructure),s,r,{...o,...t,interpolationkey:n})};this.resetRegExp();let d=o?.missingInterpolationHandler||this.options.missingInterpolationHandler,p=o?.interpolation?.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>K(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?K(this.escape(e)):K(e)}].forEach(t=>{for(l=0;s=t.regex.exec(e);){let r=s[1].trim();if(void 0===(a=c(r)))if("function"==typeof d){let t=d(e,s,o);a=i(t)?t:""}else if(o&&Object.prototype.hasOwnProperty.call(o,r))a="";else if(p){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),a="";else i(a)||this.useRawValueToEscape||(a=n(a));let u=t.safeValue(a);if(e=e.replace(s[0],u),p?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=s[0].length):t.regex.lastIndex=0,++l>=this.maxReplaces)break}}),e}nest(e,t,r={}){let o,s,a,l=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let i=e.split(RegExp(`${r}[ ]*{`)),o=`{${i[1]}`;e=i[0];let n=(o=this.interpolate(o,a)).match(/'/g),s=o.match(/"/g);((n?.length??0)%2!=0||s)&&s.length%2==0||(o=o.replace(/'/g,'"'));try{a=JSON.parse(o),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${o}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,e};for(;o=this.nestingRegexp.exec(e);){let u=[];(a=(a={...r}).replace&&!i(a.replace)?a.replace:a).applyPostProcessor=!1,delete a.defaultValue;let c=/{.*}/.test(o[1])?o[1].lastIndexOf("}")+1:o[1].indexOf(this.formatSeparator);if(-1!==c&&(u=o[1].slice(c).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),o[1]=o[1].slice(0,c)),(s=t(l.call(this,o[1].trim(),a),a))&&o[0]===e&&!i(s))return s;i(s)||(s=n(s)),s||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${e}`),s=""),u.length&&(s=u.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:o[1].trim()}),s.trim())),e=e.replace(o[0],s),this.regexp.lastIndex=0}return e}}let _=e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let i=e.split("(");t=i[0].toLowerCase().trim();let o=i[1].substring(0,i[1].length-1);"currency"===t&&0>o.indexOf(":")?r.currency||(r.currency=o.trim()):"relativetime"===t&&0>o.indexOf(":")?r.range||(r.range=o.trim()):o.split(";").forEach(e=>{if(e){let[t,...i]=e.split(":"),o=i.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();r[n]||(r[n]=o),"false"===o&&(r[n]=!1),"true"===o&&(r[n]=!0),isNaN(o)||(r[n]=parseInt(o,10))}})}return{formatName:t,formatOptions:r}},B=e=>{let t={};return(r,i,o)=>{let n=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(n={...n,[o.interpolationkey]:void 0});let s=i+JSON.stringify(n),a=t[s];return a||(a=e(O(i),o),t[s]=a),a(r)}},q=e=>(t,r,i)=>e(O(r),i)(t);class z{constructor(e={}){this.logger=j.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?B:q;this.formats={number:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{let r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{let r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{let r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=B(t)}format(e,t,r,i={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&0>o[0].indexOf(")")&&o.find(e=>e.indexOf(")")>-1)){let e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{let{formatName:o,formatOptions:n}=_(t);if(this.formats[o]){let t=e;try{let s=i?.formatParams?.[i.interpolationkey]||{},a=s.locale||s.lng||i.locale||i.lng||r;t=this.formats[o](e,a,{...n,...i,...s})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}let W=(e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)};class G extends P{constructor(e,t,r,i={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=j.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(e,t,r,i){let o={},n={},s={},a={};return e.forEach(e=>{let i=!0;t.forEach(t=>{let s=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[s]=2:this.state[s]<0||(1===this.state[s]?void 0===n[s]&&(n[s]=!0):(this.state[s]=1,i=!1,void 0===n[s]&&(n[s]=!0),void 0===o[s]&&(o[s]=!0),void 0===a[t]&&(a[t]=!0)))}),i||(s[e]=!0)}),(Object.keys(o).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(n),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(a)}}loaded(e,t,r){let i=e.split("|"),o=i[0],n=i[1];t&&this.emit("failedLoading",o,n,t),!t&&r&&this.store.addResourceBundle(o,n,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let s={};this.queue.forEach(r=>{p(r.loaded,[o],n),W(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{s[e]||(s[e]={});let t=r.loaded[e];t.length&&t.forEach(t=>{void 0===s[e][t]&&(s[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r,i=0,o=this.retryTimeout,n){if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:i,wait:o,callback:n});this.readingCalls++;let s=(s,a)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(s&&a&&i{this.read.call(this,e,t,r,i+1,2*o,n)},o);n(s,a)},a=this.backend[r].bind(this.backend);if(2===a.length){try{let r=a(e,t);r&&"function"==typeof r.then?r.then(e=>s(null,e)).catch(s):s(null,r)}catch(e){s(e)}return}return a(e,t,s)}prepareLoading(e,t,r={},o){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();i(e)&&(e=this.languageUtils.toResolveHierarchy(e)),i(t)&&(t=[t]);let n=this.queueLoad(e,t,r,o);if(!n.toLoad.length)return n.pending.length||o(),null;n.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(r,n)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,r),!r&&n&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,n),this.loaded(e,r,n)})}saveMissing(e,t,r,i,o,n={},s=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=r&&""!==r){if(this.backend?.create){let a={...n,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;(o=5===l.length?l(e,t,r,i,a):l(e,t,r,i))&&"function"==typeof o.then?o.then(e=>s(null,e)).catch(s):s(null,o)}catch(e){s(e)}else l(e,t,r,i,s,a)}e&&e[0]&&this.store.addResource(e[0],t,r,i)}}}let X=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),i(e[1])&&(t.defaultValue=e[1]),i(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),J=e=>(i(e.ns)&&(e.ns=[e.ns]),i(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),i(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),Y=()=>{},Z=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})};class Q extends P{constructor(e={},t){if(super(),this.options=J(e),this.services={},this.logger=j,this.modules={external:[]},Z(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(i(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=X();this.options={...r,...this.options,...J(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator);let n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?j.init(n(this.modules.logger),this.options):j.init(null,this.options),e=this.modules.formatter?this.modules.formatter:z;let t=new A(this.options);this.store=new R(this.options.resources,this.options);let i=this.services;i.logger=j,i.resourceStore=this.store,i.languageUtils=t,i.pluralResolver=new H(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),e&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(i.formatter=n(e),i.formatter.init&&i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new U(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new G(n(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(i.languageDetector=n(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=n(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new D(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=Y),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let s=o(),a=()=>{let e=(e,r)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(r),t(e,r)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),s}loadResources(e,t=Y){let r=t,o=i(e)?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(o?.toLowerCase()==="cimode"&&(!this.options.preload||0===this.options.preload.length))return r();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};o?t(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),r(e)})}else r(null)}reloadResources(e,t,r){let i=o();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=Y),this.services.backendConnector.reload(e,t,e=>{i.resolve(),r(e)}),i}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&N.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&0>this.languages.indexOf(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=o();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},s=(i,o)=>{o?this.isLanguageChangingTo===e&&(n(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{e||t||!this.services.languageDetector||(t=[]);let r=i(t)?t:t&&t[0],o=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(i(t)?[t]:t);o&&(this.language||n(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector?.cacheUserLanguage?.(o)),this.loadResources(o,e=>{s(e,o)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let o=(e,t,...i)=>{let n,s;(n="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(i)):{...t}).lng=n.lng||o.lng,n.lngs=n.lngs||o.lngs,n.ns=n.ns||o.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||r||o.keyPrefix);let a=this.options.keySeparator||".";return n.keyPrefix&&Array.isArray(e)?s=e.map(e=>("function"==typeof e&&(e=$(e,{...this.options,...t})),`${n.keyPrefix}${a}${e}`)):("function"==typeof e&&(e=$(e,{...this.options,...t})),s=n.keyPrefix?`${n.keyPrefix}${a}${e}`:e),this.t(s,n)};return i(e)?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=r,o}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let r=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let n=(e,t)=>{let r=this.services.backendConnector.state[`${e}|${t}`];return -1===r||0===r||2===r};if(t.precheck){let e=t.precheck(this,n);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||n(r,e)&&(!i||n(o,e)))}loadNamespaces(e,t){let r=o();return this.options.ns?(i(e)&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=o();i(e)&&(e=[e]);let n=this.options.preload||[],s=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return s.length?(this.options.preload=n.concat(s),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}let t=this.services?.languageUtils||new A(X());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new Q(e,t)}cloneInstance(e={},t=Y){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let i={...this.options,...e,isClone:!0},o=new Q(i);return(void 0!==e.debug||void 0!==e.prefix)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new R(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((r,i)=>(r[i]={...e[t][i]},r),e[t]),e),{}),i),o.services.resourceStore=o.store),o.translator=new D(o.services,i),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(i,t),o.translator.options=i,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let ee=Q.createInstance();ee.createInstance=Q.createInstance,ee.createInstance,ee.dir,ee.init,ee.loadResources,ee.reloadResources,ee.use,ee.changeLanguage,ee.getFixedT,ee.t,ee.exists,ee.setDefaultNamespace,ee.hasLoadedNamespace,ee.loadNamespaces,ee.loadLanguages},8834:(e,t,r)=>{"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}r.d(t,{A:()=>O});var o,n,s=[];function a(){return"function"==typeof XMLHttpRequest||("undefined"==typeof XMLHttpRequest?"undefined":i(XMLHttpRequest))==="object"}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function u(e){for(var t=1;t=1?e.alternateFetch:void 0;try{h(t,s,i,a)}catch(e){if(!n||0===Object.keys(n).length||!e.message||0>e.message.indexOf("not implemented"))return i(e);try{Object.keys(n).forEach(function(e){delete s[e]}),h(t,s,i,a),g=!0}catch(e){i(e)}}},m=function(e,t,r,i){r&&"object"===c(r)&&(r=p("",r).slice(1)),e.queryStringParams&&(t=p(t,e.queryStringParams));try{var s=o?new o:new n("MSXML2.XMLHTTP.3.0");s.open(r?"POST":"GET",t,1),e.crossDomain||s.setRequestHeader("X-Requested-With","XMLHttpRequest"),s.withCredentials=!!e.withCredentials,r&&s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.overrideMimeType&&s.overrideMimeType("application/json");var a=e.customHeaders;if(a="function"==typeof a?a():a)for(var l in a)s.setRequestHeader(l,a[l]);s.onreadystatechange=function(){s.readyState>3&&i(s.status>=400?s.statusText:null,{status:s.status,data:s.responseText})},s.send(r)}catch(e){console&&console.log(e)}};let y=function(e,t,r,i){return("function"==typeof r&&(i=r,r=void 0),i=i||function(){},d&&0!==t.indexOf("file:"))?f(e,t,r,i):a()||"function"==typeof ActiveXObject?m(e,t,r,i):void i(Error("No fetch and no xhr implementation found!"))};function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function x(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(this instanceof e))throw TypeError("Cannot call a class as a function");this.services=t,this.options=r,this.allOptions=i,this.type="backend",this.init(t,r,i)},t=[{key:"init",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.services=e,this.options=x(x(x({},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",parse:function(e){return JSON.parse(e)},stringify:JSON.stringify,parsePayload:function(e,t,r){return w({},t,r||"")},parseLoadPayload:function(e,t){},request:y,reloadInterval:"undefined"==typeof window&&36e5,customHeaders:{},queryStringParams:{},crossDomain:!1,withCredentials:!1,overrideMimeType:!1,requestOptions:{mode:"cors",credentials:"same-origin",cache:"default"}}),this.options||{}),r),this.allOptions=i,this.services&&this.options.reloadInterval){var o=setInterval(function(){return t.reload()},this.options.reloadInterval);"object"===v(o)&&"function"==typeof o.unref&&o.unref()}}},{key:"readMulti",value:function(e,t,r){this._readAny(e,e,t,t,r)}},{key:"read",value:function(e,t,r){this._readAny([e],e,[t],t,r)}},{key:"_readAny",value:function(e,t,r,i,o){var n,s,a=this,l=this.options.loadPath;"function"==typeof this.options.loadPath&&(l=this.options.loadPath(e,r)),(l=(s=n=l)&&"function"==typeof s.then?n:Promise.resolve(n)).then(function(n){if(!n)return o(null,{});var s=a.services.interpolator.interpolate(n,{lng:e.join("+"),ns:r.join("+")});a.loadUrl(s,o,t,i)})}},{key:"loadUrl",value:function(e,t,r,i){var o=this,n=this.options.parseLoadPayload("string"==typeof r?[r]:r,"string"==typeof i?[i]:i);this.options.request(this.options,e,n,function(n,s){if(s&&(s.status>=500&&s.status<600||!s.status))return t("failed loading "+e+"; status code: "+s.status,!0);if(s&&s.status>=400&&s.status<500)return t("failed loading "+e+"; status code: "+s.status,!1);if(!s&&n&&n.message){var a,l,u=n.message.toLowerCase();if(["failed","fetch","network","load"].find(function(e){return u.indexOf(e)>-1}))return t("failed loading "+e+": "+n.message,!0)}if(n)return t(n,!1);try{a="string"==typeof s.data?o.options.parse(s.data,r,i):s.data}catch(t){l="failed parsing "+e+" to json"}if(l)return t(l,!1);t(null,a)})}},{key:"create",value:function(e,t,r,i,o){var n=this;if(this.options.addPath){"string"==typeof e&&(e=[e]);var s=this.options.parsePayload(t,r,i),a=0,l=[],u=[];e.forEach(function(r){var i=n.options.addPath;"function"==typeof n.options.addPath&&(i=n.options.addPath(r,t));var c=n.services.interpolator.interpolate(i,{lng:r,ns:t});n.options.request(n.options,c,s,function(t,r){a+=1,l.push(t),u.push(r),a===e.length&&"function"==typeof o&&o(l,u)})})}}},{key:"reload",value:function(){var e=this,t=this.services,r=t.backendConnector,i=t.languageUtils,o=t.logger,n=r.language;if(!n||"cimode"!==n.toLowerCase()){var s=[],a=function(e){i.toResolveHierarchy(e).forEach(function(e){0>s.indexOf(e)&&s.push(e)})};a(n),this.allOptions.preload&&this.allOptions.preload.forEach(function(e){return a(e)}),s.forEach(function(t){e.allOptions.ns.forEach(function(e){r.read(t,e,"read",null,null,function(i,n){i&&o.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&n&&o.log("loaded namespace ".concat(e," for language ").concat(t),n),r.loaded("".concat(t,"|").concat(e),i,n)})})})}}}],function(e,t){for(var r=0;r{"use strict";r.d(t,{A:()=>d});var i=r(2115);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),s=e=>{let t=n(e);return t.charAt(0).toUpperCase()+t.slice(1)},a=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},l=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var u={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let c=(0,i.forwardRef)((e,t)=>{let{color:r="currentColor",size:o=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:c="",children:d,iconNode:p,...h}=e;return(0,i.createElement)("svg",{ref:t,...u,width:o,height:o,stroke:r,strokeWidth:s?24*Number(n)/Number(o):n,className:a("lucide",c),...!d&&!l(h)&&{"aria-hidden":"true"},...h},[...p.map(e=>{let[t,r]=e;return(0,i.createElement)(t,r)}),...Array.isArray(d)?d:[d]])}),d=(e,t)=>{let r=(0,i.forwardRef)((r,n)=>{let{className:l,...u}=r;return(0,i.createElement)(c,{ref:n,iconNode:t,className:a("lucide-".concat(o(s(e))),"lucide-".concat(e),l),...u})});return r.displayName=s(e),r}},9969:(e,t,r)=>{"use strict";r.d(t,{UC:()=>eP,In:()=>eC,q7:()=>eN,p4:()=>eE,ZL:()=>ej,bL:()=>ek,l9:()=>eO,WT:()=>eL,LM:()=>eR});var i=r(2115),o=r(7650),n=r(9367),s=r(5185),a=r(7328),l=r(6101),u=r(6081),c=r(4315),d=r(9178),p=r(2293),h=r(7900),g=r(1285),f=r(8795),m=r(4378),y=r(3655),v=r(9708),b=r(9033),x=r(5845),w=r(2712),S=r(5155),k=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"});i.forwardRef((e,t)=>(0,S.jsx)(y.sG.span,{...e,ref:t,style:{...k,...e.style}})).displayName="VisuallyHidden";var O=r(8168),L=r(3795),C=[" ","Enter","ArrowUp","ArrowDown"],j=[" ","Enter"],P="Select",[R,N,E]=(0,a.N)(P),[$,T]=(0,u.A)(P,[E,f.Bk]),I=(0,f.Bk)(),[D,A]=$(P),[F,M]=$(P),H=e=>{let{__scopeSelect:t,children:r,open:o,defaultOpen:n,onOpenChange:s,value:a,defaultValue:l,onValueChange:u,dir:d,name:p,autoComplete:h,disabled:m,required:y,form:v}=e,b=I(t),[w,k]=i.useState(null),[O,L]=i.useState(null),[C,j]=i.useState(!1),N=(0,c.jH)(d),[E,$]=(0,x.i)({prop:o,defaultProp:null!=n&&n,onChange:s,caller:P}),[T,A]=(0,x.i)({prop:a,defaultProp:l,onChange:u,caller:P}),M=i.useRef(null),H=!w||v||!!w.closest("form"),[V,K]=i.useState(new Set),U=Array.from(V).map(e=>e.props.value).join(";");return(0,S.jsx)(f.bL,{...b,children:(0,S.jsxs)(D,{required:y,scope:t,trigger:w,onTriggerChange:k,valueNode:O,onValueNodeChange:L,valueNodeHasChildren:C,onValueNodeHasChildrenChange:j,contentId:(0,g.B)(),value:T,onValueChange:A,open:E,onOpenChange:$,dir:N,triggerPointerDownPosRef:M,disabled:m,children:[(0,S.jsx)(R.Provider,{scope:t,children:(0,S.jsx)(F,{scope:e.__scopeSelect,onNativeOptionAdd:i.useCallback(e=>{K(t=>new Set(t).add(e))},[]),onNativeOptionRemove:i.useCallback(e=>{K(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),H?(0,S.jsxs)(eb,{"aria-hidden":!0,required:y,tabIndex:-1,name:p,autoComplete:h,value:T,onChange:e=>A(e.target.value),disabled:m,form:v,children:[void 0===T?(0,S.jsx)("option",{value:""}):null,Array.from(V)]},U):null]})})};H.displayName=P;var V="SelectTrigger",K=i.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:o=!1,...n}=e,a=I(r),u=A(V,r),c=u.disabled||o,d=(0,l.s)(t,u.onTriggerChange),p=N(r),h=i.useRef("touch"),[g,m,v]=ew(e=>{let t=p().filter(e=>!e.disabled),r=t.find(e=>e.value===u.value),i=eS(t,e,r);void 0!==i&&u.onValueChange(i.value)}),b=e=>{c||(u.onOpenChange(!0),v()),e&&(u.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,S.jsx)(f.Mz,{asChild:!0,...a,children:(0,S.jsx)(y.sG.button,{type:"button",role:"combobox","aria-controls":u.contentId,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":ex(u.value)?"":void 0,...n,ref:d,onClick:(0,s.mK)(n.onClick,e=>{e.currentTarget.focus(),"mouse"!==h.current&&b(e)}),onPointerDown:(0,s.mK)(n.onPointerDown,e=>{h.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(b(e),e.preventDefault())}),onKeyDown:(0,s.mK)(n.onKeyDown,e=>{let t=""!==g.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&C.includes(e.key)&&(b(),e.preventDefault())})})})});K.displayName=V;var U="SelectValue",_=i.forwardRef((e,t)=>{let{__scopeSelect:r,className:i,style:o,children:n,placeholder:s="",...a}=e,u=A(U,r),{onValueNodeHasChildrenChange:c}=u,d=void 0!==n,p=(0,l.s)(t,u.onValueNodeChange);return(0,w.N)(()=>{c(d)},[c,d]),(0,S.jsx)(y.sG.span,{...a,ref:p,style:{pointerEvents:"none"},children:ex(u.value)?(0,S.jsx)(S.Fragment,{children:s}):n})});_.displayName=U;var B=i.forwardRef((e,t)=>{let{__scopeSelect:r,children:i,...o}=e;return(0,S.jsx)(y.sG.span,{"aria-hidden":!0,...o,ref:t,children:i||"â–¼"})});B.displayName="SelectIcon";var q=e=>(0,S.jsx)(m.Z,{asChild:!0,...e});q.displayName="SelectPortal";var z="SelectContent",W=i.forwardRef((e,t)=>{let r=A(z,e.__scopeSelect),[n,s]=i.useState();return((0,w.N)(()=>{s(new DocumentFragment)},[]),r.open)?(0,S.jsx)(Y,{...e,ref:t}):n?o.createPortal((0,S.jsx)(G,{scope:e.__scopeSelect,children:(0,S.jsx)(R.Slot,{scope:e.__scopeSelect,children:(0,S.jsx)("div",{children:e.children})})}),n):null});W.displayName=z;var[G,X]=$(z),J=(0,v.TL)("SelectContent.RemoveScroll"),Y=i.forwardRef((e,t)=>{let{__scopeSelect:r,position:o="item-aligned",onCloseAutoFocus:n,onEscapeKeyDown:a,onPointerDownOutside:u,side:c,sideOffset:g,align:f,alignOffset:m,arrowPadding:y,collisionBoundary:v,collisionPadding:b,sticky:x,hideWhenDetached:w,avoidCollisions:k,...C}=e,j=A(z,r),[P,R]=i.useState(null),[E,$]=i.useState(null),T=(0,l.s)(t,e=>R(e)),[I,D]=i.useState(null),[F,M]=i.useState(null),H=N(r),[V,K]=i.useState(!1),U=i.useRef(!1);i.useEffect(()=>{if(P)return(0,O.Eq)(P)},[P]),(0,p.Oh)();let _=i.useCallback(e=>{let[t,...r]=H().map(e=>e.ref.current),[i]=r.slice(-1),o=document.activeElement;for(let r of e)if(r===o||(null==r||r.scrollIntoView({block:"nearest"}),r===t&&E&&(E.scrollTop=0),r===i&&E&&(E.scrollTop=E.scrollHeight),null==r||r.focus(),document.activeElement!==o))return},[H,E]),B=i.useCallback(()=>_([I,P]),[_,I,P]);i.useEffect(()=>{V&&B()},[V,B]);let{onOpenChange:q,triggerPointerDownPosRef:W}=j;i.useEffect(()=>{if(P){let e={x:0,y:0},t=t=>{var r,i,o,n;e={x:Math.abs(Math.round(t.pageX)-(null!=(o=null==(r=W.current)?void 0:r.x)?o:0)),y:Math.abs(Math.round(t.pageY)-(null!=(n=null==(i=W.current)?void 0:i.y)?n:0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():P.contains(r.target)||q(!1),document.removeEventListener("pointermove",t),W.current=null};return null!==W.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[P,q,W]),i.useEffect(()=>{let e=()=>q(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[q]);let[X,Y]=ew(e=>{let t=H().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),i=eS(t,e,r);i&&setTimeout(()=>i.ref.current.focus())}),ee=i.useCallback((e,t,r)=>{let i=!U.current&&!r;(void 0!==j.value&&j.value===t||i)&&(D(e),i&&(U.current=!0))},[j.value]),et=i.useCallback(()=>null==P?void 0:P.focus(),[P]),er=i.useCallback((e,t,r)=>{let i=!U.current&&!r;(void 0!==j.value&&j.value===t||i)&&M(e)},[j.value]),ei="popper"===o?Q:Z,eo=ei===Q?{side:c,sideOffset:g,align:f,alignOffset:m,arrowPadding:y,collisionBoundary:v,collisionPadding:b,sticky:x,hideWhenDetached:w,avoidCollisions:k}:{};return(0,S.jsx)(G,{scope:r,content:P,viewport:E,onViewportChange:$,itemRefCallback:ee,selectedItem:I,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:B,selectedItemText:F,position:o,isPositioned:V,searchRef:X,children:(0,S.jsx)(L.A,{as:J,allowPinchZoom:!0,children:(0,S.jsx)(h.n,{asChild:!0,trapped:j.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,s.mK)(n,e=>{var t;null==(t=j.trigger)||t.focus({preventScroll:!0}),e.preventDefault()}),children:(0,S.jsx)(d.qW,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>j.onOpenChange(!1),children:(0,S.jsx)(ei,{role:"listbox",id:j.contentId,"data-state":j.open?"open":"closed",dir:j.dir,onContextMenu:e=>e.preventDefault(),...C,...eo,onPlaced:()=>K(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...C.style},onKeyDown:(0,s.mK)(C.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Y(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=H().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,i=t.indexOf(r);t=t.slice(i+1)}setTimeout(()=>_(t)),e.preventDefault()}})})})})})})});Y.displayName="SelectContentImpl";var Z=i.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:o,...s}=e,a=A(z,r),u=X(z,r),[c,d]=i.useState(null),[p,h]=i.useState(null),g=(0,l.s)(t,e=>h(e)),f=N(r),m=i.useRef(!1),v=i.useRef(!0),{viewport:b,selectedItem:x,selectedItemText:k,focusSelectedItem:O}=u,L=i.useCallback(()=>{if(a.trigger&&a.valueNode&&c&&p&&b&&x&&k){let e=a.trigger.getBoundingClientRect(),t=p.getBoundingClientRect(),r=a.valueNode.getBoundingClientRect(),i=k.getBoundingClientRect();if("rtl"!==a.dir){let o=i.left-t.left,s=r.left-o,a=e.left-s,l=e.width+a,u=Math.max(l,t.width),d=window.innerWidth-10,p=(0,n.q)(s,[10,Math.max(10,d-u)]);c.style.minWidth=l+"px",c.style.left=p+"px"}else{let o=t.right-i.right,s=window.innerWidth-r.right-o,a=window.innerWidth-e.right-s,l=e.width+a,u=Math.max(l,t.width),d=window.innerWidth-10,p=(0,n.q)(s,[10,Math.max(10,d-u)]);c.style.minWidth=l+"px",c.style.right=p+"px"}let s=f(),l=window.innerHeight-20,u=b.scrollHeight,d=window.getComputedStyle(p),h=parseInt(d.borderTopWidth,10),g=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),v=h+g+u+parseInt(d.paddingBottom,10)+y,w=Math.min(5*x.offsetHeight,v),S=window.getComputedStyle(b),O=parseInt(S.paddingTop,10),L=parseInt(S.paddingBottom,10),C=e.top+e.height/2-10,j=x.offsetHeight/2,P=h+g+(x.offsetTop+j);if(P<=C){let e=s.length>0&&x===s[s.length-1].ref.current;c.style.bottom="0px";let t=Math.max(l-C,j+(e?L:0)+(p.clientHeight-b.offsetTop-b.offsetHeight)+y);c.style.height=P+t+"px"}else{let e=s.length>0&&x===s[0].ref.current;c.style.top="0px";let t=Math.max(C,h+b.offsetTop+(e?O:0)+j);c.style.height=t+(v-P)+"px",b.scrollTop=P-C+b.offsetTop}c.style.margin="".concat(10,"px 0"),c.style.minHeight=w+"px",c.style.maxHeight=l+"px",null==o||o(),requestAnimationFrame(()=>m.current=!0)}},[f,a.trigger,a.valueNode,c,p,b,x,k,a.dir,o]);(0,w.N)(()=>L(),[L]);let[C,j]=i.useState();(0,w.N)(()=>{p&&j(window.getComputedStyle(p).zIndex)},[p]);let P=i.useCallback(e=>{e&&!0===v.current&&(L(),null==O||O(),v.current=!1)},[L,O]);return(0,S.jsx)(ee,{scope:r,contentWrapper:c,shouldExpandOnScrollRef:m,onScrollButtonChange:P,children:(0,S.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:(0,S.jsx)(y.sG.div,{...s,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});Z.displayName="SelectItemAlignedPosition";var Q=i.forwardRef((e,t)=>{let{__scopeSelect:r,align:i="start",collisionPadding:o=10,...n}=e,s=I(r);return(0,S.jsx)(f.UC,{...s,...n,ref:t,align:i,collisionPadding:o,style:{boxSizing:"border-box",...n.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Q.displayName="SelectPopperPosition";var[ee,et]=$(z,{}),er="SelectViewport",ei=i.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:o,...n}=e,a=X(er,r),u=et(er,r),c=(0,l.s)(t,a.onViewportChange),d=i.useRef(0);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),(0,S.jsx)(R.Slot,{scope:r,children:(0,S.jsx)(y.sG.div,{"data-radix-select-viewport":"",role:"presentation",...n,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...n.style},onScroll:(0,s.mK)(n.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:i}=u;if((null==i?void 0:i.current)&&r){let e=Math.abs(d.current-t.scrollTop);if(e>0){let i=window.innerHeight-20,o=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(o0?a:0,r.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})});ei.displayName=er;var eo="SelectGroup",[en,es]=$(eo);i.forwardRef((e,t)=>{let{__scopeSelect:r,...i}=e,o=(0,g.B)();return(0,S.jsx)(en,{scope:r,id:o,children:(0,S.jsx)(y.sG.div,{role:"group","aria-labelledby":o,...i,ref:t})})}).displayName=eo;var ea="SelectLabel";i.forwardRef((e,t)=>{let{__scopeSelect:r,...i}=e,o=es(ea,r);return(0,S.jsx)(y.sG.div,{id:o.id,...i,ref:t})}).displayName=ea;var el="SelectItem",[eu,ec]=$(el),ed=i.forwardRef((e,t)=>{let{__scopeSelect:r,value:o,disabled:n=!1,textValue:a,...u}=e,c=A(el,r),d=X(el,r),p=c.value===o,[h,f]=i.useState(null!=a?a:""),[m,v]=i.useState(!1),b=(0,l.s)(t,e=>{var t;return null==(t=d.itemRefCallback)?void 0:t.call(d,e,o,n)}),x=(0,g.B)(),w=i.useRef("touch"),k=()=>{n||(c.onValueChange(o),c.onOpenChange(!1))};if(""===o)throw Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,S.jsx)(eu,{scope:r,value:o,disabled:n,textId:x,isSelected:p,onItemTextChange:i.useCallback(e=>{f(t=>{var r;return t||(null!=(r=null==e?void 0:e.textContent)?r:"").trim()})},[]),children:(0,S.jsx)(R.ItemSlot,{scope:r,value:o,disabled:n,textValue:h,children:(0,S.jsx)(y.sG.div,{role:"option","aria-labelledby":x,"data-highlighted":m?"":void 0,"aria-selected":p&&m,"data-state":p?"checked":"unchecked","aria-disabled":n||void 0,"data-disabled":n?"":void 0,tabIndex:n?void 0:-1,...u,ref:b,onFocus:(0,s.mK)(u.onFocus,()=>v(!0)),onBlur:(0,s.mK)(u.onBlur,()=>v(!1)),onClick:(0,s.mK)(u.onClick,()=>{"mouse"!==w.current&&k()}),onPointerUp:(0,s.mK)(u.onPointerUp,()=>{"mouse"===w.current&&k()}),onPointerDown:(0,s.mK)(u.onPointerDown,e=>{w.current=e.pointerType}),onPointerMove:(0,s.mK)(u.onPointerMove,e=>{if(w.current=e.pointerType,n){var t;null==(t=d.onItemLeave)||t.call(d)}else"mouse"===w.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,s.mK)(u.onPointerLeave,e=>{if(e.currentTarget===document.activeElement){var t;null==(t=d.onItemLeave)||t.call(d)}}),onKeyDown:(0,s.mK)(u.onKeyDown,e=>{var t;((null==(t=d.searchRef)?void 0:t.current)===""||" "!==e.key)&&(j.includes(e.key)&&k()," "===e.key&&e.preventDefault())})})})})});ed.displayName=el;var ep="SelectItemText",eh=i.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:s,...a}=e,u=A(ep,r),c=X(ep,r),d=ec(ep,r),p=M(ep,r),[h,g]=i.useState(null),f=(0,l.s)(t,e=>g(e),d.onItemTextChange,e=>{var t;return null==(t=c.itemTextRefCallback)?void 0:t.call(c,e,d.value,d.disabled)}),m=null==h?void 0:h.textContent,v=i.useMemo(()=>(0,S.jsx)("option",{value:d.value,disabled:d.disabled,children:m},d.value),[d.disabled,d.value,m]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=p;return(0,w.N)(()=>(b(v),()=>x(v)),[b,x,v]),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(y.sG.span,{id:d.textId,...a,ref:f}),d.isSelected&&u.valueNode&&!u.valueNodeHasChildren?o.createPortal(a.children,u.valueNode):null]})});eh.displayName=ep;var eg="SelectItemIndicator";i.forwardRef((e,t)=>{let{__scopeSelect:r,...i}=e;return ec(eg,r).isSelected?(0,S.jsx)(y.sG.span,{"aria-hidden":!0,...i,ref:t}):null}).displayName=eg;var ef="SelectScrollUpButton";i.forwardRef((e,t)=>{let r=X(ef,e.__scopeSelect),o=et(ef,e.__scopeSelect),[n,s]=i.useState(!1),a=(0,l.s)(t,o.onScrollButtonChange);return(0,w.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){s(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),n?(0,S.jsx)(ey,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null}).displayName=ef;var em="SelectScrollDownButton";i.forwardRef((e,t)=>{let r=X(em,e.__scopeSelect),o=et(em,e.__scopeSelect),[n,s]=i.useState(!1),a=(0,l.s)(t,o.onScrollButtonChange);return(0,w.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),n?(0,S.jsx)(ey,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null}).displayName=em;var ey=i.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:o,...n}=e,a=X("SelectScrollButton",r),l=i.useRef(null),u=N(r),c=i.useCallback(()=>{null!==l.current&&(window.clearInterval(l.current),l.current=null)},[]);return i.useEffect(()=>()=>c(),[c]),(0,w.N)(()=>{var e;let t=u().find(e=>e.ref.current===document.activeElement);null==t||null==(e=t.ref.current)||e.scrollIntoView({block:"nearest"})},[u]),(0,S.jsx)(y.sG.div,{"aria-hidden":!0,...n,ref:t,style:{flexShrink:0,...n.style},onPointerDown:(0,s.mK)(n.onPointerDown,()=>{null===l.current&&(l.current=window.setInterval(o,50))}),onPointerMove:(0,s.mK)(n.onPointerMove,()=>{var e;null==(e=a.onItemLeave)||e.call(a),null===l.current&&(l.current=window.setInterval(o,50))}),onPointerLeave:(0,s.mK)(n.onPointerLeave,()=>{c()})})});i.forwardRef((e,t)=>{let{__scopeSelect:r,...i}=e;return(0,S.jsx)(y.sG.div,{"aria-hidden":!0,...i,ref:t})}).displayName="SelectSeparator";var ev="SelectArrow";i.forwardRef((e,t)=>{let{__scopeSelect:r,...i}=e,o=I(r),n=A(ev,r),s=X(ev,r);return n.open&&"popper"===s.position?(0,S.jsx)(f.i3,{...o,...i,ref:t}):null}).displayName=ev;var eb=i.forwardRef((e,t)=>{let{__scopeSelect:r,value:o,...n}=e,s=i.useRef(null),a=(0,l.s)(t,s),u=function(e){let t=i.useRef({value:e,previous:e});return i.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}(o);return i.useEffect(()=>{let e=s.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(u!==o&&t){let r=new Event("change",{bubbles:!0});t.call(e,o),e.dispatchEvent(r)}},[u,o]),(0,S.jsx)(y.sG.select,{...n,style:{...k,...n.style},ref:a,defaultValue:o})});function ex(e){return""===e||void 0===e}function ew(e){let t=(0,b.c)(e),r=i.useRef(""),o=i.useRef(0),n=i.useCallback(e=>{let i=r.current+e;t(i),function e(t){r.current=t,window.clearTimeout(o.current),""!==t&&(o.current=window.setTimeout(()=>e(""),1e3))}(i)},[t]),s=i.useCallback(()=>{r.current="",window.clearTimeout(o.current)},[]);return i.useEffect(()=>()=>window.clearTimeout(o.current),[]),[r,n,s]}function eS(e,t,r){var i,o;let n=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,s=r?e.indexOf(r):-1,a=(i=e,o=Math.max(s,0),i.map((e,t)=>i[(o+t)%i.length]));1===n.length&&(a=a.filter(e=>e!==r));let l=a.find(e=>e.textValue.toLowerCase().startsWith(n.toLowerCase()));return l!==r?l:void 0}eb.displayName="SelectBubbleInput";var ek=H,eO=K,eL=_,eC=B,ej=q,eP=W,eR=ei,eN=ed,eE=eh}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/472.a3826d29d6854395.js b/.netlify/static/_next/static/chunks/472.a3826d29d6854395.js deleted file mode 100644 index 2c67263..0000000 --- a/.netlify/static/_next/static/chunks/472.a3826d29d6854395.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[472],{472:(e,t,l)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let u=l(4252),n=l(7876),a=u._(l(4232)),o=l(2746);async function r(e){let{Component:t,ctx:l}=e;return{pageProps:await (0,o.loadGetInitialProps)(t,l)}}class s extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,n.jsx)(e,{...t})}}s.origGetInitialProps=r,s.getInitialProps=r,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/4bd1b696-a6534ec168ee5a83.js b/.netlify/static/_next/static/chunks/4bd1b696-a6534ec168ee5a83.js deleted file mode 100644 index 1e657c9..0000000 --- a/.netlify/static/_next/static/chunks/4bd1b696-a6534ec168ee5a83.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[441],{9248:(e,n,t)=>{var r,l=t(9509),a=t(6206),o=t(2115),u=t(7650);function i(e){var n="https://react.dev/errors/"+e;if(1I||(e.current=R[I],R[I]=null,I--)}function H(e,n){R[++I]=e.current,e.current=n}var V=U(null),Q=U(null),$=U(null),B=U(null);function W(e,n){switch(H($,n),H(Q,e),H(V,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?si(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)e=ss(n=si(n),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}j(V),H(V,e)}function q(){j(V),j(Q),j($)}function K(e){null!==e.memoizedState&&H(B,e);var n=V.current,t=ss(n,e.type);n!==t&&(H(Q,e),H(V,t))}function Y(e){Q.current===e&&(j(V),j(Q)),B.current===e&&(j(B),sZ._currentValue=A)}function X(e){if(void 0===nO)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);nO=n&&n[1]||"",nA=-1)":-1l||i[r]!==s[l]){var c="\n"+i[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{G=!1,Error.prepareStackTrace=t}return(t=e?e.displayName||e.name:"")?X(t):""}function J(e){try{var n="";do n+=function(e){switch(e.tag){case 26:case 27:case 5:return X(e.type);case 16:return X("Lazy");case 13:return X("Suspense");case 19:return X("SuspenseList");case 0:case 15:return Z(e.type,!1);case 11:return Z(e.type.render,!1);case 1:return Z(e.type,!0);case 31:return X("Activity");default:return""}}(e),e=e.return;while(e);return n}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var ee=Object.prototype.hasOwnProperty,en=a.unstable_scheduleCallback,et=a.unstable_cancelCallback,er=a.unstable_shouldYield,el=a.unstable_requestPaint,ea=a.unstable_now,eo=a.unstable_getCurrentPriorityLevel,eu=a.unstable_ImmediatePriority,ei=a.unstable_UserBlockingPriority,es=a.unstable_NormalPriority,ec=a.unstable_LowPriority,ef=a.unstable_IdlePriority,ed=a.log,ep=a.unstable_setDisableYieldValue,em=null,eh=null;function eg(e){if("function"==typeof ed&&ep(e),eh&&"function"==typeof eh.setStrictMode)try{eh.setStrictMode(em,e)}catch(e){}}var ey=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(ev(e)/eb|0)|0},ev=Math.log,eb=Math.LN2,ek=256,ew=4194304;function eS(e){var n=42&e;if(0!==n)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194048&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function ex(e,n,t){var r=e.pendingLanes;if(0===r)return 0;var l=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var u=0x7ffffff&r;return 0!==u?0!=(r=u&~a)?l=eS(r):0!=(o&=u)?l=eS(o):t||0!=(t=u&~e)&&(l=eS(t)):0!=(u=r&~a)?l=eS(u):0!==o?l=eS(o):t||0!=(t=r&~e)&&(l=eS(t)),0===l?0:0!==n&&n!==l&&0==(n&a)&&((a=l&-l)>=(t=n&-n)||32===a&&0!=(4194048&t))?n:l}function eE(e,n){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)}function eC(){var e=ek;return 0==(4194048&(ek<<=1))&&(ek=256),e}function ez(){var e=ew;return 0==(0x3c00000&(ew<<=1))&&(ew=4194304),e}function eP(e){for(var n=[],t=0;31>t;t++)n.push(e);return n}function eN(e,n){e.pendingLanes|=n,0x10000000!==n&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eL(e,n,t){e.pendingLanes|=n,e.suspendedLanes&=~n;var r=31-ey(n);e.entangledLanes|=n,e.entanglements[r]=0x40000000|e.entanglements[r]|4194090&t}function eT(e,n){var t=e.entangledLanes|=n;for(e=e.entanglements;t;){var r=31-ey(t),l=1<=te),tr=!1;function tl(e,n){switch(e){case"keyup":return -1!==n9.indexOf(n.keyCode);case"keydown":return 229!==n.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ta(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var to=!1,tu={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ti(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===n?!!tu[e.type]:"textarea"===n}function ts(e,n,t,r){nv?nb?nb.push(r):nb=[r]:nv=r,0<(n=i4(n,"onChange")).length&&(t=new nH("onChange","change",null,t,r),e.push({event:t,listeners:n}))}var tc=null,tf=null;function td(e){iX(e,0)}function tp(e){if(e9(eW(e)))return e}function tm(e,n){if("change"===e)return n}var th=!1;if(nE){if(nE){var tg="oninput"in document;if(!tg){var ty=document.createElement("div");ty.setAttribute("oninput","return;"),tg="function"==typeof ty.oninput}r=tg}else r=!1;th=r&&(!document.documentMode||9=n)return{node:r,offset:n-e};e=t}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=tz(r)}}function tN(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var n=e7(e.document);n instanceof e.HTMLIFrameElement;){try{var t="string"==typeof n.contentWindow.location.href}catch(e){t=!1}if(t)e=n.contentWindow;else break;n=e7(e.document)}return n}function tL(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&("input"===n&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===n||"true"===e.contentEditable)}var tT=nE&&"documentMode"in document&&11>=document.documentMode,t_=null,tF=null,tD=null,tM=!1;function tO(e,n,t){var r=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;tM||null==t_||t_!==e7(r)||(r="selectionStart"in(r=t_)&&tL(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},tD&&tC(tD,r)||(tD=r,0<(r=i4(tF,"onSelect")).length&&(n=new nH("onSelect","select",null,n,t),e.push({event:n,listeners:r}),n.target=t_)))}function tA(e,n){var t={};return t[e.toLowerCase()]=n.toLowerCase(),t["Webkit"+e]="webkit"+n,t["Moz"+e]="moz"+n,t}var tR={animationend:tA("Animation","AnimationEnd"),animationiteration:tA("Animation","AnimationIteration"),animationstart:tA("Animation","AnimationStart"),transitionrun:tA("Transition","TransitionRun"),transitionstart:tA("Transition","TransitionStart"),transitioncancel:tA("Transition","TransitionCancel"),transitionend:tA("Transition","TransitionEnd")},tI={},tU={};function tj(e){if(tI[e])return tI[e];if(!tR[e])return e;var n,t=tR[e];for(n in t)if(t.hasOwnProperty(n)&&n in tU)return tI[e]=t[n];return e}nE&&(tU=document.createElement("div").style,"AnimationEvent"in window||(delete tR.animationend.animation,delete tR.animationiteration.animation,delete tR.animationstart.animation),"TransitionEvent"in window||delete tR.transitionend.transition);var tH=tj("animationend"),tV=tj("animationiteration"),tQ=tj("animationstart"),t$=tj("transitionrun"),tB=tj("transitionstart"),tW=tj("transitioncancel"),tq=tj("transitionend"),tK=new Map,tY="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function tX(e,n){tK.set(e,n),eG(n,[e])}tY.push("scrollEnd");var tG=new WeakMap;function tZ(e,n){if("object"==typeof e&&null!==e){var t=tG.get(e);return void 0!==t?t:(n={value:e,source:n,stack:J(n)},tG.set(e,n),n)}return{value:e,source:n,stack:J(n)}}var tJ=[],t0=0,t1=0;function t2(){for(var e=t0,n=t1=t0=0;n>=o,l-=o,rh=1<<32-ey(n)+l|t<h?(g=f,f=null):g=f.sibling;var y=p(l,f,u[h],i);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&n(l,f),o=a(y,o,h),null===c?s=y:c.sibling=y,c=y,f=g}if(h===u.length)return t(l,f),rx&&ry(l,h),s;if(null===f){for(;hg?(y=h,h=null):y=h.sibling;var b=p(l,h,v.value,s);if(null===b){null===h&&(h=y);break}e&&h&&null===b.alternate&&n(l,h),o=a(b,o,g),null===f?c=b:f.sibling=b,f=b,h=y}if(v.done)return t(l,h),rx&&ry(l,g),c;if(null===h){for(;!v.done;g++,v=u.next())null!==(v=d(l,v.value,s))&&(o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return rx&&ry(l,g),c}for(h=r(h);!v.done;g++,v=u.next())null!==(v=m(h,l,g,v.value,s))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return e&&h.forEach(function(e){return n(l,e)}),rx&&ry(l,g),c}(s,c,f=b.call(f),v)}if("function"==typeof f.then)return u(s,c,lf(f),v);if(f.$$typeof===S)return u(s,c,rB(s,f),v);lp(s,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(t(s,c.sibling),(v=l(c,f)).return=s):(t(s,c),(v=ro(f,s.mode,v)).return=s),o(s=v)):t(s,c)}(u,s,c,f);return ls=null,v}catch(e){if(e===r7||e===ln)throw e;var b=re(29,e,null,u.mode);return b.lanes=f,b.return=u,b}finally{}}}var lg=lh(!0),ly=lh(!1),lv=!1;function lb(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function lk(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function lw(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function lS(e,n,t){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&uz)){var l=r.pending;return null===l?n.next=n:(n.next=l.next,l.next=n),r.pending=n,n=t5(e),t6(e,null,t),n}return t3(e,r,n,t),t5(e)}function lx(e,n,t){if(null!==(n=n.updateQueue)&&(n=n.shared,0!=(4194048&t))){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,eT(e,t)}}function lE(e,n){var t=e.updateQueue,r=e.alternate;if(null!==r&&t===(r=r.updateQueue)){var l=null,a=null;if(null!==(t=t.firstBaseUpdate)){do{var o={lane:t.lane,tag:t.tag,payload:t.payload,callback:null,next:null};null===a?l=a=o:a=a.next=o,t=t.next}while(null!==t);null===a?l=a=n:a=a.next=n}else l=a=n;t={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=t;return}null===(e=t.lastBaseUpdate)?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}var lC=!1;function lz(){if(lC){var e=r2;if(null!==e)throw e}}function lP(e,n,t,r){lC=!1;var l=e.updateQueue;lv=!1;var a=l.firstBaseUpdate,o=l.lastBaseUpdate,u=l.shared.pending;if(null!==u){l.shared.pending=null;var i=u,s=i.next;i.next=null,null===o?a=s:o.next=s,o=i;var c=e.alternate;null!==c&&(u=(c=c.updateQueue).lastBaseUpdate)!==o&&(null===u?c.firstBaseUpdate=s:u.next=s,c.lastBaseUpdate=i)}if(null!==a){var f=l.baseState;for(o=0,c=s=i=null,u=a;;){var d=-0x20000001&u.lane,m=d!==u.lane;if(m?(uL&d)===d:(r&d)===d){0!==d&&d===r1&&(lC=!0),null!==c&&(c=c.next={lane:0,tag:u.tag,payload:u.payload,callback:null,next:null});e:{var h=e,g=u;switch(d=n,g.tag){case 1:if("function"==typeof(h=g.payload)){f=h.call(t,f,d);break e}f=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null==(d="function"==typeof(h=g.payload)?h.call(t,f,d):h))break e;f=p({},f,d);break e;case 2:lv=!0}}null!==(d=u.callback)&&(e.flags|=64,m&&(e.flags|=8192),null===(m=l.callbacks)?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:u.tag,payload:u.payload,callback:u.callback,next:null},null===c?(s=c=m,i=f):c=c.next=m,o|=d;if(null===(u=u.next))if(null===(u=l.shared.pending))break;else u=(m=u).next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}null===c&&(i=f),l.baseState=i,l.firstBaseUpdate=s,l.lastBaseUpdate=c,null===a&&(l.shared.lanes=0),uR|=o,e.lanes=o,e.memoizedState=f}}function lN(e,n){if("function"!=typeof e)throw Error(i(191,e));e.call(n)}function lL(e,n){var t=e.callbacks;if(null!==t)for(e.callbacks=null,e=0;ea?a:8;var o=M.T,u={};M.T=u,a2(e,!1,n,t);try{var i=l(),s=M.S;if(null!==s&&s(u,i),null!==i&&"object"==typeof i&&"function"==typeof i.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},i.then(function(){f.status="fulfilled",f.value=r;for(var e=0;e title"))),sl(a,r,t),a[eO]=e,eK(a),r=a;break e;case"link":var o=sQ("link","href",l).get(r+(t.href||""));if(o){for(var u=0;u<\/script>",a=a.removeChild(a.firstChild);break;case"select":a="string"==typeof r.is?o.createElement("select",{is:r.is}):o.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a="string"==typeof r.is?o.createElement(l,{is:r.is}):o.createElement(l)}}a[eO]=n,a[eA]=r;e:for(o=n.child;null!==o;){if(5===o.tag||6===o.tag)a.appendChild(o.stateNode);else if(4!==o.tag&&27!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===n)break;for(;null===o.sibling;){if(null===o.return||o.return===n)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}switch(n.stateNode=a,sl(a,l,r),l){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break;case"img":r=!0;break;default:r=!1}r&&oj(n)}}return oB(n),oH(n,n.type,null===e?null:e.memoizedProps,n.pendingProps,t),null;case 6:if(e&&null!=n.stateNode)e.memoizedProps!==r&&oj(n);else{if("string"!=typeof r&&null===n.stateNode)throw Error(i(166));if(e=$.current,rT(n)){if(e=n.stateNode,t=n.memoizedProps,r=null,null!==(l=rw))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eO]=n,(e=!!(e.nodeValue===t||null!==r&&!0===r.suppressHydrationWarning||se(e.nodeValue,t)))||rP(n,!0)}else(e=su(e).createTextNode(r))[eO]=n,n.stateNode=e}return oB(n),null;case 13:if(r=n.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rT(n),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(i(318));if(!(l=null!==(l=n.memoizedState)?l.dehydrated:null))throw Error(i(317));l[eO]=n}else r_(),0==(128&n.flags)&&(n.memoizedState=null),n.flags|=4;oB(n),l=!1}else l=rF(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l){if(256&n.flags)return lj(n),n;return lj(n),null}}if(lj(n),0!=(128&n.flags))return n.lanes=t,n;return t=null!==r,e=null!==e&&null!==e.memoizedState,t&&(r=n.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool),a=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)),t!==e&&t&&(n.child.flags|=8192),oQ(n,n.updateQueue),oB(n),null;case 4:return q(),null===e&&i0(n.stateNode.containerInfo),oB(n),null;case 10:return rI(n.type),oB(n),null;case 19:if(j(lH),null===(l=n.memoizedState))return oB(n),null;if(r=0!=(128&n.flags),null===(a=l.rendering))if(r)o$(l,!1);else{if(0!==uA||null!==e&&0!=(128&e.flags))for(e=n.child;null!==e;){if(null!==(a=lV(e))){for(n.flags|=128,o$(l,!1),e=a.updateQueue,n.updateQueue=e,oQ(n,e),n.subtreeFlags=0,e=t,t=n.child;null!==t;)rr(t,e),t=t.sibling;return H(lH,1&lH.current|2),n.child}e=e.sibling}null!==l.tail&&ea()>uW&&(n.flags|=128,r=!0,o$(l,!1),n.lanes=4194304)}else{if(!r)if(null!==(e=lV(a))){if(n.flags|=128,r=!0,e=e.updateQueue,n.updateQueue=e,oQ(n,e),o$(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!rx)return oB(n),null}else 2*ea()-l.renderingStartTime>uW&&0x20000000!==t&&(n.flags|=128,r=!0,o$(l,!1),n.lanes=4194304);l.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=l.last)?e.sibling=a:n.child=a,l.last=a)}if(null!==l.tail)return n=l.tail,l.rendering=n,l.tail=n.sibling,l.renderingStartTime=ea(),n.sibling=null,e=lH.current,H(lH,r?1&e|2:1&e),n;return oB(n),null;case 22:case 23:return lj(n),lM(),r=null!==n.memoizedState,null!==e?null!==e.memoizedState!==r&&(n.flags|=8192):r&&(n.flags|=8192),r?0!=(0x20000000&t)&&0==(128&n.flags)&&(oB(n),6&n.subtreeFlags&&(n.flags|=8192)):oB(n),null!==(t=n.updateQueue)&&oQ(n,t.retryQueue),t=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(t=e.memoizedState.cachePool.pool),r=null,null!==n.memoizedState&&null!==n.memoizedState.cachePool&&(r=n.memoizedState.cachePool.pool),r!==t&&(n.flags|=2048),null!==e&&j(r8),null;case 24:return t=null,null!==e&&(t=e.memoizedState.cache),n.memoizedState.cache!==t&&(n.flags|=2048),rI(rX),oB(n),null;case 25:case 30:return null}throw Error(i(156,n.tag))}(n.alternate,n,uO);if(null!==t){uN=t;return}if(null!==(n=n.sibling)){uN=n;return}uN=n=e}while(null!==n);0===uA&&(uA=5)}function ih(e,n){do{var t=function(e,n){switch(rk(n),n.tag){case 1:return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 3:return rI(rX),q(),0!=(65536&(e=n.flags))&&0==(128&e)?(n.flags=-65537&e|128,n):null;case 26:case 27:case 5:return Y(n),null;case 13:if(lj(n),null!==(e=n.memoizedState)&&null!==e.dehydrated){if(null===n.alternate)throw Error(i(340));r_()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 19:return j(lH),null;case 4:return q(),null;case 10:return rI(n.type),null;case 22:case 23:return lj(n),lM(),null!==e&&j(r8),65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 24:return rI(rX),null;default:return null}}(e.alternate,e);if(null!==t){t.flags&=32767,uN=t;return}if(null!==(t=e.return)&&(t.flags|=32768,t.subtreeFlags=0,t.deletions=null),!n&&null!==(e=e.sibling)){uN=e;return}uN=e=t}while(null!==e);uA=6,uN=null}function ig(e,n,t,r,l,a,o,u,s){e.cancelPendingCommit=null;do iw();while(0!==uY);if(0!=(6&uz))throw Error(i(327));if(null!==n){if(n===e.current)throw Error(i(177));if(!function(e,n,t,r,l,a){var o=e.pendingLanes;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0;var u=e.entanglements,i=e.expirationTimes,s=e.hiddenUpdates;for(t=o&~t;0g&&(o=g,g=h,h=o);var y=tP(u,h),v=tP(u,g);if(y&&v&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var b=f.createRange();b.setStart(y.node,y.offset),p.removeAllRanges(),h>g?(p.addRange(b),p.extend(v.node,v.offset)):(b.setEnd(v.node,v.offset),p.addRange(b))}}}}for(f=[],p=u;p=p.parentNode;)1===p.nodeType&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof u.focus&&u.focus(),u=0;ut?32:t,M.T=null,t=u0,u0=null;var a=uX,o=uZ;if(uY=0,uG=uX=null,uZ=0,0!=(6&uz))throw Error(i(331));var u=uz;if(uz|=4,uS(a.current),uh(a,a.current,o,t),uz=u,iR(0,!1),eh&&"function"==typeof eh.onPostCommitFiberRoot)try{eh.onPostCommitFiberRoot(em,a)}catch(e){}return!0}finally{O.p=l,M.T=r,ik(e,n)}}function ix(e,n,t){n=tZ(t,n),n=of(e.stateNode,n,2),null!==(e=lS(e,n,2))&&(eN(e,2),iA(e))}function iE(e,n,t){if(3===e.tag)ix(e,e,t);else for(;null!==n;){if(3===n.tag){ix(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===uK||!uK.has(r))){e=tZ(t,e),null!==(r=lS(n,t=od(2),2))&&(op(t,r,n,e),eN(r,2),iA(r));break}}n=n.return}}function iC(e,n,t){var r=e.pingCache;if(null===r){r=e.pingCache=new uC;var l=new Set;r.set(n,l)}else void 0===(l=r.get(n))&&(l=new Set,r.set(n,l));l.has(t)||(uM=!0,l.add(t),e=iz.bind(null,e,n,t),n.then(e,e))}function iz(e,n,t){var r=e.pingCache;null!==r&&r.delete(n),e.pingedLanes|=e.suspendedLanes&t,e.warmLanes&=~t,uP===e&&(uL&t)===t&&(4===uA||3===uA&&(0x3c00000&uL)===uL&&300>ea()-uB?0==(2&uz)&&ir(e,0):uU|=t,uH===uL&&(uH=0)),iA(e)}function iP(e,n){0===n&&(n=ez()),null!==(e=t8(e,n))&&(eN(e,n),iA(e))}function iN(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),iP(e,t)}function iL(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(n),iP(e,t)}var iT=null,i_=null,iF=!1,iD=!1,iM=!1,iO=0;function iA(e){e!==i_&&null===e.next&&(null===i_?iT=i_=e:i_=i_.next=e),iD=!0,iF||(iF=!0,sh(function(){0!=(6&uz)?en(eu,iI):iU()}))}function iR(e,n){if(!iM&&iD){iM=!0;do for(var t=!1,r=iT;null!==r;){if(!n)if(0!==e){var l=r.pendingLanes;if(0===l)var a=0;else{var o=r.suspendedLanes,u=r.pingedLanes;a=0xc000095&(a=(1<<31-ey(42|e)+1)-1&(l&~(o&~u)))?0xc000095&a|1:a?2|a:0}0!==a&&(t=!0,iV(r,a))}else a=uL,0==(3&(a=ex(r,r===uP?a:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||eE(r,a)||(t=!0,iV(r,a));r=r.next}while(t);iM=!1}}function iI(){iU()}function iU(){iD=iF=!1;var e,n=0;0!==iO&&(((e=window.event)&&"popstate"===e.type?e===sf||(sf=e,0):(sf=null,1))||(n=iO),iO=0);for(var t=ea(),r=null,l=iT;null!==l;){var a=l.next,o=ij(l,t);0===o?(l.next=null,null===r?iT=a:r.next=a,null===a&&(i_=r)):(r=l,(0!==n||0!=(3&o))&&(iD=!0)),l=a}0!==uY&&5!==uY||iR(n,!1)}function ij(e,n){for(var t=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=-0x3c00001&e.pendingLanes;0r){t=r;var o=e.ownerDocument;if(1&t&&sC(o.documentElement),2&t&&sC(o.body),4&t)for(sC(t=o.head),o=t.firstChild;o;){var u=o.nextSibling,i=o.nodeName;o[eV]||"SCRIPT"===i||"STYLE"===i||"LINK"===i&&"stylesheet"===o.rel.toLowerCase()||t.removeChild(o),o=u}}if(0===l){e.removeChild(a),cw(n);return}l--}else"$"===t||"$?"===t||"$!"===t?l++:r=t.charCodeAt(0)-48;else r=0;t=a}while(t);cw(n)}function sb(e){var n=e.firstChild;for(n&&10===n.nodeType&&(n=n.nextSibling);n;){var t=n;switch(n=n.nextSibling,t.nodeName){case"HTML":case"HEAD":case"BODY":sb(t),eQ(t);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if("stylesheet"===t.rel.toLowerCase())continue}e.removeChild(t)}}function sk(e){return"$!"===e.data||"$?"===e.data&&"complete"===e.ownerDocument.readyState}function sw(e){for(;null!=e;e=e.nextSibling){var n=e.nodeType;if(1===n||3===n)break;if(8===n){if("$"===(n=e.data)||"$!"===n||"$?"===n||"F!"===n||"F"===n)break;if("/$"===n)return null}}return e}var sS=null;function sx(e){e=e.previousSibling;for(var n=0;e;){if(8===e.nodeType){var t=e.data;if("$"===t||"$!"===t||"$?"===t){if(0===n)return e;n--}else"/$"===t&&n++}e=e.previousSibling}return null}function sE(e,n,t){switch(n=su(t),e){case"html":if(!(e=n.documentElement))throw Error(i(452));return e;case"head":if(!(e=n.head))throw Error(i(453));return e;case"body":if(!(e=n.body))throw Error(i(454));return e;default:throw Error(i(451))}}function sC(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);eQ(e)}var sz=new Map,sP=new Set;function sN(e){return"function"==typeof e.getRootNode?e.getRootNode():9===e.nodeType?e:e.ownerDocument}var sL=O.d;O.d={f:function(){var e=sL.f(),n=ie();return e||n},r:function(e){var n=eB(e);null!==n&&5===n.tag&&"form"===n.type?aK(n):sL.r(e)},D:function(e){sL.D(e),s_("dns-prefetch",e,null)},C:function(e,n){sL.C(e,n),s_("preconnect",e,n)},L:function(e,n,t){if(sL.L(e,n,t),sT&&e&&n){var r='link[rel="preload"][as="'+nn(n)+'"]';"image"===n&&t&&t.imageSrcSet?(r+='[imagesrcset="'+nn(t.imageSrcSet)+'"]',"string"==typeof t.imageSizes&&(r+='[imagesizes="'+nn(t.imageSizes)+'"]')):r+='[href="'+nn(e)+'"]';var l=r;switch(n){case"style":l=sD(e);break;case"script":l=sA(e)}sz.has(l)||(e=p({rel:"preload",href:"image"===n&&t&&t.imageSrcSet?void 0:e,as:n},t),sz.set(l,e),null!==sT.querySelector(r)||"style"===n&&sT.querySelector(sM(l))||"script"===n&&sT.querySelector(sR(l))||(sl(n=sT.createElement("link"),"link",e),eK(n),sT.head.appendChild(n)))}},m:function(e,n){if(sL.m(e,n),sT&&e){var t=n&&"string"==typeof n.as?n.as:"script",r='link[rel="modulepreload"][as="'+nn(t)+'"][href="'+nn(e)+'"]',l=r;switch(t){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":l=sA(e)}if(!sz.has(l)&&(e=p({rel:"modulepreload",href:e},n),sz.set(l,e),null===sT.querySelector(r))){switch(t){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(sT.querySelector(sR(l)))return}sl(t=sT.createElement("link"),"link",e),eK(t),sT.head.appendChild(t)}}},X:function(e,n){if(sL.X(e,n),sT&&e){var t=eq(sT).hoistableScripts,r=sA(e),l=t.get(r);l||((l=sT.querySelector(sR(r)))||(e=p({src:e,async:!0},n),(n=sz.get(r))&&sH(e,n),eK(l=sT.createElement("script")),sl(l,"link",e),sT.head.appendChild(l)),l={type:"script",instance:l,count:1,state:null},t.set(r,l))}},S:function(e,n,t){if(sL.S(e,n,t),sT&&e){var r=eq(sT).hoistableStyles,l=sD(e);n=n||"default";var a=r.get(l);if(!a){var o={loading:0,preload:null};if(a=sT.querySelector(sM(l)))o.loading=5;else{e=p({rel:"stylesheet",href:e,"data-precedence":n},t),(t=sz.get(l))&&sj(e,t);var u=a=sT.createElement("link");eK(u),sl(u,"link",e),u._p=new Promise(function(e,n){u.onload=e,u.onerror=n}),u.addEventListener("load",function(){o.loading|=1}),u.addEventListener("error",function(){o.loading|=2}),o.loading|=4,sU(a,n,sT)}a={type:"stylesheet",instance:a,count:1,state:o},r.set(l,a)}}},M:function(e,n){if(sL.M(e,n),sT&&e){var t=eq(sT).hoistableScripts,r=sA(e),l=t.get(r);l||((l=sT.querySelector(sR(r)))||(e=p({src:e,async:!0,type:"module"},n),(n=sz.get(r))&&sH(e,n),eK(l=sT.createElement("script")),sl(l,"link",e),sT.head.appendChild(l)),l={type:"script",instance:l,count:1,state:null},t.set(r,l))}}};var sT="undefined"==typeof document?null:document;function s_(e,n,t){if(sT&&"string"==typeof n&&n){var r=nn(n);r='link[rel="'+e+'"][href="'+r+'"]',"string"==typeof t&&(r+='[crossorigin="'+t+'"]'),sP.has(r)||(sP.add(r),e={rel:e,crossOrigin:t,href:n},null===sT.querySelector(r)&&(sl(n=sT.createElement("link"),"link",e),eK(n),sT.head.appendChild(n)))}}function sF(e,n,t,r){var l=(l=$.current)?sN(l):null;if(!l)throw Error(i(446));switch(e){case"meta":case"title":return null;case"style":return"string"==typeof t.precedence&&"string"==typeof t.href?(n=sD(t.href),(r=(t=eq(l).hoistableStyles).get(n))||(r={type:"style",instance:null,count:0,state:null},t.set(n,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if("stylesheet"===t.rel&&"string"==typeof t.href&&"string"==typeof t.precedence){e=sD(t.href);var a,o,u,s,c=eq(l).hoistableStyles,f=c.get(e);if(f||(l=l.ownerDocument||l,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,f),(c=l.querySelector(sM(e)))&&!c._p&&(f.instance=c,f.state.loading=5),sz.has(e)||(t={rel:"preload",as:"style",href:t.href,crossOrigin:t.crossOrigin,integrity:t.integrity,media:t.media,hrefLang:t.hrefLang,referrerPolicy:t.referrerPolicy},sz.set(e,t),c||(a=l,o=e,u=t,s=f.state,a.querySelector('link[rel="preload"][as="style"]['+o+"]")?s.loading=1:(s.preload=o=a.createElement("link"),o.addEventListener("load",function(){return s.loading|=1}),o.addEventListener("error",function(){return s.loading|=2}),sl(o,"link",u),eK(o),a.head.appendChild(o))))),n&&null===r)throw Error(i(528,""));return f}if(n&&null!==r)throw Error(i(529,""));return null;case"script":return n=t.async,"string"==typeof(t=t.src)&&n&&"function"!=typeof n&&"symbol"!=typeof n?(n=sA(t),(r=(t=eq(l).hoistableScripts).get(n))||(r={type:"script",instance:null,count:0,state:null},t.set(n,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,e))}}function sD(e){return'href="'+nn(e)+'"'}function sM(e){return'link[rel="stylesheet"]['+e+"]"}function sO(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function sA(e){return'[src="'+nn(e)+'"]'}function sR(e){return"script[async]"+e}function sI(e,n,t){if(n.count++,null===n.instance)switch(n.type){case"style":var r=e.querySelector('style[data-href~="'+nn(t.href)+'"]');if(r)return n.instance=r,eK(r),r;var l=p({},t,{"data-href":t.href,"data-precedence":t.precedence,href:null,precedence:null});return eK(r=(e.ownerDocument||e).createElement("style")),sl(r,"style",l),sU(r,t.precedence,e),n.instance=r;case"stylesheet":l=sD(t.href);var a=e.querySelector(sM(l));if(a)return n.state.loading|=4,n.instance=a,eK(a),a;r=sO(t),(l=sz.get(l))&&sj(r,l),eK(a=(e.ownerDocument||e).createElement("link"));var o=a;return o._p=new Promise(function(e,n){o.onload=e,o.onerror=n}),sl(a,"link",r),n.state.loading|=4,sU(a,t.precedence,e),n.instance=a;case"script":if(a=sA(t.src),l=e.querySelector(sR(a)))return n.instance=l,eK(l),l;return r=t,(l=sz.get(a))&&sH(r=p({},t),l),eK(l=(e=e.ownerDocument||e).createElement("script")),sl(l,"link",r),e.head.appendChild(l),n.instance=l;case"void":return null;default:throw Error(i(443,n.type))}return"stylesheet"===n.type&&0==(4&n.state.loading)&&(r=n.instance,n.state.loading|=4,sU(r,t.precedence,e)),n.instance}function sU(e,n,t){for(var r=t.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=r.length?r[r.length-1]:null,a=l,o=0;o title"):null)}function sB(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var sW=null;function sq(){}function sK(){if(this.count--,0===this.count){if(this.stylesheets)sX(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sY=null;function sX(e,n){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sY=new Map,n.forEach(sG,e),sY=null,sK.call(e))}function sG(e,n){if(!(4&n.state.loading)){var t=sY.get(e);if(t)var r=t.get(null);else{t=new Map,sY.set(e,t);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{o.d(r,{$:()=>t});function t(){for(var e,r,o=0,t="",a=arguments.length;o{o.d(r,{QP:()=>ed});let t=e=>{let r=l(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:e=>{let o=e.split("-");return""===o[0]&&1!==o.length&&o.shift(),a(o,r)||s(e)},getConflictingClassGroupIds:(e,r)=>{let a=o[e]||[];return r&&t[e]?[...a,...t[e]]:a}}},a=(e,r)=>{if(0===e.length)return r.classGroupId;let o=e[0],t=r.nextPart.get(o),n=t?a(e.slice(1),t):void 0;if(n)return n;if(0===r.validators.length)return;let s=e.join("-");return r.validators.find(({validator:e})=>e(s))?.classGroupId},n=/^\[(.+)\]$/,s=e=>{if(n.test(e)){let r=n.exec(e)[1],o=r?.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}},l=e=>{let{theme:r,classGroups:o}=e,t={nextPart:new Map,validators:[]};for(let e in o)i(o[e],t,e,r);return t},i=(e,r,o,t)=>{e.forEach(e=>{if("string"==typeof e){(""===e?r:d(r,e)).classGroupId=o;return}if("function"==typeof e)return c(e)?void i(e(t),r,o,t):void r.validators.push({validator:e,classGroupId:o});Object.entries(e).forEach(([e,a])=>{i(a,d(r,e),o,t)})})},d=(e,r)=>{let o=e;return r.split("-").forEach(e=>{o.nextPart.has(e)||o.nextPart.set(e,{nextPart:new Map,validators:[]}),o=o.nextPart.get(e)}),o},c=e=>e.isThemeGetter,m=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=new Map,t=new Map,a=(a,n)=>{o.set(a,n),++r>e&&(r=0,t=o,o=new Map)};return{get(e){let r=o.get(e);return void 0!==r?r:void 0!==(r=t.get(e))?(a(e,r),r):void 0},set(e,r){o.has(e)?o.set(e,r):a(e,r)}}},p=e=>{let{prefix:r,experimentalParseClassName:o}=e,t=e=>{let r,o=[],t=0,a=0,n=0;for(let s=0;sn?r-n:void 0}};if(r){let e=r+":",o=t;t=r=>r.startsWith(e)?o(r.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:r,maybePostfixModifierPosition:void 0}}if(o){let e=t;t=r=>o({className:r,parseClassName:e})}return t},u=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,b=e=>{let r=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;let o=[],t=[];return e.forEach(e=>{"["===e[0]||r[e]?(o.push(...t.sort(),e),t=[]):t.push(e)}),o.push(...t.sort()),o}},f=e=>({cache:m(e.cacheSize),parseClassName:p(e),sortModifiers:b(e),...t(e)}),g=/\s+/,h=(e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:a,sortModifiers:n}=r,s=[],l=e.trim().split(g),i="";for(let e=l.length-1;e>=0;e-=1){let r=l[e],{isExternal:d,modifiers:c,hasImportantModifier:m,baseClassName:p,maybePostfixModifierPosition:u}=o(r);if(d){i=r+(i.length>0?" "+i:i);continue}let b=!!u,f=t(b?p.substring(0,u):p);if(!f){if(!b||!(f=t(p))){i=r+(i.length>0?" "+i:i);continue}b=!1}let g=n(c).join(":"),h=m?g+"!":g,k=h+f;if(s.includes(k))continue;s.push(k);let w=a(f,b);for(let e=0;e0?" "+i:i)}return i};function k(){let e,r,o=0,t="";for(;o{let r;if("string"==typeof e)return e;let o="";for(let t=0;t{let r=r=>r[e]||[];return r.isThemeGetter=!0,r},y=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,v=/^\((?:(\w[\w-]*):)?(.+)\)$/i,z=/^\d+\/\d+$/,j=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,C=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,N=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,M=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,E=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,P=e=>z.test(e),$=e=>!!e&&!Number.isNaN(Number(e)),G=e=>!!e&&Number.isInteger(Number(e)),A=e=>e.endsWith("%")&&$(e.slice(0,-1)),I=e=>j.test(e),W=()=>!0,_=e=>C.test(e)&&!N.test(e),S=()=>!1,L=e=>M.test(e),O=e=>E.test(e),T=e=>!R(e)&&!F(e),q=e=>ee(e,ea,S),R=e=>y.test(e),U=e=>ee(e,en,_),Z=e=>ee(e,es,$),B=e=>ee(e,eo,S),Q=e=>ee(e,et,O),D=e=>ee(e,ei,L),F=e=>v.test(e),H=e=>er(e,en),J=e=>er(e,el),K=e=>er(e,eo),V=e=>er(e,ea),X=e=>er(e,et),Y=e=>er(e,ei,!0),ee=(e,r,o)=>{let t=y.exec(e);return!!t&&(t[1]?r(t[1]):o(t[2]))},er=(e,r,o=!1)=>{let t=v.exec(e);return!!t&&(t[1]?r(t[1]):o)},eo=e=>"position"===e||"percentage"===e,et=e=>"image"===e||"url"===e,ea=e=>"length"===e||"size"===e||"bg-size"===e,en=e=>"length"===e,es=e=>"number"===e,el=e=>"family-name"===e,ei=e=>"shadow"===e;Symbol.toStringTag;let ed=function(e,...r){let o,t,a,n=function(l){return t=(o=f(r.reduce((e,r)=>r(e),e()))).cache.get,a=o.cache.set,n=s,s(l)};function s(e){let r=t(e);if(r)return r;let n=h(e,o);return a(e,n),n}return function(){return n(k.apply(null,arguments))}}(()=>{let e=x("color"),r=x("font"),o=x("text"),t=x("font-weight"),a=x("tracking"),n=x("leading"),s=x("breakpoint"),l=x("container"),i=x("spacing"),d=x("radius"),c=x("shadow"),m=x("inset-shadow"),p=x("text-shadow"),u=x("drop-shadow"),b=x("blur"),f=x("perspective"),g=x("aspect"),h=x("ease"),k=x("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...y(),F,R],z=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],C=()=>[F,R,i],N=()=>[P,"full","auto",...C()],M=()=>[G,"none","subgrid",F,R],E=()=>["auto",{span:["full",G,F,R]},G,F,R],_=()=>[G,"auto",F,R],S=()=>["auto","min","max","fr",F,R],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],O=()=>["start","end","center","stretch","center-safe","end-safe"],ee=()=>["auto",...C()],er=()=>[P,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],eo=()=>[e,F,R],et=()=>[...y(),K,B,{position:[F,R]}],ea=()=>["no-repeat",{repeat:["","x","y","space","round"]}],en=()=>["auto","cover","contain",V,q,{size:[F,R]}],es=()=>[A,H,U],el=()=>["","none","full",d,F,R],ei=()=>["",$,H,U],ed=()=>["solid","dashed","dotted","double"],ec=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],em=()=>[$,A,K,B],ep=()=>["","none",b,F,R],eu=()=>["none",$,F,R],eb=()=>["none",$,F,R],ef=()=>[$,F,R],eg=()=>[P,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[I],breakpoint:[I],color:[W],container:[I],"drop-shadow":[I],ease:["in","out","in-out"],font:[T],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[I],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[I],shadow:[I],spacing:["px",$],text:[I],"text-shadow":[I],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",P,R,F,g]}],container:["container"],columns:[{columns:[$,R,F,l]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{start:N()}],end:[{end:N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[G,"auto",F,R]}],basis:[{basis:[P,"full","auto",l,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[$,P,"auto","initial","none",R]}],grow:[{grow:["",$,F,R]}],shrink:[{shrink:["",$,F,R]}],order:[{order:[G,"first","last","none",F,R]}],"grid-cols":[{"grid-cols":M()}],"col-start-end":[{col:E()}],"col-start":[{"col-start":_()}],"col-end":[{"col-end":_()}],"grid-rows":[{"grid-rows":M()}],"row-start-end":[{row:E()}],"row-start":[{"row-start":_()}],"row-end":[{"row-end":_()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":S()}],"auto-rows":[{"auto-rows":S()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...O(),"normal"]}],"justify-self":[{"justify-self":["auto",...O()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...O(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...O(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...O(),"baseline"]}],"place-self":[{"place-self":["auto",...O()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:er()}],w:[{w:[l,"screen",...er()]}],"min-w":[{"min-w":[l,"screen","none",...er()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[s]},...er()]}],h:[{h:["screen","lh",...er()]}],"min-h":[{"min-h":["screen","lh","none",...er()]}],"max-h":[{"max-h":["screen","lh",...er()]}],"font-size":[{text:["base",o,H,U]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,F,Z]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",A,R]}],"font-family":[{font:[J,R,r]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,F,R]}],"line-clamp":[{"line-clamp":[$,"none",F,Z]}],leading:[{leading:[n,...C()]}],"list-image":[{"list-image":["none",F,R]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",F,R]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:eo()}],"text-color":[{text:eo()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ed(),"wavy"]}],"text-decoration-thickness":[{decoration:[$,"from-font","auto",F,U]}],"text-decoration-color":[{decoration:eo()}],"underline-offset":[{"underline-offset":[$,"auto",F,R]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",F,R]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",F,R]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:et()}],"bg-repeat":[{bg:ea()}],"bg-size":[{bg:en()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},G,F,R],radial:["",F,R],conic:[G,F,R]},X,Q]}],"bg-color":[{bg:eo()}],"gradient-from-pos":[{from:es()}],"gradient-via-pos":[{via:es()}],"gradient-to-pos":[{to:es()}],"gradient-from":[{from:eo()}],"gradient-via":[{via:eo()}],"gradient-to":[{to:eo()}],rounded:[{rounded:el()}],"rounded-s":[{"rounded-s":el()}],"rounded-e":[{"rounded-e":el()}],"rounded-t":[{"rounded-t":el()}],"rounded-r":[{"rounded-r":el()}],"rounded-b":[{"rounded-b":el()}],"rounded-l":[{"rounded-l":el()}],"rounded-ss":[{"rounded-ss":el()}],"rounded-se":[{"rounded-se":el()}],"rounded-ee":[{"rounded-ee":el()}],"rounded-es":[{"rounded-es":el()}],"rounded-tl":[{"rounded-tl":el()}],"rounded-tr":[{"rounded-tr":el()}],"rounded-br":[{"rounded-br":el()}],"rounded-bl":[{"rounded-bl":el()}],"border-w":[{border:ei()}],"border-w-x":[{"border-x":ei()}],"border-w-y":[{"border-y":ei()}],"border-w-s":[{"border-s":ei()}],"border-w-e":[{"border-e":ei()}],"border-w-t":[{"border-t":ei()}],"border-w-r":[{"border-r":ei()}],"border-w-b":[{"border-b":ei()}],"border-w-l":[{"border-l":ei()}],"divide-x":[{"divide-x":ei()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ei()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ed(),"hidden","none"]}],"divide-style":[{divide:[...ed(),"hidden","none"]}],"border-color":[{border:eo()}],"border-color-x":[{"border-x":eo()}],"border-color-y":[{"border-y":eo()}],"border-color-s":[{"border-s":eo()}],"border-color-e":[{"border-e":eo()}],"border-color-t":[{"border-t":eo()}],"border-color-r":[{"border-r":eo()}],"border-color-b":[{"border-b":eo()}],"border-color-l":[{"border-l":eo()}],"divide-color":[{divide:eo()}],"outline-style":[{outline:[...ed(),"none","hidden"]}],"outline-offset":[{"outline-offset":[$,F,R]}],"outline-w":[{outline:["",$,H,U]}],"outline-color":[{outline:eo()}],shadow:[{shadow:["","none",c,Y,D]}],"shadow-color":[{shadow:eo()}],"inset-shadow":[{"inset-shadow":["none",m,Y,D]}],"inset-shadow-color":[{"inset-shadow":eo()}],"ring-w":[{ring:ei()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:eo()}],"ring-offset-w":[{"ring-offset":[$,U]}],"ring-offset-color":[{"ring-offset":eo()}],"inset-ring-w":[{"inset-ring":ei()}],"inset-ring-color":[{"inset-ring":eo()}],"text-shadow":[{"text-shadow":["none",p,Y,D]}],"text-shadow-color":[{"text-shadow":eo()}],opacity:[{opacity:[$,F,R]}],"mix-blend":[{"mix-blend":[...ec(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ec()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[$]}],"mask-image-linear-from-pos":[{"mask-linear-from":em()}],"mask-image-linear-to-pos":[{"mask-linear-to":em()}],"mask-image-linear-from-color":[{"mask-linear-from":eo()}],"mask-image-linear-to-color":[{"mask-linear-to":eo()}],"mask-image-t-from-pos":[{"mask-t-from":em()}],"mask-image-t-to-pos":[{"mask-t-to":em()}],"mask-image-t-from-color":[{"mask-t-from":eo()}],"mask-image-t-to-color":[{"mask-t-to":eo()}],"mask-image-r-from-pos":[{"mask-r-from":em()}],"mask-image-r-to-pos":[{"mask-r-to":em()}],"mask-image-r-from-color":[{"mask-r-from":eo()}],"mask-image-r-to-color":[{"mask-r-to":eo()}],"mask-image-b-from-pos":[{"mask-b-from":em()}],"mask-image-b-to-pos":[{"mask-b-to":em()}],"mask-image-b-from-color":[{"mask-b-from":eo()}],"mask-image-b-to-color":[{"mask-b-to":eo()}],"mask-image-l-from-pos":[{"mask-l-from":em()}],"mask-image-l-to-pos":[{"mask-l-to":em()}],"mask-image-l-from-color":[{"mask-l-from":eo()}],"mask-image-l-to-color":[{"mask-l-to":eo()}],"mask-image-x-from-pos":[{"mask-x-from":em()}],"mask-image-x-to-pos":[{"mask-x-to":em()}],"mask-image-x-from-color":[{"mask-x-from":eo()}],"mask-image-x-to-color":[{"mask-x-to":eo()}],"mask-image-y-from-pos":[{"mask-y-from":em()}],"mask-image-y-to-pos":[{"mask-y-to":em()}],"mask-image-y-from-color":[{"mask-y-from":eo()}],"mask-image-y-to-color":[{"mask-y-to":eo()}],"mask-image-radial":[{"mask-radial":[F,R]}],"mask-image-radial-from-pos":[{"mask-radial-from":em()}],"mask-image-radial-to-pos":[{"mask-radial-to":em()}],"mask-image-radial-from-color":[{"mask-radial-from":eo()}],"mask-image-radial-to-color":[{"mask-radial-to":eo()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[$]}],"mask-image-conic-from-pos":[{"mask-conic-from":em()}],"mask-image-conic-to-pos":[{"mask-conic-to":em()}],"mask-image-conic-from-color":[{"mask-conic-from":eo()}],"mask-image-conic-to-color":[{"mask-conic-to":eo()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:et()}],"mask-repeat":[{mask:ea()}],"mask-size":[{mask:en()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",F,R]}],filter:[{filter:["","none",F,R]}],blur:[{blur:ep()}],brightness:[{brightness:[$,F,R]}],contrast:[{contrast:[$,F,R]}],"drop-shadow":[{"drop-shadow":["","none",u,Y,D]}],"drop-shadow-color":[{"drop-shadow":eo()}],grayscale:[{grayscale:["",$,F,R]}],"hue-rotate":[{"hue-rotate":[$,F,R]}],invert:[{invert:["",$,F,R]}],saturate:[{saturate:[$,F,R]}],sepia:[{sepia:["",$,F,R]}],"backdrop-filter":[{"backdrop-filter":["","none",F,R]}],"backdrop-blur":[{"backdrop-blur":ep()}],"backdrop-brightness":[{"backdrop-brightness":[$,F,R]}],"backdrop-contrast":[{"backdrop-contrast":[$,F,R]}],"backdrop-grayscale":[{"backdrop-grayscale":["",$,F,R]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[$,F,R]}],"backdrop-invert":[{"backdrop-invert":["",$,F,R]}],"backdrop-opacity":[{"backdrop-opacity":[$,F,R]}],"backdrop-saturate":[{"backdrop-saturate":[$,F,R]}],"backdrop-sepia":[{"backdrop-sepia":["",$,F,R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",F,R]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[$,"initial",F,R]}],ease:[{ease:["linear","initial",h,F,R]}],delay:[{delay:[$,F,R]}],animate:[{animate:["none",k,F,R]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[f,F,R]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:eu()}],"rotate-x":[{"rotate-x":eu()}],"rotate-y":[{"rotate-y":eu()}],"rotate-z":[{"rotate-z":eu()}],scale:[{scale:eb()}],"scale-x":[{"scale-x":eb()}],"scale-y":[{"scale-y":eb()}],"scale-z":[{"scale-z":eb()}],"scale-3d":["scale-3d"],skew:[{skew:ef()}],"skew-x":[{"skew-x":ef()}],"skew-y":[{"skew-y":ef()}],transform:[{transform:[F,R,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eg()}],"translate-x":[{"translate-x":eg()}],"translate-y":[{"translate-y":eg()}],"translate-z":[{"translate-z":eg()}],"translate-none":["translate-none"],accent:[{accent:eo()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:eo()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",F,R]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",F,R]}],fill:[{fill:["none",...eo()]}],"stroke-w":[{stroke:[$,H,U,Z]}],stroke:[{stroke:["none",...eo()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})},9946:(e,r,o)=>{o.d(r,{A:()=>m});var t=o(2115);let a=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,o)=>o?o.toUpperCase():r.toLowerCase()),s=e=>{let r=n(e);return r.charAt(0).toUpperCase()+r.slice(1)},l=function(){for(var e=arguments.length,r=Array(e),o=0;o!!e&&""!==e.trim()&&o.indexOf(e)===r).join(" ").trim()},i=e=>{for(let r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0};var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let c=(0,t.forwardRef)((e,r)=>{let{color:o="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:c="",children:m,iconNode:p,...u}=e;return(0,t.createElement)("svg",{ref:r,...d,width:a,height:a,stroke:o,strokeWidth:s?24*Number(n)/Number(a):n,className:l("lucide",c),...!m&&!i(u)&&{"aria-hidden":"true"},...u},[...p.map(e=>{let[r,o]=e;return(0,t.createElement)(r,o)}),...Array.isArray(m)?m:[m]])}),m=(e,r)=>{let o=(0,t.forwardRef)((o,n)=>{let{className:i,...d}=o;return(0,t.createElement)(c,{ref:n,iconNode:r,className:l("lucide-".concat(a(s(e))),"lucide-".concat(e),i),...d})});return o.displayName=s(e),o}}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/684-678d043d8979a8f2.js b/.netlify/static/_next/static/chunks/684-678d043d8979a8f2.js deleted file mode 100644 index b8449bb..0000000 --- a/.netlify/static/_next/static/chunks/684-678d043d8979a8f2.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[684],{214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return n}}),r(6361),r(427);let n=e=>(e.startsWith("/"),e);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},427:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},589:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},666:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function u(){throw Error("setTimeout has not been defined")}function l(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:u}catch(e){t=u}try{r="function"==typeof clearTimeout?clearTimeout:l}catch(e){r=l}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===u||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var i=[],c=!1,s=-1;function f(){c&&n&&(c=!1,n.length?i=n.concat(i):s=-1,i.length&&d())}function d(){if(!c){var e=a(f);c=!0;for(var t=i.length;t;){for(n=i,i=[];++s1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectBoundary:function(){return f},RedirectErrorBoundary:function(){return s}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(8999),a=r(6825),i=r(2210);function c(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{n===i.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class s extends u.default.Component{static getDerivedStateFromError(e){if((0,i.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(c,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function f(e){let{children:t}=e,r=(0,l.useRouter)();return(0,o.jsx)(s,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},708:(e,t)=>{"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTML_LIMITED_BOT_UA_RE:function(){return n.HTML_LIMITED_BOT_UA_RE},HTML_LIMITED_BOT_UA_RE_STRING:function(){return u},getBotType:function(){return i},isBot:function(){return a}});let n=r(5072),o=/Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i,u=n.HTML_LIMITED_BOT_UA_RE.source;function l(e){return n.HTML_LIMITED_BOT_UA_RE.test(e)}function a(e){return o.test(e)||l(e)}function i(e){return o.test(e)?"dom":l(e)?"html":void 0}},878:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let n=r(4758),o=r(3118);function u(e,t,r,u,l){let{tree:a,seedData:i,head:c,isRootRender:s}=u;if(null===i)return!1;if(s){let o=i[1];r.loading=i[3],r.rsc=o,r.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(e,r,t,a,i,c,l)}else r.rsc=t.rsc,r.prefetchRsc=t.prefetchRsc,r.parallelRoutes=new Map(t.parallelRoutes),r.loading=t.loading,(0,o.fillCacheWithNewSubTreeData)(e,r,t,u,l);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},886:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return l},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let n=r(2115),o=(0,n.createContext)(null),u=(0,n.createContext)(null),l=(0,n.createContext)(null)},894:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return o}});let n=r(5155);function o(e){let{Component:t,searchParams:o,params:u,promises:l}=e;{let{createRenderSearchParamsFromClient:e}=r(7205),l=e(o),{createRenderParamsFromClient:a}=r(3558),i=a(u);return(0,n.jsx)(t,{params:i,searchParams:l})}}r(9837),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1027:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{dispatchAppRouterAction:function(){return l},useActionQueue:function(){return a}});let n=r(6966)._(r(2115)),o=r(5122),u=null;function l(e){if(null===u)throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0});u(e)}function a(e){let[t,r]=n.default.useState(e.state);return u=t=>e.dispatch(t,r),(0,o.isThenable)(t)?(0,n.use)(t):t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1127:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"matchSegment",{enumerable:!0,get:function(){return r}});let r=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1139:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(5227);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1315:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"assignLocation",{enumerable:!0,get:function(){return o}});let n=r(5929);function o(e,t){if(e.startsWith(".")){let r=t.origin+t.pathname;return new URL((r.endsWith("/")?r:r+"/")+e)}return new URL((0,n.addBasePath)(e),t.href)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1408:(e,t,r)=>{"use strict";e.exports=r(9393)},1426:(e,t,r)=>{"use strict";var n=r(9509),o=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),y=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,g={};function v(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}function m(){}function E(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var O=E.prototype=new m;O.constructor=E,b(O,v.prototype),O.isPureReactComponent=!0;var R=Array.isArray,P={H:null,A:null,T:null,S:null},j=Object.prototype.hasOwnProperty;function T(e,t,r,n,u,l){return{$$typeof:o,type:e,key:t,ref:void 0!==(r=l.ref)?r:null,props:l}}function S(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var M=/\/+/g;function w(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function C(){}function x(e,t,r){if(null==e)return e;var n=[],l=0;return!function e(t,r,n,l,a){var i,c,s,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case u:d=!0;break;case h:return e((d=t._init)(t._payload),r,n,l,a)}}if(d)return a=a(t),d=""===l?"."+w(t,0):l,R(a)?(n="",null!=d&&(n=d.replace(M,"$&/")+"/"),e(a,r,n,"",function(e){return e})):null!=a&&(S(a)&&(i=a,c=n+(null==a.key||t&&t.key===a.key?"":(""+a.key).replace(M,"$&/")+"/")+d,a=T(i.type,c,void 0,void 0,void 0,i.props)),r.push(a)),1;d=0;var p=""===l?".":l+":";if(R(t))for(var _=0;_{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DYNAMIC_STALETIME_MS:function(){return d},STATIC_STALETIME_MS:function(){return p},createSeededPrefetchCacheEntry:function(){return c},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let n=r(8586),o=r(9818),u=r(9154);function l(e,t,r){let n=e.pathname;return(t&&(n+=e.search),r)?""+r+"%"+n:n}function a(e,t,r){return l(e,t===o.PrefetchKind.FULL,r)}function i(e){let{url:t,nextUrl:r,tree:n,prefetchCache:u,kind:a,allowAliasing:i=!0}=e,c=function(e,t,r,n,u){for(let a of(void 0===t&&(t=o.PrefetchKind.TEMPORARY),[r,null])){let r=l(e,!0,a),i=l(e,!1,a),c=e.search?r:i,s=n.get(c);if(s&&u){if(s.url.pathname===e.pathname&&s.url.search!==e.search)return{...s,aliased:!0};return s}let f=n.get(i);if(u&&e.search&&t!==o.PrefetchKind.FULL&&f&&!f.key.includes("%"))return{...f,aliased:!0}}if(t!==o.PrefetchKind.FULL&&u){for(let t of n.values())if(t.url.pathname===e.pathname&&!t.key.includes("%"))return{...t,aliased:!0}}}(t,a,r,u,i);return c?(c.status=h(c),c.kind!==o.PrefetchKind.FULL&&a===o.PrefetchKind.FULL&&c.data.then(e=>{if(!(Array.isArray(e.flightData)&&e.flightData.some(e=>e.isRootRender&&null!==e.seedData)))return s({tree:n,url:t,nextUrl:r,prefetchCache:u,kind:null!=a?a:o.PrefetchKind.TEMPORARY})}),a&&c.kind===o.PrefetchKind.TEMPORARY&&(c.kind=a),c):s({tree:n,url:t,nextUrl:r,prefetchCache:u,kind:a||o.PrefetchKind.TEMPORARY})}function c(e){let{nextUrl:t,tree:r,prefetchCache:n,url:u,data:l,kind:i}=e,c=l.couldBeIntercepted?a(u,i,t):a(u,i),s={treeAtTimeOfPrefetch:r,data:Promise.resolve(l),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),staleTime:-1,key:c,status:o.PrefetchCacheEntryStatus.fresh,url:u};return n.set(c,s),s}function s(e){let{url:t,kind:r,tree:l,nextUrl:i,prefetchCache:c}=e,s=a(t,r),f=u.prefetchQueue.enqueue(()=>(0,n.fetchServerResponse)(t,{flightRouterState:l,nextUrl:i,prefetchKind:r}).then(e=>{let r;if(e.couldBeIntercepted&&(r=function(e){let{url:t,nextUrl:r,prefetchCache:n,existingCacheKey:o}=e,u=n.get(o);if(!u)return;let l=a(t,u.kind,r);return n.set(l,{...u,key:l}),n.delete(o),l}({url:t,existingCacheKey:s,nextUrl:i,prefetchCache:c})),e.prerendered){let t=c.get(null!=r?r:s);t&&(t.kind=o.PrefetchKind.FULL,-1!==e.staleTime&&(t.staleTime=e.staleTime))}return e})),d={treeAtTimeOfPrefetch:l,data:f,kind:r,prefetchTime:Date.now(),lastUsedTime:null,staleTime:-1,key:s,status:o.PrefetchCacheEntryStatus.fresh,url:t};return c.set(s,d),d}function f(e){for(let[t,r]of e)h(r)===o.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("0"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:r,lastUsedTime:n,staleTime:u}=e;return -1!==u?Date.now(){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BrowserResolvedMetadata",{enumerable:!0,get:function(){return o}});let n=r(2115);function o(e){let{promise:t}=e,{metadata:r,error:o}=(0,n.use)(t);return o?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1646:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1747:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(427);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},1818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findSourceMapURL",{enumerable:!0,get:function(){return r}});let r=void 0;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1822:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return r}});let r={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2004:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let n=r(5637);function o(e,t,r){for(let o in r[1]){let u=r[1][o][0],l=(0,n.createRouterCacheKey)(u),a=t.parallelRoutes.get(o);if(a){let t=new Map(a);t.delete(l),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2115:(e,t,r)=>{"use strict";e.exports=r(1426)},2210:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return u},isRedirectError:function(){return l}});let n=r(4420),o="NEXT_REDIRECT";var u=function(e){return e.push="push",e.replace="replace",e}({});function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,u]=t,l=t.slice(2,-2).join(";"),a=Number(t.at(-2));return r===o&&("replace"===u||"push"===u)&&"string"==typeof l&&!isNaN(a)&&a in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2223:(e,t)=>{"use strict";function r(e,t){var r=e.length;for(e.push(t);0>>1,o=e[n];if(0>>1;nu(i,r))cu(s,i)?(e[n]=s,e[c]=r,n=c):(e[n]=i,e[a]=r,n=a);else if(cu(s,r))e[n]=s,e[c]=r,n=c;else break}}return t}function u(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,b=!1,g=!1,v="function"==typeof setTimeout?setTimeout:null,m="function"==typeof clearTimeout?clearTimeout:null,E="undefined"!=typeof setImmediate?setImmediate:null;function O(e){for(var t=n(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,r(s,t);else break;t=n(f)}}function R(e){if(b=!1,O(e),!_)if(null!==n(s))_=!0,P||(P=!0,l());else{var t=n(f);null!==t&&A(R,t.startTime-e)}}var P=!1,j=-1,T=5,S=-1;function M(){return!!g||!(t.unstable_now()-Se&&M());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,O(e),r=!0;break t}p===n(s)&&o(s),O(e)}else o(s);p=n(s)}if(null!==p)r=!0;else{var c=n(f);null!==c&&A(R,c.startTime-e),r=!1}}break e}finally{p=null,h=u,y=!1}}}finally{r?l():P=!1}}}if("function"==typeof E)l=function(){E(w)};else if("undefined"!=typeof MessageChannel){var C=new MessageChannel,x=C.port2;C.port1.onmessage=w,l=function(){x.postMessage(null)}}else l=function(){v(w,0)};function A(e,r){j=v(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125a?(e.sortIndex=u,r(f,e),null===n(s)&&e===n(f)&&(b?(m(j),j=-1):b=!0,A(R,u-a))):(e.sortIndex=i,r(s,e),_||y||(_=!0,P||(P=!0,l()))),e},t.unstable_shouldYield=M,t.unstable_wrapCallback=function(e){var t=h;return function(){var r=h;h=t;try{return e.apply(this,arguments)}finally{h=r}}}},2312:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let n=r(5952),o=r(6420);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,r,o=new Promise((e,n)=>{t=e,r=n}),u=async()=>{try{n._(this,l)[l]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,l)[l]--,n._(this,i)[i]()}};return n._(this,a)[a].push({promiseFn:o,task:u}),n._(this,i)[i](),o}bump(e){let t=n._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,a)[a].splice(t,1)[0];n._(this,a)[a].unshift(e),n._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),n._(this,u)[u]=e,n._(this,l)[l]=0,n._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(n._(this,l)[l]0){var t;null==(t=n._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2561:(e,t)=>{"use strict";function r(e){var t;let[r,n,o,u]=e.slice(-4),l=e.slice(0,-4);return{pathToSegment:l.slice(0,-1),segmentPath:l,segment:null!=(t=l[l.length-1])?t:"",tree:r,seedData:n,head:o,isHeadPartial:u,isRootRender:4===e.length}}function n(e){return e.slice(2)}function o(e){return"string"==typeof e?e:e.map(r)}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getFlightDataPartsFromPath:function(){return r},getNextFlightSegmentPath:function(){return n},normalizeFlightData:function(){return o}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2669:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(9248)},2691:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(5637);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];let u=Object.keys(r).filter(e=>"children"!==e);for(let l of("children"in r&&u.unshift("children"),u)){let[u,a]=r[l],i=t.parallelRoutes.get(l);if(!i)continue;let c=(0,n.createRouterCacheKey)(u),s=i.get(c);if(!s)continue;let f=e(s,a,o+"/"+c);if(f)return f}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2816:(e,t)=>{"use strict";function r(e){let t=parseInt(e.slice(0,2),16),r=t>>1&63,n=Array(6);for(let e=0;e<6;e++){let t=r>>5-e&1;n[e]=1===t}return{type:1==(t>>7&1)?"use-cache":"server-action",usedArgs:n,hasRestArgs:1==(1&t)}}function n(e,t){let r=Array(e.length);for(let n=0;n=6&&t.hasRestArgs)&&(r[n]=e[n]);return r}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{extractInfoFromServerReferenceId:function(){return r},omitUnusedArgs:function(){return n}})},2830:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(8229)._(r(2115)).default.createContext({})},2858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=r(6494),o=r(2210);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3118:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{fillCacheWithNewSubTreeData:function(){return i},fillCacheWithNewSubTreeDataButOnlyLoading:function(){return c}});let n=r(2004),o=r(4758),u=r(5637),l=r(8291);function a(e,t,r,a,i,c){let{segmentPath:s,seedData:f,tree:d,head:p}=a,h=t,y=r;for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},3269:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HEADER:function(){return n},FLIGHT_HEADERS:function(){return f},NEXT_DID_POSTPONE_HEADER:function(){return h},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return i},NEXT_HMR_REFRESH_HEADER:function(){return a},NEXT_IS_PRERENDER_HEADER:function(){return b},NEXT_REWRITTEN_PATH_HEADER:function(){return y},NEXT_REWRITTEN_QUERY_HEADER:function(){return _},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return l},NEXT_ROUTER_STALE_TIME_HEADER:function(){return p},NEXT_ROUTER_STATE_TREE_HEADER:function(){return o},NEXT_RSC_UNION_QUERY:function(){return d},NEXT_URL:function(){return c},RSC_CONTENT_TYPE_HEADER:function(){return s},RSC_HEADER:function(){return r}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Router-Segment-Prefetch",a="Next-HMR-Refresh",i="__next_hmr_refresh_hash__",c="Next-Url",s="text/x-component",f=[r,o,u,a,l],d="_rsc",p="x-nextjs-stale-time",h="x-nextjs-postponed",y="x-nextjs-rewritten-path",_="x-nextjs-rewritten-query",b="x-nextjs-prerender";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3506:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"attachHydrationErrorState",{enumerable:!0,get:function(){return u}});let n=r(6465),o=r(9771);function u(e){let t={},r=(0,n.testReactHydrationWarning)(e.message),u=(0,n.isHydrationError)(e);if(!(u||r))return;let l=(0,o.getReactHydrationDiffSegments)(e.message);if(l){let a=l[1];t={...e.details,...o.hydrationErrorState,warning:(a&&!r?null:o.hydrationErrorState.warning)||[(0,n.getDefaultHydrationErrorMessage)(),"",""],notes:r?"":l[0],reactOutputComponentDiff:a},!o.hydrationErrorState.reactOutputComponentDiff&&a&&(o.hydrationErrorState.reactOutputComponentDiff=a),!a&&u&&o.hydrationErrorState.reactOutputComponentDiff&&(t.reactOutputComponentDiff=o.hydrationErrorState.reactOutputComponentDiff)}else o.hydrationErrorState.warning&&(t={...e.details,...o.hydrationErrorState}),o.hydrationErrorState.reactOutputComponentDiff&&(t.reactOutputComponentDiff=o.hydrationErrorState.reactOutputComponentDiff);e.details=t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3507:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return u}});let n=r(8946);function o(e){return void 0!==e}function u(e,t){var r,u;let l=null==(r=t.shouldScroll)||r,a=e.nextUrl;if(o(t.patchedTree)){let r=(0,n.computeChangedPath)(e.tree,t.patchedTree);r?a=r:a||(a=e.canonicalUrl)}return{canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!l&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:t.onlyHashChange||!1,hashFragment:l?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:l?null!=(u=null==t?void 0:t.scrollableSegments)?u:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:a}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3558:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=r(7829).makeUntrackedExoticParams;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3567:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return s}});let n=r(1139),o=r(4758),u=r(8946),l=r(1518),a=r(9818),i=r(4908),c=r(2561);function s(e){var t,r;let{navigatedAt:s,initialFlightData:f,initialCanonicalUrlParts:d,initialParallelRoutes:p,location:h,couldBeIntercepted:y,postponed:_,prerendered:b}=e,g=d.join("/"),v=(0,c.getFlightDataPartsFromPath)(f[0]),{tree:m,seedData:E,head:O}=v,R={lazyData:null,rsc:null==E?void 0:E[1],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:p,loading:null!=(t=null==E?void 0:E[3])?t:null,navigatedAt:s},P=h?(0,n.createHrefFromUrl)(h):g;(0,i.addRefreshMarkerToActiveParallelSegments)(m,P);let j=new Map;(null===p||0===p.size)&&(0,o.fillLazyItemsTillLeafWithHead)(s,R,void 0,m,E,O,void 0);let T={tree:m,cache:R,prefetchCache:j,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:P,nextUrl:null!=(r=(0,u.extractPathFromFlightRouterState)(m)||(null==h?void 0:h.pathname))?r:null};if(h){let e=new URL(""+h.pathname+h.search,h.origin);(0,l.createSeededPrefetchCacheEntry)({url:e,data:{flightData:[v],canonicalUrl:void 0,couldBeIntercepted:!!y,prerendered:b,postponed:_,staleTime:-1},tree:T.tree,prefetchCache:T.prefetchCache,nextUrl:T.nextUrl,kind:b?a.PrefetchKind.FULL:a.PrefetchKind.AUTO})}return T}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3612:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hmrRefreshReducer",{enumerable:!0,get:function(){return n}}),r(8586),r(1139),r(7442),r(9234),r(3894),r(3507),r(878),r(6158),r(6375),r(4108);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3668:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},3678:(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"forbidden",{enumerable:!0,get:function(){return n}}),r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return l}});let n=r(2115),o=r(9818),u=r(1027);async function l(e,t){return new Promise((r,l)=>{(0,n.startTransition)(()=>{(0,u.dispatchAppRouterAction)({type:o.ACTION_SERVER_ACTION,actionId:e,actionArgs:t,resolve:r,reject:l})})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3894:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return v},navigateReducer:function(){return function e(t,r){let{url:E,isExternalUrl:O,navigateType:R,shouldScroll:P,allowAliasing:j}=r,T={},{hash:S}=E,M=(0,o.createHrefFromUrl)(E),w="push"===R;if((0,_.prunePrefetchCache)(t.prefetchCache),T.preserveCustomHistoryState=!1,T.pendingPush=w,O)return v(t,T,E.toString(),w);if(document.getElementById("__next-page-redirect"))return v(t,T,M,w);let C=(0,_.getOrCreatePrefetchCacheEntry)({url:E,nextUrl:t.nextUrl,tree:t.tree,prefetchCache:t.prefetchCache,allowAliasing:j}),{treeAtTimeOfPrefetch:x,data:A}=C;return d.prefetchQueue.bump(A),A.then(d=>{let{flightData:_,canonicalUrl:O,postponed:R}=d,j=Date.now(),A=!1;if(C.lastUsedTime||(C.lastUsedTime=j,A=!0),C.aliased){let n=(0,g.handleAliasedPrefetchEntry)(j,t,_,E,T);return!1===n?e(t,{...r,allowAliasing:!1}):n}if("string"==typeof _)return v(t,T,_,w);let N=O?(0,o.createHrefFromUrl)(O):M;if(S&&t.canonicalUrl.split("#",1)[0]===N.split("#",1)[0])return T.onlyHashChange=!0,T.canonicalUrl=N,T.shouldScroll=P,T.hashFragment=S,T.scrollableSegments=[],(0,s.handleMutable)(t,T);let D=t.tree,U=t.cache,L=[];for(let e of _){let{pathToSegment:r,seedData:o,head:s,isHeadPartial:d,isRootRender:_}=e,g=e.tree,O=["",...r],P=(0,l.applyRouterStatePatchToTree)(O,D,g,M);if(null===P&&(P=(0,l.applyRouterStatePatchToTree)(O,x,g,M)),null!==P){if(o&&_&&R){let e=(0,y.startPPRNavigation)(j,U,D,g,o,s,d,!1,L);if(null!==e){if(null===e.route)return v(t,T,M,w);P=e.route;let r=e.node;null!==r&&(T.cache=r);let o=e.dynamicRequestTree;if(null!==o){let r=(0,n.fetchServerResponse)(E,{flightRouterState:o,nextUrl:t.nextUrl});(0,y.listenForDynamicRequest)(e,r)}}else P=g}else{if((0,i.isNavigatingToNewRootLayout)(D,P))return v(t,T,M,w);let n=(0,p.createEmptyCacheNode)(),o=!1;for(let t of(C.status!==c.PrefetchCacheEntryStatus.stale||A?o=(0,f.applyFlightData)(j,U,n,e,C):(o=function(e,t,r,n){let o=!1;for(let u of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),m(n).map(e=>[...r,...e])))(0,b.clearCacheNodeDataForSegmentPath)(e,t,u),o=!0;return o}(n,U,r,g),C.lastUsedTime=j),(0,a.shouldHardNavigate)(O,D)?(n.rsc=U.rsc,n.prefetchRsc=U.prefetchRsc,(0,u.invalidateCacheBelowFlightSegmentPath)(n,U,r),T.cache=n):o&&(T.cache=n,U=n),m(g))){let e=[...r,...t];e[e.length-1]!==h.DEFAULT_SEGMENT_KEY&&L.push(e)}}D=P}}return T.patchedTree=D,T.canonicalUrl=N,T.scrollableSegments=L,T.hashFragment=S,T.shouldScroll=P,(0,s.handleMutable)(t,T)},()=>t)}}});let n=r(8586),o=r(1139),u=r(4466),l=r(7442),a=r(5567),i=r(9234),c=r(9818),s=r(3507),f=r(878),d=r(9154),p=r(6158),h=r(8291),y=r(4150),_=r(1518),b=r(9880),g=r(5563);function v(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,s.handleMutable)(e,t)}function m(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of m(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}r(6005),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3942:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},3950:(e,t)=>{"use strict";function r(e,t){let r=e[e.length-1];r&&r.stack===t.stack||e.push(t)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"enqueueConsecutiveDedupedError",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3954:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(5444).handleGlobalErrors)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4074:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(427);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:u}=(0,n.parsePath)(e);return""+t+r+o+u}},4108:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasInterceptionRouteInCurrentTree",{enumerable:!0,get:function(){return function e(t){let[r,o]=t;if(Array.isArray(r)&&("di"===r[2]||"ci"===r[2])||"string"==typeof r&&(0,n.isInterceptionRouteAppPath)(r))return!0;if(o){for(let t in o)if(e(o[t]))return!0}return!1}}});let n=r(7755);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{abortTask:function(){return h},listenForDynamicRequest:function(){return p},startPPRNavigation:function(){return c},updateCacheNodeOnPopstateRestoration:function(){return function e(t,r){let n=r[1],o=t.parallelRoutes,l=new Map(o);for(let t in n){let r=n[t],a=r[0],i=(0,u.createRouterCacheKey)(a),c=o.get(t);if(void 0!==c){let n=c.get(i);if(void 0!==n){let o=e(n,r),u=new Map(c);u.set(i,o),l.set(t,u)}}}let a=t.rsc,i=b(a)&&"pending"===a.status;return{lazyData:null,rsc:a,head:t.head,prefetchHead:i?t.prefetchHead:[null,null],prefetchRsc:i?t.prefetchRsc:null,loading:t.loading,parallelRoutes:l,navigatedAt:t.navigatedAt}}}});let n=r(8291),o=r(1127),u=r(5637),l=r(9234),a=r(1518),i={route:null,node:null,dynamicRequestTree:null,children:null};function c(e,t,r,l,a,c,d,p,h){return function e(t,r,l,a,c,d,p,h,y,_,b){let g=l[1],v=a[1],m=null!==d?d[2]:null;c||!0===a[4]&&(c=!0);let E=r.parallelRoutes,O=new Map(E),R={},P=null,j=!1,T={};for(let r in v){let l,a=v[r],f=g[r],d=E.get(r),S=null!==m?m[r]:null,M=a[0],w=_.concat([r,M]),C=(0,u.createRouterCacheKey)(M),x=void 0!==f?f[0]:void 0,A=void 0!==d?d.get(C):void 0;if(null!==(l=M===n.DEFAULT_SEGMENT_KEY?void 0!==f?{route:f,node:null,dynamicRequestTree:null,children:null}:s(t,f,a,A,c,void 0!==S?S:null,p,h,w,b):y&&0===Object.keys(a[1]).length?s(t,f,a,A,c,void 0!==S?S:null,p,h,w,b):void 0!==f&&void 0!==x&&(0,o.matchSegment)(M,x)&&void 0!==A&&void 0!==f?e(t,A,f,a,c,S,p,h,y,w,b):s(t,f,a,A,c,void 0!==S?S:null,p,h,w,b))){if(null===l.route)return i;null===P&&(P=new Map),P.set(r,l);let e=l.node;if(null!==e){let t=new Map(d);t.set(C,e),O.set(r,t)}let t=l.route;R[r]=t;let n=l.dynamicRequestTree;null!==n?(j=!0,T[r]=n):T[r]=t}else R[r]=a,T[r]=a}if(null===P)return null;let S={lazyData:null,rsc:r.rsc,prefetchRsc:r.prefetchRsc,head:r.head,prefetchHead:r.prefetchHead,loading:r.loading,parallelRoutes:O,navigatedAt:t};return{route:f(a,R),node:S,dynamicRequestTree:j?f(a,T):null,children:P}}(e,t,r,l,!1,a,c,d,p,[],h)}function s(e,t,r,n,o,c,s,p,h,y){return!o&&(void 0===t||(0,l.isNavigatingToNewRootLayout)(t,r))?i:function e(t,r,n,o,l,i,c,s){let p,h,y,_,b=r[1],g=0===Object.keys(b).length;if(void 0!==n&&n.navigatedAt+a.DYNAMIC_STALETIME_MS>t)p=n.rsc,h=n.loading,y=n.head,_=n.navigatedAt;else if(null===o)return d(t,r,null,l,i,c,s);else if(p=o[1],h=o[3],y=g?l:null,_=t,o[4]||i&&g)return d(t,r,o,l,i,c,s);let v=null!==o?o[2]:null,m=new Map,E=void 0!==n?n.parallelRoutes:null,O=new Map(E),R={},P=!1;if(g)s.push(c);else for(let r in b){let n=b[r],o=null!==v?v[r]:null,a=null!==E?E.get(r):void 0,f=n[0],d=c.concat([r,f]),p=(0,u.createRouterCacheKey)(f),h=e(t,n,void 0!==a?a.get(p):void 0,o,l,i,d,s);m.set(r,h);let y=h.dynamicRequestTree;null!==y?(P=!0,R[r]=y):R[r]=n;let _=h.node;if(null!==_){let e=new Map;e.set(p,_),O.set(r,e)}}return{route:r,node:{lazyData:null,rsc:p,prefetchRsc:null,head:y,prefetchHead:null,loading:h,parallelRoutes:O,navigatedAt:_},dynamicRequestTree:P?f(r,R):null,children:m}}(e,r,n,c,s,p,h,y)}function f(e,t){let r=[e[0],t];return 2 in e&&(r[2]=e[2]),3 in e&&(r[3]=e[3]),4 in e&&(r[4]=e[4]),r}function d(e,t,r,n,o,l,a){let i=f(t,t[1]);return i[3]="refetch",{route:t,node:function e(t,r,n,o,l,a,i){let c=r[1],s=null!==n?n[2]:null,f=new Map;for(let r in c){let n=c[r],d=null!==s?s[r]:null,p=n[0],h=a.concat([r,p]),y=(0,u.createRouterCacheKey)(p),_=e(t,n,void 0===d?null:d,o,l,h,i),b=new Map;b.set(y,_),f.set(r,b)}let d=0===f.size;d&&i.push(a);let p=null!==n?n[1]:null,h=null!==n?n[3]:null;return{lazyData:null,parallelRoutes:f,prefetchRsc:void 0!==p?p:null,prefetchHead:d?o:[null,null],loading:void 0!==h?h:null,rsc:g(),head:d?g():null,navigatedAt:t}}(e,t,r,n,o,l,a),dynamicRequestTree:i,children:null}}function p(e,t){t.then(t=>{let{flightData:r}=t;if("string"!=typeof r){for(let t of r){let{segmentPath:r,tree:n,seedData:l,head:a}=t;l&&function(e,t,r,n,l){let a=e;for(let e=0;e{h(e,t)})}function h(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)y(e.route,r,t);else for(let e of n.values())h(e,t);e.dynamicRequestTree=null}function y(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&y(t,c,r)}let l=t.rsc;b(l)&&(null===r?l.resolve(null):l.reject(r));let a=t.head;b(a)&&a.resolve(null)}let _=Symbol();function b(e){return e&&e.tag===_}function g(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=_,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4189:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange)return void e();let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},4420:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4466:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,r,u){let l=u.length<=2,[a,i]=u,c=(0,n.createRouterCacheKey)(i),s=r.parallelRoutes.get(a);if(!s)return;let f=t.parallelRoutes.get(a);if(f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f)),l)return void f.delete(c);let d=s.get(c),p=f.get(c);p&&d&&(p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes)},f.set(c,p)),e(p,d,(0,o.getNextFlightSegmentPath)(u)))}}});let n=r(5637),o=r(2561);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4486:(e,t,r)=>{"use strict";let n,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return D}});let u=r(8229),l=r(6966),a=r(5155);r(6446),r(6002),r(3954);let i=u._(r(2669)),c=l._(r(2115)),s=r(4979),f=r(2830),d=r(6698),p=r(9155),h=r(3806),y=r(1818),_=r(6634),b=u._(r(6158)),g=r(3567);r(5227);let v=r(5624),m=document,E=new TextEncoder,O=!1,R=!1,P=null;function j(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});o?o.enqueue(E.encode(e[1])):n.push(e[1])}else if(2===e[0])P=e[1];else if(3===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});let r=atob(e[1]),u=new Uint8Array(r.length);for(var t=0;t{e.enqueue("string"==typeof t?E.encode(t):t)}),O&&!R)&&(null===e.desiredSize||e.desiredSize<0?e.error(Object.defineProperty(Error("The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection."),"__NEXT_ERROR_CODE",{value:"E117",enumerable:!1,configurable:!0})):e.close(),R=!0,n=void 0),o=e}}),w=(0,s.createFromReadableStream)(M,{callServer:h.callServer,findSourceMapURL:y.findSourceMapURL});function C(e){let{pendingActionQueue:t}=e,r=(0,c.use)(w),n=(0,c.use)(t);return(0,a.jsx)(b.default,{actionQueue:n,globalErrorComponentAndStyles:r.G,assetPrefix:r.p})}let x=c.default.StrictMode;function A(e){let{children:t}=e;return t}let N={onRecoverableError:d.onRecoverableError,onCaughtError:p.onCaughtError,onUncaughtError:p.onUncaughtError};function D(e){let t=new Promise((t,r)=>{w.then(r=>{(0,v.setAppBuildId)(r.b);let n=Date.now();t((0,_.createMutableActionQueue)((0,g.createInitialRouterState)({navigatedAt:n,initialFlightData:r.f,initialCanonicalUrlParts:r.c,initialParallelRoutes:new Map,location:window.location,couldBeIntercepted:r.i,postponed:r.s,prerendered:r.S}),e))},e=>r(e))}),r=(0,a.jsx)(x,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(A,{children:(0,a.jsx)(C,{pendingActionQueue:t})})})});"__next_error__"===document.documentElement.id?i.default.createRoot(m,N).render(r):c.default.startTransition(()=>{i.default.hydrateRoot(m,r,{...N,formState:P})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4758:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,u,l,a,i,c){if(0===Object.keys(l[1]).length){r.head=i;return}for(let s in l[1]){let f,d=l[1][s],p=d[0],h=(0,n.createRouterCacheKey)(p),y=null!==a&&void 0!==a[2][s]?a[2][s]:null;if(u){let n=u.parallelRoutes.get(s);if(n){let u,l=(null==c?void 0:c.kind)==="auto"&&c.status===o.PrefetchCacheEntryStatus.reusable,a=new Map(n),f=a.get(h);u=null!==y?{lazyData:null,rsc:y[1],prefetchRsc:null,head:null,prefetchHead:null,loading:y[3],parallelRoutes:new Map(null==f?void 0:f.parallelRoutes),navigatedAt:t}:l&&f?{lazyData:f.lazyData,rsc:f.rsc,prefetchRsc:f.prefetchRsc,head:f.head,prefetchHead:f.prefetchHead,parallelRoutes:new Map(f.parallelRoutes),loading:f.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==f?void 0:f.parallelRoutes),loading:null,navigatedAt:t},a.set(h,u),e(t,u,f,d,y||null,i,c),r.parallelRoutes.set(s,a);continue}}if(null!==y){let e=y[1],r=y[3];f={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:r,navigatedAt:t}}else f={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:t};let _=r.parallelRoutes.get(s);_?_.set(h,f):r.parallelRoutes.set(s,new Map([[h,f]])),e(t,f,void 0,d,y,i,c)}}}});let n=r(5637),o=r(9818);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4819:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let n=r(1139),o=r(8946);function u(e,t){var r;let{url:u,tree:l}=t,a=(0,n.createHrefFromUrl)(u),i=l||e.tree,c=e.cache;return{canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:c,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(i))?r:u.pathname}}r(4150),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4882:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(7102),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,r){let[n,o,,l]=t;for(let a in n.includes(u.PAGE_SEGMENT_KEY)&&"refresh"!==l&&(t[2]=r,t[3]="refresh"),o)e(o[a],r)}},refreshInactiveParallelSegments:function(){return l}});let n=r(878),o=r(8586),u=r(8291);async function l(e){let t=new Set;await a({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function a(e){let{navigatedAt:t,state:r,updatedTree:u,updatedCache:l,includeNextUrl:i,fetchedSegments:c,rootTree:s=u,canonicalUrl:f}=e,[,d,p,h]=u,y=[];if(p&&p!==f&&"refresh"===h&&!c.has(p)){c.add(p);let e=(0,o.fetchServerResponse)(new URL(p,location.origin),{flightRouterState:[s[0],s[1],s[2],"refetch"],nextUrl:i?r.nextUrl:null}).then(e=>{let{flightData:r}=e;if("string"!=typeof r)for(let e of r)(0,n.applyFlightData)(t,l,l,e)});y.push(e)}for(let e in d){let n=a({navigatedAt:t,state:r,updatedTree:d[e],updatedCache:l,includeNextUrl:i,fetchedSegments:c,rootTree:s,canonicalUrl:f});y.push(n)}await Promise.all(y)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4911:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AsyncMetadata:function(){return u},AsyncMetadataOutlet:function(){return a}});let n=r(5155),o=r(2115),u=r(1536).BrowserResolvedMetadata;function l(e){let{promise:t}=e,{error:r,digest:n}=(0,o.use)(t);if(r)throw n&&(r.digest=n),r;return null}function a(e){let{promise:t}=e;return(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(l,{promise:t})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4930:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{IDLE_LINK_STATUS:function(){return c},PENDING_LINK_STATUS:function(){return i},mountFormInstance:function(){return g},mountLinkInstance:function(){return b},onLinkVisibilityChanged:function(){return m},onNavigationIntent:function(){return E},pingVisibleLinks:function(){return R},setLinkForCurrentNavigation:function(){return s},unmountLinkForCurrentNavigation:function(){return f},unmountPrefetchableInstance:function(){return v}}),r(6634);let n=r(6158),o=r(9818),u=r(6005),l=r(2115),a=null,i={pending:!0},c={pending:!1};function s(e){(0,l.startTransition)(()=>{null==a||a.setOptimisticLinkStatus(c),null==e||e.setOptimisticLinkStatus(i),a=e})}function f(e){a===e&&(a=null)}let d="function"==typeof WeakMap?new WeakMap:new Map,p=new Set,h="function"==typeof IntersectionObserver?new IntersectionObserver(function(e){for(let t of e){let e=t.intersectionRatio>0;m(t.target,e)}},{rootMargin:"200px"}):null;function y(e,t){void 0!==d.get(e)&&v(e),d.set(e,t),null!==h&&h.observe(e)}function _(e){try{return(0,n.createPrefetchURL)(e)}catch(t){return("function"==typeof reportError?reportError:console.error)("Cannot prefetch '"+e+"' because it cannot be converted to a URL."),null}}function b(e,t,r,n,o,u){if(o){let o=_(t);if(null!==o){let t={router:r,kind:n,isVisible:!1,wasHoveredOrTouched:!1,prefetchTask:null,cacheVersion:-1,prefetchHref:o.href,setOptimisticLinkStatus:u};return y(e,t),t}}return{router:r,kind:n,isVisible:!1,wasHoveredOrTouched:!1,prefetchTask:null,cacheVersion:-1,prefetchHref:null,setOptimisticLinkStatus:u}}function g(e,t,r,n){let o=_(t);null!==o&&y(e,{router:r,kind:n,isVisible:!1,wasHoveredOrTouched:!1,prefetchTask:null,cacheVersion:-1,prefetchHref:o.href,setOptimisticLinkStatus:null})}function v(e){let t=d.get(e);if(void 0!==t){d.delete(e),p.delete(t);let r=t.prefetchTask;null!==r&&(0,u.cancelPrefetchTask)(r)}null!==h&&h.unobserve(e)}function m(e,t){let r=d.get(e);void 0!==r&&(r.isVisible=t,t?p.add(r):p.delete(r),O(r))}function E(e,t){let r=d.get(e);void 0!==r&&void 0!==r&&(r.wasHoveredOrTouched=!0,O(r))}function O(e){var t;let r=e.prefetchTask;if(!e.isVisible){null!==r&&(0,u.cancelPrefetchTask)(r);return}t=e,(async()=>t.router.prefetch(t.prefetchHref,{kind:t.kind}))().catch(e=>{})}function R(e,t){let r=(0,u.getCurrentCacheVersion)();for(let n of p){let l=n.prefetchTask;if(null!==l&&n.cacheVersion===r&&l.key.nextUrl===e&&l.treeAtTimeOfPrefetch===t)continue;null!==l&&(0,u.cancelPrefetchTask)(l);let a=(0,u.createCacheKey)(n.prefetchHref,e),i=n.wasHoveredOrTouched?u.PrefetchPriority.Intent:u.PrefetchPriority.Default;n.prefetchTask=(0,u.schedulePrefetchTask)(a,t,n.kind===o.PrefetchKind.FULL,i),n.cacheVersion=(0,u.getCurrentCacheVersion)()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientSegmentRoot",{enumerable:!0,get:function(){return o}});let n=r(5155);function o(e){let{Component:t,slots:o,params:u,promise:l}=e;{let{createRenderParamsFromClient:e}=r(3558),l=e(u);return(0,n.jsx)(t,{...o,params:l})}}r(9837),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4979:(e,t,r)=>{"use strict";e.exports=r(7197)},5072:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTML_LIMITED_BOT_UA_RE",{enumerable:!0,get:function(){return r}});let r=/Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti/i},5122:(e,t)=>{"use strict";function r(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isThenable",{enumerable:!0,get:function(){return r}})},5128:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return c}});let n=r(8229),o=n._(r(2115)),u=n._(r(5807)),l=r(9148),a="react-stack-bottom-frame",i=RegExp("(at "+a+" )|("+a+"\\@)");function c(e){let t=(0,u.default)(e),r=t&&e.stack||"",n=t?e.message:"",a=r.split("\n"),c=a.findIndex(e=>i.test(e)),s=c>=0?a.slice(0,c).join("\n"):r,f=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return Object.assign(f,e),(0,l.copyNextErrorCode)(e,f),f.stack=s,function(e){if(!o.default.captureOwnerStack)return;let t=e.stack||"",r=o.default.captureOwnerStack();r&&!1===t.endsWith(r)&&(e.stack=t+=r)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5155:(e,t,r)=>{"use strict";e.exports=r(6897)},5169:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatConsoleArgs:function(){return u},parseConsoleArgs:function(){return l}});let n=r(8229)._(r(5807));function o(e,t){switch(typeof e){case"object":if(null===e)return"null";if(Array.isArray(e)){let r="[";if(t<1)for(let n=0;n0?"...":"";return r+"]"}{if(e instanceof Error)return e+"";let r=Object.keys(e),n="{";if(t<1)for(let u=0;u0?"...":"";return n+"}"}case"string":return JSON.stringify(e);default:return String(e)}}function u(e){let t,r;"string"==typeof e[0]?(t=e[0],r=1):(t="",r=0);let n="",u=!1;for(let l=0;l=e.length){n+=a;continue}let i=t[++l];switch(i){case"c":n=u?""+n+"]":"["+n,u=!u,r++;break;case"O":case"o":n+=o(e[r++],0);break;case"d":case"i":n+=parseInt(e[r++],10);break;case"f":n+=parseFloat(e[r++]);break;case"s":n+=String(e[r++]);break;default:n+="%"+i}}for(;r0?" ":"")+o(e[r],0);return n}function l(e){if(e.length>3&&"string"==typeof e[0]&&e[0].startsWith("%c%s%c ")&&"string"==typeof e[1]&&"string"==typeof e[2]&&"string"==typeof e[3]){let t=e[2],r=e[4];return{environmentName:t.trim(),error:(0,n.default)(r)?r:null}}return{environmentName:null,error:null}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5209:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},5227:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return a}});let n=r(8229)._(r(2115)),o=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(new Set)},5262:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},5415:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(5449);let n=r(6188),o=r(1408);(0,n.appBootstrap)(()=>{let{hydrate:e}=r(4486);r(6158),r(7555),e(o)}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5444:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleClientError:function(){return v},handleConsoleError:function(){return g},handleGlobalErrors:function(){return R},useErrorHandler:function(){return m}});let n=r(8229),o=r(2115),u=r(3506),l=r(2858),a=r(9771),i=r(5169),c=n._(r(5807)),s=r(6043),f=r(3950),d=r(5128),p=globalThis.queueMicrotask||(e=>Promise.resolve().then(e)),h=[],y=[],_=[],b=[];function g(e,t){let r,{environmentName:n}=(0,i.parseConsoleArgs)(t);for(let o of(r=(0,c.default)(e)?(0,s.createConsoleError)(e,n):(0,s.createConsoleError)((0,i.formatConsoleArgs)(t),n),r=(0,d.getReactStitchedError)(r),(0,a.storeHydrationErrorStateFromConsoleArgs)(...t),(0,u.attachHydrationErrorState)(r),(0,f.enqueueConsecutiveDedupedError)(h,r),y))p(()=>{o(r)})}function v(e){let t;for(let r of(t=(0,c.default)(e)?e:Object.defineProperty(Error(e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),t=(0,d.getReactStitchedError)(t),(0,u.attachHydrationErrorState)(t),(0,f.enqueueConsecutiveDedupedError)(h,t),y))p(()=>{r(t)})}function m(e,t){(0,o.useEffect)(()=>(h.forEach(e),_.forEach(t),y.push(e),b.push(t),()=>{y.splice(y.indexOf(e),1),b.splice(b.indexOf(t),1),h.splice(0,h.length),_.splice(0,_.length)}),[e,t])}function E(e){if((0,l.isNextRouterError)(e.error))return e.preventDefault(),!1;e.error&&v(e.error)}function O(e){let t=null==e?void 0:e.reason;if((0,l.isNextRouterError)(t))return void e.preventDefault();let r=t;for(let e of(r&&!(0,c.default)(r)&&(r=Object.defineProperty(Error(r+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})),_.push(r),b))e(r)}function R(){try{Error.stackTraceLimit=50}catch(e){}window.addEventListener("error",E),window.addEventListener("unhandledrejection",O)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5449:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3668);let n=r(589);{let e=r.u;r.u=function(){for(var t=arguments.length,r=Array(t),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let n=r(8586),o=r(1139),u=r(7442),l=r(9234),a=r(3894),i=r(3507),c=r(4758),s=r(6158),f=r(6375),d=r(4108),p=r(4908);function h(e,t){let{origin:r}=t,h={},y=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let b=(0,s.createEmptyCacheNode)(),g=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);b.lazyData=(0,n.fetchServerResponse)(new URL(y,r),{flightRouterState:[_[0],_[1],_[2],"refetch"],nextUrl:g?e.nextUrl:null});let v=Date.now();return b.lazyData.then(async r=>{let{flightData:n,canonicalUrl:s}=r;if("string"==typeof n)return(0,a.handleExternalUrl)(e,h,n,e.pushRef.pendingPush);for(let r of(b.lazyData=null,n)){let{tree:n,seedData:i,head:d,isRootRender:m}=r;if(!m)return console.log("REFRESH FAILED"),e;let E=(0,u.applyRouterStatePatchToTree)([""],_,n,e.canonicalUrl);if(null===E)return(0,f.handleSegmentMismatch)(e,t,n);if((0,l.isNavigatingToNewRootLayout)(_,E))return(0,a.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let O=s?(0,o.createHrefFromUrl)(s):void 0;if(s&&(h.canonicalUrl=O),null!==i){let e=i[1],t=i[3];b.rsc=e,b.prefetchRsc=null,b.loading=t,(0,c.fillLazyItemsTillLeafWithHead)(v,b,void 0,n,i,d,void 0),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({navigatedAt:v,state:e,updatedTree:E,updatedCache:b,includeNextUrl:g,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=b,h.patchedTree=E,_=E}return(0,i.handleMutable)(e,h)},()=>e)}r(6005),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5563:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addSearchParamsToPageSegments:function(){return f},handleAliasedPrefetchEntry:function(){return s}});let n=r(8291),o=r(6158),u=r(7442),l=r(1139),a=r(5637),i=r(3118),c=r(3507);function s(e,t,r,s,d){let p,h=t.tree,y=t.cache,_=(0,l.createHrefFromUrl)(s);if("string"==typeof r)return!1;for(let t of r){if(!function e(t){if(!t)return!1;let r=t[2];if(t[3])return!0;for(let t in r)if(e(r[t]))return!0;return!1}(t.seedData))continue;let r=t.tree;r=f(r,Object.fromEntries(s.searchParams));let{seedData:l,isRootRender:c,pathToSegment:d}=t,b=["",...d];r=f(r,Object.fromEntries(s.searchParams));let g=(0,u.applyRouterStatePatchToTree)(b,h,r,_),v=(0,o.createEmptyCacheNode)();if(c&&l){let t=l[1];v.loading=l[3],v.rsc=t,function e(t,r,o,u,l){if(0!==Object.keys(u[1]).length)for(let i in u[1]){let c,s=u[1][i],f=s[0],d=(0,a.createRouterCacheKey)(f),p=null!==l&&void 0!==l[2][i]?l[2][i]:null;if(null!==p){let e=p[1],r=p[3];c={lazyData:null,rsc:f.includes(n.PAGE_SEGMENT_KEY)?null:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:r,navigatedAt:t}}else c={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1};let h=r.parallelRoutes.get(i);h?h.set(d,c):r.parallelRoutes.set(i,new Map([[d,c]])),e(t,c,o,s,p)}}(e,v,y,r,l)}else v.rsc=y.rsc,v.prefetchRsc=y.prefetchRsc,v.loading=y.loading,v.parallelRoutes=new Map(y.parallelRoutes),(0,i.fillCacheWithNewSubTreeDataButOnlyLoading)(e,v,y,t);g&&(h=g,y=v,p=!0)}return!!p&&(d.patchedTree=h,d.cache=y,d.canonicalUrl=_,d.hashFragment=s.hash,(0,c.handleMutable)(t,d))}function f(e,t){let[r,o,...u]=e;if(r.includes(n.PAGE_SEGMENT_KEY))return[(0,n.addSearchParamsIfPageSegment)(r,t),o,...u];let l={};for(let[e,r]of Object.entries(o))l[e]=f(r,t);return[r,l,...u]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5567:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[u,l]=r,[a,i]=t;return(0,o.matchSegment)(a,u)?!(t.length<=2)&&e((0,n.getNextFlightSegmentPath)(t),l[i]):!!Array.isArray(a)}}});let n=r(2561),o=r(1127);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5618:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return s},RedirectType:function(){return o.RedirectType},forbidden:function(){return l.forbidden},notFound:function(){return u.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return a.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow}});let n=r(6825),o=r(2210),u=r(8527),l=r(3678),a=r(9187),i=r(7599);class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class s extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5624:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getAppBuildId:function(){return o},setAppBuildId:function(){return n}});let r="";function n(e){r=e}function o(){return r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5637:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(8291);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return u}});let n=r(5209);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function u(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},5929:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let n=r(4074),o=r(214);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5952:(e,t,r)=>{"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:()=>n})},6002:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(6905).patchConsoleError)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6005:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NavigationResultTag:function(){return f},PrefetchPriority:function(){return d},cancelPrefetchTask:function(){return i},createCacheKey:function(){return s},getCurrentCacheVersion:function(){return l},navigate:function(){return o},prefetch:function(){return n},reschedulePrefetchTask:function(){return c},revalidateEntireCache:function(){return u},schedulePrefetchTask:function(){return a}});let r=()=>{throw Object.defineProperty(Error("Segment Cache experiment is not enabled. This is a bug in Next.js."),"__NEXT_ERROR_CODE",{value:"E654",enumerable:!1,configurable:!0})},n=r,o=r,u=r,l=r,a=r,i=r,c=r,s=r;var f=function(e){return e[e.MPA=0]="MPA",e[e.Success=1]="Success",e[e.NoOp=2]="NoOp",e[e.Async=3]="Async",e}({}),d=function(e){return e[e.Intent=2]="Intent",e[e.Default=1]="Default",e[e.Background=0]="Background",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6043:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createConsoleError:function(){return o},getConsoleErrorType:function(){return l},isConsoleError:function(){return u}});let r=Symbol.for("next.console.error.digest"),n=Symbol.for("next.console.error.type");function o(e,t){let o="string"==typeof e?Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}):e;return o[r]="NEXT_CONSOLE_ERROR",o[n]="string"==typeof e?"string":"error",t&&!o.environmentName&&(o.environmentName=t),o}let u=e=>e&&"NEXT_CONSOLE_ERROR"===e[r],l=e=>e[n];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6158:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createEmptyCacheNode:function(){return w},createPrefetchURL:function(){return S},default:function(){return N},isExternalURL:function(){return T}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(5227),a=r(9818),i=r(1139),c=r(886),s=r(1027),f=n._(r(6614)),d=r(774),p=r(5929),h=r(7760),y=r(686),_=r(2691),b=r(1822),g=r(4882),v=r(7102),m=r(8946),E=r(8836),O=r(6634),R=r(6825),P=r(2210);r(4930);let j={};function T(e){return e.origin!==window.location.origin}function S(e){let t;if((0,d.isBot)(window.navigator.userAgent))return null;try{t=new URL((0,p.addBasePath)(e),window.location.href)}catch(t){throw Object.defineProperty(Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL."),"__NEXT_ERROR_CODE",{value:"E234",enumerable:!1,configurable:!0})}return T(t)?null:t}function M(e){let{appRouterState:t}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:n}=t,o={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==n?(r.pendingPush=!1,window.history.pushState(o,"",n)):window.history.replaceState(o,"",n)},[t]),(0,u.useEffect)(()=>{},[t.nextUrl,t.tree]),null}function w(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1}}function C(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function x(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,u.useDeferredValue)(r,o)}function A(e){let t,{actionQueue:r,assetPrefix:n,globalError:i}=e,d=(0,s.useActionQueue)(r),{canonicalUrl:p}=d,{searchParams:E,pathname:T}=(0,u.useMemo)(()=>{let e=new URL(p,window.location.href);return{searchParams:e.searchParams,pathname:(0,v.hasBasePath)(e.pathname)?(0,g.removeBasePath)(e.pathname):e.pathname}},[p]);(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(j.pendingMpaPath=void 0,(0,s.dispatchAppRouterAction)({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[]),(0,u.useEffect)(()=>{function e(e){let t="reason"in e?e.reason:e.error;if((0,P.isRedirectError)(t)){e.preventDefault();let r=(0,R.getURLFromRedirectError)(t);(0,R.getRedirectTypeFromError)(t)===P.RedirectType.push?O.publicAppRouterInstance.push(r,{}):O.publicAppRouterInstance.replace(r,{})}}return window.addEventListener("error",e),window.addEventListener("unhandledrejection",e),()=>{window.removeEventListener("error",e),window.removeEventListener("unhandledrejection",e)}},[]);let{pushRef:S}=d;if(S.mpaNavigation){if(j.pendingMpaPath!==p){let e=window.location;S.pendingPush?e.assign(p):e.replace(p),j.pendingMpaPath=p}(0,u.use)(b.unresolvedThenable)}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{var t;let r=window.location.href,n=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,u.startTransition)(()=>{(0,s.dispatchAppRouterAction)({type:a.ACTION_RESTORE,url:new URL(null!=e?e:r,r),tree:n})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=C(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=C(e),o&&r(o)),t(e,n,o)};let n=e=>{if(e.state){if(!e.state.__NA)return void window.location.reload();(0,u.startTransition)(()=>{(0,O.dispatchTraverseAction)(window.location.href,e.state.__PRIVATE_NEXTJS_INTERNALS_TREE)})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[]);let{cache:w,tree:A,nextUrl:N,focusAndScrollRef:D}=d,U=(0,u.useMemo)(()=>(0,_.findHeadInCache)(w,A[1]),[w,A]),k=(0,u.useMemo)(()=>(0,m.getSelectedParams)(A),[A]),I=(0,u.useMemo)(()=>({parentTree:A,parentCacheNode:w,parentSegmentPath:null,url:p}),[A,w,p]),H=(0,u.useMemo)(()=>({tree:A,focusAndScrollRef:D,nextUrl:N}),[A,D,N]);if(null!==U){let[e,r]=U;t=(0,o.jsx)(x,{headCacheNode:e},r)}else t=null;let F=(0,o.jsxs)(y.RedirectBoundary,{children:[t,w.rsc,(0,o.jsx)(h.AppRouterAnnouncer,{tree:A})]});return F=(0,o.jsx)(f.ErrorBoundary,{errorComponent:i[0],errorStyles:i[1],children:F}),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(M,{appRouterState:d}),(0,o.jsx)(L,{}),(0,o.jsx)(c.PathParamsContext.Provider,{value:k,children:(0,o.jsx)(c.PathnameContext.Provider,{value:T,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:E,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:H,children:(0,o.jsx)(l.AppRouterContext.Provider,{value:O.publicAppRouterInstance,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:I,children:F})})})})})})]})}function N(e){let{actionQueue:t,globalErrorComponentAndStyles:[r,n],assetPrefix:u}=e;return(0,E.useNavFailureHandler)(),(0,o.jsx)(f.ErrorBoundary,{errorComponent:f.default,children:(0,o.jsx)(A,{actionQueue:t,assetPrefix:u,globalError:[r,n]})})}let D=new Set,U=new Set;function L(){let[,e]=u.default.useState(0),t=D.size;return(0,u.useEffect)(()=>{let r=()=>e(e=>e+1);return U.add(r),t!==D.size&&r(),()=>{U.delete(r)}},[t,e]),[...D].map((e,t)=>(0,o.jsx)("link",{rel:"stylesheet",href:""+e,precedence:"next"},t))}globalThis._N_E_STYLE_LOAD=function(e){let t=D.size;return D.add(e),D.size!==t&&U.forEach(e=>e()),Promise.resolve()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6188:(e,t)=>{"use strict";function r(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,n]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(n)for(let e in n)"children"!==e&&o.setAttribute(e,n[e]);r?(o.src=r,o.onload=()=>e(),o.onerror=t):n&&(o.innerHTML=n.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return r}}),window.next={version:"15.3.4",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6206:(e,t,r)=>{"use strict";e.exports=r(2223)},6361:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},6375:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let n=r(3894);function o(e,t,r){return(0,n.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6420:(e,t,r)=>{"use strict";r.r(t),r.d(t,{_:()=>o});var n=0;function o(e){return"__private_"+n+++"_"+e}},6446:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},6465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NEXTJS_HYDRATION_ERROR_LINK:function(){return i},REACT_HYDRATION_ERROR_LINK:function(){return a},getDefaultHydrationErrorMessage:function(){return c},getHydrationErrorStackInfo:function(){return h},isHydrationError:function(){return s},isReactHydrationErrorMessage:function(){return f},testReactHydrationWarning:function(){return p}});let n=r(8229)._(r(5807)),o=/hydration failed|while hydrating|content does not match|did not match|HTML didn't match|text didn't match/i,u="Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:",l=[u,"Hydration failed because the server rendered text didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:","A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:"],a="https://react.dev/link/hydration-mismatch",i="https://nextjs.org/docs/messages/react-hydration-error",c=()=>u;function s(e){return(0,n.default)(e)&&o.test(e.message)}function f(e){return l.some(t=>e.startsWith(t))}let d=[/^In HTML, (.+?) cannot be a child of <(.+?)>\.(.*)\nThis will cause a hydration error\.(.*)/,/^In HTML, (.+?) cannot be a descendant of <(.+?)>\.\nThis will cause a hydration error\.(.*)/,/^In HTML, text nodes cannot be a child of <(.+?)>\.\nThis will cause a hydration error\./,/^In HTML, whitespace text nodes cannot be a child of <(.+?)>\. Make sure you don't have any extra whitespace between tags on each line of your source code\.\nThis will cause a hydration error\./,/^Expected server HTML to contain a matching <(.+?)> in <(.+?)>\.(.*)/,/^Did not expect server HTML to contain a <(.+?)> in <(.+?)>\.(.*)/,/^Expected server HTML to contain a matching text node for "(.+?)" in <(.+?)>\.(.*)/,/^Did not expect server HTML to contain the text node "(.+?)" in <(.+?)>\.(.*)/,/^Text content did not match\. Server: "(.+?)" Client: "(.+?)"(.*)/];function p(e){return"string"==typeof e&&!!e&&(e.startsWith("Warning: ")&&(e=e.slice(9)),d.some(t=>t.test(e)))}function h(e){let t=p(e=(e=e.replace(/^Error: /,"")).replace("Warning: ",""));if(!f(e)&&!t)return{message:null,stack:e,diff:""};if(t){let[t,r]=e.split("\n\n");return{message:t.trim(),stack:"",diff:(r||"").trim()}}let r=e.indexOf("\n"),[n,o]=(e=e.slice(r+1).trim()).split(""+a),u=n.trim();if(!o||!(o.length>1))return{message:u,stack:o};{let e=[],t=[];return o.split("\n").forEach(r=>{""!==r.trim()&&(r.trim().startsWith("at ")?e.push(r):t.push(r))}),{message:u,diff:t.join("\n"),stack:e.join("\n")}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6494:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return a},getAccessFallbackHTTPStatus:function(){return l},isHTTPAccessFallbackError:function(){return u}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function l(e){return Number(e.digest.split(";")[1])}function a(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6614:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let n=r(8229),o=r(5155),u=n._(r(2115)),l=r(9921),a=r(2858);r(8836);let i=void 0,c={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function s(e){let{error:t}=e;if(i){let e=i.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}class f extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(s,{error:t}),(0,o.jsx)("div",{style:c.error,children:(0,o.jsxs)("div",{children:[(0,o.jsxs)("h2",{style:c.text,children:["Application error: a ",r?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",r?"server logs":"browser console"," for more information)."]}),r?(0,o.jsx)("p",{style:c.text,children:"Digest: "+r}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:u}=e,a=(0,l.useUntrackedPathname)();return t?(0,o.jsx)(f,{pathname:a,errorComponent:t,errorStyles:r,errorScripts:n,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6634:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createMutableActionQueue:function(){return y},dispatchNavigateAction:function(){return g},dispatchTraverseAction:function(){return v},getCurrentAppRouterState:function(){return _},publicAppRouterInstance:function(){return m}});let n=r(9818),o=r(9726),u=r(2115),l=r(5122);r(6005);let a=r(1027),i=r(5929),c=r(6158),s=r(9154),f=r(4930);function d(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?p({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:n.ACTION_REFRESH,origin:window.location.origin},t)))}async function p(e){let{actionQueue:t,action:r,setState:n}=e,o=t.state;t.pending=r;let u=r.payload,a=t.action(o,u);function i(e){r.discarded||(t.state=e,d(t,n),r.resolve(e))}(0,l.isThenable)(a)?a.then(i,e=>{d(t,n),r.reject(e)}):i(a)}let h=null;function y(e,t){let r={state:e,dispatch:(e,t)=>(function(e,t,r){let o={resolve:r,reject:()=>{}};if(t.type!==n.ACTION_RESTORE){let e=new Promise((e,t)=>{o={resolve:e,reject:t}});(0,u.startTransition)(()=>{r(e)})}let l={payload:t,next:null,resolve:o.resolve,reject:o.reject};null===e.pending?(e.last=l,p({actionQueue:e,action:l,setState:r})):t.type===n.ACTION_NAVIGATE||t.type===n.ACTION_RESTORE?(e.pending.discarded=!0,l.next=e.pending.next,e.pending.payload.type===n.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),p({actionQueue:e,action:l,setState:r})):(null!==e.last&&(e.last.next=l),e.last=l)})(r,e,t),action:async(e,t)=>(0,o.reducer)(e,t),pending:null,last:null,onRouterTransitionStart:null!==t&&"function"==typeof t.onRouterTransitionStart?t.onRouterTransitionStart:null};if(null!==h)throw Object.defineProperty(Error("Internal Next.js Error: createMutableActionQueue was called more than once"),"__NEXT_ERROR_CODE",{value:"E624",enumerable:!1,configurable:!0});return h=r,r}function _(){return null!==h?h.state:null}function b(){return null!==h?h.onRouterTransitionStart:null}function g(e,t,r,o){let u=new URL((0,i.addBasePath)(e),location.href);(0,f.setLinkForCurrentNavigation)(o);let l=b();null!==l&&l(e,t),(0,a.dispatchAppRouterAction)({type:n.ACTION_NAVIGATE,url:u,isExternalUrl:(0,c.isExternalURL)(u),locationSearch:location.search,shouldScroll:r,navigateType:t,allowAliasing:!0})}function v(e,t){let r=b();null!==r&&r(e,"traverse"),(0,a.dispatchAppRouterAction)({type:n.ACTION_RESTORE,url:new URL(e),tree:t})}let m={back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let r=function(){if(null===h)throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0});return h}(),o=(0,c.createPrefetchURL)(e);if(null!==o){var u;(0,s.prefetchReducer)(r.state,{type:n.ACTION_PREFETCH,url:o,kind:null!=(u=null==t?void 0:t.kind)?u:n.PrefetchKind.FULL})}},replace:(e,t)=>{(0,u.startTransition)(()=>{var r;g(e,"replace",null==(r=null==t?void 0:t.scroll)||r,null)})},push:(e,t)=>{(0,u.startTransition)(()=>{var r;g(e,"push",null==(r=null==t?void 0:t.scroll)||r,null)})},refresh:()=>{(0,u.startTransition)(()=>{(0,a.dispatchAppRouterAction)({type:n.ACTION_REFRESH,origin:window.location.origin})})},hmrRefresh:()=>{throw Object.defineProperty(Error("hmrRefresh can only be used in development mode. Please use refresh instead."),"__NEXT_ERROR_CODE",{value:"E485",enumerable:!1,configurable:!0})}};window.next&&(window.next.router=m),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6698:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return i}});let n=r(8229),o=r(5262),u=r(1646),l=r(5128),a=n._(r(5807)),i=(e,t)=>{let r=(0,a.default)(e)&&"cause"in e?e.cause:e,n=(0,l.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,u.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6825:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getRedirectError:function(){return l},getRedirectStatusCodeFromError:function(){return f},getRedirectTypeFromError:function(){return s},getURLFromRedirectError:function(){return c},permanentRedirect:function(){return i},redirect:function(){return a}});let n=r(4420),o=r(2210),u=void 0;function l(e,t,r){void 0===r&&(r=n.RedirectStatusCode.TemporaryRedirect);let u=Object.defineProperty(Error(o.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return u.digest=o.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",u}function a(e,t){var r;throw null!=t||(t=(null==u||null==(r=u.getStore())?void 0:r.isAction)?o.RedirectType.push:o.RedirectType.replace),l(e,t,n.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=o.RedirectType.replace),l(e,t,n.RedirectStatusCode.PermanentRedirect)}function c(e){return(0,o.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function s(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function f(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6897:(e,t)=>{"use strict";var r=Symbol.for("react.transitional.element");function n(e,t,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in n={},t)"key"!==u&&(n[u]=t[u]);else n=t;return{$$typeof:r,type:e,key:o,ref:void 0!==(t=n.ref)?t:null,props:n}}t.Fragment=Symbol.for("react.fragment"),t.jsx=n,t.jsxs=n},6905:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{originConsoleError:function(){return o},patchConsoleError:function(){return u}}),r(8229),r(5807);let n=r(2858);r(5444),r(5169);let o=globalThis.console.error;function u(){window.console.error=function(){let e;for(var t=arguments.length,r=Array(t),u=0;u{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var a=u?Object.getOwnPropertyDescriptor(e,l):null;a&&(a.get||a.set)?Object.defineProperty(o,l,a):o[l]=e[l]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})},6975:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return s}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(9921),a=r(6494);r(3230);let i=r(5227);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,a.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:u}=this.state,l={[a.HTTPAccessErrorStatus.NOT_FOUND]:e,[a.HTTPAccessErrorStatus.FORBIDDEN]:t,[a.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(u){let i=u===a.HTTPAccessErrorStatus.NOT_FOUND&&e,c=u===a.HTTPAccessErrorStatus.FORBIDDEN&&t,s=u===a.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return i||c||s?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,l[u]]}):n}return n}constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}}function s(e){let{notFound:t,forbidden:r,unauthorized:n,children:a}=e,s=(0,l.useUntrackedPathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t||r||n?(0,o.jsx)(c,{pathname:s,notFound:t,forbidden:r,unauthorized:n,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7102:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(1747);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7197:(e,t,r)=>{"use strict";e.exports=r(9062)},7205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=r(8324).makeUntrackedExoticSearchParams;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let n=r(9133),o=r(8291);function u(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},7442:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,r,n,i){let c,[s,f,d,p,h]=r;if(1===t.length){let e=a(r,n);return(0,l.addRefreshMarkerToActiveParallelSegments)(e,i),e}let[y,_]=t;if(!(0,u.matchSegment)(y,s))return null;if(2===t.length)c=a(f[_],n);else if(null===(c=e((0,o.getNextFlightSegmentPath)(t),f[_],n,i)))return null;let b=[t[0],{...f,[_]:c},d,p];return h&&(b[4]=!0),(0,l.addRefreshMarkerToActiveParallelSegments)(b,i),b}}});let n=r(8291),o=r(2561),u=r(1127),l=r(4908);function a(e,t){let[r,o]=e,[l,i]=t;if(l===n.DEFAULT_SEGMENT_KEY&&r!==n.DEFAULT_SEGMENT_KEY)return e;if((0,u.matchSegment)(r,l)){let t={};for(let e in o)void 0!==i[e]?t[e]=a(o[e],i[e]):t[e]=o[e];for(let e in i)t[e]||(t[e]=i[e]);let n=[r,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7541:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{describeHasCheckingStringProperty:function(){return o},describeStringPropertyAccess:function(){return n},wellKnownProperties:function(){return u}});let r=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function n(e,t){return r.test(t)?"`"+e+"."+t+"`":"`"+e+"["+JSON.stringify(t)+"]`"}function o(e,t){let r=JSON.stringify(t);return"`Reflect.has("+e+", "+r+")`, `"+r+" in "+e+"`, or similar"}let u=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","toJSON","$$typeof","__esModule"])},7555:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return S}});let n=r(8229),o=r(6966),u=r(5155),l=r(9818),a=o._(r(2115)),i=n._(r(7650)),c=r(5227),s=r(8586),f=r(1822),d=r(6614),p=r(1127),h=r(4189),y=r(686),_=r(6975),b=r(5637),g=r(4108),v=r(1027),m=i.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,E=["bottom","height","left","right","top","width","x","y"];function O(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class R extends a.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,p.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r=function(e){var t;return"top"===e?document.body:null!=(t=document.getElementById(e))?t:document.getElementsByName(e)[0]}(n)),r||(r=(0,m.findDOMNode)(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return E.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,h.handleSmoothScroll)(()=>{if(n)return void r.scrollIntoView();let e=document.documentElement,t=e.clientHeight;!O(r,t)&&(e.scrollTop=0,O(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function P(e){let{segmentPath:t,children:r}=e,n=(0,a.useContext)(c.GlobalLayoutRouterContext);if(!n)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,u.jsx)(R,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function j(e){let{tree:t,segmentPath:r,cacheNode:n,url:o}=e,i=(0,a.useContext)(c.GlobalLayoutRouterContext);if(!i)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let{tree:d}=i,h=null!==n.prefetchRsc?n.prefetchRsc:n.rsc,y=(0,a.useDeferredValue)(n.rsc,h),_="object"==typeof y&&null!==y&&"function"==typeof y.then?(0,a.use)(y):y;if(!_){let e=n.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,u=2===t.length;if((0,p.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(u){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...r],d),u=(0,g.hasInterceptionRouteInCurrentTree)(d),c=Date.now();n.lazyData=e=(0,s.fetchServerResponse)(new URL(o,location.origin),{flightRouterState:t,nextUrl:u?i.nextUrl:null}).then(e=>((0,a.startTransition)(()=>{(0,v.dispatchAppRouterAction)({type:l.ACTION_SERVER_PATCH,previousTree:d,serverResponse:e,navigatedAt:c})}),e)),(0,a.use)(e)}(0,a.use)(f.unresolvedThenable)}return(0,u.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:t,parentCacheNode:n,parentSegmentPath:r,url:o},children:_})}function T(e){let t,{loading:r,children:n}=e;if(t="object"==typeof r&&null!==r&&"function"==typeof r.then?(0,a.use)(r):r){let e=t[0],r=t[1],o=t[2];return(0,u.jsx)(a.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[r,o,e]}),children:n})}return(0,u.jsx)(u.Fragment,{children:n})}function S(e){let{parallelRouterKey:t,error:r,errorStyles:n,errorScripts:o,templateStyles:l,templateScripts:i,template:s,notFound:f,forbidden:p,unauthorized:h}=e,g=(0,a.useContext)(c.LayoutRouterContext);if(!g)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:v,parentCacheNode:m,parentSegmentPath:E,url:O}=g,R=m.parallelRoutes,S=R.get(t);S||(S=new Map,R.set(t,S));let M=v[0],w=v[1][t],C=w[0],x=null===E?[t]:E.concat([M,t]),A=(0,b.createRouterCacheKey)(C),N=(0,b.createRouterCacheKey)(C,!0),D=S.get(A);if(void 0===D){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1};D=e,S.set(A,e)}let U=m.loading;return(0,u.jsxs)(c.TemplateContext.Provider,{value:(0,u.jsx)(P,{segmentPath:x,children:(0,u.jsx)(d.ErrorBoundary,{errorComponent:r,errorStyles:n,errorScripts:o,children:(0,u.jsx)(T,{loading:U,children:(0,u.jsx)(_.HTTPAccessFallbackBoundary,{notFound:f,forbidden:p,unauthorized:h,children:(0,u.jsx)(y.RedirectBoundary,{children:(0,u.jsx)(j,{url:O,tree:w,cacheNode:D,segmentPath:x})})})})})}),children:[l,i,s]},N)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=r(6966)._(r(2115)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},7599:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n=r(7865).unstable_rethrow;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7650:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(8730)},7755:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return l},isInterceptionRouteAppPath:function(){return u}});let n=r(7276),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,r,u;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,u]=e.split(r,2);break}if(!t||!r||!u)throw Object.defineProperty(Error("Invalid interception route: "+e+". Must be in the format //(..|...|..)(..)/"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":u="/"===t?"/"+u:t+"/"+u;break;case"(..)":if("/"===t)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});u=l.slice(0,-2).concat(u).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:t,interceptedRoute:u}}},7760:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AppRouterAnnouncer",{enumerable:!0,get:function(){return l}});let n=r(2115),o=r(7650),u="next-route-announcer";function l(e){let{tree:t}=e,[r,l]=(0,n.useState)(null);(0,n.useEffect)(()=>(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t||null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,n.useState)(""),c=(0,n.useRef)(void 0);return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),r?(0,o.createPortal)(a,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return s}});let n=r(1139),o=r(7442),u=r(9234),l=r(3894),a=r(878),i=r(3507),c=r(6158);function s(e,t){let{serverResponse:{flightData:r,canonicalUrl:s},navigatedAt:f}=t,d={};if(d.preserveCustomHistoryState=!1,"string"==typeof r)return(0,l.handleExternalUrl)(e,d,r,e.pushRef.pendingPush);let p=e.tree,h=e.cache;for(let t of r){let{segmentPath:r,tree:i}=t,y=(0,o.applyRouterStatePatchToTree)(["",...r],p,i,e.canonicalUrl);if(null===y)return e;if((0,u.isNavigatingToNewRootLayout)(p,y))return(0,l.handleExternalUrl)(e,d,e.canonicalUrl,e.pushRef.pendingPush);let _=s?(0,n.createHrefFromUrl)(s):void 0;_&&(d.canonicalUrl=_);let b=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(f,h,b,t),d.patchedTree=y,d.cache=b,h=b,p=y}return(0,i.handleMutable)(e,d)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7829:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeUntrackedExoticParams",{enumerable:!0,get:function(){return u}});let n=r(7541),o=new WeakMap;function u(e){let t=o.get(e);if(t)return t;let r=Promise.resolve(e);return o.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7865:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=r(5262),o=r(2858);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8229:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},8287:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{METADATA_BOUNDARY_NAME:function(){return r},OUTLET_BOUNDARY_NAME:function(){return o},VIEWPORT_BOUNDARY_NAME:function(){return n}});let r="__next_metadata_boundary__",n="__next_viewport_boundary__",o="__next_outlet_boundary__"},8291:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(u)){let e=JSON.stringify(t);return"{}"!==e?u+"?"+e:u}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return l},PAGE_SEGMENT_KEY:function(){return u},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let u="__PAGE__",l="__DEFAULT__"},8324:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeUntrackedExoticSearchParams",{enumerable:!0,get:function(){return u}});let n=r(7541),o=new WeakMap;function u(e){let t=o.get(e);if(t)return t;let r=Promise.resolve(e);return o.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"notFound",{enumerable:!0,get:function(){return o}});let n=""+r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw e.digest=n,e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createFetch:function(){return y},createFromNextReadableStream:function(){return _},fetchServerResponse:function(){return h},urlToUrlWithoutFlightMarker:function(){return f}});let n=r(3269),o=r(3806),u=r(1818),l=r(9818),a=r(2561),i=r(5624),c=r(8969),{createFromReadableStream:s}=r(4979);function f(e){let t=new URL(e,location.origin);if(t.searchParams.delete(n.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function d(e){return{flightData:f(e).toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}let p=new AbortController;async function h(e,t){let{flightRouterState:r,nextUrl:o,prefetchKind:u}=t,c={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(r))};u===l.PrefetchKind.AUTO&&(c[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),o&&(c[n.NEXT_URL]=o);try{var s;let t=u?u===l.PrefetchKind.TEMPORARY?"high":"low":"auto";(e=new URL(e)).pathname.endsWith("/")?e.pathname+="index.txt":e.pathname+=".txt";let r=await y(e,c,t,p.signal),o=f(r.url),h=r.redirected?o:void 0,b=r.headers.get("content-type")||"",g=!!(null==(s=r.headers.get("vary"))?void 0:s.includes(n.NEXT_URL)),v=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),m=r.headers.get(n.NEXT_ROUTER_STALE_TIME_HEADER),E=null!==m?1e3*parseInt(m,10):-1,O=b.startsWith(n.RSC_CONTENT_TYPE_HEADER);if(O||(O=b.startsWith("text/plain")),!O||!r.ok||!r.body)return e.hash&&(o.hash=e.hash),d(o.toString());let R=v?function(e){let t=e.getReader();return new ReadableStream({async pull(e){for(;;){let{done:r,value:n}=await t.read();if(!r){e.enqueue(n);continue}return}}})}(r.body):r.body,P=await _(R);if((0,i.getAppBuildId)()!==P.b)return d(r.url);return{flightData:(0,a.normalizeFlightData)(P.f),canonicalUrl:h,couldBeIntercepted:g,prerendered:P.S,postponed:v,staleTime:E}}catch(t){return p.signal.aborted||console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),{flightData:e.toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}}function y(e,t,r,n){let o=new URL(e);return(0,c.setCacheBustingSearchParam)(o,t),fetch(o,{credentials:"same-origin",headers:t,priority:r||void 0,signal:n})}function _(e){return s(e,{callServer:o.callServer,findSourceMapURL:u.findSourceMapURL})}window.addEventListener("pagehide",()=>{p.abort()}),window.addEventListener("pageshow",()=>{p=new AbortController}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8709:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return w}});let n=r(3806),o=r(1818),u=r(3269),l=r(9818),a=r(1315),i=r(1139),c=r(3894),s=r(7442),f=r(9234),d=r(3507),p=r(4758),h=r(6158),y=r(4108),_=r(6375),b=r(4908),g=r(2561),v=r(6825),m=r(2210),E=r(1518),O=r(4882),R=r(7102),P=r(2816);r(6005);let{createFromFetch:j,createTemporaryReferenceSet:T,encodeReply:S}=r(4979);async function M(e,t,r){let l,i,{actionId:c,actionArgs:s}=r,f=T(),d=(0,P.extractInfoFromServerReferenceId)(c),p="use-cache"===d.type?(0,P.omitUnusedArgs)(s,d):s,h=await S(p,{temporaryReferences:f}),y=await fetch("",{method:"POST",headers:{Accept:u.RSC_CONTENT_TYPE_HEADER,[u.ACTION_HEADER]:c,[u.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(e.tree)),...{},...t?{[u.NEXT_URL]:t}:{}},body:h}),_=y.headers.get("x-action-redirect"),[b,v]=(null==_?void 0:_.split(";"))||[];switch(v){case"push":l=m.RedirectType.push;break;case"replace":l=m.RedirectType.replace;break;default:l=void 0}let E=!!y.headers.get(u.NEXT_IS_PRERENDER_HEADER);try{let e=JSON.parse(y.headers.get("x-action-revalidated")||"[[],0,0]");i={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){i={paths:[],tag:!1,cookie:!1}}let O=b?(0,a.assignLocation)(b,new URL(e.canonicalUrl,window.location.href)):void 0,R=y.headers.get("content-type");if(null==R?void 0:R.startsWith(u.RSC_CONTENT_TYPE_HEADER)){let e=await j(Promise.resolve(y),{callServer:n.callServer,findSourceMapURL:o.findSourceMapURL,temporaryReferences:f});return b?{actionFlightData:(0,g.normalizeFlightData)(e.f),redirectLocation:O,redirectType:l,revalidatedParts:i,isPrerender:E}:{actionResult:e.a,actionFlightData:(0,g.normalizeFlightData)(e.f),redirectLocation:O,redirectType:l,revalidatedParts:i,isPrerender:E}}if(y.status>=400)throw Object.defineProperty(Error("text/plain"===R?await y.text():"An unexpected response was received from the server."),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return{redirectLocation:O,redirectType:l,revalidatedParts:i,isPrerender:E}}function w(e,t){let{resolve:r,reject:n}=t,o={},u=e.tree;o.preserveCustomHistoryState=!1;let a=e.nextUrl&&(0,y.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null,g=Date.now();return M(e,a,t).then(async y=>{let P,{actionResult:j,actionFlightData:T,redirectLocation:S,redirectType:M,isPrerender:w,revalidatedParts:C}=y;if(S&&(M===m.RedirectType.replace?(e.pushRef.pendingPush=!1,o.pendingPush=!1):(e.pushRef.pendingPush=!0,o.pendingPush=!0),o.canonicalUrl=P=(0,i.createHrefFromUrl)(S,!1)),!T)return(r(j),S)?(0,c.handleExternalUrl)(e,o,S.href,e.pushRef.pendingPush):e;if("string"==typeof T)return r(j),(0,c.handleExternalUrl)(e,o,T,e.pushRef.pendingPush);let x=C.paths.length>0||C.tag||C.cookie;for(let n of T){let{tree:l,seedData:i,head:d,isRootRender:y}=n;if(!y)return console.log("SERVER ACTION APPLY FAILED"),r(j),e;let v=(0,s.applyRouterStatePatchToTree)([""],u,l,P||e.canonicalUrl);if(null===v)return r(j),(0,_.handleSegmentMismatch)(e,t,l);if((0,f.isNavigatingToNewRootLayout)(u,v))return r(j),(0,c.handleExternalUrl)(e,o,P||e.canonicalUrl,e.pushRef.pendingPush);if(null!==i){let t=i[1],r=(0,h.createEmptyCacheNode)();r.rsc=t,r.prefetchRsc=null,r.loading=i[3],(0,p.fillLazyItemsTillLeafWithHead)(g,r,void 0,l,i,d,void 0),o.cache=r,o.prefetchCache=new Map,x&&await (0,b.refreshInactiveParallelSegments)({navigatedAt:g,state:e,updatedTree:v,updatedCache:r,includeNextUrl:!!a,canonicalUrl:o.canonicalUrl||e.canonicalUrl})}o.patchedTree=v,u=v}return S&&P?(x||((0,E.createSeededPrefetchCacheEntry)({url:S,data:{flightData:T,canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1},tree:e.tree,prefetchCache:e.prefetchCache,nextUrl:e.nextUrl,kind:w?l.PrefetchKind.FULL:l.PrefetchKind.AUTO}),o.prefetchCache=e.prefetchCache),n((0,v.getRedirectError)((0,R.hasBasePath)(P)?(0,O.removeBasePath)(P):P,M||m.RedirectType.push))):r(j),(0,d.handleMutable)(e,o)},t=>(n(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8730:(e,t,r)=>{"use strict";var n=r(2115);function o(e){var t="https://react.dev/errors/"+e;if(1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleHardNavError:function(){return o},useNavFailureHandler:function(){return u}}),r(2115);let n=r(1139);function o(e){return!!e&&!!window.next.__pendingUrl&&(0,n.createHrefFromUrl)(new URL(window.location.href))!==(0,n.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function u(){}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8946:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{computeChangedPath:function(){return s},extractPathFromFlightRouterState:function(){return c},getSelectedParams:function(){return function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],u=Array.isArray(t),l=u?t[1]:t;!l||l.startsWith(o.PAGE_SEGMENT_KEY)||(u&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):u&&(r[t[0]]=t[1]),r=e(n,r))}return r}}});let n=r(7755),o=r(8291),u=r(1127),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[a(r)],l=null!=(t=e[1])?t:{},s=l.children?c(l.children):void 0;if(void 0!==s)u.push(s);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let r=c(t);void 0!==r&&u.push(r)}return i(u)}function s(e,t){let r=function e(t,r){let[o,l]=t,[i,s]=r,f=a(o),d=a(i);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(r))?p:""}for(let t in l)if(s[t]){let r=e(l[t],s[t]);if(null!==r)return a(i)+"/"+r}return null}(e,t);return null==r||"/"===r?r:i(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8969:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setCacheBustingSearchParam",{enumerable:!0,get:function(){return u}});let n=r(3942),o=r(3269),u=(e,t)=>{let r=(0,n.hexHash)([t[o.NEXT_ROUTER_PREFETCH_HEADER]||"0",t[o.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]||"0",t[o.NEXT_ROUTER_STATE_TREE_HEADER],t[o.NEXT_URL]].join(",")),u=e.search,l=(u.startsWith("?")?u.slice(1):u).split("&").filter(Boolean);l.push(o.NEXT_RSC_UNION_QUERY+"="+r),e.search=l.length?"?"+l.join("&"):""};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return h},usePathname:function(){return d},useRouter:function(){return p},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return _},useSelectedLayoutSegments:function(){return y},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let n=r(2115),o=r(5227),u=r(886),l=r(708),a=r(8291),i=r(5618),c=r(7568),s=void 0;function f(){let e=(0,n.useContext)(u.SearchParamsContext);return(0,n.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e])}function d(){return null==s||s("usePathname()"),(0,n.useContext)(u.PathnameContext)}function p(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function h(){return null==s||s("useParams()"),(0,n.useContext)(u.PathParamsContext)}function y(e){void 0===e&&(e="children"),null==s||s("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,l.getSegmentValue)(c);return!s||s.startsWith(a.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,r,!1,o))}(t.parentTree,e):null}function _(e){void 0===e&&(e="children"),null==s||s("useSelectedLayoutSegment()");let t=y(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===a.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9062:(e,t,r)=>{"use strict";var n=r(7650),o={stream:!0},u=new Map;function l(e){var t=r(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function a(){}function i(e){for(var t=e[1],n=[],o=0;oc||35===c||114===c||120===c?(s=c,c=3,a++):(s=0,c=3);continue;case 2:44===(y=l[a++])?c=4:f=f<<4|(96l.length&&(y=-1)}var _=l.byteOffset+a;if(-1{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},9148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{copyNextErrorCode:function(){return n},createDigestWithErrorCode:function(){return r},extractNextErrorCode:function(){return o}});let r=(e,t)=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e?`${t}@${e.__NEXT_ERROR_CODE}`:t,n=(e,t)=>{let r=o(e);r&&"object"==typeof t&&null!==t&&Object.defineProperty(t,"__NEXT_ERROR_CODE",{value:r,enumerable:!1,configurable:!0})},o=e=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e&&"string"==typeof e.__NEXT_ERROR_CODE?e.__NEXT_ERROR_CODE:"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest?e.digest.split("@").find(e=>e.startsWith("E")):void 0},9154:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return u},prefetchReducer:function(){return l}});let n=r(2312),o=r(1518),u=new n.PromiseQueue(5),l=function(e,t){(0,o.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;return(0,o.getOrCreatePrefetchCacheEntry)({url:r,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,allowAliasing:!0}),e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9155:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{onCaughtError:function(){return i},onUncaughtError:function(){return c}}),r(5128),r(5444);let n=r(2858),o=r(5262),u=r(1646),l=r(6905),a=r(6614);function i(e,t){var r;let u,i=null==(r=t.errorBoundary)?void 0:r.constructor;if(u=u||i===a.ErrorBoundaryHandler&&t.errorBoundary.props.errorComponent===a.GlobalError)return c(e,t);(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,l.originConsoleError)(e)}function c(e,t){(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,u.reportGlobalError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9187:(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unauthorized",{enumerable:!0,get:function(){return n}}),r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9234:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,r){let n=t[0],o=r[0];if(Array.isArray(n)&&Array.isArray(o)){if(n[0]!==o[0]||n[2]!==o[2])return!0}else if(n!==o)return!0;if(t[4])return!r[4];if(r[4])return!0;let u=Object.values(t[1])[0],l=Object.values(r[1])[0];return!u||!l||e(u,l)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9509:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(666)},9665:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{MetadataBoundary:function(){return u},OutletBoundary:function(){return a},ViewportBoundary:function(){return l}});let n=r(8287),o={[n.METADATA_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.VIEWPORT_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.OUTLET_BOUNDARY_NAME]:function(e){let{children:t}=e;return t}},u=o[n.METADATA_BOUNDARY_NAME.slice(0)],l=o[n.VIEWPORT_BOUNDARY_NAME.slice(0)],a=o[n.OUTLET_BOUNDARY_NAME.slice(0)];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9726:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let n=r(9818),o=r(3894),u=r(7801),l=r(4819),a=r(5542),i=r(9154),c=r(3612),s=r(8709),f=function(e,t){switch(t.type){case n.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case n.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case n.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case n.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case n.ACTION_HMR_REFRESH:return(0,c.hmrRefreshReducer)(e,t);case n.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case n.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Object.defineProperty(Error("Unknown action"),"__NEXT_ERROR_CODE",{value:"E295",enumerable:!1,configurable:!0})}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getHydrationWarningType:function(){return a},getReactHydrationDiffSegments:function(){return s},hydrationErrorState:function(){return o},storeHydrationErrorStateFromConsoleArgs:function(){return f}});let n=r(6465),o={},u=new Set(["Warning: In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s","Warning: In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s","Warning: In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.","Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.","Warning: Expected server HTML to contain a matching <%s> in <%s>.%s","Warning: Did not expect server HTML to contain a <%s> in <%s>.%s"]),l=new Set(['Warning: Expected server HTML to contain a matching text node for "%s" in <%s>.%s','Warning: Did not expect server HTML to contain the text node "%s" in <%s>.%s']),a=e=>{if("string"!=typeof e)return"text";let t=e.startsWith("Warning: ")?e:"Warning: "+e;return i(t)?"tag":c(t)?"text-in-tag":"text"},i=e=>u.has(e),c=e=>l.has(e),s=e=>{if(e){let{message:t,diff:r}=(0,n.getHydrationErrorStackInfo)(e);if(t)return[t,r]}};function f(){for(var e=arguments.length,t=Array(e),r=0;r{e=e.trim();let[,l,a]=/at (\w+)( \((.*)\))?/.exec(e)||[];return a||(l===t&&-1===o?o=n:l===r&&-1===u&&(u=n)),a?"":l}).filter(Boolean).reverse(),c="";for(let e=0;e "+" ".repeat(Math.max(2*e-2,0)+2)+"<"+t+">\n":c+=" ".repeat(2*e+2)+"<"+t+">\n"}if("text"===l){let e=" ".repeat(2*i.length);c+="+ "+e+'"'+t+'"\n'+("- "+e+'"'+r)+'"\n'}else if("text-in-tag"===l){let e=" ".repeat(2*i.length);c+="> "+e+"<"+r+">\n"+("> "+e+'"'+t)+'"\n'}return c}(u,l,i,n):o.reactOutputComponentDiff=n,o.warning=r,o.serverContent=l,o.clientContent=i}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HMR_REFRESH:function(){return a},ACTION_NAVIGATE:function(){return n},ACTION_PREFETCH:function(){return l},ACTION_REFRESH:function(){return r},ACTION_RESTORE:function(){return o},ACTION_SERVER_ACTION:function(){return i},ACTION_SERVER_PATCH:function(){return u},PrefetchCacheEntryStatus:function(){return s},PrefetchKind:function(){return c}});let r="refresh",n="navigate",o="restore",u="server-patch",l="prefetch",a="hmr-refresh",i="server-action";var c=function(e){return e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary",e}({}),s=function(e){return e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9837:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"InvariantError",{enumerable:!0,get:function(){return r}});class r extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},9880:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,r,u){let l=u.length<=2,[a,i]=u,c=(0,o.createRouterCacheKey)(i),s=r.parallelRoutes.get(a),f=t.parallelRoutes.get(a);f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f));let d=null==s?void 0:s.get(c),p=f.get(c);if(l){p&&p.lazyData&&p!==d||f.set(c,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1});return}if(!p||!d){p||f.set(c,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1});return}return p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes),loading:p.loading},f.set(c,p)),e(p,d,(0,n.getNextFlightSegmentPath)(u))}}});let n=r(2561),o=r(5637);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=r(2115),o=r(886);function u(){return(0,n.useContext)(o.PathnameContext)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/688-e7ba43e7cdf11ac4.js b/.netlify/static/_next/static/chunks/688-e7ba43e7cdf11ac4.js deleted file mode 100644 index df29389..0000000 --- a/.netlify/static/_next/static/chunks/688-e7ba43e7cdf11ac4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[688],{1285:(e,t,n)=>{n.d(t,{B:()=>c});var r,o=n(2115),a=n(2712),i=(r||(r=n.t(o,2)))[" useId ".trim().toString()]||(()=>void 0),u=0;function c(e){let[t,n]=o.useState(i());return(0,a.N)(()=>{e||n(e=>e??String(u++))},[e]),e||(t?`radix-${t}`:"")}},2293:(e,t,n)=>{n.d(t,{Oh:()=>a});var r=n(2115),o=0;function a(){r.useEffect(()=>{var e,t;let n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",null!=(e=n[0])?e:i()),document.body.insertAdjacentElement("beforeend",null!=(t=n[1])?t:i()),o++,()=>{1===o&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),o--}},[])}function i(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}},2712:(e,t,n)=>{n.d(t,{N:()=>o});var r=n(2115),o=globalThis?.document?r.useLayoutEffect:()=>{}},3655:(e,t,n)=>{n.d(t,{hO:()=>c,sG:()=>u});var r=n(2115),o=n(7650),a=n(9708),i=n(5155),u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=(0,a.TL)(`Primitive.${t}`),o=r.forwardRef((e,r)=>{let{asChild:o,...a}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,i.jsx)(o?n:t,{...a,ref:r})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function c(e,t){e&&o.flushSync(()=>e.dispatchEvent(t))}},3795:(e,t,n)=>{n.d(t,{A:()=>z});var r,o,a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}Object.create;Object.create;var u=("function"==typeof SuppressedError&&SuppressedError,n(2115)),c="right-scroll-bar-position",l="width-before-scroll-bar";function s(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var d="undefined"!=typeof window?u.useLayoutEffect:u.useEffect,f=new WeakMap;function v(e){return e}var p=function(e){void 0===e&&(e={});var t,n,r,o,i=(t=null,void 0===n&&(n=v),r=[],o=!1,{read:function(){if(o)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:null},useMedium:function(e){var t=n(e,o);return r.push(t),function(){r=r.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(o=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){o=!0;var t=[];if(r.length){var n=r;r=[],n.forEach(e),t=r}var a=function(){var n=t;t=[],n.forEach(e)},i=function(){return Promise.resolve().then(a)};i(),r={push:function(e){t.push(e),i()},filter:function(e){return t=t.filter(e),r}}}});return i.options=a({async:!0,ssr:!1},e),i}(),m=function(){},h=u.forwardRef(function(e,t){var n,r,o,c,l=u.useRef(null),v=u.useState({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:m}),h=v[0],y=v[1],g=e.forwardProps,E=e.children,b=e.className,w=e.removeScrollBar,C=e.enabled,S=e.shards,N=e.sideCar,L=e.noRelative,R=e.noIsolation,x=e.inert,P=e.allowPinchZoom,k=e.as,T=e.gapMode,O=i(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),A=(n=[l,t],r=function(e){return n.forEach(function(t){return s(t,e)})},(o=(0,u.useState)(function(){return{value:null,callback:r,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=r,c=o.facade,d(function(){var e=f.get(c);if(e){var t=new Set(e),r=new Set(n),o=c.current;t.forEach(function(e){r.has(e)||s(e,null)}),r.forEach(function(e){t.has(e)||s(e,o)})}f.set(c,n)},[n]),c),M=a(a({},O),h);return u.createElement(u.Fragment,null,C&&u.createElement(N,{sideCar:p,removeScrollBar:w,shards:S,noRelative:L,noIsolation:R,inert:x,setCallbacks:y,allowPinchZoom:!!P,lockRef:l,gapMode:T}),g?u.cloneElement(u.Children.only(E),a(a({},M),{ref:A})):u.createElement(void 0===k?"div":k,a({},M,{className:b,ref:A}),E))});h.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},h.classNames={fullWidth:l,zeroRight:c};var y=function(e){var t=e.sideCar,n=i(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return u.createElement(r,a({},n))};y.isSideCarExport=!0;var g=function(){var e=0,t=null;return{add:function(r){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=o||n.nc;return t&&e.setAttribute("nonce",t),e}())){var a,i;(a=t).styleSheet?a.styleSheet.cssText=r:a.appendChild(document.createTextNode(r)),i=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(i)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},E=function(){var e=g();return function(t,n){u.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},b=function(){var e=E();return function(t){return e(t.styles,t.dynamic),null}},w={left:0,top:0,right:0,gap:0},C=function(e){return parseInt(e||"",10)||0},S=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[C(n),C(r),C(o)]},N=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return w;var t=S(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},L=b(),R="data-scroll-locked",x=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,u=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(u,"px ").concat(r,";\n }\n body[").concat(R,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(u,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(u,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(c," {\n right: ").concat(u,"px ").concat(r,";\n }\n \n .").concat(l," {\n margin-right: ").concat(u,"px ").concat(r,";\n }\n \n .").concat(c," .").concat(c," {\n right: 0 ").concat(r,";\n }\n \n .").concat(l," .").concat(l," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(R,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(u,"px;\n }\n")},P=function(){var e=parseInt(document.body.getAttribute(R)||"0",10);return isFinite(e)?e:0},k=function(){u.useEffect(function(){return document.body.setAttribute(R,(P()+1).toString()),function(){var e=P()-1;e<=0?document.body.removeAttribute(R):document.body.setAttribute(R,e.toString())}},[])},T=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;k();var a=u.useMemo(function(){return N(o)},[o]);return u.createElement(L,{styles:x(a,!t,o,n?"":"!important")})},O=!1;if("undefined"!=typeof window)try{var A=Object.defineProperty({},"passive",{get:function(){return O=!0,!0}});window.addEventListener("test",A,A),window.removeEventListener("test",A,A)}catch(e){O=!1}var M=!!O&&{passive:!1},D=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},W=function(e,t){var n=t.ownerDocument,r=t;do{if("undefined"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),j(e,r)){var o=I(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},j=function(e,t){return"v"===e?D(t,"overflowY"):D(t,"overflowX")},I=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},F=function(e,t,n,r,o){var a,i=(a=window.getComputedStyle(t).direction,"h"===e&&"rtl"===a?-1:1),u=i*r,c=n.target,l=t.contains(c),s=!1,d=u>0,f=0,v=0;do{if(!c)break;var p=I(e,c),m=p[0],h=p[1]-p[2]-i*m;(m||h)&&j(e,c)&&(f+=h,v+=m);var y=c.parentNode;c=y&&y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?y.host:y}while(!l&&c!==document.body||l&&(t.contains(c)||t===c));return d&&(o&&1>Math.abs(f)||!o&&u>f)?s=!0:!d&&(o&&1>Math.abs(v)||!o&&-u>v)&&(s=!0),s},_=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},B=function(e){return[e.deltaX,e.deltaY]},$=function(e){return e&&"current"in e?e.current:e},K=0,X=[];let Y=(r=function(e){var t=u.useRef([]),n=u.useRef([0,0]),r=u.useRef(),o=u.useState(K++)[0],a=u.useState(b)[0],i=u.useRef(e);u.useEffect(function(){i.current=e},[e]),u.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,o=0,a=t.length;oMath.abs(l)?"h":"v";if("touches"in e&&"h"===d&&"range"===s.type)return!1;var f=W(d,s);if(!f)return!0;if(f?o=d:(o="v"===d?"h":"v",f=W(d,s)),!f)return!1;if(!r.current&&"changedTouches"in e&&(c||l)&&(r.current=o),!o)return!0;var v=r.current||o;return F(v,t,e,"h"===v?c:l,!0)},[]),l=u.useCallback(function(e){if(X.length&&X[X.length-1]===a){var n="deltaY"in e?B(e):_(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var o=(i.current.shards||[]).map($).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?c(e,o[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),s=u.useCallback(function(e,n,r,o){var a={name:e,delta:n,target:r,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=u.useCallback(function(e){n.current=_(e),r.current=void 0},[]),f=u.useCallback(function(t){s(t.type,B(t),t.target,c(t,e.lockRef.current))},[]),v=u.useCallback(function(t){s(t.type,_(t),t.target,c(t,e.lockRef.current))},[]);u.useEffect(function(){return X.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:v}),document.addEventListener("wheel",l,M),document.addEventListener("touchmove",l,M),document.addEventListener("touchstart",d,M),function(){X=X.filter(function(e){return e!==a}),document.removeEventListener("wheel",l,M),document.removeEventListener("touchmove",l,M),document.removeEventListener("touchstart",d,M)}},[]);var p=e.removeScrollBar,m=e.inert;return u.createElement(u.Fragment,null,m?u.createElement(a,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,p?u.createElement(T,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},p.useMedium(r),y);var q=u.forwardRef(function(e,t){return u.createElement(h,a({},e,{ref:t,sideCar:Y}))});q.classNames=h.classNames;let z=q},4378:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(2115),o=n(7650),a=n(3655),i=n(2712),u=n(5155),c=r.forwardRef((e,t)=>{var n,c;let{container:l,...s}=e,[d,f]=r.useState(!1);(0,i.N)(()=>f(!0),[]);let v=l||d&&(null==(c=globalThis)||null==(n=c.document)?void 0:n.body);return v?o.createPortal((0,u.jsx)(a.sG.div,{...s,ref:t}),v):null});c.displayName="Portal"},5185:(e,t,n)=>{n.d(t,{mK:()=>o});var r=!!("undefined"!=typeof window&&window.document&&window.document.createElement);function o(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}},5845:(e,t,n)=>{n.d(t,{i:()=>u});var r,o=n(2115),a=n(2712),i=(r||(r=n.t(o,2)))[" useInsertionEffect ".trim().toString()]||a.N;function u({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[a,u,c]=function({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),a=o.useRef(n),u=o.useRef(t);return i(()=>{u.current=t},[t]),o.useEffect(()=>{a.current!==n&&(u.current?.(n),a.current=n)},[n,a]),[n,r,u]}({defaultProp:t,onChange:n}),l=void 0!==e,s=l?e:a;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==l){let t=l?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=l},[l,r])}return[s,o.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&c.current?.(n)}else u(t)},[l,e,u,c])]}Symbol("RADIX:SYNC_STATE")},6081:(e,t,n)=>{n.d(t,{A:()=>i,q:()=>a});var r=n(2115),o=n(5155);function a(e,t){let n=r.createContext(t),a=e=>{let{children:t,...a}=e,i=r.useMemo(()=>a,Object.values(a));return(0,o.jsx)(n.Provider,{value:i,children:t})};return a.displayName=e+"Provider",[a,function(o){let a=r.useContext(n);if(a)return a;if(void 0!==t)return t;throw Error(`\`${o}\` must be used within \`${e}\``)}]}function i(e,t=[]){let n=[],a=()=>{let t=n.map(e=>r.createContext(e));return function(n){let o=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:o}}),[n,o])}};return a.scopeName=e,[function(t,a){let i=r.createContext(a),u=n.length;n=[...n,a];let c=t=>{let{scope:n,children:a,...c}=t,l=n?.[e]?.[u]||i,s=r.useMemo(()=>c,Object.values(c));return(0,o.jsx)(l.Provider,{value:s,children:a})};return c.displayName=t+"Provider",[c,function(n,o){let c=o?.[e]?.[u]||i,l=r.useContext(c);if(l)return l;if(void 0!==a)return a;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}(a,...t)]}},6101:(e,t,n)=>{n.d(t,{s:()=>i,t:()=>a});var r=n(2115);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function a(...e){return t=>{let n=!1,r=e.map(e=>{let r=o(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t{n.d(t,{n:()=>d});var r=n(2115),o=n(6101),a=n(3655),i=n(9033),u=n(5155),c="focusScope.autoFocusOnMount",l="focusScope.autoFocusOnUnmount",s={bubbles:!1,cancelable:!0},d=r.forwardRef((e,t)=>{let{loop:n=!1,trapped:d=!1,onMountAutoFocus:h,onUnmountAutoFocus:y,...g}=e,[E,b]=r.useState(null),w=(0,i.c)(h),C=(0,i.c)(y),S=r.useRef(null),N=(0,o.s)(t,e=>b(e)),L=r.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;r.useEffect(()=>{if(d){let e=function(e){if(L.paused||!E)return;let t=e.target;E.contains(t)?S.current=t:p(S.current,{select:!0})},t=function(e){if(L.paused||!E)return;let t=e.relatedTarget;null!==t&&(E.contains(t)||p(S.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&p(E)});return E&&n.observe(E,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[d,E,L.paused]),r.useEffect(()=>{if(E){m.add(L);let e=document.activeElement;if(!E.contains(e)){let t=new CustomEvent(c,s);E.addEventListener(c,w),E.dispatchEvent(t),t.defaultPrevented||(function(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=document.activeElement;for(let r of e)if(p(r,{select:t}),document.activeElement!==n)return}(f(E).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&p(E))}return()=>{E.removeEventListener(c,w),setTimeout(()=>{let t=new CustomEvent(l,s);E.addEventListener(l,C),E.dispatchEvent(t),t.defaultPrevented||p(null!=e?e:document.body,{select:!0}),E.removeEventListener(l,C),m.remove(L)},0)}}},[E,w,C,L]);let R=r.useCallback(e=>{if(!n&&!d||L.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=document.activeElement;if(t&&r){let t=e.currentTarget,[o,a]=function(e){let t=f(e);return[v(t,e),v(t.reverse(),e)]}(t);o&&a?e.shiftKey||r!==a?e.shiftKey&&r===o&&(e.preventDefault(),n&&p(a,{select:!0})):(e.preventDefault(),n&&p(o,{select:!0})):r===t&&e.preventDefault()}},[n,d,L.paused]);return(0,u.jsx)(a.sG.div,{tabIndex:-1,...g,ref:N,onKeyDown:R})});function f(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function v(e,t){for(let n of e)if(!function(e,t){let{upTo:n}=t;if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===n||e!==n);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(n,{upTo:t}))return n}function p(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}d.displayName="FocusScope";var m=function(){let e=[];return{add(t){let n=e[0];t!==n&&(null==n||n.pause()),(e=h(e,t)).unshift(t)},remove(t){var n;null==(n=(e=h(e,t))[0])||n.resume()}}}();function h(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}},8168:(e,t,n)=>{n.d(t,{Eq:()=>s});var r=function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},o=new WeakMap,a=new WeakMap,i={},u=0,c=function(e){return e&&(e.host||c(e.parentNode))},l=function(e,t,n,r){var l=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var n=c(e);return n&&t.contains(n)?n:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});i[n]||(i[n]=new WeakMap);var s=i[n],d=[],f=new Set,v=new Set(l),p=function(e){!e||f.has(e)||(f.add(e),p(e.parentNode))};l.forEach(p);var m=function(e){!e||v.has(e)||Array.prototype.forEach.call(e.children,function(e){if(f.has(e))m(e);else try{var t=e.getAttribute(r),i=null!==t&&"false"!==t,u=(o.get(e)||0)+1,c=(s.get(e)||0)+1;o.set(e,u),s.set(e,c),d.push(e),1===u&&i&&a.set(e,!0),1===c&&e.setAttribute(n,"true"),i||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return m(t),f.clear(),u++,function(){d.forEach(function(e){var t=o.get(e)-1,i=s.get(e)-1;o.set(e,t),s.set(e,i),t||(a.has(e)||e.removeAttribute(r),a.delete(e)),i||e.removeAttribute(n)}),--u||(o=new WeakMap,o=new WeakMap,a=new WeakMap,i={})}},s=function(e,t,n){void 0===n&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),a=t||r(e);return a?(o.push.apply(o,Array.from(a.querySelectorAll("[aria-live], script"))),l(o,a,n,"aria-hidden")):function(){return null}}},9033:(e,t,n)=>{n.d(t,{c:()=>o});var r=n(2115);function o(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}},9178:(e,t,n)=>{n.d(t,{qW:()=>f});var r,o=n(2115),a=n(5185),i=n(3655),u=n(6101),c=n(9033),l=n(5155),s="dismissableLayer.update",d=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),f=o.forwardRef((e,t)=>{var n,f;let{disableOutsidePointerEvents:m=!1,onEscapeKeyDown:h,onPointerDownOutside:y,onFocusOutside:g,onInteractOutside:E,onDismiss:b,...w}=e,C=o.useContext(d),[S,N]=o.useState(null),L=null!=(f=null==S?void 0:S.ownerDocument)?f:null==(n=globalThis)?void 0:n.document,[,R]=o.useState({}),x=(0,u.s)(t,e=>N(e)),P=Array.from(C.layers),[k]=[...C.layersWithOutsidePointerEventsDisabled].slice(-1),T=P.indexOf(k),O=S?P.indexOf(S):-1,A=C.layersWithOutsidePointerEventsDisabled.size>0,M=O>=T,D=function(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null==(t=globalThis)?void 0:t.document,r=(0,c.c)(e),a=o.useRef(!1),i=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!a.current){let t=function(){p("dismissableLayer.pointerDownOutside",r,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(n.removeEventListener("click",i.current),i.current=t,n.addEventListener("click",i.current,{once:!0})):t()}else n.removeEventListener("click",i.current);a.current=!1},t=window.setTimeout(()=>{n.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(t),n.removeEventListener("pointerdown",e),n.removeEventListener("click",i.current)}},[n,r]),{onPointerDownCapture:()=>a.current=!0}}(e=>{let t=e.target,n=[...C.branches].some(e=>e.contains(t));M&&!n&&(null==y||y(e),null==E||E(e),e.defaultPrevented||null==b||b())},L),W=function(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null==(t=globalThis)?void 0:t.document,r=(0,c.c)(e),a=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!a.current&&p("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return n.addEventListener("focusin",e),()=>n.removeEventListener("focusin",e)},[n,r]),{onFocusCapture:()=>a.current=!0,onBlurCapture:()=>a.current=!1}}(e=>{let t=e.target;![...C.branches].some(e=>e.contains(t))&&(null==g||g(e),null==E||E(e),e.defaultPrevented||null==b||b())},L);return!function(e,t=globalThis?.document){let n=(0,c.c)(e);o.useEffect(()=>{let e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[n,t])}(e=>{O===C.layers.size-1&&(null==h||h(e),!e.defaultPrevented&&b&&(e.preventDefault(),b()))},L),o.useEffect(()=>{if(S)return m&&(0===C.layersWithOutsidePointerEventsDisabled.size&&(r=L.body.style.pointerEvents,L.body.style.pointerEvents="none"),C.layersWithOutsidePointerEventsDisabled.add(S)),C.layers.add(S),v(),()=>{m&&1===C.layersWithOutsidePointerEventsDisabled.size&&(L.body.style.pointerEvents=r)}},[S,L,m,C]),o.useEffect(()=>()=>{S&&(C.layers.delete(S),C.layersWithOutsidePointerEventsDisabled.delete(S),v())},[S,C]),o.useEffect(()=>{let e=()=>R({});return document.addEventListener(s,e),()=>document.removeEventListener(s,e)},[]),(0,l.jsx)(i.sG.div,{...w,ref:x,style:{pointerEvents:A?M?"auto":"none":void 0,...e.style},onFocusCapture:(0,a.mK)(e.onFocusCapture,W.onFocusCapture),onBlurCapture:(0,a.mK)(e.onBlurCapture,W.onBlurCapture),onPointerDownCapture:(0,a.mK)(e.onPointerDownCapture,D.onPointerDownCapture)})});function v(){let e=new CustomEvent(s);document.dispatchEvent(e)}function p(e,t,n,r){let{discrete:o}=r,a=n.originalEvent.target,u=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),o?(0,i.hO)(a,u):a.dispatchEvent(u)}f.displayName="DismissableLayer",o.forwardRef((e,t)=>{let n=o.useContext(d),r=o.useRef(null),a=(0,u.s)(t,r);return o.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,l.jsx)(i.sG.div,{...e,ref:a})}).displayName="DismissableLayerBranch"},9708:(e,t,n)=>{n.d(t,{DX:()=>u,TL:()=>i});var r=n(2115),o=n(6101),a=n(5155);function i(e){let t=function(e){let t=r.forwardRef((e,t)=>{let{children:n,...a}=e;if(r.isValidElement(n)){var i;let e,u,c=(i=n,(u=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(u=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),l=function(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}(a,n.props);return n.type!==r.Fragment&&(l.ref=t?(0,o.t)(t,c):c),r.cloneElement(n,l)}return r.Children.count(n)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),n=r.forwardRef((e,n)=>{let{children:o,...i}=e,u=r.Children.toArray(o),c=u.find(l);if(c){let e=c.props.children,o=u.map(t=>t!==c?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,a.jsx)(t,{...i,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,o):null})}return(0,a.jsx)(t,{...i,ref:n,children:o})});return n.displayName=`${e}.Slot`,n}var u=i("Slot"),c=Symbol("radix.slottable");function l(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===c}}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/832-c9bf61612c364f73.js b/.netlify/static/_next/static/chunks/832-c9bf61612c364f73.js deleted file mode 100644 index a4b35f2..0000000 --- a/.netlify/static/_next/static/chunks/832-c9bf61612c364f73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[832],{690:(e,n,t)=>{t.d(n,{A:()=>r});let r=(0,t(9946).A)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]])},968:(e,n,t)=>{t.d(n,{b:()=>i});var r=t(2115),o=t(3655),l=t(5155),a=r.forwardRef((e,n)=>(0,l.jsx)(o.sG.label,{...e,ref:n,onMouseDown:n=>{var t;n.target.closest("button, input, select, textarea")||(null==(t=e.onMouseDown)||t.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));a.displayName="Label";var i=a},1154:(e,n,t)=>{t.d(n,{A:()=>r});let r=(0,t(9946).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},2085:(e,n,t)=>{t.d(n,{F:()=>a});var r=t(2596);let o=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,l=r.$,a=(e,n)=>t=>{var r;if((null==n?void 0:n.variants)==null)return l(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:a,defaultVariants:i}=n,s=Object.keys(a).map(e=>{let n=null==t?void 0:t[e],r=null==i?void 0:i[e];if(null===n)return null;let l=o(n)||o(r);return a[e][l]}),u=t&&Object.entries(t).reduce((e,n)=>{let[t,r]=n;return void 0===r||(e[t]=r),e},{});return l(e,s,null==n||null==(r=n.compoundVariants)?void 0:r.reduce((e,n)=>{let{class:t,className:r,...o}=n;return Object.entries(o).every(e=>{let[n,t]=e;return Array.isArray(t)?t.includes({...i,...u}[n]):({...i,...u})[n]===t})?[...e,t,r]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)}},5452:(e,n,t)=>{t.d(n,{UC:()=>et,VY:()=>eo,ZL:()=>ee,bL:()=>Q,bm:()=>el,hE:()=>er,hJ:()=>en,l9:()=>X});var r=t(2115),o=t(5185),l=t(6101),a=t(6081),i=t(1285),s=t(5845),u=t(9178),d=t(7900),c=t(4378),p=t(8905),f=t(3655),m=t(2293),v=t(3795),g=t(8168),y=t(9708),N=t(5155),h="Dialog",[b,D]=(0,a.A)(h),[O,w]=b(h),R=e=>{let{__scopeDialog:n,children:t,open:o,defaultOpen:l,onOpenChange:a,modal:u=!0}=e,d=r.useRef(null),c=r.useRef(null),[p,f]=(0,s.i)({prop:o,defaultProp:null!=l&&l,onChange:a,caller:h});return(0,N.jsx)(O,{scope:n,triggerRef:d,contentRef:c,contentId:(0,i.B)(),titleId:(0,i.B)(),descriptionId:(0,i.B)(),open:p,onOpenChange:f,onOpenToggle:r.useCallback(()=>f(e=>!e),[f]),modal:u,children:t})};R.displayName=h;var j="DialogTrigger",C=r.forwardRef((e,n)=>{let{__scopeDialog:t,...r}=e,a=w(j,t),i=(0,l.s)(n,a.triggerRef);return(0,N.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":H(a.open),...r,ref:i,onClick:(0,o.mK)(e.onClick,a.onOpenToggle)})});C.displayName=j;var M="DialogPortal",[x,I]=b(M,{forceMount:void 0}),E=e=>{let{__scopeDialog:n,forceMount:t,children:o,container:l}=e,a=w(M,n);return(0,N.jsx)(x,{scope:n,forceMount:t,children:r.Children.map(o,e=>(0,N.jsx)(p.C,{present:t||a.open,children:(0,N.jsx)(c.Z,{asChild:!0,container:l,children:e})}))})};E.displayName=M;var A="DialogOverlay",k=r.forwardRef((e,n)=>{let t=I(A,e.__scopeDialog),{forceMount:r=t.forceMount,...o}=e,l=w(A,e.__scopeDialog);return l.modal?(0,N.jsx)(p.C,{present:r||l.open,children:(0,N.jsx)(_,{...o,ref:n})}):null});k.displayName=A;var T=(0,y.TL)("DialogOverlay.RemoveScroll"),_=r.forwardRef((e,n)=>{let{__scopeDialog:t,...r}=e,o=w(A,t);return(0,N.jsx)(v.A,{as:T,allowPinchZoom:!0,shards:[o.contentRef],children:(0,N.jsx)(f.sG.div,{"data-state":H(o.open),...r,ref:n,style:{pointerEvents:"auto",...r.style}})})}),F="DialogContent",P=r.forwardRef((e,n)=>{let t=I(F,e.__scopeDialog),{forceMount:r=t.forceMount,...o}=e,l=w(F,e.__scopeDialog);return(0,N.jsx)(p.C,{present:r||l.open,children:l.modal?(0,N.jsx)(U,{...o,ref:n}):(0,N.jsx)(L,{...o,ref:n})})});P.displayName=F;var U=r.forwardRef((e,n)=>{let t=w(F,e.__scopeDialog),a=r.useRef(null),i=(0,l.s)(n,t.contentRef,a);return r.useEffect(()=>{let e=a.current;if(e)return(0,g.Eq)(e)},[]),(0,N.jsx)(S,{...e,ref:i,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.mK)(e.onCloseAutoFocus,e=>{var n;e.preventDefault(),null==(n=t.triggerRef.current)||n.focus()}),onPointerDownOutside:(0,o.mK)(e.onPointerDownOutside,e=>{let n=e.detail.originalEvent,t=0===n.button&&!0===n.ctrlKey;(2===n.button||t)&&e.preventDefault()}),onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>e.preventDefault())})}),L=r.forwardRef((e,n)=>{let t=w(F,e.__scopeDialog),o=r.useRef(!1),l=r.useRef(!1);return(0,N.jsx)(S,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{var r,a;null==(r=e.onCloseAutoFocus)||r.call(e,n),n.defaultPrevented||(o.current||null==(a=t.triggerRef.current)||a.focus(),n.preventDefault()),o.current=!1,l.current=!1},onInteractOutside:n=>{var r,a;null==(r=e.onInteractOutside)||r.call(e,n),n.defaultPrevented||(o.current=!0,"pointerdown"===n.detail.originalEvent.type&&(l.current=!0));let i=n.target;(null==(a=t.triggerRef.current)?void 0:a.contains(i))&&n.preventDefault(),"focusin"===n.detail.originalEvent.type&&l.current&&n.preventDefault()}})}),S=r.forwardRef((e,n)=>{let{__scopeDialog:t,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:i,...s}=e,c=w(F,t),p=r.useRef(null),f=(0,l.s)(n,p);return(0,m.Oh)(),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(d.n,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:i,children:(0,N.jsx)(u.qW,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":H(c.open),...s,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(J,{titleId:c.titleId}),(0,N.jsx)(Y,{contentRef:p,descriptionId:c.descriptionId})]})]})}),W="DialogTitle",G=r.forwardRef((e,n)=>{let{__scopeDialog:t,...r}=e,o=w(W,t);return(0,N.jsx)(f.sG.h2,{id:o.titleId,...r,ref:n})});G.displayName=W;var K="DialogDescription",q=r.forwardRef((e,n)=>{let{__scopeDialog:t,...r}=e,o=w(K,t);return(0,N.jsx)(f.sG.p,{id:o.descriptionId,...r,ref:n})});q.displayName=K;var B="DialogClose",V=r.forwardRef((e,n)=>{let{__scopeDialog:t,...r}=e,l=w(B,t);return(0,N.jsx)(f.sG.button,{type:"button",...r,ref:n,onClick:(0,o.mK)(e.onClick,()=>l.onOpenChange(!1))})});function H(e){return e?"open":"closed"}V.displayName=B;var Z="DialogTitleWarning",[z,$]=(0,a.q)(Z,{contentName:F,titleName:W,docsSlug:"dialog"}),J=e=>{let{titleId:n}=e,t=$(Z),o="`".concat(t.contentName,"` requires a `").concat(t.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(t.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(t.docsSlug);return r.useEffect(()=>{n&&(document.getElementById(n)||console.error(o))},[o,n]),null},Y=e=>{let{contentRef:n,descriptionId:t}=e,o=$("DialogDescriptionWarning"),l="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(o.contentName,"}.");return r.useEffect(()=>{var e;let r=null==(e=n.current)?void 0:e.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(l))},[l,n,t]),null},Q=R,X=C,ee=E,en=k,et=P,er=G,eo=q,el=V},8905:(e,n,t)=>{t.d(n,{C:()=>a});var r=t(2115),o=t(6101),l=t(2712),a=e=>{let{present:n,children:t}=e,a=function(e){var n,t;let[o,a]=r.useState(),s=r.useRef(null),u=r.useRef(e),d=r.useRef("none"),[c,p]=(n=e?"mounted":"unmounted",t={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,n)=>{let r=t[e][n];return null!=r?r:e},n));return r.useEffect(()=>{let e=i(s.current);d.current="mounted"===c?e:"none"},[c]),(0,l.N)(()=>{let n=s.current,t=u.current;if(t!==e){let r=d.current,o=i(n);e?p("MOUNT"):"none"===o||(null==n?void 0:n.display)==="none"?p("UNMOUNT"):t&&r!==o?p("ANIMATION_OUT"):p("UNMOUNT"),u.current=e}},[e,p]),(0,l.N)(()=>{if(o){var e;let n,t=null!=(e=o.ownerDocument.defaultView)?e:window,r=e=>{let r=i(s.current).includes(CSS.escape(e.animationName));if(e.target===o&&r&&(p("ANIMATION_END"),!u.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",n=t.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},l=e=>{e.target===o&&(d.current=i(s.current))};return o.addEventListener("animationstart",l),o.addEventListener("animationcancel",r),o.addEventListener("animationend",r),()=>{t.clearTimeout(n),o.removeEventListener("animationstart",l),o.removeEventListener("animationcancel",r),o.removeEventListener("animationend",r)}}p("ANIMATION_END")},[o,p]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:r.useCallback(e=>{s.current=e?getComputedStyle(e):null,a(e)},[])}}(n),s="function"==typeof t?t({present:a.isPresent}):r.Children.only(t),u=(0,o.s)(a.ref,function(e){var n,t;let r=null==(n=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:n.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(o=(r=null==(t=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:t.get)&&"isReactWarning"in r&&r.isReactWarning)?e.props.ref:e.props.ref||e.ref}(s));return"function"==typeof t||a.isPresent?r.cloneElement(s,{ref:u}):null};function i(e){return(null==e?void 0:e.animationName)||"none"}a.displayName="Presence"}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/852-e8471167a9b9d3f8.js b/.netlify/static/_next/static/chunks/852-e8471167a9b9d3f8.js deleted file mode 100644 index de3eea4..0000000 --- a/.netlify/static/_next/static/chunks/852-e8471167a9b9d3f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[852],{607:(e,t,r)=>{function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===c(e)}r.d(t,{A:()=>Q});let o=1/0;function i(e){return"string"==typeof e}function u(e){return"number"==typeof e}function a(e){return"object"==typeof e}function s(e){return null!=e}function l(e){return!e.trim().length}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let d=e=>`Invalid value for key ${e}`,h=e=>`Pattern length exceeds max of ${e}.`,f=e=>`Missing ${e} property in key`,p=e=>`Property 'weight' in key '${e}' must be a positive integer`,g=Object.prototype.hasOwnProperty;class m{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let r=v(e);this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function v(e){let t=null,r=null,o=null,u=1,a=null;if(i(e)||n(e))o=e,t=y(e),r=w(e);else{if(!g.call(e,"name"))throw Error(f("name"));let n=e.name;if(o=n,g.call(e,"weight")&&(u=e.weight)<=0)throw Error(p(n));t=y(n),r=w(n),a=e.getFn}return{path:t,id:r,weight:u,src:o,getFn:a}}function y(e){return n(e)?e:e.split(".")}function w(e){return n(e)?e.join("."):e}var x={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx{if(s(e))if(t[h]){var f,p;let g=e[t[h]];if(!s(g))return;if(h===t.length-1&&(i(g)||u(g)||!0===(f=g)||!1===f||a(p=f)&&null!==p&&"[object Boolean]"==c(f)))r.push(null==g?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-o?"-0":t}(g));else if(n(g)){l=!0;for(let e=0,r=g.length;e{this._keysMap[e.id]=t})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,i(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();i(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t{let u=t.getFn?t.getFn(e):this.getFn(e,t.path);if(s(u)){if(n(u)){let e=[],t=[{nestedArrIndex:-1,value:u}];for(;t.length;){let{nestedArrIndex:r,value:o}=t.pop();if(s(o))if(i(o)&&!l(o)){let t={v:o,i:r,n:this.norm.get(o)};e.push(t)}else n(o)&&o.forEach((e,r)=>{t.push({nestedArrIndex:r,value:e})})}r.$[o]=e}else if(i(u)&&!l(u)){let e={v:u,n:this.norm.get(u)};r.$[o]=e}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function D(e,t,{getFn:r=x.getFn,fieldNormWeight:n=x.fieldNormWeight}={}){let o=new A({getFn:r,fieldNormWeight:n});return o.setKeys(e.map(v)),o.setSources(t),o.create(),o}function b(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:o=x.distance,ignoreLocation:i=x.ignoreLocation}={}){let u=t/e.length;if(i)return u;let a=Math.abs(n-r);return o?u+a/o:a?1:u}let M=String.prototype.normalize?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,""):e=>e;class E{constructor(e,{location:t=x.location,threshold:r=x.threshold,distance:n=x.distance,includeMatches:o=x.includeMatches,findAllMatches:i=x.findAllMatches,minMatchCharLength:u=x.minMatchCharLength,isCaseSensitive:a=x.isCaseSensitive,ignoreDiacritics:s=x.ignoreDiacritics,ignoreLocation:l=x.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:o,findAllMatches:i,minMatchCharLength:u,isCaseSensitive:a,ignoreDiacritics:s,ignoreLocation:l},e=a?e:e.toLowerCase(),e=s?M(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let c=(e,t)=>{this.chunks.push({pattern:e,alphabet:function(e){let t={};for(let r=0,n=e.length;r32){let e=0,t=d%32,r=d-t;for(;e{let{isMatch:g,score:m,indices:v}=function(e,t,r,{location:n=x.location,distance:o=x.distance,threshold:i=x.threshold,findAllMatches:u=x.findAllMatches,minMatchCharLength:a=x.minMatchCharLength,includeMatches:s=x.includeMatches,ignoreLocation:l=x.ignoreLocation}={}){let c;if(t.length>32)throw Error(h(32));let d=t.length,f=e.length,p=Math.max(0,Math.min(n,f)),g=i,m=p,v=a>1||s,y=v?Array(f):[];for(;(c=e.indexOf(t,m))>-1;)if(g=Math.min(b(t,{currentLocation:c,expectedLocation:p,distance:o,ignoreLocation:l}),g),m=c+d,v){let e=0;for(;e=s;i-=1){let u=i-1,a=r[e.charAt(u)];if(v&&(y[u]=+!!a),h[i]=(h[i+1]<<1|1)&a,n&&(h[i]|=(w[i+1]|w[i])<<1|1|w[i+1]),h[i]&D&&(C=b(t,{errors:n,currentLocation:u,expectedLocation:p,distance:o,ignoreLocation:l}))<=g){if(g=C,(m=u)<=p)break;s=Math.max(1,2*p-m)}}if(b(t,{errors:n+1,currentLocation:p,expectedLocation:p,distance:o,ignoreLocation:l})>g)break;w=h}let M={isMatch:m>=0,score:Math.max(.001,C)};if(v){let e=function(e=[],t=x.minMatchCharLength){let r=[],n=-1,o=-1,i=0;for(let u=e.length;i=t&&r.push([n,o]),n=-1)}return e[i-1]&&i-n>=t&&r.push([n,i-1]),r}(y,a);e.length?s&&(M.indices=e):M.isMatch=!1}return M}(e,t,r,{location:o+p,distance:i,threshold:u,findAllMatches:a,minMatchCharLength:s,includeMatches:n,ignoreLocation:l});g&&(f=!0),d+=m,g&&v&&(c=[...c,...v])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&n&&(p.indices=c),p}}class S{constructor(e){this.pattern=e}static isMultiMatch(e){return $(e,this.multiRegex)}static isSingleMatch(e){return $(e,this.singleRegex)}search(){}}function $(e,t){let r=e.match(t);return r?r[1]:null}class k extends S{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}}class R extends S{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let t=-1===e.indexOf(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}}class _ extends S{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,this.pattern.length-1]}}}class T extends S{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}}class F extends S{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[e.length-this.pattern.length,e.length-1]}}}class O extends S{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:+!t,indices:[0,e.length-1]}}}class j extends S{constructor(e,{location:t=x.location,threshold:r=x.threshold,distance:n=x.distance,includeMatches:o=x.includeMatches,findAllMatches:i=x.findAllMatches,minMatchCharLength:u=x.minMatchCharLength,isCaseSensitive:a=x.isCaseSensitive,ignoreDiacritics:s=x.ignoreDiacritics,ignoreLocation:l=x.ignoreLocation}={}){super(e),this._bitapSearch=new E(e,{location:t,threshold:r,distance:n,includeMatches:o,findAllMatches:i,minMatchCharLength:u,isCaseSensitive:a,ignoreDiacritics:s,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class I extends S{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0,n=[],o=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+o,n.push([t,r-1]);let i=!!n.length;return{isMatch:i,score:+!i,indices:n}}}let L=[k,I,_,T,O,F,R,j],N=L.length,B=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,P=new Set([j.type,I.type]);class K{constructor(e,{isCaseSensitive:t=x.isCaseSensitive,ignoreDiacritics:r=x.ignoreDiacritics,includeMatches:n=x.includeMatches,minMatchCharLength:o=x.minMatchCharLength,ignoreLocation:i=x.ignoreLocation,findAllMatches:u=x.findAllMatches,location:a=x.location,threshold:s=x.threshold,distance:l=x.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:r,includeMatches:n,minMatchCharLength:o,findAllMatches:u,ignoreLocation:i,location:a,threshold:s,distance:l},e=t?e:e.toLowerCase(),e=r?M(e):e,this.pattern=e,this.query=function(e,t={}){return e.split("|").map(e=>{let r=e.trim().split(B).filter(e=>e&&!!e.trim()),n=[];for(let e=0,o=r.length;e!!(e[Y.AND]||e[Y.OR]),G=e=>!!e[W.PATH],V=e=>!n(e)&&a(e)&&!z(e),q=e=>({[Y.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function X(e,t,{auto:r=!0}={}){let o=e=>{let u=Object.keys(e),a=G(e);if(!a&&u.length>1&&!z(e))return o(q(e));if(V(e)){let n=a?e[W.PATH]:u[0],o=a?e[W.PATTERN]:e[n];if(!i(o))throw Error(d(n));let s={keyId:w(n),pattern:o};return r&&(s.searcher=H(o,t)),s}let s={children:[],operator:u[0]};return u.forEach(t=>{let r=e[t];n(r)&&r.forEach(e=>{s.children.push(o(e))})}),s};return z(e)||(e=q(e)),o(e)}function Z(e,t){let r=e.matches;t.matches=[],s(r)&&r.forEach(e=>{if(!s(e.indices)||!e.indices.length)return;let{indices:r,value:n}=e,o={indices:r,value:n};e.key&&(o.key=e.key.src),e.idx>-1&&(o.refIndex=e.idx),t.matches.push(o)})}function J(e,t){t.score=e.score}class Q{constructor(e,t={},r){this.options={...x,...t},this.options.useExtendedSearch,this._keyStore=new m(this.options.keys),this.setCollection(e,r)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof A))throw Error("Incorrect 'index' type");this._myIndex=t||D(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){s(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=()=>!1){let t=[];for(let r=0,n=this._docs.length;r{let r=1;e.matches.forEach(({key:e,norm:n,score:o})=>{let i=e?e.weight:null;r*=Math.pow(0===o&&i?Number.EPSILON:o,(i||1)*(t?1:n))}),e.score=r})}(l,{ignoreFieldNorm:s}),o&&l.sort(a),u(t)&&t>-1&&(l=l.slice(0,t)),function(e,t,{includeMatches:r=x.includeMatches,includeScore:n=x.includeScore}={}){let o=[];return r&&o.push(Z),n&&o.push(J),e.map(e=>{let{idx:r}=e,n={item:t[r],refIndex:r};return o.length&&o.forEach(t=>{t(e,n)}),n})}(l,this._docs,{includeMatches:r,includeScore:n})}_searchStringList(e){let t=H(e,this.options),{records:r}=this._myIndex,n=[];return r.forEach(({v:e,i:r,n:o})=>{if(!s(e))return;let{isMatch:i,score:u,indices:a}=t.searchIn(e);i&&n.push({item:e,idx:r,matches:[{score:u,value:e,norm:o,indices:a}]})}),n}_searchLogical(e){let t=X(e,this.options),r=(e,t,n)=>{if(!e.children){let{keyId:r,searcher:o}=e,i=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:o});return i&&i.length?[{idx:n,item:t,matches:i}]:[]}let o=[];for(let i=0,u=e.children.length;i{if(s(e)){let u=r(t,e,n);u.length&&(o[n]||(o[n]={idx:n,item:e,matches:[]},i.push(o[n])),u.forEach(({matches:e})=>{o[n].matches.push(...e)}))}}),i}_searchObjectList(e){let t=H(e,this.options),{keys:r,records:n}=this._myIndex,o=[];return n.forEach(({$:e,i:n})=>{if(!s(e))return;let i=[];r.forEach((r,n)=>{i.push(...this._findMatches({key:r,value:e[n],searcher:t}))}),i.length&&o.push({idx:n,item:e,matches:i})}),o}_findMatches({key:e,value:t,searcher:r}){if(!s(t))return[];let o=[];if(n(t))t.forEach(({v:t,i:n,n:i})=>{if(!s(t))return;let{isMatch:u,score:a,indices:l}=r.searchIn(t);u&&o.push({score:a,key:e,value:t,idx:n,norm:i,indices:l})});else{let{v:n,n:i}=t,{isMatch:u,score:a,indices:s}=r.searchIn(n);u&&o.push({score:a,key:e,value:n,norm:i,indices:s})}return o}}Q.version="7.1.0",Q.createIndex=D,Q.parseIndex=function(e,{getFn:t=x.getFn,fieldNormWeight:r=x.fieldNormWeight}={}){let{keys:n,records:o}=e,i=new A({getFn:t,fieldNormWeight:r});return i.setKeys(n),i.setIndexRecords(o),i},Q.config=x,Q.parseQuery=X,function(...e){U.push(...e)}(K)},2024:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("apple",[["path",{d:"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z",key:"3s7exb"}],["path",{d:"M10 2c1 .5 2 2 2 5",key:"fcco2y"}]])},2085:(e,t,r)=>{r.d(t,{F:()=>u});var n=r(2596);let o=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,i=n.$,u=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return i(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:u,defaultVariants:a}=t,s=Object.keys(u).map(e=>{let t=null==r?void 0:r[e],n=null==a?void 0:a[e];if(null===t)return null;let i=o(t)||o(n);return u[e][i]}),l=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return i(e,s,null==t||null==(n=t.compoundVariants)?void 0:n.reduce((e,t)=>{let{class:r,className:n,...o}=t;return Object.entries(o).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...a,...l}[t]):({...a,...l})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},3562:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("calendar-days",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]])},3786:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},4186:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},4516:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]])},5206:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("calendar-range",[["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M17 14h-6",key:"bkmgh3"}],["path",{d:"M13 18H7",key:"bb0bb7"}],["path",{d:"M7 14h.01",key:"1qa3f1"}],["path",{d:"M17 18h.01",key:"1bdyru"}]])},5398:(e,t,r)=>{function n(){return(n=Object.assign||function(e){for(var t=1;th,fM:()=>f,q7:()=>d}),"undefined"!=typeof globalThis||("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self);var i=o(function(e,t){var r,n,o,i,u,a,s,l,c,d,h,f,p,g,m,v,y,w,x,C;r="millisecond",n="second",o="minute",i="hour",u="week",a="month",s="quarter",l="year",c="date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},(g={})[p="en"]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(e){return e instanceof x},v=function(e,t,r){var n;if(!e)return p;if("string"==typeof e)g[e]&&(n=e),t&&(g[e]=t,n=e);else{var o=e.name;g[o]=e,n=o}return!r&&n&&(p=n),n||!r&&p},y=function(e,t){if(m(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new x(r)},(w={s:f,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+f(Math.floor(r/60),2,"0")+":"+f(r%60,2,"0")},m:function e(t,r){if(t.date()=Math.abs(e)?60*e:e,o=this;if(t)return o.$offset=n,o.$u=0===e,o;if(0!==e){var i=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(n+i,"minute")).$offset=n,o.$x.$localOffset=i}else o=this.utc();return o};var a=n.format;n.format=function(e){return a.call(this,e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":""))},n.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*e},n.isUTC=function(){return!!this.$u},n.toISOString=function(){return this.toDate().toISOString()},n.toString=function(){return this.toDate().toUTCString()};var s=n.toDate;n.toDate=function(e){return"s"===e&&this.$offset?r(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():s.call(this)};var l=n.diff;n.diff=function(e,t,n){if(e&&this.$u===e.$u)return l.call(this,e,t,n);var o=this.local(),i=r(e).local();return l.call(o,i,t,n)}}});let a={dateTimeLocal:"YYYY-MM-DD[T]HH:mm:ss",dateTimeUTC:"YYYYMMDD[T]HHmmss[Z]",allDay:"YYYYMMDD"};function s(e){let t=new URLSearchParams;return Object.keys(e).sort().forEach(r=>{let n=e[r];null!=n&&t.append(r,n)}),t.toString().replace(/\+/g,"%20")}function l({startTime:e,endTime:t},r){let n=a[r];return{start:e.format(n),end:t.format(n)}}i.extend(u);let c=(e,t=!0)=>{let{start:r,end:o,duration:u}=e,a=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,["start","end","duration"]),s=t?i(r).utc():i(r),l=o?t?i(o).utc():i(o):(()=>{if(e.allDay)return s.add(1,"day");if(u&&2==u.length){let e=Number(u[0]);return s.add(e,u[1])}return s})();return n({},a,{startTime:s,endTime:l})},d=e=>{let t=c(e),{start:r,end:n}=l(t,t.allDay?"allDay":"dateTimeUTC"),o={action:"TEMPLATE",text:t.title,details:t.description,location:t.location,trp:t.busy,dates:r+"/"+n,recur:t.rRule?"RRULE:"+t.rRule:void 0};return t.guests&&t.guests.length&&(o.add=t.guests.join()),`https://calendar.google.com/calendar/render?${s(o)}`},h=e=>{let t=c(e,!1),{start:r,end:n}=l(t,"dateTimeLocal"),o={path:"/calendar/action/compose",rru:"addevent",startdt:r,enddt:n,subject:t.title,body:t.description,location:t.location,allday:t.allDay||!1};return t.guests&&t.guests.length&&(o.to=t.guests.join()),`https://outlook.live.com/calendar/0/action/compose?${s(o)}`},f=e=>{let t=c(e),{start:r,end:n}=l(t,t.allDay?"allDay":"dateTimeUTC");return`https://calendar.yahoo.com/?${s({v:60,title:t.title,st:r,et:n,desc:t.description,in_loc:t.location,dur:!!t.allDay&&"allday"})}`}},5453:(e,t,r)=>{r.d(t,{v:()=>s});var n=r(2115);let o=e=>{let t,r=new Set,n=(e,n)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=n?n:"object"!=typeof o||null===o)?o:Object.assign({},t,o),r.forEach(r=>r(t,e))}},o=()=>t,i={setState:n,getState:o,getInitialState:()=>u,subscribe:e=>(r.add(e),()=>r.delete(e))},u=t=e(n,o,i);return i},i=e=>e?o(e):o,u=e=>e,a=e=>{let t=i(e),r=e=>(function(e,t=u){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},s=e=>e?a(e):a},6786:(e,t,r)=>{function n(e,t){let r;try{r=e()}catch(e){return}return{getItem:e=>{var n;let o=e=>null===e?null:JSON.parse(e,null==t?void 0:t.reviver),i=null!=(n=r.getItem(e))?n:null;return i instanceof Promise?i.then(o):o(i)},setItem:(e,n)=>r.setItem(e,JSON.stringify(n,null==t?void 0:t.replacer)),removeItem:e=>r.removeItem(e)}}r.d(t,{KU:()=>n,Zr:()=>i});let o=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>o(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>o(t)(e)}}},i=(e,t)=>(r,i,u)=>{let a,s={storage:n(()=>localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},l=!1,c=new Set,d=new Set,h=s.storage;if(!h)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),r(...e)},i,u);let f=()=>{let e=s.partialize({...i()});return h.setItem(s.name,{state:e,version:s.version})},p=u.setState;u.setState=(e,t)=>(p(e,t),f());let g=e((...e)=>(r(...e),f()),i,u);u.getInitialState=()=>g;let m=()=>{var e,t;if(!h)return;l=!1,c.forEach(e=>{var t;return e(null!=(t=i())?t:g)});let n=(null==(t=s.onRehydrateStorage)?void 0:t.call(s,null!=(e=i())?e:g))||void 0;return o(h.getItem.bind(h))(s.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===s.version)return[!1,e.state];else{if(s.migrate){let t=s.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;let[n,o]=e;if(r(a=s.merge(o,null!=(t=i())?t:g),!0),n)return f()}).then(()=>{null==n||n(a,void 0),a=i(),l=!0,d.forEach(e=>e(a))}).catch(e=>{null==n||n(void 0,e)})};return u.persist={setOptions:e=>{s={...s,...e},e.storage&&(h=e.storage)},clearStorage:()=>{null==h||h.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>m(),hasHydrated:()=>l,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},s.skipHydration||m(),a||g}},7655:(e,t,r)=>{r.d(t,{LM:()=>V,OK:()=>Z,Ze:()=>q,bL:()=>G,zi:()=>X});var n=r(2115),o=r(3655),i=r(8905),u=r(6081),a=r(6101),s=r(9033),l=r(4315),c=r(2712),d=r(9367),h=r(5185),f=r(5155),p="ScrollArea",[g,m]=(0,u.A)(p),[v,y]=g(p),w=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:i="hover",dir:u,scrollHideDelay:s=600,...c}=e,[d,h]=n.useState(null),[p,g]=n.useState(null),[m,y]=n.useState(null),[w,x]=n.useState(null),[C,A]=n.useState(null),[D,b]=n.useState(0),[M,E]=n.useState(0),[S,$]=n.useState(!1),[k,R]=n.useState(!1),_=(0,a.s)(t,e=>h(e)),T=(0,l.jH)(u);return(0,f.jsx)(v,{scope:r,type:i,dir:T,scrollHideDelay:s,scrollArea:d,viewport:p,onViewportChange:g,content:m,onContentChange:y,scrollbarX:w,onScrollbarXChange:x,scrollbarXEnabled:S,onScrollbarXEnabledChange:$,scrollbarY:C,onScrollbarYChange:A,scrollbarYEnabled:k,onScrollbarYEnabledChange:R,onCornerWidthChange:b,onCornerHeightChange:E,children:(0,f.jsx)(o.sG.div,{dir:T,...c,ref:_,style:{position:"relative","--radix-scroll-area-corner-width":D+"px","--radix-scroll-area-corner-height":M+"px",...e.style}})})});w.displayName=p;var x="ScrollAreaViewport",C=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:i,nonce:u,...s}=e,l=y(x,r),c=n.useRef(null),d=(0,a.s)(t,c,l.onViewportChange);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:u}),(0,f.jsx)(o.sG.div,{"data-radix-scroll-area-viewport":"",...s,ref:d,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,f.jsx)("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});C.displayName=x;var A="ScrollAreaScrollbar",D=n.forwardRef((e,t)=>{let{forceMount:r,...o}=e,i=y(A,e.__scopeScrollArea),{onScrollbarXEnabledChange:u,onScrollbarYEnabledChange:a}=i,s="horizontal"===e.orientation;return n.useEffect(()=>(s?u(!0):a(!0),()=>{s?u(!1):a(!1)}),[s,u,a]),"hover"===i.type?(0,f.jsx)(b,{...o,ref:t,forceMount:r}):"scroll"===i.type?(0,f.jsx)(M,{...o,ref:t,forceMount:r}):"auto"===i.type?(0,f.jsx)(E,{...o,ref:t,forceMount:r}):"always"===i.type?(0,f.jsx)(S,{...o,ref:t}):null});D.displayName=A;var b=n.forwardRef((e,t)=>{let{forceMount:r,...o}=e,u=y(A,e.__scopeScrollArea),[a,s]=n.useState(!1);return n.useEffect(()=>{let e=u.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),s(!0)},n=()=>{t=window.setTimeout(()=>s(!1),u.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[u.scrollArea,u.scrollHideDelay]),(0,f.jsx)(i.C,{present:r||a,children:(0,f.jsx)(E,{"data-state":a?"visible":"hidden",...o,ref:t})})}),M=n.forwardRef((e,t)=>{var r,o;let{forceMount:u,...a}=e,s=y(A,e.__scopeScrollArea),l="horizontal"===e.orientation,c=W(()=>p("SCROLL_END"),100),[d,p]=(r="hidden",o={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},n.useReducer((e,t)=>{let r=o[e][t];return null!=r?r:e},r));return n.useEffect(()=>{if("idle"===d){let e=window.setTimeout(()=>p("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(e)}},[d,s.scrollHideDelay,p]),n.useEffect(()=>{let e=s.viewport,t=l?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(p("SCROLL"),c()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[s.viewport,l,p,c]),(0,f.jsx)(i.C,{present:u||"hidden"!==d,children:(0,f.jsx)(S,{"data-state":"hidden"===d?"hidden":"visible",...a,ref:t,onPointerEnter:(0,h.mK)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,h.mK)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),E=n.forwardRef((e,t)=>{let r=y(A,e.__scopeScrollArea),{forceMount:o,...u}=e,[a,s]=n.useState(!1),l="horizontal"===e.orientation,c=W(()=>{if(r.viewport){let e=r.viewport.offsetWidth{let{orientation:r="vertical",...o}=e,i=y(A,e.__scopeScrollArea),u=n.useRef(null),a=n.useRef(0),[s,l]=n.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=P(s.viewport,s.content),d={...o,sizes:s,onSizesChange:l,hasThumb:!!(c>0&&c<1),onThumbChange:e=>u.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function h(e,t){return function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ltr",o=K(r),i=t||o/2,u=r.scrollbar.paddingStart+i,a=r.scrollbar.size-r.scrollbar.paddingEnd-(o-i),s=r.content-r.viewport;return H([u,a],"ltr"===n?[0,s]:[-1*s,0])(e)}(e,a.current,s,t)}return"horizontal"===r?(0,f.jsx)($,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&u.current){let e=U(i.viewport.scrollLeft,s,i.dir);u.current.style.transform="translate3d(".concat(e,"px, 0, 0)")}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=h(e,i.dir))}}):"vertical"===r?(0,f.jsx)(k,{...d,ref:t,onThumbPositionChange:()=>{if(i.viewport&&u.current){let e=U(i.viewport.scrollTop,s);u.current.style.transform="translate3d(0, ".concat(e,"px, 0)")}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=h(e))}}):null}),$=n.forwardRef((e,t)=>{let{sizes:r,onSizesChange:o,...i}=e,u=y(A,e.__scopeScrollArea),[s,l]=n.useState(),c=n.useRef(null),d=(0,a.s)(t,c,u.onScrollbarXChange);return n.useEffect(()=>{c.current&&l(getComputedStyle(c.current))},[c]),(0,f.jsx)(T,{"data-orientation":"horizontal",...i,ref:d,sizes:r,style:{bottom:0,left:"rtl"===u.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===u.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":K(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(u.viewport){let n=u.viewport.scrollLeft+t.deltaX;e.onWheelScroll(n),function(e,t){return e>0&&e{c.current&&u.viewport&&s&&o({content:u.viewport.scrollWidth,viewport:u.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:B(s.paddingLeft),paddingEnd:B(s.paddingRight)}})}})}),k=n.forwardRef((e,t)=>{let{sizes:r,onSizesChange:o,...i}=e,u=y(A,e.__scopeScrollArea),[s,l]=n.useState(),c=n.useRef(null),d=(0,a.s)(t,c,u.onScrollbarYChange);return n.useEffect(()=>{c.current&&l(getComputedStyle(c.current))},[c]),(0,f.jsx)(T,{"data-orientation":"vertical",...i,ref:d,sizes:r,style:{top:0,right:"ltr"===u.dir?0:void 0,left:"rtl"===u.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":K(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(u.viewport){let n=u.viewport.scrollTop+t.deltaY;e.onWheelScroll(n),function(e,t){return e>0&&e{c.current&&u.viewport&&s&&o({content:u.viewport.scrollHeight,viewport:u.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:B(s.paddingTop),paddingEnd:B(s.paddingBottom)}})}})}),[R,_]=g(A),T=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:i,hasThumb:u,onThumbChange:l,onThumbPointerUp:c,onThumbPointerDown:d,onThumbPositionChange:p,onDragScroll:g,onWheelScroll:m,onResize:v,...w}=e,x=y(A,r),[C,D]=n.useState(null),b=(0,a.s)(t,e=>D(e)),M=n.useRef(null),E=n.useRef(""),S=x.viewport,$=i.content-i.viewport,k=(0,s.c)(m),_=(0,s.c)(p),T=W(v,10);function F(e){M.current&&g({x:e.clientX-M.current.left,y:e.clientY-M.current.top})}return n.useEffect(()=>{let e=e=>{let t=e.target;(null==C?void 0:C.contains(t))&&k(e,$)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[S,C,$,k]),n.useEffect(_,[i,_]),z(C,T),z(x.content,T),(0,f.jsx)(R,{scope:r,scrollbar:C,hasThumb:u,onThumbChange:(0,s.c)(l),onThumbPointerUp:(0,s.c)(c),onThumbPositionChange:_,onThumbPointerDown:(0,s.c)(d),children:(0,f.jsx)(o.sG.div,{...w,ref:b,style:{position:"absolute",...w.style},onPointerDown:(0,h.mK)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),M.current=C.getBoundingClientRect(),E.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),F(e))}),onPointerMove:(0,h.mK)(e.onPointerMove,F),onPointerUp:(0,h.mK)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=E.current,x.viewport&&(x.viewport.style.scrollBehavior=""),M.current=null})})})}),F="ScrollAreaThumb",O=n.forwardRef((e,t)=>{let{forceMount:r,...n}=e,o=_(F,e.__scopeScrollArea);return(0,f.jsx)(i.C,{present:r||o.hasThumb,children:(0,f.jsx)(j,{ref:t,...n})})}),j=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:i,...u}=e,s=y(F,r),l=_(F,r),{onThumbPositionChange:c}=l,d=(0,a.s)(t,e=>l.onThumbChange(e)),p=n.useRef(void 0),g=W(()=>{p.current&&(p.current(),p.current=void 0)},100);return n.useEffect(()=>{let e=s.viewport;if(e){let t=()=>{g(),p.current||(p.current=Y(e,c),c())};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[s.viewport,g,c]),(0,f.jsx)(o.sG.div,{"data-state":l.hasThumb?"visible":"hidden",...u,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:(0,h.mK)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;l.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,h.mK)(e.onPointerUp,l.onThumbPointerUp)})});O.displayName=F;var I="ScrollAreaCorner",L=n.forwardRef((e,t)=>{let r=y(I,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&n?(0,f.jsx)(N,{...e,ref:t}):null});L.displayName=I;var N=n.forwardRef((e,t)=>{let{__scopeScrollArea:r,...i}=e,u=y(I,r),[a,s]=n.useState(0),[l,c]=n.useState(0),d=!!(a&&l);return z(u.scrollbarX,()=>{var e;let t=(null==(e=u.scrollbarX)?void 0:e.offsetHeight)||0;u.onCornerHeightChange(t),c(t)}),z(u.scrollbarY,()=>{var e;let t=(null==(e=u.scrollbarY)?void 0:e.offsetWidth)||0;u.onCornerWidthChange(t),s(t)}),d?(0,f.jsx)(o.sG.div,{...i,ref:t,style:{width:a,height:l,position:"absolute",right:"ltr"===u.dir?0:void 0,left:"rtl"===u.dir?0:void 0,bottom:0,...e.style}}):null});function B(e){return e?parseInt(e,10):0}function P(e,t){let r=e/t;return isNaN(r)?0:r}function K(e){let t=P(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function U(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"ltr",n=K(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,u=t.content-t.viewport,a=(0,d.q)(e,"ltr"===r?[0,u]:[-1*u,0]);return H([0,u],[0,i-n])(a)}function H(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var Y=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>{},r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let i={left:e.scrollLeft,top:e.scrollTop},u=r.left!==i.left,a=r.top!==i.top;(u||a)&&t(),r=i,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function W(e,t){let r=(0,s.c)(e),o=n.useRef(0);return n.useEffect(()=>()=>window.clearTimeout(o.current),[]),n.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(r,t)},[r,t])}function z(e,t){let r=(0,s.c)(t);(0,c.N)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}var G=w,V=C,q=D,X=O,Z=L},8564:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]])},8883:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]])},8905:(e,t,r)=>{r.d(t,{C:()=>u});var n=r(2115),o=r(6101),i=r(2712),u=e=>{let{present:t,children:r}=e,u=function(e){var t,r;let[o,u]=n.useState(),s=n.useRef(null),l=n.useRef(e),c=n.useRef("none"),[d,h]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},n.useReducer((e,t)=>{let n=r[e][t];return null!=n?n:e},t));return n.useEffect(()=>{let e=a(s.current);c.current="mounted"===d?e:"none"},[d]),(0,i.N)(()=>{let t=s.current,r=l.current;if(r!==e){let n=c.current,o=a(t);e?h("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?h("UNMOUNT"):r&&n!==o?h("ANIMATION_OUT"):h("UNMOUNT"),l.current=e}},[e,h]),(0,i.N)(()=>{if(o){var e;let t,r=null!=(e=o.ownerDocument.defaultView)?e:window,n=e=>{let n=a(s.current).includes(CSS.escape(e.animationName));if(e.target===o&&n&&(h("ANIMATION_END"),!l.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",t=r.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},i=e=>{e.target===o&&(c.current=a(s.current))};return o.addEventListener("animationstart",i),o.addEventListener("animationcancel",n),o.addEventListener("animationend",n),()=>{r.clearTimeout(t),o.removeEventListener("animationstart",i),o.removeEventListener("animationcancel",n),o.removeEventListener("animationend",n)}}h("ANIMATION_END")},[o,h]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:n.useCallback(e=>{s.current=e?getComputedStyle(e):null,u(e)},[])}}(t),s="function"==typeof r?r({present:u.isPresent}):n.Children.only(r),l=(0,o.s)(u.ref,function(e){var t,r;let n=null==(t=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:t.get,o=n&&"isReactWarning"in n&&n.isReactWarning;return o?e.ref:(o=(n=null==(r=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:r.get)&&"isReactWarning"in n&&n.isReactWarning)?e.props.ref:e.props.ref||e.ref}(s));return"function"==typeof r||u.isPresent?n.cloneElement(s,{ref:l}):null};function a(e){return(null==e?void 0:e.animationName)||"none"}u.displayName="Presence"},9074:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(9946).A)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},9449:(e,t,r)=>{r.d(t,{UC:()=>e9,q7:()=>e4,ZL:()=>e5,bL:()=>e6,l9:()=>e8});var n=r(2115),o=r(5185),i=r(6101),u=r(6081),a=r(5845),s=r(3655),l=r(7328),c=r(4315),d=r(9178),h=r(2293),f=r(7900),p=r(1285),g=r(8795),m=r(4378),v=r(8905),y=r(9033),w=r(5155),x="rovingFocusGroup.onEntryFocus",C={bubbles:!1,cancelable:!0},A="RovingFocusGroup",[D,b,M]=(0,l.N)(A),[E,S]=(0,u.A)(A,[M]),[$,k]=E(A),R=n.forwardRef((e,t)=>(0,w.jsx)(D.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,w.jsx)(D.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,w.jsx)(_,{...e,ref:t})})}));R.displayName=A;var _=n.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:u,loop:l=!1,dir:d,currentTabStopId:h,defaultCurrentTabStopId:f,onCurrentTabStopIdChange:p,onEntryFocus:g,preventScrollOnEntryFocus:m=!1,...v}=e,D=n.useRef(null),M=(0,i.s)(t,D),E=(0,c.jH)(d),[S,k]=(0,a.i)({prop:h,defaultProp:null!=f?f:null,onChange:p,caller:A}),[R,_]=n.useState(!1),T=(0,y.c)(g),F=b(r),O=n.useRef(!1),[I,L]=n.useState(0);return n.useEffect(()=>{let e=D.current;if(e)return e.addEventListener(x,T),()=>e.removeEventListener(x,T)},[T]),(0,w.jsx)($,{scope:r,orientation:u,dir:E,loop:l,currentTabStopId:S,onItemFocus:n.useCallback(e=>k(e),[k]),onItemShiftTab:n.useCallback(()=>_(!0),[]),onFocusableItemAdd:n.useCallback(()=>L(e=>e+1),[]),onFocusableItemRemove:n.useCallback(()=>L(e=>e-1),[]),children:(0,w.jsx)(s.sG.div,{tabIndex:R||0===I?-1:0,"data-orientation":u,...v,ref:M,style:{outline:"none",...e.style},onMouseDown:(0,o.mK)(e.onMouseDown,()=>{O.current=!0}),onFocus:(0,o.mK)(e.onFocus,e=>{let t=!O.current;if(e.target===e.currentTarget&&t&&!R){let t=new CustomEvent(x,C);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);j([e.find(e=>e.active),e.find(e=>e.id===S),...e].filter(Boolean).map(e=>e.ref.current),m)}}O.current=!1}),onBlur:(0,o.mK)(e.onBlur,()=>_(!1))})})}),T="RovingFocusGroupItem",F=n.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:i=!0,active:u=!1,tabStopId:a,children:l,...c}=e,d=(0,p.B)(),h=a||d,f=k(T,r),g=f.currentTabStopId===h,m=b(r),{onFocusableItemAdd:v,onFocusableItemRemove:y,currentTabStopId:x}=f;return n.useEffect(()=>{if(i)return v(),()=>y()},[i,v,y]),(0,w.jsx)(D.ItemSlot,{scope:r,id:h,focusable:i,active:u,children:(0,w.jsx)(s.sG.span,{tabIndex:g?0:-1,"data-orientation":f.orientation,...c,ref:t,onMouseDown:(0,o.mK)(e.onMouseDown,e=>{i?f.onItemFocus(h):e.preventDefault()}),onFocus:(0,o.mK)(e.onFocus,()=>f.onItemFocus(h)),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void f.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return O[o]}(e,f.orientation,f.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=m().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let n=r.indexOf(e.currentTarget);r=f.loop?function(e,t){return e.map((r,n)=>e[(t+n)%e.length])}(r,n+1):r.slice(n+1)}setTimeout(()=>j(r))}}),children:"function"==typeof l?l({isCurrentTabStop:g,hasTabStop:null!=x}):l})})});F.displayName=T;var O={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function j(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var I=r(9708),L=r(8168),N=r(3795),B=["Enter"," "],P=["ArrowUp","PageDown","End"],K=["ArrowDown","PageUp","Home",...P],U={ltr:[...B,"ArrowRight"],rtl:[...B,"ArrowLeft"]},H={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Y="Menu",[W,z,G]=(0,l.N)(Y),[V,q]=(0,u.A)(Y,[G,g.Bk,S]),X=(0,g.Bk)(),Z=S(),[J,Q]=V(Y),[ee,et]=V(Y),er=e=>{let{__scopeMenu:t,open:r=!1,children:o,dir:i,onOpenChange:u,modal:a=!0}=e,s=X(t),[l,d]=n.useState(null),h=n.useRef(!1),f=(0,y.c)(u),p=(0,c.jH)(i);return n.useEffect(()=>{let e=()=>{h.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>h.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,w.jsx)(g.bL,{...s,children:(0,w.jsx)(J,{scope:t,open:r,onOpenChange:f,content:l,onContentChange:d,children:(0,w.jsx)(ee,{scope:t,onClose:n.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:h,dir:p,modal:a,children:o})})})};er.displayName=Y;var en=n.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,o=X(r);return(0,w.jsx)(g.Mz,{...o,...n,ref:t})});en.displayName="MenuAnchor";var eo="MenuPortal",[ei,eu]=V(eo,{forceMount:void 0}),ea=e=>{let{__scopeMenu:t,forceMount:r,children:n,container:o}=e,i=Q(eo,t);return(0,w.jsx)(ei,{scope:t,forceMount:r,children:(0,w.jsx)(v.C,{present:r||i.open,children:(0,w.jsx)(m.Z,{asChild:!0,container:o,children:n})})})};ea.displayName=eo;var es="MenuContent",[el,ec]=V(es),ed=n.forwardRef((e,t)=>{let r=eu(es,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,i=Q(es,e.__scopeMenu),u=et(es,e.__scopeMenu);return(0,w.jsx)(W.Provider,{scope:e.__scopeMenu,children:(0,w.jsx)(v.C,{present:n||i.open,children:(0,w.jsx)(W.Slot,{scope:e.__scopeMenu,children:u.modal?(0,w.jsx)(eh,{...o,ref:t}):(0,w.jsx)(ef,{...o,ref:t})})})})}),eh=n.forwardRef((e,t)=>{let r=Q(es,e.__scopeMenu),u=n.useRef(null),a=(0,i.s)(t,u);return n.useEffect(()=>{let e=u.current;if(e)return(0,L.Eq)(e)},[]),(0,w.jsx)(eg,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),ef=n.forwardRef((e,t)=>{let r=Q(es,e.__scopeMenu);return(0,w.jsx)(eg,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),ep=(0,I.TL)("MenuContent.ScrollLock"),eg=n.forwardRef((e,t)=>{let{__scopeMenu:r,loop:u=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:c,onEntryFocus:p,onEscapeKeyDown:m,onPointerDownOutside:v,onFocusOutside:y,onInteractOutside:x,onDismiss:C,disableOutsideScroll:A,...D}=e,b=Q(es,r),M=et(es,r),E=X(r),S=Z(r),$=z(r),[k,_]=n.useState(null),T=n.useRef(null),F=(0,i.s)(t,T,b.onContentChange),O=n.useRef(0),j=n.useRef(""),I=n.useRef(0),L=n.useRef(null),B=n.useRef("right"),U=n.useRef(0),H=A?N.A:n.Fragment,Y=e=>{var t,r;let n=j.current+e,o=$().filter(e=>!e.disabled),i=document.activeElement,u=null==(t=o.find(e=>e.ref.current===i))?void 0:t.textValue,a=function(e,t,r){var n;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,u=(n=Math.max(i,0),e.map((t,r)=>e[(n+r)%e.length]));1===o.length&&(u=u.filter(e=>e!==r));let a=u.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return a!==r?a:void 0}(o.map(e=>e.textValue),n,u),s=null==(r=o.find(e=>e.textValue===a))?void 0:r.ref.current;!function e(t){j.current=t,window.clearTimeout(O.current),""!==t&&(O.current=window.setTimeout(()=>e(""),1e3))}(n),s&&setTimeout(()=>s.focus())};n.useEffect(()=>()=>window.clearTimeout(O.current),[]),(0,h.Oh)();let W=n.useCallback(e=>{var t,r;return B.current===(null==(t=L.current)?void 0:t.side)&&function(e,t){return!!t&&function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;en!=d>n&&r<(c-s)*(n-l)/(d-l)+s&&(o=!o)}return o}({x:e.clientX,y:e.clientY},t)}(e,null==(r=L.current)?void 0:r.area)},[]);return(0,w.jsx)(el,{scope:r,searchRef:j,onItemEnter:n.useCallback(e=>{W(e)&&e.preventDefault()},[W]),onItemLeave:n.useCallback(e=>{var t;W(e)||(null==(t=T.current)||t.focus(),_(null))},[W]),onTriggerLeave:n.useCallback(e=>{W(e)&&e.preventDefault()},[W]),pointerGraceTimerRef:I,onPointerGraceIntentChange:n.useCallback(e=>{L.current=e},[]),children:(0,w.jsx)(H,{...A?{as:ep,allowPinchZoom:!0}:void 0,children:(0,w.jsx)(f.n,{asChild:!0,trapped:a,onMountAutoFocus:(0,o.mK)(s,e=>{var t;e.preventDefault(),null==(t=T.current)||t.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:(0,w.jsx)(d.qW,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:m,onPointerDownOutside:v,onFocusOutside:y,onInteractOutside:x,onDismiss:C,children:(0,w.jsx)(R,{asChild:!0,...S,dir:M.dir,orientation:"vertical",loop:u,currentTabStopId:k,onCurrentTabStopIdChange:_,onEntryFocus:(0,o.mK)(p,e=>{M.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,w.jsx)(g.UC,{role:"menu","aria-orientation":"vertical","data-state":eK(b.open),"data-radix-menu-content":"",dir:M.dir,...E,...D,ref:F,style:{outline:"none",...D.style},onKeyDown:(0,o.mK)(D.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!r&&n&&Y(e.key));let o=T.current;if(e.target!==o||!K.includes(e.key))return;e.preventDefault();let i=$().filter(e=>!e.disabled).map(e=>e.ref.current);P.includes(e.key)&&i.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(i)}),onBlur:(0,o.mK)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(O.current),j.current="")}),onPointerMove:(0,o.mK)(e.onPointerMove,eY(e=>{let t=e.target,r=U.current!==e.clientX;e.currentTarget.contains(t)&&r&&(B.current=e.clientX>U.current?"right":"left",U.current=e.clientX)}))})})})})})})});ed.displayName=es;var em=n.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,w.jsx)(s.sG.div,{role:"group",...n,ref:t})});em.displayName="MenuGroup";var ev=n.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,w.jsx)(s.sG.div,{...n,ref:t})});ev.displayName="MenuLabel";var ey="MenuItem",ew="menu.itemSelect",ex=n.forwardRef((e,t)=>{let{disabled:r=!1,onSelect:u,...a}=e,l=n.useRef(null),c=et(ey,e.__scopeMenu),d=ec(ey,e.__scopeMenu),h=(0,i.s)(t,l),f=n.useRef(!1);return(0,w.jsx)(eC,{...a,ref:h,disabled:r,onClick:(0,o.mK)(e.onClick,()=>{let e=l.current;if(!r&&e){let t=new CustomEvent(ew,{bubbles:!0,cancelable:!0});e.addEventListener(ew,e=>null==u?void 0:u(e),{once:!0}),(0,s.hO)(e,t),t.defaultPrevented?f.current=!1:c.onClose()}}),onPointerDown:t=>{var r;null==(r=e.onPointerDown)||r.call(e,t),f.current=!0},onPointerUp:(0,o.mK)(e.onPointerUp,e=>{var t;f.current||null==(t=e.currentTarget)||t.click()}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{let t=""!==d.searchRef.current;r||t&&" "===e.key||B.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});ex.displayName=ey;var eC=n.forwardRef((e,t)=>{let{__scopeMenu:r,disabled:u=!1,textValue:a,...l}=e,c=ec(ey,r),d=Z(r),h=n.useRef(null),f=(0,i.s)(t,h),[p,g]=n.useState(!1),[m,v]=n.useState("");return n.useEffect(()=>{let e=h.current;if(e){var t;v((null!=(t=e.textContent)?t:"").trim())}},[l.children]),(0,w.jsx)(W.ItemSlot,{scope:r,disabled:u,textValue:null!=a?a:m,children:(0,w.jsx)(F,{asChild:!0,...d,focusable:!u,children:(0,w.jsx)(s.sG.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":u||void 0,"data-disabled":u?"":void 0,...l,ref:f,onPointerMove:(0,o.mK)(e.onPointerMove,eY(e=>{u?c.onItemLeave(e):(c.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,o.mK)(e.onPointerLeave,eY(e=>c.onItemLeave(e))),onFocus:(0,o.mK)(e.onFocus,()=>g(!0)),onBlur:(0,o.mK)(e.onBlur,()=>g(!1))})})})}),eA=n.forwardRef((e,t)=>{let{checked:r=!1,onCheckedChange:n,...i}=e;return(0,w.jsx)(eR,{scope:e.__scopeMenu,checked:r,children:(0,w.jsx)(ex,{role:"menuitemcheckbox","aria-checked":eU(r)?"mixed":r,...i,ref:t,"data-state":eH(r),onSelect:(0,o.mK)(i.onSelect,()=>null==n?void 0:n(!!eU(r)||!r),{checkForDefaultPrevented:!1})})})});eA.displayName="MenuCheckboxItem";var eD="MenuRadioGroup",[eb,eM]=V(eD,{value:void 0,onValueChange:()=>{}}),eE=n.forwardRef((e,t)=>{let{value:r,onValueChange:n,...o}=e,i=(0,y.c)(n);return(0,w.jsx)(eb,{scope:e.__scopeMenu,value:r,onValueChange:i,children:(0,w.jsx)(em,{...o,ref:t})})});eE.displayName=eD;var eS="MenuRadioItem",e$=n.forwardRef((e,t)=>{let{value:r,...n}=e,i=eM(eS,e.__scopeMenu),u=r===i.value;return(0,w.jsx)(eR,{scope:e.__scopeMenu,checked:u,children:(0,w.jsx)(ex,{role:"menuitemradio","aria-checked":u,...n,ref:t,"data-state":eH(u),onSelect:(0,o.mK)(n.onSelect,()=>{var e;return null==(e=i.onValueChange)?void 0:e.call(i,r)},{checkForDefaultPrevented:!1})})})});e$.displayName=eS;var ek="MenuItemIndicator",[eR,e_]=V(ek,{checked:!1}),eT=n.forwardRef((e,t)=>{let{__scopeMenu:r,forceMount:n,...o}=e,i=e_(ek,r);return(0,w.jsx)(v.C,{present:n||eU(i.checked)||!0===i.checked,children:(0,w.jsx)(s.sG.span,{...o,ref:t,"data-state":eH(i.checked)})})});eT.displayName=ek;var eF=n.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,w.jsx)(s.sG.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});eF.displayName="MenuSeparator";var eO=n.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,o=X(r);return(0,w.jsx)(g.i3,{...o,...n,ref:t})});eO.displayName="MenuArrow";var[ej,eI]=V("MenuSub"),eL="MenuSubTrigger",eN=n.forwardRef((e,t)=>{let r=Q(eL,e.__scopeMenu),u=et(eL,e.__scopeMenu),a=eI(eL,e.__scopeMenu),s=ec(eL,e.__scopeMenu),l=n.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=s,h={__scopeMenu:e.__scopeMenu},f=n.useCallback(()=>{l.current&&window.clearTimeout(l.current),l.current=null},[]);return n.useEffect(()=>f,[f]),n.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),d(null)}},[c,d]),(0,w.jsx)(en,{asChild:!0,...h,children:(0,w.jsx)(eC,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":a.contentId,"data-state":eK(r.open),...e,ref:(0,i.t)(t,a.onTriggerChange),onClick:t=>{var n;null==(n=e.onClick)||n.call(e,t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:(0,o.mK)(e.onPointerMove,eY(t=>{s.onItemEnter(t),!t.defaultPrevented&&(e.disabled||r.open||l.current||(s.onPointerGraceIntentChange(null),l.current=window.setTimeout(()=>{r.onOpenChange(!0),f()},100)))})),onPointerLeave:(0,o.mK)(e.onPointerLeave,eY(e=>{var t,n;f();let o=null==(t=r.content)?void 0:t.getBoundingClientRect();if(o){let t=null==(n=r.content)?void 0:n.dataset.side,i="right"===t,u=o[i?"left":"right"],a=o[i?"right":"left"];s.onPointerGraceIntentChange({area:[{x:e.clientX+(i?-5:5),y:e.clientY},{x:u,y:o.top},{x:a,y:o.top},{x:a,y:o.bottom},{x:u,y:o.bottom}],side:t}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(e),e.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:(0,o.mK)(e.onKeyDown,t=>{let n=""!==s.searchRef.current;if(!e.disabled&&(!n||" "!==t.key)&&U[u.dir].includes(t.key)){var o;r.onOpenChange(!0),null==(o=r.content)||o.focus(),t.preventDefault()}})})})});eN.displayName=eL;var eB="MenuSubContent",eP=n.forwardRef((e,t)=>{let r=eu(es,e.__scopeMenu),{forceMount:u=r.forceMount,...a}=e,s=Q(es,e.__scopeMenu),l=et(es,e.__scopeMenu),c=eI(eB,e.__scopeMenu),d=n.useRef(null),h=(0,i.s)(t,d);return(0,w.jsx)(W.Provider,{scope:e.__scopeMenu,children:(0,w.jsx)(v.C,{present:u||s.open,children:(0,w.jsx)(W.Slot,{scope:e.__scopeMenu,children:(0,w.jsx)(eg,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:h,align:"start",side:"rtl"===l.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{var t;l.isUsingKeyboardRef.current&&(null==(t=d.current)||t.focus()),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,o.mK)(e.onFocusOutside,e=>{e.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:(0,o.mK)(e.onEscapeKeyDown,e=>{l.onClose(),e.preventDefault()}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=H[l.dir].includes(e.key);if(t&&r){var n;s.onOpenChange(!1),null==(n=c.trigger)||n.focus(),e.preventDefault()}})})})})})});function eK(e){return e?"open":"closed"}function eU(e){return"indeterminate"===e}function eH(e){return eU(e)?"indeterminate":e?"checked":"unchecked"}function eY(e){return t=>"mouse"===t.pointerType?e(t):void 0}eP.displayName=eB;var eW="DropdownMenu",[ez,eG]=(0,u.A)(eW,[q]),eV=q(),[eq,eX]=ez(eW),eZ=e=>{let{__scopeDropdownMenu:t,children:r,dir:o,open:i,defaultOpen:u,onOpenChange:s,modal:l=!0}=e,c=eV(t),d=n.useRef(null),[h,f]=(0,a.i)({prop:i,defaultProp:null!=u&&u,onChange:s,caller:eW});return(0,w.jsx)(eq,{scope:t,triggerId:(0,p.B)(),triggerRef:d,contentId:(0,p.B)(),open:h,onOpenChange:f,onOpenToggle:n.useCallback(()=>f(e=>!e),[f]),modal:l,children:(0,w.jsx)(er,{...c,open:h,onOpenChange:f,dir:o,modal:l,children:r})})};eZ.displayName=eW;var eJ="DropdownMenuTrigger",eQ=n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,disabled:n=!1,...u}=e,a=eX(eJ,r),l=eV(r);return(0,w.jsx)(en,{asChild:!0,...l,children:(0,w.jsx)(s.sG.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...u,ref:(0,i.t)(t,a.triggerRef),onPointerDown:(0,o.mK)(e.onPointerDown,e=>{!n&&0===e.button&&!1===e.ctrlKey&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:(0,o.mK)(e.onKeyDown,e=>{!n&&(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});eQ.displayName=eJ;var e0=e=>{let{__scopeDropdownMenu:t,...r}=e,n=eV(t);return(0,w.jsx)(ea,{...n,...r})};e0.displayName="DropdownMenuPortal";var e1="DropdownMenuContent",e2=n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...i}=e,u=eX(e1,r),a=eV(r),s=n.useRef(!1);return(0,w.jsx)(ed,{id:u.contentId,"aria-labelledby":u.triggerId,...a,...i,ref:t,onCloseAutoFocus:(0,o.mK)(e.onCloseAutoFocus,e=>{var t;s.current||null==(t=u.triggerRef.current)||t.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:(0,o.mK)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!u.modal||n)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});e2.displayName=e1,n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(em,{...o,...n,ref:t})}).displayName="DropdownMenuGroup",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(ev,{...o,...n,ref:t})}).displayName="DropdownMenuLabel";var e3=n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(ex,{...o,...n,ref:t})});e3.displayName="DropdownMenuItem",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(eA,{...o,...n,ref:t})}).displayName="DropdownMenuCheckboxItem",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(eE,{...o,...n,ref:t})}).displayName="DropdownMenuRadioGroup",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(e$,{...o,...n,ref:t})}).displayName="DropdownMenuRadioItem",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(eT,{...o,...n,ref:t})}).displayName="DropdownMenuItemIndicator",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(eF,{...o,...n,ref:t})}).displayName="DropdownMenuSeparator",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(eO,{...o,...n,ref:t})}).displayName="DropdownMenuArrow",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(eN,{...o,...n,ref:t})}).displayName="DropdownMenuSubTrigger",n.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=eV(r);return(0,w.jsx)(eP,{...o,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent";var e6=eZ,e8=eQ,e5=e0,e9=e2,e4=e3}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/874-a00cb37c95e27df9.js b/.netlify/static/_next/static/chunks/874-a00cb37c95e27df9.js deleted file mode 100644 index 52852bb..0000000 --- a/.netlify/static/_next/static/chunks/874-a00cb37c95e27df9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[874],{2664:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return u}});let n=r(9991),o=r(7102);function u(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},2757:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return u},formatWithValidation:function(){return a},urlObjectKeys:function(){return i}});let n=r(6966)._(r(8859)),o=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,u=e.protocol||"",i=e.pathname||"",a=e.hash||"",l=e.query||"",f=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?f=t+e.host:r&&(f=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(f+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&"?"+l||"";return u&&!u.endsWith(":")&&(u+=":"),e.slashes||(!u||o.test(u))&&!1!==f?(f="//"+(f||""),i&&"/"!==i[0]&&(i="/"+i)):f||(f=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),""+u+f+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+a}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function a(e){return u(e)}},3180:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},6654:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=r(2115);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=u(e,n)),t&&(o.current=u(t,n))},[e,t])}function u(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6874:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return g},useLinkStatus:function(){return b}});let n=r(6966),o=r(5155),u=n._(r(2115)),i=r(2757),a=r(5227),l=r(9818),f=r(6654),c=r(9991),s=r(5929);r(3230);let p=r(4930),d=r(2664),h=r(6634);function y(e){return"string"==typeof e?e:(0,i.formatUrl)(e)}function g(e){let t,r,n,[i,g]=(0,u.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,u.useRef)(null),{href:P,as:_,children:v,prefetch:E=null,passHref:O,replace:j,shallow:T,scroll:C,onClick:N,onMouseEnter:S,onTouchStart:A,legacyBehavior:L=!1,onNavigate:x,ref:M,unstable_dynamicOnHover:U,...R}=e;t=v,L&&("string"==typeof t||"number"==typeof t)&&(t=(0,o.jsx)("a",{children:t}));let k=u.default.useContext(a.AppRouterContext),I=!1!==E,w=null===E?l.PrefetchKind.AUTO:l.PrefetchKind.FULL,{href:D,as:F}=u.default.useMemo(()=>{let e=y(P);return{href:e,as:_?y(_):e}},[P,_]);L&&(r=u.default.Children.only(t));let K=L?r&&"object"==typeof r&&r.ref:M,B=u.default.useCallback(e=>(null!==k&&(b.current=(0,p.mountLinkInstance)(e,D,k,w,I,g)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[I,D,k,w,g]),z={ref:(0,f.useMergedRef)(B,K),onClick(e){L||"function"!=typeof N||N(e),L&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),k&&(e.defaultPrevented||function(e,t,r,n,o,i,a){let{nodeName:l}=e.currentTarget;if(!("A"===l.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,d.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}e.preventDefault(),u.default.startTransition(()=>{if(a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}(0,h.dispatchNavigateAction)(r||t,o?"replace":"push",null==i||i,n.current)})}}(e,D,F,b,j,C,x))},onMouseEnter(e){L||"function"!=typeof S||S(e),L&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),k&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){L||"function"!=typeof A||A(e),L&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),k&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,c.isAbsoluteUrl)(F)?z.href=F:L&&!O&&("a"!==r.type||"href"in r.props)||(z.href=(0,s.addBasePath)(F)),n=L?u.default.cloneElement(r,z):(0,o.jsx)("a",{...R,...z,children:t}),(0,o.jsx)(m.Provider,{value:i,children:n})}r(3180);let m=(0,u.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,u.useContext)(m);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8859:(e,t)=>{function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,n(e));else t.set(r,n(o));return t}function u(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return m},NormalizeError:function(){return y},PageNotFoundError:function(){return g},SP:function(){return p},ST:function(){return d},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return l},getLocationOrigin:function(){return i},getURL:function(){return a},isAbsoluteUrl:function(){return u},isResSent:function(){return f},loadGetInitialProps:function(){return s},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),u=0;uo.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function a(){let{href:e}=window.location,t=i();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function s(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await s(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,d=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class y extends Error{}class g extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class m extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/97bfd92e-9f7bdc8ced03498c.js b/.netlify/static/_next/static/chunks/97bfd92e-9f7bdc8ced03498c.js deleted file mode 100644 index d2a958f..0000000 --- a/.netlify/static/_next/static/chunks/97bfd92e-9f7bdc8ced03498c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[953],{2231:(e,t,r)=>{let n;r.d(t,{c9:()=>rP});class i extends Error{}class s extends i{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}}class a extends i{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}}class o extends i{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}}class l extends i{}class u extends i{constructor(e){super(`Invalid unit ${e}`)}}class c extends i{}class h extends i{constructor(){super("Zone is an abstract class")}}let d="numeric",m="short",f="long",y={year:d,month:d,day:d},g={year:d,month:m,day:d},w={year:d,month:m,day:d,weekday:m},p={year:d,month:f,day:d},k={year:d,month:f,day:d,weekday:f},v={hour:d,minute:d},T={hour:d,minute:d,second:d},S={hour:d,minute:d,second:d,timeZoneName:m},O={hour:d,minute:d,second:d,timeZoneName:f},N={hour:d,minute:d,hourCycle:"h23"},b={hour:d,minute:d,second:d,hourCycle:"h23"},M={hour:d,minute:d,second:d,hourCycle:"h23",timeZoneName:m},D={hour:d,minute:d,second:d,hourCycle:"h23",timeZoneName:f},I={year:d,month:d,day:d,hour:d,minute:d},V={year:d,month:d,day:d,hour:d,minute:d,second:d},E={year:d,month:m,day:d,hour:d,minute:d},x={year:d,month:m,day:d,hour:d,minute:d,second:d},F={year:d,month:m,day:d,weekday:m,hour:d,minute:d},C={year:d,month:f,day:d,hour:d,minute:d,timeZoneName:m},$={year:d,month:f,day:d,hour:d,minute:d,second:d,timeZoneName:m},W={year:d,month:f,day:d,weekday:f,hour:d,minute:d,timeZoneName:f},Z={year:d,month:f,day:d,weekday:f,hour:d,minute:d,second:d,timeZoneName:f};class L{get type(){throw new h}get name(){throw new h}get ianaName(){return this.name}get isUniversal(){throw new h}offsetName(e,t){throw new h}formatOffset(e,t){throw new h}offset(e){throw new h}equals(e){throw new h}get isValid(){throw new h}}let z=null;class q extends L{static get instance(){return null===z&&(z=new q),z}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return e6(e,t,r)}formatOffset(e,t){return e9(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return"system"===e.type}get isValid(){return!0}}let j=new Map,A={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},U=new Map;class _ extends L{static create(e){let t=U.get(e);return void 0===t&&U.set(e,t=new _(e)),t}static resetCache(){U.clear(),j.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}}constructor(e){super(),this.zoneName=e,this.valid=_.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:r}){return e6(e,t,r,this.name)}formatOffset(e,t){return e9(this.offset(e),t)}offset(e){var t;let r;if(!this.valid)return NaN;let n=new Date(e);if(isNaN(n))return NaN;let i=(t=this.name,void 0===(r=j.get(t))&&(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),j.set(t,r)),r),[s,a,o,l,u,c,h]=i.formatToParts?function(e,t){let r=e.formatToParts(t),n=[];for(let e=0;e=0?f:1e3+f))/6e4}equals(e){return"iana"===e.type&&e.name===this.name}get isValid(){return this.valid}}let Y={},H=new Map;function R(e,t={}){let r=JSON.stringify([e,t]),n=H.get(r);return void 0===n&&(n=new Intl.DateTimeFormat(e,t),H.set(r,n)),n}let J=new Map,P=new Map,G=null,B=new Map;function Q(e){let t=B.get(e);return void 0===t&&(t=new Intl.DateTimeFormat(e).resolvedOptions(),B.set(e,t)),t}let K=new Map;function X(e,t,r,n){let i=e.listingMode();return"error"===i?null:"en"===i?r(t):n(t)}class ee{constructor(e,t,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;let{padTo:n,floor:i,...s}=r;if(!t||Object.keys(s).length>0){let t={useGrouping:!1,...r};r.padTo>0&&(t.minimumIntegerDigits=r.padTo),this.inf=function(e,t={}){let r=JSON.stringify([e,t]),n=J.get(r);return void 0===n&&(n=new Intl.NumberFormat(e,t),J.set(r,n)),n}(e,t)}}format(e){if(!this.inf)return eR(this.floor?Math.floor(e):eB(e,3),this.padTo);{let t=this.floor?Math.floor(e):e;return this.inf.format(t)}}}class et{constructor(e,t,r){let n;if(this.opts=r,this.originalZone=void 0,this.opts.timeZone)this.dt=e;else if("fixed"===e.zone.type){let t=-1*(e.offset/60),r=t>=0?`Etc/GMT+${t}`:`Etc/GMT${t}`;0!==e.offset&&_.create(r).valid?(n=r,this.dt=e):(n="UTC",this.dt=0===e.offset?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else"system"===e.zone.type?this.dt=e:"iana"===e.zone.type?(this.dt=e,n=e.zone.name):(n="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let i={...this.opts};i.timeZone=i.timeZone||n,this.dtf=R(t,i)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(e=>{if("timeZoneName"!==e.type)return e;{let t=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:t}}}):e}resolvedOptions(){return this.dtf.resolvedOptions()}}class er{constructor(e,t,r){this.opts={style:"long",...r},!t&&ej()&&(this.rtf=function(e,t={}){let{base:r,...n}=t,i=JSON.stringify([e,n]),s=P.get(i);return void 0===s&&(s=new Intl.RelativeTimeFormat(e,t),P.set(i,s)),s}(e,r))}format(e,t){return this.rtf?this.rtf.format(e,t):function(e,t,r="always",n=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===r&&s){let r="days"===e;switch(t){case 1:return r?"tomorrow":`next ${i[e][0]}`;case -1:return r?"yesterday":`last ${i[e][0]}`;case 0:return r?"today":`this ${i[e][0]}`}}let a=Object.is(t,-0)||t<0,o=Math.abs(t),l=1===o,u=i[e],c=n?l?u[1]:u[2]||u[1]:l?i[e][0]:e;return a?`${o} ${c} ago`:`in ${o} ${c}`}(t,e,this.opts.numeric,"long"!==this.opts.style)}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}let en={firstDay:1,minimalDays:4,weekend:[6,7]};class ei{static fromOpts(e){return ei.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,t,r,n,i=!1){let s=e||eS.defaultLocale,a=s||(i?"en-US":G||(G=new Intl.DateTimeFormat().resolvedOptions().locale)),o=t||eS.defaultNumberingSystem;return new ei(a,o,r||eS.defaultOutputCalendar,eY(n)||eS.defaultWeekSettings,s)}static resetCache(){G=null,H.clear(),J.clear(),P.clear(),B.clear(),K.clear()}static fromObject({locale:e,numberingSystem:t,outputCalendar:r,weekSettings:n}={}){return ei.create(e,t,r,n)}constructor(e,t,r,n,i){let[s,a,o]=function(e){let t=e.indexOf("-x-");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("-u-");if(-1===r)return[e];{let t,n;try{t=R(e).resolvedOptions(),n=e}catch(s){let i=e.substring(0,r);t=R(i).resolvedOptions(),n=i}let{numberingSystem:i,calendar:s}=t;return[n,i,s]}}(e);this.locale=s,this.numberingSystem=t||a||null,this.outputCalendar=r||o||null,this.weekSettings=n,this.intl=function(e,t,r){return(r||t)&&(e.includes("-u-")||(e+="-u"),r&&(e+=`-ca-${r}`),t&&(e+=`-nu-${t}`)),e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return null==this.fastNumbersCached&&(this.fastNumbersCached=(!this.numberingSystem||"latn"===this.numberingSystem)&&("latn"===this.numberingSystem||!this.locale||this.locale.startsWith("en")||"latn"===Q(this.locale).numberingSystem)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),t=(null===this.numberingSystem||"latn"===this.numberingSystem)&&(null===this.outputCalendar||"gregory"===this.outputCalendar);return e&&t?"en":"intl"}clone(e){return e&&0!==Object.getOwnPropertyNames(e).length?ei.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,eY(e.weekSettings)||this.weekSettings,e.defaultToEN||!1):this}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return X(this,e,tn,()=>{let r="ja"===this.intl||this.intl.startsWith("ja-"),n=(t&=!r)?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";if(!this.monthsCache[i][e]){let t=r?e=>this.dtFormatter(e,n).format():e=>this.extract(e,n,"month");this.monthsCache[i][e]=function(e){let t=[];for(let r=1;r<=12;r++){let n=rP.utc(2009,r,1);t.push(e(n))}return t}(t)}return this.monthsCache[i][e]})}weekdays(e,t=!1){return X(this,e,to,()=>{let r=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},n=t?"format":"standalone";return this.weekdaysCache[n][e]||(this.weekdaysCache[n][e]=function(e){let t=[];for(let r=1;r<=7;r++){let n=rP.utc(2016,11,13+r);t.push(e(n))}return t}(e=>this.extract(e,r,"weekday"))),this.weekdaysCache[n][e]})}meridiems(){return X(this,void 0,()=>tl,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[rP.utc(2016,11,13,9),rP.utc(2016,11,13,19)].map(t=>this.extract(t,e,"dayperiod"))}return this.meridiemCache})}eras(e){return X(this,e,td,()=>{let t={era:e};return this.eraCache[e]||(this.eraCache[e]=[rP.utc(-40,1,1),rP.utc(2017,1,1)].map(e=>this.extract(e,t,"era"))),this.eraCache[e]})}extract(e,t,r){let n=this.dtFormatter(e,t).formatToParts().find(e=>e.type.toLowerCase()===r);return n?n.value:null}numberFormatter(e={}){return new ee(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new et(e,this.intl,t)}relFormatter(e={}){return new er(this.intl,this.isEnglish(),e)}listFormatter(e={}){return function(e,t={}){let r=JSON.stringify([e,t]),n=Y[r];return n||(n=new Intl.ListFormat(e,t),Y[r]=n),n}(this.intl,e)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||Q(this.intl).locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;if(!eA())return en;var e=this.locale;let t=K.get(e);if(!t){let r=new Intl.Locale(e);"minimalDays"in(t="getWeekInfo"in r?r.getWeekInfo():r.weekInfo)||(t={...en,...t}),K.set(e,t)}return t}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let es=null;class ea extends L{static get utcInstance(){return null===es&&(es=new ea(0)),es}static instance(e){return 0===e?ea.utcInstance:new ea(e)}static parseSpecifier(e){if(e){let t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new ea(e4(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return 0===this.fixed?"UTC":`UTC${e9(this.fixed,"narrow")}`}get ianaName(){return 0===this.fixed?"Etc/UTC":`Etc/GMT${e9(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return e9(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return"fixed"===e.type&&e.fixed===this.fixed}get isValid(){return!0}}class eo extends L{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function el(e,t){if(eL(e)||null===e)return t;if(e instanceof L)return e;if("string"==typeof e){let r=e.toLowerCase();return"default"===r?t:"local"===r||"system"===r?q.instance:"utc"===r||"gmt"===r?ea.utcInstance:ea.parseSpecifier(r)||_.create(e)}if(ez(e))return ea.instance(e);if("object"==typeof e&&"offset"in e&&"function"==typeof e.offset)return e;else return new eo(e)}let eu={arab:"[Ù -Ù©]",arabext:"[Û°-Û¹]",bali:"[á­-á­™]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[ï¼-ï¼™]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|å››|五|å…­|七|å…«|ä¹]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[à»-à»™]",limb:"[᥆-á¥]",mlym:"[൦-൯]",mong:"[á -á ™]",mymr:"[á€-á‰]",orya:"[à­¦-à­¯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[à¹-๙]",tibt:"[༠-༩]",latn:"\\d"},ec={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},eh=eu.hanidec.replace(/[\[|\]]/g,"").split(""),ed=new Map;function em({numberingSystem:e},t=""){let r=e||"latn",n=ed.get(r);void 0===n&&(n=new Map,ed.set(r,n));let i=n.get(t);return void 0===i&&(i=RegExp(`${eu[r]}${t}`),n.set(t,i)),i}let ef=()=>Date.now(),ey="system",eg=null,ew=null,ep=null,ek=60,ev,eT=null;class eS{static get now(){return ef}static set now(e){ef=e}static set defaultZone(e){ey=e}static get defaultZone(){return el(ey,q.instance)}static get defaultLocale(){return eg}static set defaultLocale(e){eg=e}static get defaultNumberingSystem(){return ew}static set defaultNumberingSystem(e){ew=e}static get defaultOutputCalendar(){return ep}static set defaultOutputCalendar(e){ep=e}static get defaultWeekSettings(){return eT}static set defaultWeekSettings(e){eT=eY(e)}static get twoDigitCutoffYear(){return ek}static set twoDigitCutoffYear(e){ek=e%100}static get throwOnInvalid(){return ev}static set throwOnInvalid(e){ev=e}static resetCaches(){ei.resetCache(),_.resetCache(),rP.resetCache(),ed.clear()}}class eO{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}let eN=[0,31,59,90,120,151,181,212,243,273,304,334],eb=[0,31,60,91,121,152,182,213,244,274,305,335];function eM(e,t){return new eO("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function eD(e,t,r){let n=new Date(Date.UTC(e,t-1,r));e<100&&e>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let i=n.getUTCDay();return 0===i?7:i}function eI(e,t){let r=eQ(e)?eb:eN,n=r.findIndex(e=>ee2(n,t,r)?(u=n+1,l=1):u=n,{weekYear:u,weekNumber:l,weekday:o,...e8(e)}}function ex(e,t=4,r=1){let{weekYear:n,weekNumber:i,weekday:s}=e,a=eV(eD(n,1,t),r),o=eK(n),l=7*i+s-a-7+t,u;l<1?l+=eK(u=n-1):l>o?(u=n+1,l-=eK(n)):u=n;let{month:c,day:h}=eI(u,l);return{year:u,month:c,day:h,...e8(e)}}function eF(e){let{year:t,month:r,day:n}=e,i=n+(eQ(t)?eb:eN)[r-1];return{year:t,ordinal:i,...e8(e)}}function eC(e){let{year:t,ordinal:r}=e,{month:n,day:i}=eI(t,r);return{year:t,month:n,day:i,...e8(e)}}function e$(e,t){if(!(!eL(e.localWeekday)||!eL(e.localWeekNumber)||!eL(e.localWeekYear)))return{minDaysInFirstWeek:4,startOfWeek:1};if(!eL(e.weekday)||!eL(e.weekNumber)||!eL(e.weekYear))throw new l("Cannot mix locale-based week fields with ISO-based week fields");return eL(e.localWeekday)||(e.weekday=e.localWeekday),eL(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),eL(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}function eW(e){let t=eq(e.year),r=eH(e.month,1,12),n=eH(e.day,1,eX(e.year,e.month));return t?r?!n&&eM("day",e.day):eM("month",e.month):eM("year",e.year)}function eZ(e){let{hour:t,minute:r,second:n,millisecond:i}=e,s=eH(t,0,23)||24===t&&0===r&&0===n&&0===i,a=eH(r,0,59),o=eH(n,0,59),l=eH(i,0,999);return s?a?o?!l&&eM("millisecond",i):eM("second",n):eM("minute",r):eM("hour",t)}function eL(e){return void 0===e}function ez(e){return"number"==typeof e}function eq(e){return"number"==typeof e&&e%1==0}function ej(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function eA(){try{return"undefined"!=typeof Intl&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch(e){return!1}}function eU(e,t,r){if(0!==e.length)return e.reduce((e,n)=>{let i=[t(n),n];return e&&r(e[0],i[0])===e[0]?e:i},null)[1]}function e_(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function eY(e){if(null==e)return null;if("object"!=typeof e)throw new c("Week settings must be an object");if(!eH(e.firstDay,1,7)||!eH(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some(e=>!eH(e,1,7)))throw new c("Invalid week settings");return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function eH(e,t,r){return eq(e)&&e>=t&&e<=r}function eR(e,t=2){let r;return e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0")}function eJ(e){if(!eL(e)&&null!==e&&""!==e)return parseInt(e,10)}function eP(e){if(!eL(e)&&null!==e&&""!==e)return parseFloat(e)}function eG(e){if(!eL(e)&&null!==e&&""!==e)return Math.floor(1e3*parseFloat("0."+e))}function eB(e,t,r="round"){let n=10**t;switch(r){case"expand":return e>0?Math.ceil(e*n)/n:Math.floor(e*n)/n;case"trunc":return Math.trunc(e*n)/n;case"round":return Math.round(e*n)/n;case"floor":return Math.floor(e*n)/n;case"ceil":return Math.ceil(e*n)/n;default:throw RangeError(`Value rounding ${r} is out of range`)}}function eQ(e){return e%4==0&&(e%100!=0||e%400==0)}function eK(e){return eQ(e)?366:365}function eX(e,t){var r;let n=(r=t-1)-12*Math.floor(r/12)+1;return 2===n?eQ(e+(t-n)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][n-1]}function e0(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t)).setUTCFullYear(e.year,e.month-1,e.day),+t}function e1(e,t,r){return-eV(eD(e,1,t),r)+t-1}function e2(e,t=4,r=1){let n=e1(e,t,r),i=e1(e+1,t,r);return(eK(e)-n+i)/7}function e3(e){return e>99?e:e>eS.twoDigitCutoffYear?1900+e:2e3+e}function e6(e,t,r,n=null){let i=new Date(e),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);let a={timeZoneName:t,...s},o=new Intl.DateTimeFormat(r,a).formatToParts(i).find(e=>"timezonename"===e.type.toLowerCase());return o?o.value:null}function e4(e,t){let r=parseInt(e,10);Number.isNaN(r)&&(r=0);let n=parseInt(t,10)||0,i=r<0||Object.is(r,-0)?-n:n;return 60*r+i}function e5(e){let t=Number(e);if("boolean"==typeof e||""===e||!Number.isFinite(t))throw new c(`Invalid unit value ${e}`);return t}function e7(e,t){let r={};for(let n in e)if(e_(e,n)){let i=e[n];if(null==i)continue;r[t(n)]=e5(i)}return r}function e9(e,t){let r=Math.trunc(Math.abs(e/60)),n=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(t){case"short":return`${i}${eR(r,2)}:${eR(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${eR(r,2)}${eR(n,2)}`;default:throw RangeError(`Value format ${t} is out of range for property format`)}}function e8(e){return["hour","minute","second","millisecond"].reduce((t,r)=>(t[r]=e[r],t),{})}let te=["January","February","March","April","May","June","July","August","September","October","November","December"],tt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tr=["J","F","M","A","M","J","J","A","S","O","N","D"];function tn(e){switch(e){case"narrow":return[...tr];case"short":return[...tt];case"long":return[...te];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}let ti=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ts=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],ta=["M","T","W","T","F","S","S"];function to(e){switch(e){case"narrow":return[...ta];case"short":return[...ts];case"long":return[...ti];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}let tl=["AM","PM"],tu=["Before Christ","Anno Domini"],tc=["BC","AD"],th=["B","A"];function td(e){switch(e){case"narrow":return[...th];case"short":return[...tc];case"long":return[...tu];default:return null}}function tm(e,t){let r="";for(let n of e)n.literal?r+=n.val:r+=t(n.val);return r}let tf={D:y,DD:g,DDD:p,DDDD:k,t:v,tt:T,ttt:S,tttt:O,T:N,TT:b,TTT:M,TTTT:D,f:I,ff:E,fff:C,ffff:W,F:V,FF:x,FFF:$,FFFF:Z};class ty{static create(e,t={}){return new ty(e,t)}static parseFormat(e){let t=null,r="",n=!1,i=[];for(let s=0;s0||n)&&i.push({literal:n||/^\s+$/.test(r),val:""===r?"'":r}),t=null,r="",n=!n):n||a===t?r+=a:(r.length>0&&i.push({literal:/^\s+$/.test(r),val:r}),r=a,t=a)}return r.length>0&&i.push({literal:n||/^\s+$/.test(r),val:r}),i}static macroTokenToFormatOpts(e){return tf[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}dtFormatter(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t})}formatDateTime(e,t){return this.dtFormatter(e,t).format()}formatDateTimeParts(e,t){return this.dtFormatter(e,t).formatToParts()}formatInterval(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,t){return this.dtFormatter(e,t).resolvedOptions()}num(e,t=0,r){if(this.opts.forceSimple)return eR(e,t);let n={...this.opts};return t>0&&(n.padTo=t),r&&(n.signDisplay=r),this.loc.numberFormatter(n).format(e)}formatDateTimeFromString(e,t){let r="en"===this.loc.listingMode(),n=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,i=(t,r)=>this.loc.extract(e,t,r),s=t=>e.isOffsetFixed&&0===e.offset&&t.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,t.format):"",a=()=>r?tl[e.hour<12?0:1]:i({hour:"numeric",hourCycle:"h12"},"dayperiod"),o=(t,n)=>r?tn(t)[e.month-1]:i(n?{month:t}:{month:t,day:"numeric"},"month"),l=(t,n)=>r?to(t)[e.weekday-1]:i(n?{weekday:t}:{weekday:t,month:"long",day:"numeric"},"weekday"),u=t=>{let r=ty.macroTokenToFormatOpts(t);return r?this.formatWithSystemDefault(e,r):t},c=t=>r?td(t)[e.year<0?0:1]:i({era:t},"era");return tm(ty.parseFormat(t),t=>{switch(t){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12==0?12:e.hour%12);case"hh":return this.num(e.hour%12==0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return s({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return s({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return s({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return a();case"d":return n?i({day:"numeric"},"day"):this.num(e.day);case"dd":return n?i({day:"2-digit"},"day"):this.num(e.day,2);case"c":case"E":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return n?i({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return n?i({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return o("short",!0);case"LLLL":return o("long",!0);case"LLLLL":return o("narrow",!0);case"M":return n?i({month:"numeric"},"month"):this.num(e.month);case"MM":return n?i({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return o("short",!1);case"MMMM":return o("long",!1);case"MMMMM":return o("narrow",!1);case"y":return n?i({year:"numeric"},"year"):this.num(e.year);case"yy":return n?i({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return n?i({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return n?i({year:"numeric"},"year"):this.num(e.year,6);case"G":return c("short");case"GG":return c("long");case"GGGGG":return c("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return u(t)}})}formatDurationFromString(e,t){let r="negativeLargestOnly"===this.opts.signMode?-1:1,n=e=>{switch(e[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},i=ty.parseFormat(t),s=i.reduce((e,{literal:t,val:r})=>t?e:e.concat(r),[]),a=e.shiftTo(...s.map(n).filter(e=>e)),o={isNegativeDuration:a<0,largestUnit:Object.keys(a.values)[0]};return tm(i,e=>{let t=n(e);if(!t)return e;{let n,i=o.isNegativeDuration&&t!==o.largestUnit?r:1;return n="negativeLargestOnly"===this.opts.signMode&&t!==o.largestUnit?"never":"all"===this.opts.signMode?"always":"auto",this.num(a.get(t)*i,e.length,n)}})}}let tg=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function tw(...e){let t=e.reduce((e,t)=>e+t.source,"");return RegExp(`^${t}$`)}function tp(...e){return t=>e.reduce(([e,r,n],i)=>{let[s,a,o]=i(t,n);return[{...e,...s},a||r,o]},[{},null,1]).slice(0,2)}function tk(e,...t){if(null==e)return[null,null];for(let[r,n]of t){let t=r.exec(e);if(t)return n(t)}return[null,null]}function tv(...e){return(t,r)=>{let n,i={};for(n=0;nvoid 0!==e&&(t||e&&c)?-e:e;return[{years:d(eP(r)),months:d(eP(n)),weeks:d(eP(i)),days:d(eP(s)),hours:d(eP(a)),minutes:d(eP(o)),seconds:d(eP(l),"-0"===l),milliseconds:d(eG(u),h)}]}let tL={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function tz(e,t,r,n,i,s,a){let o={year:2===t.length?e3(eJ(t)):eJ(t),month:tt.indexOf(r)+1,day:eJ(n),hour:eJ(i),minute:eJ(s)};return a&&(o.second=eJ(a)),e&&(o.weekday=e.length>3?ti.indexOf(e)+1:ts.indexOf(e)+1),o}let tq=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function tj(e){let t,[,r,n,i,s,a,o,l,u,c,h,d]=e;return[tz(r,s,i,n,a,o,l),new ea(u?tL[u]:c?0:e4(h,d))]}let tA=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,tU=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,t_=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function tY(e){let[,t,r,n,i,s,a,o]=e;return[tz(t,i,n,r,s,a,o),ea.utcInstance]}function tH(e){let[,t,r,n,i,s,a,o]=e;return[tz(t,o,r,n,i,s,a),ea.utcInstance]}let tR=tw(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,tb),tJ=tw(/(\d{4})-?W(\d\d)(?:-?(\d))?/,tb),tP=tw(/(\d{4})-?(\d{3})/,tb),tG=tw(tN),tB=tp(function(e,t){return[{year:tE(e,t),month:tE(e,t+1,1),day:tE(e,t+2,1)},null,t+3]},tx,tF,tC),tQ=tp(tM,tx,tF,tC),tK=tp(tD,tx,tF,tC),tX=tp(tx,tF,tC),t0=tp(tx),t1=tw(/(\d{4})-(\d\d)-(\d\d)/,tV),t2=tw(tI),t3=tp(tx,tF,tC),t6="Invalid Duration",t4={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},t5={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6},...t4},t7={years:{quarters:4,months:12,weeks:52.1775,days:365.2425,hours:8765.82,minutes:525949.2,seconds:0x1e18558,milliseconds:31556952e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:7889238,milliseconds:7889238e3},months:{weeks:30.436875/7,days:30.436875,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...t4},t9=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],t8=t9.slice(0).reverse();function re(e,t,r=!1){return new ri({values:r?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix})}function rt(e,t){let r=t.milliseconds??0;for(let n of t8.slice(1))t[n]&&(r+=t[n]*e[n].milliseconds);return r}function rr(e,t){let r=0>rt(e,t)?-1:1;t9.reduceRight((n,i)=>{if(eL(t[i]))return n;if(n){let s=t[n]*r,a=e[i][n],o=Math.floor(s/a);t[i]+=o*r,t[n]-=o*a*r}return i},null),t9.reduce((r,n)=>{if(eL(t[n]))return r;if(r){let i=t[r]%1;t[r]-=i,t[n]+=i*e[r][n]}return n},null)}function rn(e){let t={};for(let[r,n]of Object.entries(e))0!==n&&(t[r]=n);return t}class ri{constructor(e){let t="longterm"===e.conversionAccuracy,r=t?t7:t5;e.matrix&&(r=e.matrix),this.values=e.values,this.loc=e.loc||ei.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=r,this.isLuxonDuration=!0}static fromMillis(e,t){return ri.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(null==e||"object"!=typeof e)throw new c(`Duration.fromObject: argument expected to be an object, got ${null===e?"null":typeof e}`);return new ri({values:e7(e,ri.normalizeUnit),loc:ei.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(ez(e))return ri.fromMillis(e);if(ri.isDuration(e))return e;if("object"==typeof e)return ri.fromObject(e);throw new c(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){let[r]=tk(e,[tW,tZ]);return r?ri.fromObject(r,t):ri.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){let[r]=tk(e,[t$,t0]);return r?ri.fromObject(r,t):ri.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new c("need to specify a reason the Duration is invalid");let r=e instanceof eO?e:new eO(e,t);if(!eS.throwOnInvalid)return new ri({invalid:r});throw new o(r)}static normalizeUnit(e){let t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new u(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){let r={...t,floor:!1!==t.round&&!1!==t.floor};return this.isValid?ty.create(this.loc,r).formatDurationFromString(this,e):t6}toHuman(e={}){if(!this.isValid)return t6;let t=!1!==e.showZeros,r=t9.map(r=>{let n=this.values[r];return eL(n)||0===n&&!t?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:r.slice(0,-1)}).format(n)}).filter(e=>e);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(r)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return 0!==this.years&&(e+=this.years+"Y"),(0!==this.months||0!==this.quarters)&&(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),(0!==this.hours||0!==this.minutes||0!==this.seconds||0!==this.milliseconds)&&(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),(0!==this.seconds||0!==this.milliseconds)&&(e+=eB(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let t=this.toMillis();return t<0||t>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},rP.fromMillis(t,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?rt(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let t=ri.fromDurationLike(e),r={};for(let e of t9)(e_(t.values,e)||e_(this.values,e))&&(r[e]=t.get(e)+this.get(e));return re(this,{values:r},!0)}minus(e){if(!this.isValid)return this;let t=ri.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;let t={};for(let r of Object.keys(this.values))t[r]=e5(e(this.values[r],r));return re(this,{values:t},!0)}get(e){return this[ri.normalizeUnit(e)]}set(e){return this.isValid?re(this,{values:{...this.values,...e7(e,ri.normalizeUnit)}}):this}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:r,matrix:n}={}){return re(this,{loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:n,conversionAccuracy:r})}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return rr(this.matrix,e),re(this,{values:e},!0)}rescale(){return this.isValid?re(this,{values:rn(this.normalize().shiftToAll().toObject())},!0):this}shiftTo(...e){let t;if(!this.isValid||0===e.length)return this;e=e.map(e=>ri.normalizeUnit(e));let r={},n={},i=this.toObject();for(let s of t9)if(e.indexOf(s)>=0){t=s;let e=0;for(let t in n)e+=this.matrix[t][s]*n[t],n[t]=0;ez(i[s])&&(e+=i[s]);let a=Math.trunc(e);r[s]=a,n[s]=(1e3*e-1e3*a)/1e3}else ez(i[s])&&(n[s]=i[s]);for(let e in n)0!==n[e]&&(r[t]+=e===t?n[e]:n[e]/this.matrix[t][e]);return rr(this.matrix,r),re(this,{values:r},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let t of Object.keys(this.values))e[t]=0===this.values[t]?0:-this.values[t];return re(this,{values:e},!0)}removeZeros(){return this.isValid?re(this,{values:rn(this.values)},!0):this}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;for(let n of t9){var t,r;if(t=this.values[n],r=e.values[n],void 0===t||0===t?void 0!==r&&0!==r:t!==r)return!1}return!0}}let rs="Invalid Interval";class ra{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,t=null){if(!e)throw new c("need to specify a reason the Interval is invalid");let r=e instanceof eO?e:new eO(e,t);if(!eS.throwOnInvalid)return new ra({invalid:r});throw new a(r)}static fromDateTimes(e,t){var r,n;let i=rG(e),s=rG(t),a=(r=i,n=s,r&&r.isValid?n&&n.isValid?ne}isBefore(e){return!!this.isValid&&this.e<=e}contains(e){return!!this.isValid&&this.s<=e&&this.e>e}set({start:e,end:t}={}){return this.isValid?ra.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];let t=e.map(rG).filter(e=>this.contains(e)).sort((e,t)=>e.toMillis()-t.toMillis()),r=[],{s:n}=this,i=0;for(;n+this.e?this.e:e;r.push(ra.fromDateTimes(n,s)),n=s,i+=1}return r}splitBy(e){let t=ri.fromDurationLike(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];let{s:r}=this,n=1,i,s=[];for(;re*n));i=+e>+this.e?this.e:e,s.push(ra.fromDateTimes(r,i)),r=i,n+=1}return s}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s=e.e}equals(e){return!!this.isValid&&!!e.isValid&&this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let t=this.s>e.s?this.s:e.s,r=this.e=r?null:ra.fromDateTimes(t,r)}union(e){if(!this.isValid)return this;let t=this.se.e?this.e:e.e;return ra.fromDateTimes(t,r)}static merge(e){let[t,r]=e.sort((e,t)=>e.s-t.s).reduce(([e,t],r)=>t?t.overlaps(r)||t.abutsStart(r)?[e,t.union(r)]:[e.concat([t]),r]:[e,r],[[],null]);return r&&t.push(r),t}static xor(e){let t=null,r=0,n=[],i=e.map(e=>[{time:e.s,type:"s"},{time:e.e,type:"e"}]);for(let e of Array.prototype.concat(...i).sort((e,t)=>e.time-t.time))1===(r+="s"===e.type?1:-1)?t=e.time:(t&&+t!=+e.time&&n.push(ra.fromDateTimes(t,e.time)),t=null);return ra.merge(n)}difference(...e){return ra.xor([this].concat(e)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:rs}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=y,t={}){return this.isValid?ty.create(this.s.loc.clone(t),e).formatInterval(this):rs}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:rs}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:rs}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:rs}toFormat(e,{separator:t=" – "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:rs}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):ri.invalid(this.invalidReason)}mapEndpoints(e){return ra.fromDateTimes(e(this.s),e(this.e))}}class ro{static hasDST(e=eS.defaultZone){let t=rP.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return _.isValidZone(e)}static normalizeZone(e){return el(e,eS.defaultZone)}static getStartOfWeek({locale:e=null,locObj:t=null}={}){return(t||ei.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:t=null}={}){return(t||ei.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:t=null}={}){return(t||ei.create(e)).getWeekendDays().slice()}static months(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:i="gregory"}={}){return(n||ei.create(t,r,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null,outputCalendar:i="gregory"}={}){return(n||ei.create(t,r,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||ei.create(t,r,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:r=null,locObj:n=null}={}){return(n||ei.create(t,r,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return ei.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return ei.create(t,null,"gregory").eras(e)}static features(){return{relative:ej(),localeWeek:eA()}}}function rl(e,t){let r=e=>e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=r(t)-r(e);return Math.floor(ri.fromMillis(n).as("days"))}function ru(e,t=e=>e){return{regex:e,deser:([e])=>t(function(e){let t=parseInt(e,10);if(!isNaN(t))return t;t="";for(let r=0;r=r&&n<=i&&(t+=n-r)}}return parseInt(t,10)}(e))}}let rc=String.fromCharCode(160),rh=`[ ${rc}]`,rd=RegExp(rh,"g");function rm(e){return e.replace(/\./g,"\\.?").replace(rd,rh)}function rf(e){return e.replace(/\./g,"").replace(rd," ").toLowerCase()}function ry(e,t){return null===e?null:{regex:RegExp(e.map(rm).join("|")),deser:([r])=>e.findIndex(e=>rf(r)===rf(e))+t}}function rg(e,t){return{regex:e,deser:([,e,t])=>e4(e,t),groups:t}}function rw(e){return{regex:e,deser:([e])=>e}}let rp={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}},rk=null;function rv(e,t){return Array.prototype.concat(...e.map(e=>(function(e,t){if(e.literal)return e;let r=rO(ty.macroTokenToFormatOpts(e.val),t);return null==r||r.includes(void 0)?e:r})(e,t)))}class rT{constructor(e,t){if(this.locale=e,this.format=t,this.tokens=rv(ty.parseFormat(t),e),this.units=this.tokens.map(t=>(function(e,t){let r=em(t),n=em(t,"{2}"),i=em(t,"{3}"),s=em(t,"{4}"),a=em(t,"{6}"),o=em(t,"{1,2}"),l=em(t,"{1,3}"),u=em(t,"{1,6}"),c=em(t,"{1,9}"),h=em(t,"{2,4}"),d=em(t,"{4,6}"),m=e=>({regex:RegExp(e.val.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")),deser:([e])=>e,literal:!0}),f=(f=>{if(e.literal)return m(f);switch(f.val){case"G":return ry(t.eras("short"),0);case"GG":return ry(t.eras("long"),0);case"y":return ru(u);case"yy":case"kk":return ru(h,e3);case"yyyy":case"kkkk":return ru(s);case"yyyyy":return ru(d);case"yyyyyy":return ru(a);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return ru(o);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return ru(n);case"MMM":return ry(t.months("short",!0),1);case"MMMM":return ry(t.months("long",!0),1);case"LLL":return ry(t.months("short",!1),1);case"LLLL":return ry(t.months("long",!1),1);case"o":case"S":return ru(l);case"ooo":case"SSS":return ru(i);case"u":return rw(c);case"uu":return rw(o);case"uuu":case"E":case"c":return ru(r);case"a":return ry(t.meridiems(),0);case"EEE":return ry(t.weekdays("short",!1),1);case"EEEE":return ry(t.weekdays("long",!1),1);case"ccc":return ry(t.weekdays("short",!0),1);case"cccc":return ry(t.weekdays("long",!0),1);case"Z":case"ZZ":return rg(RegExp(`([+-]${o.source})(?::(${n.source}))?`),2);case"ZZZ":return rg(RegExp(`([+-]${o.source})(${n.source})?`),2);case"z":return rw(/[a-z_+-/]{1,256}?/i);case" ":return rw(/[^\S\n\r]/);default:return m(f)}})(e)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"};return f.token=e,f})(t,e)),this.disqualifyingUnit=this.units.find(e=>e.invalidReason),!this.disqualifyingUnit){let[e,t]=function(e){let t=e.map(e=>e.regex).reduce((e,t)=>`${e}(${t.source})`,"");return[`^${t}$`,e]}(this.units);this.regex=RegExp(e,"i"),this.handlers=t}}explainFromTokens(e){if(!this.isValid)return{input:e,tokens:this.tokens,invalidReason:this.invalidReason};{let[t,r]=function(e,t,r){let n=e.match(t);if(!n)return[n,{}];{let e={},t=1;for(let i in r)if(e_(r,i)){let s=r[i],a=s.groups?s.groups+1:1;!s.literal&&s.token&&(e[s.token.val[0]]=s.deser(n.slice(t,t+a))),t+=a}return[n,e]}}(e,this.regex,this.handlers),[n,i,s]=r?function(e){let t,r=e=>{switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},n=null;return eL(e.z)||(n=_.create(e.z)),eL(e.Z)||(n||(n=new ea(e.Z)),t=e.Z),eL(e.q)||(e.M=(e.q-1)*3+1),eL(e.h)||(e.h<12&&1===e.a?e.h+=12:12===e.h&&0===e.a&&(e.h=0)),0===e.G&&e.y&&(e.y=-e.y),eL(e.u)||(e.S=eG(e.u)),[Object.keys(e).reduce((t,n)=>{let i=r(n);return i&&(t[i]=e[n]),t},{}),n,t]}(r):[null,null,void 0];if(e_(r,"a")&&e_(r,"H"))throw new l("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:t,matches:r,result:n,zone:i,specificOffset:s}}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function rS(e,t,r){return new rT(e,r).explainFromTokens(t)}function rO(e,t){if(!e)return null;let r=ty.create(t,e).dtFormatter((rk||(rk=rP.fromMillis(0x16a2e5618e3)),rk)),n=r.formatToParts(),i=r.resolvedOptions();return n.map(t=>(function(e,t,r){let{type:n,value:i}=e;if("literal"===n){let e=/^\s+$/.test(i);return{literal:!e,val:e?" ":i}}let s=t[n],a=n;"hour"===n&&(a=null!=t.hour12?t.hour12?"hour12":"hour24":null!=t.hourCycle?"h11"===t.hourCycle||"h12"===t.hourCycle?"hour12":"hour24":r.hour12?"hour12":"hour24");let o=rp[a];if("object"==typeof o&&(o=o[s]),o)return{literal:!1,val:o}})(t,e,i))}let rN="Invalid DateTime";function rb(e){return new eO("unsupported zone",`the zone "${e.name}" is not supported`)}function rM(e){return null===e.weekData&&(e.weekData=eE(e.c)),e.weekData}function rD(e){return null===e.localWeekData&&(e.localWeekData=eE(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function rI(e,t){let r={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new rP({...r,...t,old:r})}function rV(e,t,r){let n=e-60*t*1e3,i=r.offset(n);if(t===i)return[n,t];n-=(i-t)*6e4;let s=r.offset(n);return i===s?[n,i]:[e-60*Math.min(i,s)*1e3,Math.max(i,s)]}function rE(e,t){let r=new Date(e+=60*t*1e3);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}function rx(e,t){let r=e.o,n=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),s={...e.c,year:n,month:i,day:Math.min(e.c.day,eX(n,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},a=ri.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),[o,l]=rV(e0(s),r,e.zone);return 0!==a&&(o+=a,l=e.zone.offset(o)),{ts:o,o:l}}function rF(e,t,r,n,i,s){let{setZone:a,zone:o}=r;if((!e||0===Object.keys(e).length)&&!t)return rP.invalid(new eO("unparsable",`the input "${i}" can't be parsed as ${n}`));{let n=rP.fromObject(e,{...r,zone:t||o,specificOffset:s});return a?n:n.setZone(o)}}function rC(e,t,r=!0){return e.isValid?ty.create(ei.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(e,t):null}function r$(e,t,r){let n=e.c.year>9999||e.c.year<0,i="";if(n&&e.c.year>=0&&(i+="+"),i+=eR(e.c.year,n?6:4),"year"===r)return i;if(t){if(i+="-",i+=eR(e.c.month),"month"===r)return i;i+="-"}else if(i+=eR(e.c.month),"month"===r)return i;return i+eR(e.c.day)}function rW(e,t,r,n,i,s,a){let o=!r||0!==e.c.millisecond||0!==e.c.second,l="";switch(a){case"day":case"month":case"year":break;default:if(l+=eR(e.c.hour),"hour"===a)break;if(t){if(l+=":",l+=eR(e.c.minute),"minute"===a)break;o&&(l+=":",l+=eR(e.c.second))}else{if(l+=eR(e.c.minute),"minute"===a)break;o&&(l+=eR(e.c.second))}if("second"===a)break;o&&(!n||0!==e.c.millisecond)&&(l+=".",l+=eR(e.c.millisecond,3))}return i&&(e.isOffsetFixed&&0===e.offset&&!s?l+="Z":e.o<0?(l+="-",l+=eR(Math.trunc(-e.o/60)),l+=":",l+=eR(Math.trunc(-e.o%60))):(l+="+",l+=eR(Math.trunc(e.o/60)),l+=":",l+=eR(Math.trunc(e.o%60)))),s&&(l+="["+e.zone.ianaName+"]"),l}let rZ={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},rL={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},rz={ordinal:1,hour:0,minute:0,second:0,millisecond:0},rq=["year","month","day","hour","minute","second","millisecond"],rj=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],rA=["year","ordinal","hour","minute","second","millisecond"];function rU(e){let t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new u(e);return t}function r_(e){switch(e.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return rU(e)}}function rY(e,t){let r,i,s=el(t.zone,eS.defaultZone);if(!s.isValid)return rP.invalid(rb(s));let a=ei.fromObject(t);if(eL(e.year))r=eS.now();else{for(let t of rq)eL(e[t])&&(e[t]=rZ[t]);let t=eW(e)||eZ(e);if(t)return rP.invalid(t);let a=function(e){if(void 0===n&&(n=eS.now()),"iana"!==e.type)return e.offset(n);let t=e.name,r=rJ.get(t);return void 0===r&&(r=e.offset(n),rJ.set(t,r)),r}(s);[r,i]=rV(e0(e),a,s)}return new rP({ts:r,zone:s,loc:a,o:i})}function rH(e,t,r){let n=!!eL(r.round)||r.round,i=eL(r.rounding)?"trunc":r.rounding,s=(e,s)=>(e=eB(e,n||r.calendary?0:2,r.calendary?"round":i),t.loc.clone(r).relFormatter(r).format(e,s)),a=n=>r.calendary?t.hasSame(e,n)?0:t.startOf(n).diff(e.startOf(n),n).get(n):t.diff(e,n).get(n);if(r.unit)return s(a(r.unit),r.unit);for(let e of r.units){let t=a(e);if(Math.abs(t)>=1)return s(t,e)}return s(e>t?-0:0,r.units[r.units.length-1])}function rR(e){let t={},r;return e.length>0&&"object"==typeof e[e.length-1]?(t=e[e.length-1],r=Array.from(e).slice(0,e.length-1)):r=Array.from(e),[t,r]}let rJ=new Map;class rP{constructor(e){let t=e.zone||eS.defaultZone,r=e.invalid||(Number.isNaN(e.ts)?new eO("invalid input"):null)||(t.isValid?null:rb(t));this.ts=eL(e.ts)?eS.now():e.ts;let n=null,i=null;if(!r)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[n,i]=[e.old.c,e.old.o];else{let s=ez(e.o)&&!e.old?e.o:t.offset(this.ts);n=(r=Number.isNaN((n=rE(this.ts,s)).year)?new eO("invalid input"):null)?null:n,i=r?null:s}this._zone=t,this.loc=e.loc||ei.create(),this.invalid=r,this.weekData=null,this.localWeekData=null,this.c=n,this.o=i,this.isLuxonDateTime=!0}static now(){return new rP({})}static local(){let[e,t]=rR(arguments),[r,n,i,s,a,o,l]=t;return rY({year:r,month:n,day:i,hour:s,minute:a,second:o,millisecond:l},e)}static utc(){let[e,t]=rR(arguments),[r,n,i,s,a,o,l]=t;return e.zone=ea.utcInstance,rY({year:r,month:n,day:i,hour:s,minute:a,second:o,millisecond:l},e)}static fromJSDate(e,t={}){let r="[object Date]"===Object.prototype.toString.call(e)?e.valueOf():NaN;if(Number.isNaN(r))return rP.invalid("invalid input");let n=el(t.zone,eS.defaultZone);return n.isValid?new rP({ts:r,zone:n,loc:ei.fromObject(t)}):rP.invalid(rb(n))}static fromMillis(e,t={}){if(ez(e))if(e<-864e13||e>864e13)return rP.invalid("Timestamp out of range");else return new rP({ts:e,zone:el(t.zone,eS.defaultZone),loc:ei.fromObject(t)});throw new c(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(ez(e))return new rP({ts:1e3*e,zone:el(t.zone,eS.defaultZone),loc:ei.fromObject(t)});throw new c("fromSeconds requires a numerical input")}static fromObject(e,t={}){var r;e=e||{};let n=el(t.zone,eS.defaultZone);if(!n.isValid)return rP.invalid(rb(n));let i=ei.fromObject(t),s=e7(e,r_),{minDaysInFirstWeek:a,startOfWeek:o}=e$(s,i),u=eS.now(),c=eL(t.specificOffset)?n.offset(u):t.specificOffset,h=!eL(s.ordinal),d=!eL(s.year),m=!eL(s.month)||!eL(s.day),f=d||m,y=s.weekYear||s.weekNumber;if((f||h)&&y)throw new l("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&h)throw new l("Can't mix ordinal dates with month/day");let g=y||s.weekday&&!f,w,p,k=rE(u,c);g?(w=rj,p=rL,k=eE(k,a,o)):h?(w=rA,p=rz,k=eF(k)):(w=rq,p=rZ);let v=!1;for(let e of w)eL(s[e])?v?s[e]=p[e]:s[e]=k[e]:v=!0;let T=(g?function(e,t=4,r=1){let n=eq(e.weekYear),i=eH(e.weekNumber,1,e2(e.weekYear,t,r)),s=eH(e.weekday,1,7);return n?i?!s&&eM("weekday",e.weekday):eM("week",e.weekNumber):eM("weekYear",e.weekYear)}(s,a,o):h?function(e){let t=eq(e.year),r=eH(e.ordinal,1,eK(e.year));return t?!r&&eM("ordinal",e.ordinal):eM("year",e.year)}(s):eW(s))||eZ(s);if(T)return rP.invalid(T);let[S,O]=(r=g?ex(s,a,o):h?eC(s):s,rV(e0(r),c,n)),N=new rP({ts:S,zone:n,o:O,loc:i});return s.weekday&&f&&e.weekday!==N.weekday?rP.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${N.toISO()}`):N.isValid?N:rP.invalid(N.invalid)}static fromISO(e,t={}){let[r,n]=tk(e,[tR,tB],[tJ,tQ],[tP,tK],[tG,tX]);return rF(r,n,t,"ISO 8601",e)}static fromRFC2822(e,t={}){let[r,n]=tk(e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim(),[tq,tj]);return rF(r,n,t,"RFC 2822",e)}static fromHTTP(e,t={}){let[r,n]=tk(e,[tA,tY],[tU,tY],[t_,tH]);return rF(r,n,t,"HTTP",t)}static fromFormat(e,t,r={}){if(eL(e)||eL(t))throw new c("fromFormat requires an input string and a format");let{locale:n=null,numberingSystem:i=null}=r,[s,a,o,l]=function(e,t,r){let{result:n,zone:i,specificOffset:s,invalidReason:a}=rS(e,t,r);return[n,i,s,a]}(ei.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),e,t);return l?rP.invalid(l):rF(s,a,r,`format ${t}`,e,o)}static fromString(e,t,r={}){return rP.fromFormat(e,t,r)}static fromSQL(e,t={}){let[r,n]=tk(e,[t1,tB],[t2,t3]);return rF(r,n,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new c("need to specify a reason the DateTime is invalid");let r=e instanceof eO?e:new eO(e,t);if(!eS.throwOnInvalid)return new rP({invalid:r});throw new s(r)}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){let r=rO(e,ei.fromObject(t));return r?r.map(e=>e?e.val:null).join(""):null}static expandFormat(e,t={}){return rv(ty.parseFormat(e),ei.fromObject(t)).map(e=>e.val).join("")}static resetCache(){n=void 0,rJ.clear()}get(e){return this[e]}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?rM(this).weekYear:NaN}get weekNumber(){return this.isValid?rM(this).weekNumber:NaN}get weekday(){return this.isValid?rM(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?rD(this).weekday:NaN}get localWeekNumber(){return this.isValid?rD(this).weekNumber:NaN}get localWeekYear(){return this.isValid?rD(this).weekYear:NaN}get ordinal(){return this.isValid?eF(this.c).ordinal:NaN}get monthShort(){return this.isValid?ro.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?ro.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?ro.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?ro.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=e0(this.c),t=this.zone.offset(e-864e5),r=this.zone.offset(e+864e5),n=this.zone.offset(e-6e4*t),i=this.zone.offset(e-6e4*r);if(n===i)return[this];let s=e-6e4*n,a=e-6e4*i,o=rE(s,n),l=rE(a,i);return o.hour===l.hour&&o.minute===l.minute&&o.second===l.second&&o.millisecond===l.millisecond?[rI(this,{ts:s}),rI(this,{ts:a})]:[this]}get isInLeapYear(){return eQ(this.year)}get daysInMonth(){return eX(this.year,this.month)}get daysInYear(){return this.isValid?eK(this.year):NaN}get weeksInWeekYear(){return this.isValid?e2(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?e2(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:t,numberingSystem:r,calendar:n}=ty.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:r,outputCalendar:n}}toUTC(e=0,t={}){return this.setZone(ea.instance(e),t)}toLocal(){return this.setZone(eS.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:r=!1}={}){if((e=el(e,eS.defaultZone)).equals(this.zone))return this;{if(!e.isValid)return rP.invalid(rb(e));let i=this.ts;if(t||r){var n;let t=e.offset(this.ts),r=this.toObject();[i]=(n=e,rV(e0(r),t,n))}return rI(this,{ts:i,zone:e})}}reconfigure({locale:e,numberingSystem:t,outputCalendar:r}={}){return rI(this,{loc:this.loc.clone({locale:e,numberingSystem:t,outputCalendar:r})})}setLocale(e){return this.reconfigure({locale:e})}set(e){var t,r,n;let i;if(!this.isValid)return this;let s=e7(e,r_),{minDaysInFirstWeek:a,startOfWeek:o}=e$(s,this.loc),u=!eL(s.weekYear)||!eL(s.weekNumber)||!eL(s.weekday),c=!eL(s.ordinal),h=!eL(s.year),d=!eL(s.month)||!eL(s.day),m=s.weekYear||s.weekNumber;if((h||d||c)&&m)throw new l("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&c)throw new l("Can't mix ordinal dates with month/day");u?i=ex({...eE(this.c,a,o),...s},a,o):eL(s.ordinal)?(i={...this.toObject(),...s},eL(s.day)&&(i.day=Math.min(eX(i.year,i.month),i.day))):i=eC({...eF(this.c),...s});let[f,y]=(t=i,r=this.o,n=this.zone,rV(e0(t),r,n));return rI(this,{ts:f,o:y})}plus(e){return this.isValid?rI(this,rx(this,ri.fromDurationLike(e))):this}minus(e){return this.isValid?rI(this,rx(this,ri.fromDurationLike(e).negate())):this}startOf(e,{useLocaleWeeks:t=!1}={}){if(!this.isValid)return this;let r={},n=ri.normalizeUnit(e);switch(n){case"years":r.month=1;case"quarters":case"months":r.day=1;case"weeks":case"days":r.hour=0;case"hours":r.minute=0;case"minutes":r.second=0;case"seconds":r.millisecond=0}if("weeks"===n)if(t){let e=this.loc.getStartOfWeek(),{weekday:t}=this;t=3&&(o+="T"),o+=rW(this,a,t,r,n,i,s)}toISODate({format:e="extended",precision:t="day"}={}){return this.isValid?r$(this,"extended"===e,rU(t)):null}toISOWeekDate(){return rC(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:r=!0,includePrefix:n=!1,extendedZone:i=!1,format:s="extended",precision:a="milliseconds"}={}){return this.isValid?(a=rU(a),(n&&rq.indexOf(a)>=3?"T":"")+rW(this,"extended"===s,t,e,r,i,a)):null}toRFC2822(){return rC(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return rC(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?r$(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:r=!0}={}){let n="HH:mm:ss.SSS";return(t||e)&&(r&&(n+=" "),t?n+="z":e&&(n+="ZZ")),rC(this,n,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():rN}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",r={}){if(!this.isValid||!e.isValid)return ri.invalid("created by diffing an invalid DateTime");let n={locale:this.locale,numberingSystem:this.numberingSystem,...r},i=(Array.isArray(t)?t:[t]).map(ri.normalizeUnit),s=e.valueOf()>this.valueOf(),a=function(e,t,r,n){let[i,s,a,o]=function(e,t,r){let n,i,s={},a=e;for(let[o,l]of[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter+(t.year-e.year)*4],["months",(e,t)=>t.month-e.month+(t.year-e.year)*12],["weeks",(e,t)=>{let r=rl(e,t);return(r-r%7)/7}],["days",rl]])r.indexOf(o)>=0&&(n=o,s[o]=l(e,t),(i=a.plus(s))>t?(s[o]--,(e=a.plus(s))>t&&(i=e,s[o]--,e=a.plus(s))):e=i);return[e,s,i,n]}(e,t,r),l=t-i,u=r.filter(e=>["hours","minutes","seconds","milliseconds"].indexOf(e)>=0);0===u.length&&(a0?ri.fromMillis(l,n).shiftTo(...u).plus(c):c}(s?this:e,s?e:this,i,n);return s?a.negate():a}diffNow(e="milliseconds",t={}){return this.diff(rP.now(),e,t)}until(e){return this.isValid?ra.fromDateTimes(this,e):this}hasSame(e,t,r){if(!this.isValid)return!1;let n=e.valueOf(),i=this.setZone(e.zone,{keepLocalTime:!0});return i.startOf(t,r)<=n&&n<=i.endOf(t,r)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let t=e.base||rP.fromObject({},{zone:this.zone}),r=e.padding?thise.valueOf(),Math.min)}static max(...e){if(!e.every(rP.isDateTime))throw new c("max requires all arguments be DateTimes");return eU(e,e=>e.valueOf(),Math.max)}static fromFormatExplain(e,t,r={}){let{locale:n=null,numberingSystem:i=null}=r;return rS(ei.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0}),e,t)}static fromStringExplain(e,t,r={}){return rP.fromFormatExplain(e,t,r)}static buildFormatParser(e,t={}){let{locale:r=null,numberingSystem:n=null}=t;return new rT(ei.fromOpts({locale:r,numberingSystem:n,defaultToEN:!0}),e)}static fromFormatParser(e,t,r={}){if(eL(e)||eL(t))throw new c("fromFormatParser requires an input string and a format parser");let{locale:n=null,numberingSystem:i=null}=r,s=ei.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});if(!s.equals(t.locale))throw new c(`fromFormatParser called with a locale of ${s}, but the format parser was created for ${t.locale}`);let{result:a,zone:o,specificOffset:l,invalidReason:u}=t.explainFromTokens(e);return u?rP.invalid(u):rF(a,o,r,`format ${t.format}`,e,l)}static get DATE_SHORT(){return y}static get DATE_MED(){return g}static get DATE_MED_WITH_WEEKDAY(){return w}static get DATE_FULL(){return p}static get DATE_HUGE(){return k}static get TIME_SIMPLE(){return v}static get TIME_WITH_SECONDS(){return T}static get TIME_WITH_SHORT_OFFSET(){return S}static get TIME_WITH_LONG_OFFSET(){return O}static get TIME_24_SIMPLE(){return N}static get TIME_24_WITH_SECONDS(){return b}static get TIME_24_WITH_SHORT_OFFSET(){return M}static get TIME_24_WITH_LONG_OFFSET(){return D}static get DATETIME_SHORT(){return I}static get DATETIME_SHORT_WITH_SECONDS(){return V}static get DATETIME_MED(){return E}static get DATETIME_MED_WITH_SECONDS(){return x}static get DATETIME_MED_WITH_WEEKDAY(){return F}static get DATETIME_FULL(){return C}static get DATETIME_FULL_WITH_SECONDS(){return $}static get DATETIME_HUGE(){return W}static get DATETIME_HUGE_WITH_SECONDS(){return Z}}function rG(e){if(rP.isDateTime(e))return e;if(e&&e.valueOf&&ez(e.valueOf()))return rP.fromJSDate(e);if(e&&"object"==typeof e)return rP.fromObject(e);throw new c(`Unknown datetime argument: ${e}, of type ${typeof e}`)}}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/Barrier-Free-Bites/layout-1cf62532480128b9.js b/.netlify/static/_next/static/chunks/app/Barrier-Free-Bites/layout-1cf62532480128b9.js deleted file mode 100644 index 247ab71..0000000 --- a/.netlify/static/_next/static/chunks/app/Barrier-Free-Bites/layout-1cf62532480128b9.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[43,606,618],{4441:()=>{}},_=>{var e=e=>_(_.s=e);_.O(0,[441,684,358],()=>e(4441)),_N_E=_.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/Barrier-Free-Bites/page-7f6c2a4cdff8554e.js b/.netlify/static/_next/static/chunks/app/Barrier-Free-Bites/page-7f6c2a4cdff8554e.js deleted file mode 100644 index 4adb208..0000000 --- a/.netlify/static/_next/static/chunks/app/Barrier-Free-Bites/page-7f6c2a4cdff8554e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[65],{1777:(e,a,s)=>{Promise.resolve().then(s.bind(s,4113))},3999:(e,a,s)=>{"use strict";s.d(a,{cn:()=>l,y:()=>n});var t=s(2596),r=s(9688),i=s(2231);function l(){for(var e=arguments.length,a=Array(e),s=0;s=0?r+="+":r+="-",r+=s,t>0&&(r+=":"+t.toString().padStart(2,"0")),r}catch(a){return console.error("Error formatting timezone ".concat(e,":"),a),e}}},4113:(e,a,s)=>{"use strict";s.r(a),s.d(a,{default:()=>C});var t=s(5155),r=s(2115),i=s(1218),l=s(5452),n=s(3999);function c(e){let{...a}=e;return(0,t.jsx)(l.bL,{"data-slot":"dialog",...a})}function o(e){let{...a}=e;return(0,t.jsx)(l.l9,{"data-slot":"dialog-trigger",...a})}function d(e){let{...a}=e;return(0,t.jsx)(l.ZL,{"data-slot":"dialog-portal",...a})}function b(e){let{className:a,...s}=e;return(0,t.jsx)(l.hJ,{"data-slot":"dialog-overlay",className:(0,n.cn)("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0",a),...s})}function x(e){let{className:a,children:s,...r}=e;return(0,t.jsxs)(d,{children:[(0,t.jsx)(b,{}),(0,t.jsx)(l.UC,{"data-slot":"dialog-content",className:(0,n.cn)("fixed left-1/2 top-1/2 z-50 grid w-[95vw] max-w-lg -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl border border-white/20 bg-white/90 p-6 shadow-xl outline-none backdrop-blur-md dark:bg-gray-900/90","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...r,children:s})]})}function h(e){let{className:a,...s}=e;return(0,t.jsx)("div",{"data-slot":"dialog-header",className:(0,n.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...s})}function u(e){let{className:a,...s}=e;return(0,t.jsx)(l.hE,{"data-slot":"dialog-title",className:(0,n.cn)("text-lg font-semibold leading-none tracking-tight",a),...s})}function m(e){let{className:a,...s}=e;return(0,t.jsx)(l.VY,{"data-slot":"dialog-description",className:(0,n.cn)("text-sm text-muted-foreground",a),...s})}function p(e){let{...a}=e;return(0,t.jsx)(l.bm,{"data-slot":"dialog-close",...a})}var f=s(7168),j=s(9852),g=s(968);function v(e){let{className:a,...s}=e;return(0,t.jsx)(g.b,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...s})}var k=s(8482),y=s(8145),N=s(690),w=s(1154);function K(e){let{tKey:a,fallback:s}=e,[l,n]=(0,r.useState)(!1),{t:c}=(0,i.Bd)("translation");return(0,r.useEffect)(()=>{n(!0)},[]),(0,t.jsx)(t.Fragment,{children:l?c(a):s})}function z(){let[e,a]=(0,r.useState)(!1),[s,i]=(0,r.useState)(""),[l,d]=(0,r.useState)(""),[b,g]=(0,r.useState)(!1),[z,_]=(0,r.useState)(null),[C,D]=(0,r.useState)([]),M=async()=>{_(null),g(!0),D([]);try{let e=await fetch("/api/ai/recommend",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:s,preferences:l})});if(!e.ok)throw Error("请求失败: ".concat(e.status));let a=await e.json(),t=(null==a?void 0:a.recommendations)||[];D(t)}catch(e){_((null==e?void 0:e.message)||"AI推è失败,请ç¨åŽå†è¯•")}finally{g(!1)}};return(0,t.jsx)("div",{children:(0,t.jsxs)(c,{open:e,onOpenChange:a,children:[(0,t.jsx)(o,{asChild:!0,children:(0,t.jsxs)(f.$,{"aria-label":"AI美食推è官",className:"fixed bottom-6 right-6 z-50 shadow-xl",onClick:()=>a(!0),children:[(0,t.jsx)(N.A,{className:"mr-2 h-4 w-4"}),(0,t.jsx)(K,{tKey:"bites.labels.ai_recommend",fallback:"AI美食推è官"})]})}),(0,t.jsxs)(x,{className:"max-w-xl",children:[(0,t.jsxs)(h,{children:[(0,t.jsx)(u,{children:(0,t.jsx)(K,{tKey:"bites.ai_dialog.title",fallback:"AI美食推è"})}),(0,t.jsx)(m,{children:(0,t.jsx)(K,{tKey:"bites.ai_dialog.description",fallback:"告诉我您的ä½ç½®å’Œå好,我将为您推èåˆé€‚的无障ç¢é¤åŽ…"})})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)(v,{htmlFor:"bf-location",children:(0,t.jsx)(K,{tKey:"bites.ai_dialog.labels.location",fallback:"ä½ç½®"})}),(0,t.jsx)(j.p,{id:"bf-location",value:s,onChange:e=>i(e.target.value),placeholder:"请输入您的ä½ç½®"})]}),(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)(v,{htmlFor:"bf-preferences",children:(0,t.jsx)(K,{tKey:"bites.ai_dialog.labels.preferences",fallback:"å好"})}),(0,t.jsx)("textarea",{id:"bf-preferences",value:l,onChange:e=>d(e.target.value),placeholder:"请æè¿°æ‚¨çš„饮食å好和无障ç¢éœ€æ±‚",className:(0,n.cn)("min-h-[90px] rounded-xl border border-white/20 bg-white/80 px-3 py-2 text-sm outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50","dark:bg-gray-800/80")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(f.$,{onClick:M,disabled:b||!s.trim(),children:b?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.A,{className:"size-4 animate-spin"})," ",(0,t.jsx)(K,{tKey:"bites.ai_dialog.actions.generating",fallback:"生æˆä¸­..."})]}):(0,t.jsx)(t.Fragment,{children:(0,t.jsx)(K,{tKey:"bites.ai_dialog.actions.generate",fallback:"ç”ŸæˆæŽ¨è"})})}),(0,t.jsx)(p,{asChild:!0,children:(0,t.jsx)(f.$,{variant:"secondary",children:(0,t.jsx)(K,{tKey:"bites.ai_dialog.actions.close",fallback:"关闭"})})})]}),z&&(0,t.jsx)("div",{className:"text-sm text-red-600",children:(0,t.jsx)(K,{tKey:"bites.ai_dialog.errors.generic",fallback:"ç”ŸæˆæŽ¨èæ—¶å‡ºé”™ï¼Œè¯·é‡è¯•"})}),C.length>0&&(0,t.jsx)(k.Zp,{children:(0,t.jsx)(k.Wu,{className:"space-y-4",children:C.map((e,a)=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-semibold text-base",children:e.name}),e.address&&(0,t.jsx)("div",{className:"text-sm text-gray-600",children:e.address}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:(e.tags||[]).map((e,a)=>(0,t.jsx)(y.E,{variant:"secondary",children:e},a))}),e.description&&(0,t.jsx)("div",{className:"text-sm text-gray-700",children:e.description})]},a))})})]})]})]})})}function _(e){let{tKey:a,fallback:s}=e,[l,n]=(0,r.useState)(!1),{t:c}=(0,i.Bd)("translation");return(0,r.useEffect)(()=>{n(!0)},[]),(0,t.jsx)(t.Fragment,{children:l?c(a):s})}function C(){let[e,a]=(0,r.useState)("all"),s={peige:{lat:31.863,lng:117.281,address:"安徽çœåˆè‚¥å¸‚åºé˜³åŒºå«å±±è·¯29å·105-3室"},muma:{lat:39.9365,lng:116.4477,address:"北京市æœé˜³åŒºå·¥ä½“北路"},starbucks:{lat:23.1291,lng:113.2644,address:"广州市天河区"},starbucks_wende:{lat:23.129,lng:113.264,address:"广州市越秀区文德北路68å·ä¸œæ–¹æ–‡å¾·å¹¿åœºä¸€å±‚"}},[i,l]=(0,r.useState)(null),n=(e,a)=>{let t="string"==typeof e&&e in s||"string"!=typeof e?s[e]:void 0;if(l(String(e)),!t){let s="string"==typeof e?e:a||"",t="https://uri.amap.com/marker?address=".concat(encodeURIComponent(s),"&name=").concat(encodeURIComponent(a||s));window.open(t,"_blank","noopener,noreferrer"),l(null);return}let r="amapuri://route/plan/?dlat=".concat(t.lat,"&dlon=").concat(t.lng,"&dname=").concat(encodeURIComponent(a||t.address),"&dev=0&t=0"),i="https://uri.amap.com/navigation?to=".concat(t.lng,",").concat(t.lat,",").concat(encodeURIComponent(a||t.address),"&mode=car&policy=1&src=mypage");if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){let e=document.createElement("iframe");e.style.display="none",e.src=r,document.body.appendChild(e);let a=setTimeout(()=>{document.body.removeChild(e),window.open(i,"_blank","noopener,noreferrer"),l(null)},2e3),s=()=>{document.hidden&&(clearTimeout(a),document.body.removeChild(e),document.removeEventListener("visibilitychange",s),l(null))};document.addEventListener("visibilitychange",s),setTimeout(()=>{try{e.parentNode&&document.body.removeChild(e),document.removeEventListener("visibilitychange",s)}catch(e){}},3e3)}else window.open(i,"_blank","noopener,noreferrer"),l(null)},c=a=>"all"===e||(Array.isArray(a)?a:[a]).includes(e),o=(e,a)=>a.map((a,s)=>(0,t.jsx)("li",{children:(0,t.jsx)(_,{tKey:"".concat(e,".").concat(s),fallback:a})},s));return(0,t.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-pink-50 via-purple-50 to-cyan-50 relative overflow-hidden",children:[(0,t.jsx)("div",{className:"container mx-auto px-4 py-8 relative z-10",children:(0,t.jsxs)("div",{className:"bg-white/80 backdrop-blur-sm rounded-xl p-6 shadow-lg border border-white/20",children:[(0,t.jsx)("style",{children:'\n :root {\n --color-white: rgba(255, 255, 255, 1);\n --color-cream-50: rgba(252, 252, 249, 1);\n --color-cream-100: rgba(255, 255, 253, 1);\n --color-gray-300: rgba(167, 169, 169, 1);\n --color-slate-500: rgba(98, 108, 113, 1);\n --color-brown-600: rgba(94, 82, 64, 1);\n --color-charcoal-700: rgba(31, 33, 33, 1);\n --color-charcoal-800: rgba(38, 40, 40, 1);\n --color-slate-900: rgba(19, 52, 59, 1);\n --color-teal-300: rgba(50, 184, 198, 1);\n --color-teal-500: rgba(33, 128, 141, 1);\n --color-teal-600: rgba(29, 116, 128, 1);\n --color-teal-700: rgba(8, 145, 178, 1);\n --color-gray-200: rgba(245, 245, 245, 1);\n --color-orange-500: rgba(168, 75, 47, 1);\n --color-brown-600-rgb: 94, 82, 64;\n --color-teal-500-rgb: 33, 128, 141;\n --color-slate-900-rgb: 19, 52, 59;\n --color-gray-400-rgb: 119, 124, 124;\n --color-teal-300-rgb: 50, 184, 198;\n --color-background: var(--color-cream-50);\n --color-surface: var(--color-cream-100);\n --color-text: var(--color-slate-900);\n --color-text-secondary: var(--color-slate-500);\n --color-primary: rgba(147, 51, 234, 1);\n --color-primary-hover: rgba(126, 34, 206, 1);\n --color-accent: rgba(219, 39, 119, 1);\n --color-secondary: rgba(8, 145, 178, 1);\n --color-card-border: rgba(255, 255, 255, 0.2);\n --color-border: rgba(255, 255, 255, 0.2);\n --font-family-base: "FKGroteskNeue", "Microsoft YaHei", "PingFang SC", sans-serif;\n --font-size-sm: 12px;\n --font-size-base: 14px;\n --font-size-lg: 16px;\n --font-size-xl: 18px;\n --font-size-2xl: 20px;\n --font-size-3xl: 24px;\n --font-size-4xl: 30px;\n --font-weight-medium: 500;\n --font-weight-semibold: 550;\n --font-weight-bold: 600;\n --space-8: 8px;\n --space-12: 12px;\n --space-16: 16px;\n --space-20: 20px;\n --space-24: 24px;\n --space-32: 32px;\n --radius-base: 8px;\n --radius-lg: 12px;\n --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.04), 0 2px 4px -1px rgba(0, 0, 0, 0.02);\n }\n @media (prefers-color-scheme: dark) {\n :root {\n --color-background: var(--color-charcoal-700);\n --color-surface: var(--color-charcoal-800);\n --color-text: var(--color-gray-200);\n --color-text-secondary: rgba(var(--color-gray-300), 0.7);\n --color-primary: rgba(192, 132, 252, 1);\n --color-card-border: rgba(255, 255, 255, 0.15);\n --color-border: rgba(255, 255, 255, 0.3);\n }\n }\n .header { text-align: center; margin-bottom: var(--space-32); padding: var(--space-24) 0; }\n .subtitle { font-size: var(--font-size-lg); color: var(--color-text-secondary); font-weight: var(--font-weight-medium); }\n .filter-section { display: flex; gap: var(--space-12); margin-bottom: var(--space-32); flex-wrap: wrap; justify-content: center; }\n .filter-btn { padding: var(--space-8) var(--space-20); border: 2px solid var(--color-border); background: var(--color-surface); color: var(--color-text); border-radius: var(--radius-base); cursor: pointer; font-size: var(--font-size-base); font-weight: var(--font-weight-medium); transition: all 0.3s ease; }\n .filter-btn:hover { border-color: var(--color-primary); background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); color: var(--color-white); }\n .filter-btn.active { border-color: var(--color-primary); background: linear-gradient(90deg, var(--color-primary), var(--color-accent)); color: var(--color-white); }\n .restaurants-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-24); margin-bottom: var(--space-32); }\n .restaurant-card { background: var(--color-surface); border: 1px solid var(--color-card-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: all 0.3s ease; display: flex; flex-direction: column; }\n .restaurant-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }\n .restaurant-card.hidden { display: none; }\n /* 紧凑å¡ç‰‡æ ·å¼ï¼Œç”¨äºŽé‚£ä¼½æ ‘与无声饭店 */\n .restaurant-card.card-compact .card-header { padding: calc(var(--space-20) * 0.75); }\n.restaurant-card.card-compact .card-body { padding: calc(var(--space-20) * 0.75); }\n.restaurant-card.card-compact .restaurant-name { font-size: calc(var(--font-size-xl) * 0.9); }\n.restaurant-card.card-compact .description { font-size: calc(var(--font-size-base) * 0.95); line-height: 1.6; }\n.restaurant-card.card-compact .features-title { font-size: calc(var(--font-size-base) * 0.95); }\n.restaurant-card.card-compact .features-list li { font-size: calc(var(--font-size-sm) * 0.95); padding: 2px 0; }\n.restaurant-card.card-compact .info-item { font-size: calc(var(--font-size-sm) * 0.95); }\n\n/* 两å¡å¹¶æŽ’容器 */\n.card-row { display: grid; grid-template-columns: 1fr; gap: var(--space-20); align-items: stretch; }\n@media (max-width: 640px) { .card-row { grid-template-columns: 1fr; } }\n .card-header { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 50%, var(--color-secondary) 100%); padding: var(--space-20); color: var(--color-white); }\n .restaurant-name { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); margin-bottom: var(--space-8); }\n .accessibility-tags { display: flex; gap: var(--space-8); flex-wrap: wrap; }\n .tag { display: inline-flex; align-items: center; gap: 4px; padding: 4px var(--space-12); background: rgba(255, 255, 255, 0.2); border-radius: 20px; font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); }\n .card-body { padding: var(--space-20); flex-grow: 1; display: flex; flex-direction: column; }\n .description { font-size: var(--font-size-base); color: var(--color-text-secondary); margin-bottom: var(--space-16); line-height: 1.7; }\n .features { margin-bottom: var(--space-16); }\n .features-title { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); margin-bottom: var(--space-8); color: var(--color-text); }\n .features-list { list-style: none; padding: 0; }\n .features-list li { font-size: var(--font-size-sm); color: var(--color-text-secondary); padding: 4px 0; padding-left: var(--space-16); position: relative; }\n .features-list li::before { content: "✓"; position: absolute; left: 0; color: var(--color-primary); font-weight: var(--font-weight-bold); }\n .info-section { margin-top: auto; padding-top: var(--space-16); border-top: 1px solid var(--color-card-border); }\n .info-item { display: flex; align-items: flex-start; gap: var(--space-8); margin-bottom: var(--space-8); font-size: var(--font-size-sm); color: var(--color-text-secondary); }\n .info-label { font-weight: var(--font-weight-semibold); color: var(--color-text); min-width: 60px; }\n .about-section { position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(255,255,255,0.96)); border: 1px solid var(--color-card-border); border-radius: var(--radius-lg); padding: var(--space-24); margin-top: var(--space-32); box-shadow: 0 12px 28px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04); }\n .about-section::before { content: ""; position: absolute; inset: -40px -40px; background: radial-gradient(1200px 1200px at 10% 10%, rgba(236,72,153,0.18), transparent 60%), radial-gradient(1000px 1000px at 90% 20%, rgba(168,85,247,0.15), transparent 55%), radial-gradient(800px 800px at 50% 100%, rgba(6,182,212,0.14), transparent 60%); pointer-events: none; filter: blur(40px); }\n .about-header { position: relative; display: flex; align-items: center; gap: var(--space-12); margin-bottom: var(--space-12); }\n .about-icon { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; color: var(--color-white); background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 50%, var(--color-secondary) 100%); box-shadow: 0 6px 14px rgba(168,85,247,0.3), 0 2px 6px rgba(236,72,153,0.25); font-size: var(--font-size-lg); }\n .about-title { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); color: var(--color-text); letter-spacing: 0.2px; }\n .about-content { position: relative; font-size: var(--font-size-base); color: var(--color-text-secondary); line-height: 1.85; }\n .about-content p { margin-bottom: var(--space-12); }\n @media (max-width: 768px) { .about-section { padding: var(--space-20); } .about-icon { width: 32px; height: 32px; } .about-title { font-size: var(--font-size-xl); } }\n .icon { font-size: var(--font-size-lg); }\n @media (max-width: 768px) {\n .restaurants-grid { grid-template-columns: 1fr; }\n .filter-section { flex-direction: column; }\n .filter-btn { width: 100%; }\n }\n '}),(0,t.jsxs)("header",{className:"header",children:[(0,t.jsxs)("h1",{className:"text-4xl font-bold bg-gradient-to-r from-purple-600 via-pink-600 to-cyan-600 bg-clip-text text-transparent mb-3",children:["\uD83C\uDF1F ",(0,t.jsx)(_,{tKey:"bites.title",fallback:"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"})]}),(0,t.jsx)("p",{className:"subtitle",children:(0,t.jsx)(_,{tKey:"bites.subtitle",fallback:"å‘现包容性é¤é¥®ä½“验"})})]}),(0,t.jsxs)("div",{className:"filter-section",children:[(0,t.jsx)("button",{className:"filter-btn ".concat("all"===e?"active":""),onClick:()=>a("all"),children:(0,t.jsx)(_,{tKey:"bites.filters.all",fallback:"全部"})}),(0,t.jsx)("button",{className:"filter-btn ".concat("hearing"===e?"active":""),onClick:()=>a("hearing"),children:(0,t.jsx)(_,{tKey:"bites.filters.hearing",fallback:"å¬éšœå‹å¥½"})}),(0,t.jsx)("button",{className:"filter-btn ".concat("visual"===e?"active":""),onClick:()=>a("visual"),children:(0,t.jsx)(_,{tKey:"bites.filters.visual",fallback:"视障å‹å¥½"})}),(0,t.jsx)("button",{className:"filter-btn ".concat("wheelchair"===e?"active":""),onClick:()=>a("wheelchair"),children:(0,t.jsx)(_,{tKey:"bites.filters.wheelchair",fallback:"轮椅å‹å¥½"})}),(0,t.jsx)("button",{className:"filter-btn ".concat("cognitive"===e?"active":""),onClick:()=>a("cognitive"),children:(0,t.jsx)(_,{tKey:"bites.filters.cognitive",fallback:"认知å‹å¥½"})})]}),(0,t.jsxs)("div",{className:"restaurants-grid",children:[(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("hearing")?"":"hidden"),"data-accessibility":"hearing",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.peige.name",fallback:"培哥烟囱é¢åŒ…"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC42"}),(0,t.jsx)(_,{tKey:"bites.tags.hearing",fallback:"å¬éšœå‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.peige.description",fallback:"专为å¬éšœäººå£«è®¾è®¡çš„æ¸©é¦¨é¢åŒ…店"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.peige.features",["手语æœåŠ¡","视觉èœå•","æ— éšœç¢è®¾æ–½"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"美食类型"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.peige.food",fallback:"é¢åŒ…ã€å’–å•¡"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.peige.value",fallback:"\xa530-50"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.peige.address",fallback:"安徽çœåˆè‚¥å¸‚åºé˜³åŒºå«å±±è·¯29å·105-3室"})}),(0,t.jsx)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("peige","培哥烟囱é¢åŒ…"),disabled:"peige"===i,children:"peige"===i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"animate-spin h-3 w-3",viewBox:"0 0 24 24",children:[(0,t.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4",fill:"none"}),(0,t.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigating",fallback:"导航中..."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("visual")?"":"hidden"),"data-accessibility":"visual",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.muma_dark.name",fallback:"木马黑暗é¤åŽ…"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC41ï¸"}),(0,t.jsx)(_,{tKey:"bites.tags.visual",fallback:"视障å‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.muma_dark.description",fallback:"在黑暗中用心感å—美食的独特体验"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.muma_dark.features",["黑暗用é¤ä½“验","专业引导æœåŠ¡","感官训练"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.muma_dark.food",fallback:"è¥¿å¼æ–™ç†ã€åˆ›æ„èœå“"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.experience",fallback:"体验特色"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.muma_dark.experience",fallback:"黑暗中的感官盛宴"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.muma_dark.value",fallback:"\xa5150-200"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.muma_dark.address",fallback:"北京市æœé˜³åŒºå·¥ä½“北路"})}),(0,t.jsx)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("muma","木马黑暗é¤åŽ…"),disabled:"muma"===i,children:"muma"===i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"animate-spin h-3 w-3",viewBox:"0 0 24 24",children:[(0,t.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4",fill:"none"}),(0,t.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigating",fallback:"导航中..."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("hearing")?"":"hidden"),"data-accessibility":"hearing",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_wende.name",fallback:"星巴克文德店"})}),(0,t.jsxs)("div",{className:"accessibility-tags",children:[(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC42"}),(0,t.jsx)(_,{tKey:"bites.tags.hearing",fallback:"å¬éšœå‹å¥½"})]}),(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"☕"}),"å’–å•¡"]})]})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_wende.description",fallback:"æä¾›æ‰‹è¯­æœåŠ¡çš„æ¸©é¦¨å’–å•¡åº—"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.starbucks_wende.features",["手语æœåŠ¡","å†™å­—æ¿æ²Ÿé€š","视觉èœå•"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_wende.food",fallback:"å’–å•¡ã€è½»é£Ÿã€ç”œå“"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_wende.value",fallback:"\xa540-60"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_wende.address",fallback:"广州市越秀区文德北路68å·ä¸œæ–¹æ–‡å¾·å¹¿åœºä¸€å±‚"})}),(0,t.jsx)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("starbucks_wende","星巴克文德店"),disabled:"starbucks_wende"===i,children:"starbucks_wende"===i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"animate-spin h-3 w-3",viewBox:"0 0 24 24",children:[(0,t.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4",fill:"none"}),(0,t.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigating",fallback:"导航中..."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("visual")?"":"hidden"),"data-accessibility":"visual",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.quanjude_qianmen.name",fallback:"å…¨èšå¾·å‰é—¨åº—"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC41ï¸"}),(0,t.jsx)(_,{tKey:"bites.tags.visual",fallback:"视障å‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.quanjude_qianmen.description",fallback:"百年è€å­—å·ï¼Œæä¾›è§†éšœå‹å¥½æœåŠ¡"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.quanjude_qianmen.features",["语音èœå•","æœåŠ¡å‘˜å¼•å¯¼","触觉辅助"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.quanjude_qianmen.food",fallback:"北京烤鸭ã€ä¼ ç»Ÿäº¬èœ"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.quanjude_qianmen.value",fallback:"\xa5200-300"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.quanjude_qianmen.address",fallback:"北京市东城区å‰é—¨å¤§è¡—"})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("北京市东城区å‰é—¨å¤§è¡—","å…¨èšå¾·å‰é—¨åº—"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]})]})]}),(0,t.jsxs)("div",{className:"card-row",children:[(0,t.jsxs)("div",{className:"restaurant-card ".concat(c(["visual","wheelchair"])?"":"hidden"),"data-accessibility":"visual wheelchair",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.naga_tree.name",fallback:"那伽树无障ç¢å’–啡披è¨é›†åˆåº—"})}),(0,t.jsxs)("div",{className:"accessibility-tags",children:[(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC41ï¸"}),(0,t.jsx)(_,{tKey:"bites.tags.visual",fallback:"视障å‹å¥½"})]}),(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"♿"}),(0,t.jsx)(_,{tKey:"bites.tags.wheelchair",fallback:"轮椅å‹å¥½"})]})]})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.naga_tree.description",fallback:"专为残障人士设计的无障ç¢é¤åŽ…"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.naga_tree.features",["æ— éšœç¢é€šé“","盲文èœå•","轮椅å‹å¥½"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.highlights",fallback:"特色亮点"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.naga_tree.highlights",fallback:"å’–å•¡ã€æŠ«è¨ã€æ— éšœç¢è®¾æ–½"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.naga_tree.address",fallback:"北京市西城区大栅æ "})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("北京市西城区大栅æ ","那伽树无障ç¢å’–啡披è¨é›†åˆåº—"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c(["hearing","cognitive"])?"":"hidden"),"data-accessibility":"hearing cognitive",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_yuxi.name",fallback:"无声饭店"})}),(0,t.jsxs)("div",{className:"accessibility-tags",children:[(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC42"}),(0,t.jsx)(_,{tKey:"bites.tags.hearing",fallback:"å¬éšœå‹å¥½"})]}),(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83E\uDDE0"}),(0,t.jsx)(_,{tKey:"bites.tags.cognitive",fallback:"认知å‹å¥½"})]})]})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_yuxi.description",fallback:"专为å¬éšœå’Œè®¤çŸ¥éšœç¢äººå£«æœåŠ¡çš„é¤åŽ…"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.silent_yuxi.features",["手语æœåŠ¡","图片èœå•","è€å¿ƒæœåŠ¡"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_yuxi.food",fallback:"云å—èœã€ç±³çº¿ã€è¿‡æ¡¥ç±³çº¿"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_yuxi.value",fallback:"\xa525-40"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_yuxi.address",fallback:"云å—çœçŽ‰æºªå¸‚çº¢å¡”åŒº"})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("云å—çœçŽ‰æºªå¸‚çº¢å¡”åŒº","无声饭店"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]})]})]}),(0,t.jsxs)("div",{className:"card-row",children:[(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("hearing")?"":"hidden"),"data-accessibility":"hearing",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.yuanliang_798.name",fallback:"圆亮798"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC42"}),(0,t.jsx)(_,{tKey:"bites.tags.hearing",fallback:"å¬éšœå‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.yuanliang_798.description",fallback:"798艺术区内的å¬éšœå‹å¥½é¤åŽ…"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.yuanliang_798.features",["手语æœåŠ¡","艺术氛围","创æ„èœå“"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.yuanliang_798.food",fallback:"创æ„èœã€å’–å•¡ã€è½»é£Ÿ"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.yuanliang_798.value",fallback:"\xa580-120"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.yuanliang_798.address",fallback:"北京市æœé˜³åŒº798艺术区"})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("北京市æœé˜³åŒº798艺术区","圆亮798"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("hearing")?"":"hidden"),"data-accessibility":"hearing",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.rainbow_angel.name",fallback:"彩虹天使"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC42"}),(0,t.jsx)(_,{tKey:"bites.tags.hearing",fallback:"å¬éšœå‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.rainbow_angel.description",fallback:"温馨的å¬éšœå‹å¥½é¤åŽ…"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.rainbow_angel.features",["手语æœåŠ¡","温馨环境","贴心æœåŠ¡"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.rainbow_angel.food",fallback:"家常èœã€æ±¤å“ã€å°é£Ÿ"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.rainbow_angel.value",fallback:"\xa535-55"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.rainbow_angel.address",fallback:"北京市海淀区中关æ‘"})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("北京市海淀区中关æ‘","彩虹天使"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("hearing")?"":"hidden"),"data-accessibility":"hearing",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.mina_tongzhou.name",fallback:"米娜通州店"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC42"}),(0,t.jsx)(_,{tKey:"bites.tags.hearing",fallback:"å¬éšœå‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.mina_tongzhou.description",fallback:"通州区的å¬éšœå‹å¥½é¤åŽ…"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.mina_tongzhou.features",["手语æœåŠ¡","å†™å­—æ¿æ²Ÿé€š","è€å¿ƒæœåŠ¡"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.mina_tongzhou.food",fallback:"å·èœã€ç«é”…ã€å°ç‚’"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.mina_tongzhou.value",fallback:"\xa545-70"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.mina_tongzhou.address",fallback:"北京市通州区万达广场"})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("北京市通州区万达广场","米娜通州店"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("hearing")?"":"hidden"),"data-accessibility":"hearing",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_hotpot.name",fallback:"无声ç«é”…"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83D\uDC42"}),(0,t.jsx)(_,{tKey:"bites.tags.hearing",fallback:"å¬éšœå‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_hotpot.description",fallback:"专为å¬éšœäººå£«è®¾è®¡çš„ç«é”…店"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.silent_hotpot.features",["手语æœåŠ¡","图片èœå•","无声点é¤"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_hotpot.food",fallback:"ç«é”…ã€æ¶®èœã€è°ƒæ–™"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_hotpot.value",fallback:"\xa560-90"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.silent_hotpot.address",fallback:"北京市丰å°åŒºæ–¹åº„"})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("北京市丰å°åŒºæ–¹åº„","无声ç«é”…"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]})]})]}),(0,t.jsx)("div",{className:"card-row",children:(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("cognitive")?"":"hidden"),"data-accessibility":"cognitive",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.chunchu.name",fallback:"春厨"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"\uD83E\uDDE0"}),(0,t.jsx)(_,{tKey:"bites.tags.cognitive",fallback:"认知å‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.chunchu.description",fallback:"专为认知障ç¢äººå£«è®¾è®¡çš„é¤åŽ…"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.chunchu.features",["简化èœå•","è€å¿ƒæœåŠ¡","清晰标识"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.chunchu.food",fallback:"家常èœã€æ±¤å“ã€é¢é£Ÿ"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.chunchu.value",fallback:"\xa530-50"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.chunchu.address",fallback:"北京市西城区德胜门"})}),(0,t.jsxs)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-pink-300 disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("北京市西城区德胜门","春厨"),children:[(0,t.jsxs)("svg",{className:"h-3 w-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})]})]})]}),(0,t.jsxs)("div",{className:"restaurant-card ".concat(c("wheelchair")?"":"hidden"),"data-accessibility":"wheelchair",children:[(0,t.jsxs)("div",{className:"card-header",children:[(0,t.jsx)("h2",{className:"restaurant-name",children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_dc.name",fallback:"星巴克DC店"})}),(0,t.jsx)("div",{className:"accessibility-tags",children:(0,t.jsxs)("span",{className:"tag",children:[(0,t.jsx)("span",{className:"icon",children:"♿"}),(0,t.jsx)(_,{tKey:"bites.tags.wheelchair",fallback:"轮椅å‹å¥½"})]})})]}),(0,t.jsxs)("div",{className:"card-body",children:[(0,t.jsx)("p",{className:"description",children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_dc.description",fallback:"æä¾›è½®æ¤…æ— éšœç¢é€šé“的咖啡店"})}),(0,t.jsxs)("div",{className:"features",children:[(0,t.jsx)("h3",{className:"features-title",children:(0,t.jsx)(_,{tKey:"bites.labels.features",fallback:"特色æœåŠ¡"})}),(0,t.jsx)("ul",{className:"features-list",children:o("bites.restaurants.starbucks_dc.features",["æ— éšœç¢é€šé“","轮椅å‹å¥½æ¡Œæ¤…","便民设施"])})]}),(0,t.jsxs)("div",{className:"info-section",children:[(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.food",fallback:"主è¦èœå“"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_dc.food",fallback:"å’–å•¡ã€è½»é£Ÿã€ç”œå“"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.value",fallback:"äººå‡æ¶ˆè´¹"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_dc.value",fallback:"\xa540-60"})})]}),(0,t.jsxs)("div",{className:"info-item",children:[(0,t.jsx)("span",{className:"info-label",children:(0,t.jsx)(_,{tKey:"bites.labels.address",fallback:"地å€"})}),(0,t.jsx)("span",{children:(0,t.jsx)(_,{tKey:"bites.restaurants.starbucks_dc.address",fallback:"北京市æœé˜³åŒºå›½è´¸"})}),(0,t.jsx)("button",{"aria-label":"导航",className:"ml-2 px-3 py-1 rounded-md text-white bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 hover:brightness-110 text-xs align-middle transition-all duration-200 flex items-center gap-1 shadow-sm hover:shadow-md disabled:opacity-50 disabled:cursor-not-allowed",onClick:()=>n("starbucks_dc","星巴克DC店"),disabled:"starbucks_dc"===i,children:"starbucks_dc"===i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"animate-spin h-3 w-3",viewBox:"0 0 24 24",children:[(0,t.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4",fill:"none"}),(0,t.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigating",fallback:"导航中..."})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{className:"h-3 w-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,t.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,t.jsx)(_,{tKey:"bites.labels.navigate",fallback:"导航"})]})})]})]})]})]})]})}),(0,t.jsxs)("div",{className:"about-section",children:[(0,t.jsxs)("div",{className:"about-header",children:[(0,t.jsx)("span",{className:"about-icon","aria-hidden":"true",children:"\uD83C\uDF7Dï¸"}),(0,t.jsx)("h2",{className:"about-title",children:(0,t.jsx)(_,{tKey:"bites.about.title",fallback:"关于无障ç¢ç¾Žé£Ÿ"})})]}),(0,t.jsxs)("div",{className:"about-content",children:[(0,t.jsx)("p",{children:(0,t.jsx)(_,{tKey:"bites.about.p1",fallback:"æ— éšœç¢ç¾Žé£Ÿè‡´åŠ›äºŽä¸ºæ®‹éšœäººå£«æä¾›å¹³ç­‰çš„用é¤ä½“验。我们精选了北京åŠå‘¨è¾¹åœ°åŒºçš„æ— éšœç¢å‹å¥½é¤åŽ…ï¼Œæ¶µç›–å¬éšœã€è§†éšœã€è½®æ¤…使用者和认知障ç¢äººå£«çš„需求。"})}),(0,t.jsx)("p",{children:(0,t.jsx)(_,{tKey:"bites.about.p2",fallback:"æ¯å®¶é¤åŽ…éƒ½ç»è¿‡å®žåœ°è€ƒå¯Ÿï¼Œç¡®ä¿æä¾›çœŸæ­£çš„æ— éšœç¢æœåŠ¡ã€‚æˆ‘ä»¬å¸Œæœ›é€šè¿‡è¿™ä¸ªå¹³å°ï¼Œè®©æ›´å¤šäººäº†è§£å’Œæ”¯æŒæ— éšœç¢é¤é¥®ï¼Œå…±åŒåˆ›é€ ä¸€ä¸ªæ›´åŒ…容的社会。"})})]})]})]})}),(0,t.jsx)(z,{})]})}},7168:(e,a,s)=>{"use strict";s.d(a,{$:()=>c});var t=s(5155);s(2115);var r=s(9708),i=s(2085),l=s(3999);let n=(0,i.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl text-sm font-medium transition-all duration-300 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transform hover:scale-105 active:scale-95",{variants:{variant:{default:"bg-gradient-to-r from-purple-500 to-purple-600 text-white shadow-lg hover:from-purple-600 hover:to-purple-700 hover:shadow-xl",destructive:"bg-gradient-to-r from-red-500 to-red-600 text-white shadow-lg hover:from-red-600 hover:to-red-700 hover:shadow-xl focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40",outline:"border-2 border-purple-200 bg-white/80 backdrop-blur-sm shadow-lg hover:bg-gradient-to-r hover:from-purple-50 hover:to-pink-50 hover:border-purple-300 hover:shadow-xl dark:bg-gray-800/80 dark:border-purple-400 dark:hover:bg-gradient-to-r dark:hover:from-purple-900/50 dark:hover:to-pink-900/50",secondary:"bg-gradient-to-r from-gray-100 to-gray-200 text-gray-800 shadow-lg hover:from-gray-200 hover:to-gray-300 hover:shadow-xl dark:from-gray-700 dark:to-gray-800 dark:text-white dark:hover:from-gray-600 dark:hover:to-gray-700",ghost:"hover:bg-gradient-to-r hover:from-purple-50 hover:to-pink-50 hover:text-purple-700 hover:shadow-md dark:hover:from-purple-900/30 dark:hover:to-pink-900/30 dark:hover:text-purple-300",link:"text-purple-600 underline-offset-4 hover:underline hover:text-purple-700 dark:text-purple-400 dark:hover:text-purple-300"},size:{default:"h-10 px-6 py-2 has-[>svg]:px-4",sm:"h-8 rounded-lg gap-1.5 px-4 has-[>svg]:px-3",lg:"h-12 rounded-xl px-8 has-[>svg]:px-6 text-base",icon:"size-10"}},defaultVariants:{variant:"default",size:"default"}});function c(e){let{className:a,variant:s,size:i,asChild:c=!1,...o}=e,d=c?r.DX:"button";return(0,t.jsx)(d,{"data-slot":"button",className:(0,l.cn)(n({variant:s,size:i,className:a})),...o})}},8145:(e,a,s)=>{"use strict";s.d(a,{E:()=>c});var t=s(5155);s(2115);var r=s(9708),i=s(2085),l=s(3999);let n=(0,i.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function c(e){let{className:a,variant:s,asChild:i=!1,...c}=e,o=i?r.DX:"span";return(0,t.jsx)(o,{"data-slot":"badge",className:(0,l.cn)(n({variant:s}),a),...c})}},8482:(e,a,s)=>{"use strict";s.d(a,{Wu:()=>l,Zp:()=>i});var t=s(5155);s(2115);var r=s(3999);function i(e){let{className:a,...s}=e;return(0,t.jsx)("div",{"data-slot":"card",className:(0,r.cn)("bg-card/80 backdrop-blur-sm text-card-foreground flex flex-col gap-6 rounded-xl border border-white/20 py-6 shadow-lg transition-all duration-300 hover:shadow-xl hover:border-white/30",a),...s})}function l(e){let{className:a,...s}=e;return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",a),...s})}},9852:(e,a,s)=>{"use strict";s.d(a,{p:()=>i});var t=s(5155);s(2115);var r=s(3999);function i(e){let{className:a,type:s,...i}=e;return(0,t.jsx)("input",{type:s,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...i})}}},e=>{var a=a=>e(e.s=a);e.O(0,[953,598,218,688,832,441,684,358],()=>a(1777)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/_not-found/page-14b0805b8379172b.js b/.netlify/static/_next/static/chunks/app/_not-found/page-14b0805b8379172b.js deleted file mode 100644 index 8bf5f40..0000000 --- a/.netlify/static/_next/static/chunks/app/_not-found/page-14b0805b8379172b.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[492],{3632:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let l=r(5155),n=r(6395);function o(){return(0,l.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3868:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return r(3632)}])},6395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}}),r(8229);let l=r(5155);r(2115);let n={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};function o(e){let{status:t,message:r}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("title",{children:t+": "+r}),(0,l.jsx)("div",{style:n.error,children:(0,l.jsxs)("div",{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,l.jsx)("h1",{className:"next-error-h1",style:n.h1,children:t}),(0,l.jsx)("div",{style:n.desc,children:(0,l.jsx)("h2",{style:n.h2,children:r})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{var t=t=>e(e.s=t);e.O(0,[441,684,358],()=>t(3868)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/api/ai/recommend/route-f3c0b34b8df9ed93.js b/.netlify/static/_next/static/chunks/app/api/ai/recommend/route-f3c0b34b8df9ed93.js deleted file mode 100644 index 247ab71..0000000 --- a/.netlify/static/_next/static/chunks/app/api/ai/recommend/route-f3c0b34b8df9ed93.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[43,606,618],{4441:()=>{}},_=>{var e=e=>_(_.s=e);_.O(0,[441,684,358],()=>e(4441)),_N_E=_.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/api/data/route-d3e7ed8222a7b43c.js b/.netlify/static/_next/static/chunks/app/api/data/route-d3e7ed8222a7b43c.js deleted file mode 100644 index 247ab71..0000000 --- a/.netlify/static/_next/static/chunks/app/api/data/route-d3e7ed8222a7b43c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[43,606,618],{4441:()=>{}},_=>{var e=e=>_(_.s=e);_.O(0,[441,684,358],()=>e(4441)),_N_E=_.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/deadlines/page-2a9adf4cc7d99ada.js b/.netlify/static/_next/static/chunks/app/deadlines/page-2a9adf4cc7d99ada.js deleted file mode 100644 index ab975b4..0000000 --- a/.netlify/static/_next/static/chunks/app/deadlines/page-2a9adf4cc7d99ada.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[312],{2410:(e,t,r)=>{Promise.resolve().then(r.bind(r,6854))},4869:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(9946).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},6854:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>v});var a=r(5155),l=r(7024),i=r(5203),o=r(9852),n=r(7924),s=r(8564),d=r(7168),c=r(1218),m=r(2115),h=r(4869);function u(){let{displayTimezone:e,setDisplayTimezone:t,detectUserTimezone:r}=(0,i.h)(),{t:l}=(0,c.Bd)("common"),[n,s]=(0,m.useState)([]),[u,p]=(0,m.useState)(""),[x,b]=(0,m.useState)(!1);(0,m.useEffect)(()=>{try{let e=Intl.supportedValuesOf("timeZone");if(e&&e.length>0)return void s(e)}catch(e){console.warn("Failed to get timezones from browser:",e)}fetch("https://www.timeapi.io/api/timezone/availabletimezones").then(e=>e.json()).then(e=>{Array.isArray(e)&&s(e)}).catch(e=>{console.error("Failed to fetch timezones:",e),s(["Asia/Shanghai"])})},[]),(0,m.useEffect)(()=>{if(x){let e=e=>{e.target.closest(".timezone-selector-container")||b(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}},[x]);let g=u?n.filter(e=>e.toLowerCase().includes(u.toLowerCase())):n;return(0,a.jsx)("div",{className:"relative timezone-selector-container",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)(d.$,{variant:"outline",className:"flex items-center gap-2 text-sm",onClick:()=>b(!x),children:[(0,a.jsx)(h.A,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:e})]}),x&&(0,a.jsx)("div",{className:"absolute z-50 mt-1 bg-white border rounded-md shadow-lg w-80 max-h-80 overflow-y-auto",children:(0,a.jsxs)("div",{className:"p-2",children:[(0,a.jsx)(o.p,{type:"text",placeholder:l("filter.searchTimezone"),value:u,onChange:e=>p(e.target.value),className:"mb-2"}),(0,a.jsx)("div",{className:"grid gap-1",children:g.map(r=>(0,a.jsx)("div",{className:"px-3 py-2 text-sm rounded-md cursor-pointer hover:bg-gray-100 ".concat(e===r?"bg-primary/10 font-medium":""),onClick:()=>{t(r),b(!1)},children:r},r))})]})})]}),(0,a.jsx)(d.$,{variant:"outline",size:"sm",onClick:()=>{r(),b(!1)},className:"whitespace-nowrap",children:l("filter.autoDetect")})]})})}function p(){let{selectedCategory:e,searchQuery:t,setCategory:r,setSearchQuery:l,showOnlyFavorites:m,setShowOnlyFavorites:h,mounted:p}=(0,i.h)(),{t:x}=(0,c.Bd)("common");return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"relative group",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-500/20 via-purple-500/20 to-pink-500/20 rounded-xl blur-sm opacity-0 group-hover:opacity-100 transition-opacity duration-300"}),(0,a.jsxs)("div",{className:"relative bg-white rounded-xl shadow-lg border-2 border-gray-200 hover:border-blue-400 focus-within:border-blue-500 transition-all duration-300 hover:shadow-xl focus-within:shadow-2xl",children:[(0,a.jsx)(n.A,{className:"absolute left-4 top-1/2 transform -translate-y-1/2 text-gray-500 w-6 h-6 group-hover:text-blue-500 group-focus-within:text-blue-600 transition-colors duration-300"}),(0,a.jsx)(o.p,{type:"text",placeholder:x("filter.searchPlaceholder"),value:t,onChange:e=>l(e.target.value),className:"pl-14 pr-6 py-3 sm:py-4 text-base sm:text-xl md:text-2xl font-medium bg-transparent border-0 rounded-xl placeholder:text-base sm:placeholder:text-xl md:placeholder:text-2xl placeholder:text-gray-400 focus:ring-0 focus:outline-none h-12 sm:h-14 md:h-16 text-gray-800"}),(0,a.jsx)("div",{className:"absolute inset-0 rounded-xl bg-gradient-to-r from-blue-50/50 to-purple-50/50 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none"})]})]}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[p&&(0,a.jsxs)(d.$,{variant:m?"default":"outline",size:"sm",onClick:()=>h(!m),className:"\n relative overflow-hidden transition-all duration-300 ease-in-out\n ".concat(m?"bg-gradient-to-r from-yellow-400 via-yellow-500 to-orange-500 text-white shadow-lg shadow-yellow-500/25 hover:shadow-xl hover:shadow-yellow-500/30 hover:scale-105":"border-yellow-300 text-yellow-600 hover:bg-yellow-50 hover:border-yellow-400 hover:text-yellow-700","\n before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-white/20 before:to-transparent\n before:translate-x-[-100%] before:transition-transform before:duration-700\n ").concat(m?"hover:before:translate-x-[100%]":"","\n "),children:[(0,a.jsx)(s.A,{className:"w-4 h-4 transition-all duration-300 ".concat(m?"text-white fill-white drop-shadow-sm":"text-yellow-500 hover:text-yellow-600")}),(0,a.jsx)("span",{className:"font-medium",children:x("filter.onlyFavorites")}),m&&(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-r from-yellow-400/20 to-orange-500/20 animate-pulse"})]}),(0,a.jsx)(u,{})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-sm font-medium mb-2",children:x("filter.category")}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)(d.$,{variant:null===e?"default":"outline",size:"sm",className:"transition-colors ".concat(null===e?"bg-primary hover:bg-primary/90":"hover:bg-primary/10"," hover:cursor-pointer"),onClick:()=>r(null),children:x("filter.all")}),["conference","competition","activity"].map(t=>(0,a.jsx)(d.$,{variant:e===t?"default":"outline",size:"sm",className:"transition-colors ".concat(e===t?"bg-primary hover:bg-primary/90":"hover:bg-primary/10"," capitalize hover:cursor-pointer"),onClick:()=>r(t),children:x("filter.category_".concat(t))},t))]})]})]})}var x=r(607),b=r(2231),g=r(6874),f=r.n(g);function v(){let{items:e,loading:t,fetchItems:r,selectedCategory:o,selectedTags:n,selectedLocations:s,searchQuery:d,favorites:h,showOnlyFavorites:u}=(0,i.h)();(0,m.useEffect)(()=>{r()},[r]);let{t:g}=(0,c.Bd)(),v=(0,m.useMemo)(()=>e.flatMap(e=>e.events.map(t=>{let r=b.c9.now().setZone("Asia/Shanghai"),a=t.timeline.map(e=>b.c9.fromISO(e.deadline,{zone:t.timezone})).filter(e=>e>r).sort((e,t)=>e.toMillis()-t.toMillis())[0]||b.c9.fromISO(t.timeline[t.timeline.length-1].deadline,{zone:t.timezone}),l=a.toMillis()-r.toMillis();return{item:e,event:t,nextDeadline:a,timeRemaining:l}})),[e]),y=(0,m.useMemo)(()=>v.map(e=>({...e,searchableDate:e.nextDeadline.toFormat("yyyy-MM-dd"),searchableMonth:e.nextDeadline.toFormat("MM"),searchableYear:e.nextDeadline.toFormat("yyyy")})),[v]),w=(0,m.useMemo)(()=>{let e=y;return o&&(e=e.filter(e=>e.item.category===o)),n.length>0&&(e=e.filter(e=>n.some(t=>{var r;return null==(r=e.item.tags)?void 0:r.includes(t)}))),s.length>0&&(e=e.filter(e=>s.includes(e.event.place))),u&&(console.log("Filtering favorites:",{favorites:h,showOnlyFavorites:u,totalEvents:e.length}),console.log("Filtered favorites result:",(e=e.filter(e=>{let t="".concat(e.event.id),r=h.includes(t);return console.log("Event ".concat(t,": ").concat(r?"favorited":"not favorited")),r})).length)),d.trim()&&(e=new x.A(e,{keys:[{name:"item.title",weight:.4},{name:"item.tags",weight:.3},{name:"event.place",weight:.2},{name:"searchableDate",weight:.1},{name:"searchableMonth",weight:.1},{name:"searchableYear",weight:.1}],threshold:.3,includeScore:!0}).search(d).map(e=>e.item)),e.sort((e,t)=>{let r=e.timeRemaining<0,a=t.timeRemaining<0;return r&&!a?1:!r&&a?-1:r||a?t.timeRemaining-e.timeRemaining:e.timeRemaining-t.timeRemaining})},[y,o,n,s,d,u,h]);return t?(0,a.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-pink-50 via-purple-50 to-cyan-50 flex items-center justify-center",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-purple-500 mx-auto mb-4"}),(0,a.jsx)("p",{className:"text-purple-700",children:g("events.loading")})]})}):(0,a.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-pink-50 via-purple-50 to-cyan-50 relative overflow-hidden",children:[(0,a.jsxs)("div",{className:"absolute inset-0 overflow-hidden",children:[(0,a.jsx)("div",{className:"absolute -top-40 -right-40 w-80 h-80 bg-gradient-to-br from-purple-400/20 to-pink-400/20 rounded-full blur-3xl"}),(0,a.jsx)("div",{className:"absolute -bottom-40 -left-40 w-80 h-80 bg-gradient-to-br from-cyan-400/20 to-purple-400/20 rounded-full blur-3xl"}),(0,a.jsx)("div",{className:"absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-96 h-96 bg-gradient-to-br from-pink-300/10 to-cyan-300/10 rounded-full blur-3xl"})]}),(0,a.jsxs)("div",{className:"container mx-auto px-4 py-8 relative z-10",children:[(0,a.jsxs)("div",{className:"text-center mb-8",children:[(0,a.jsx)("h1",{className:"text-4xl font-bold bg-gradient-to-r from-purple-600 via-pink-600 to-cyan-600 bg-clip-text text-transparent mb-4",children:"公益慈善活动截止日期"}),(0,a.jsxs)("div",{className:"flex justify-center gap-3 mb-4",children:[(0,a.jsxs)(f(),{href:"https://gitcode.com/Fenju/GoodAction-Hub",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-2 bg-gradient-to-r from-cyan-500 to-blue-500 text-white rounded-lg hover:from-cyan-600 hover:to-blue-600 transition-all duration-300 shadow-lg hover:shadow-xl transform hover:scale-105",children:[(0,a.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 28 28",children:(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.059 5.80628C18.2234 5.71425 18.3973 5.61696 18.585 5.51037C18.6076 5.63327 18.6297 5.74058 18.6497 5.83784C18.685 6.00943 18.714 6.15059 18.728 6.29005C18.8392 7.50125 19.448 8.39222 20.3108 8.59286C21.5726 8.88583 22.7623 8.40159 23.4033 7.33318C24.1733 6.05123 23.839 4.4812 22.5279 3.53618C18.8826 0.907049 14.8777 0.18191 10.5636 1.44819C1.2616 4.1927 -1.92121 15.6199 4.68062 22.6274C7.50507 25.6249 11.0914 26.9182 15.1624 26.8204C20.3774 26.6979 24.1333 24.099 26.5309 19.5947C28.2308 16.3988 26.3829 12.9055 22.8439 12.1795C20.8227 11.7726 18.7559 11.6405 16.6993 11.7869C16.0151 11.8526 15.3509 12.0547 14.7459 12.3811C14.0691 12.7324 13.8734 13.4614 13.9493 14.1838C14.02 14.8421 14.5247 15.2369 15.1258 15.3362C16.3361 15.5256 17.5609 15.6357 18.7833 15.7361C19.1371 15.7659 19.4942 15.7694 19.8507 15.773C20.3623 15.7781 20.873 15.7832 21.3718 15.8657C22.7949 16.1009 23.2836 17.2557 22.5517 18.4911C22.3724 18.7882 22.1633 19.0662 21.9277 19.3209C20.9703 20.3738 19.7183 21.1144 18.3344 21.4465C15.8084 22.0649 13.2798 22.0996 10.7655 21.3054C7.90238 20.4021 6.19549 18.2991 6.13552 15.4682C6.1131 13.7223 6.55634 12.002 7.41963 10.4843C7.80967 9.77686 8.02376 9.04827 7.96359 8.24664C7.93826 7.90488 7.92423 7.56273 7.90915 7.19506C7.90113 6.99938 7.89281 6.79647 7.88233 6.58254C8.17231 6.6434 8.45871 6.72023 8.74022 6.81271C9.83531 7.25229 10.9132 7.45284 12.0986 7.13019C12.7728 6.96895 13.4697 6.92433 14.159 6.99829C15.269 7.08878 16.3785 6.81759 17.3215 6.22521C17.5569 6.08724 17.7963 5.9533 18.059 5.80628Z"})}),"GitCode"]}),(0,a.jsxs)(f(),{href:"https://github.com/FenjuFu/GoodAction-Hub",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-2 bg-gradient-to-r from-purple-500 to-pink-500 text-white rounded-lg hover:from-purple-600 hover:to-pink-600 transition-all duration-300 shadow-lg hover:shadow-xl transform hover:scale-105",children:[(0,a.jsx)("svg",{className:"w-5 h-5",fill:"white",viewBox:"0 0 20 20",children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782 .605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91 .832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272 .098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85 .004 1.705 .115 2.504 .337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379 .203 2.398 .1 2.651 .64 .7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359 .31 .678 .921 .678 1.856 0 1.338-.012 2.419 -.012 2.747 0 .268 .18 .58 .688 .482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z",clipRule:"evenodd"})}),"GitHub"]})]}),(0,a.jsx)("p",{className:"text-lg text-gray-700 mb-4 font-medium",children:"公益慈善会议ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸæ¦‚览,ä¸å†é”™è¿‡å‚与公益事业ã€å¥‰çŒ®çˆ±å¿ƒå’Œç¤¾ä¼šæœåŠ¡çš„æœºä¼š"}),(0,a.jsxs)("div",{className:"text-sm text-gray-600 space-y-1",children:[(0,a.jsx)("p",{className:"bg-white/60 backdrop-blur-sm rounded-lg px-4 py-2 inline-block",children:"所有截止日期å‡é»˜è®¤è½¬æ¢ä¸ºåŒ—京时间,如果您ä¸çŸ¥é“当剿‰€åœ¨æ—¶åŒºï¼Œè¯·ç‚¹å‡»æ—¶åŒºé€‰æ‹©å™¨å³ä¾§çš„“自动检测â€"}),(0,a.jsx)("p",{className:"text-gray-500 bg-white/40 backdrop-blur-sm rounded-lg px-4 py-2 inline-block",children:"*å…责声明:本站数æ®ç”±äººå·¥ç»´æŠ¤ï¼Œä»…ä¾›å‚考"})]})]}),(0,a.jsx)("div",{className:"bg-white/80 backdrop-blur-sm rounded-xl p-6 shadow-lg border border-white/20 mb-8",children:(0,a.jsx)(p,{})}),(0,a.jsx)("div",{className:"space-y-4",children:w.map(e=>{let{item:t,event:r}=e;return(0,a.jsx)(l.n,{item:t,event:r},"".concat(r.id))})}),0===w.length&&(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"text-6xl mb-4",children:"\uD83D\uDD0D"}),(0,a.jsx)("h3",{className:"text-xl font-semibold bg-gradient-to-r from-purple-600 to-pink-600 bg-clip-text text-transparent mb-2",children:g("events.notFound")}),(0,a.jsx)("p",{className:"text-gray-600 bg-white/60 backdrop-blur-sm rounded-lg px-4 py-2 inline-block",children:g("events.hint")})]}),(0,a.jsx)("footer",{className:"mt-16 text-center text-gray-600",children:(0,a.jsx)("div",{className:"bg-white/60 backdrop-blur-sm rounded-xl p-6 shadow-lg border border-white/20 inline-block",children:(0,a.jsx)("p",{className:"text-sm",children:"å…¬ç›Šæ…ˆå–„æ´»åŠ¨è¿½è¸ªå¹³å° - 让爱心传递,让公益更简å•"})})})]})]})}},7924:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(9946).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},9852:(e,t,r)=>{"use strict";r.d(t,{p:()=>i});var a=r(5155);r(2115);var l=r(3999);function i(e){let{className:t,type:r,...i}=e;return(0,a.jsx)("input",{type:r,"data-slot":"input",className:(0,l.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...i})}}},e=>{var t=t=>e(e.s=t);e.O(0,[953,598,874,218,688,366,852,24,441,684,358],()=>t(2410)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/home/page-a2796b64ebab91be.js b/.netlify/static/_next/static/chunks/app/home/page-a2796b64ebab91be.js deleted file mode 100644 index 334bebd..0000000 --- a/.netlify/static/_next/static/chunks/app/home/page-a2796b64ebab91be.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[620],{3999:(e,t,r)=>{"use strict";r.d(t,{cn:()=>n,y:()=>i});var s=r(2596),a=r(9688),l=r(2231);function n(){for(var e=arguments.length,t=Array(e),r=0;r=0?a+="+":a+="-",a+=r,s>0&&(a+=":"+s.toString().padStart(2,"0")),a}catch(t){return console.error("Error formatting timezone ".concat(e,":"),t),e}}},5972:(e,t,r)=>{Promise.resolve().then(r.bind(r,6040))},6040:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>d});var s=r(5155),a=r(6874),l=r.n(a),n=r(8482),i=r(9074);let c=(0,r(9946).A)("utensils",[["path",{d:"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2",key:"cjf0a3"}],["path",{d:"M7 2v20",key:"1473qp"}],["path",{d:"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7",key:"j28e5"}]]);function d(){return(0,s.jsxs)("div",{className:"min-h-[calc(100vh-4rem)] bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-pink-100 via-white to-purple-100",children:[(0,s.jsxs)("div",{className:"max-w-5xl mx-auto px-6 py-12",children:[(0,s.jsxs)("div",{className:"text-center mb-10",children:[(0,s.jsx)("h1",{className:"text-3xl md:text-4xl font-extrabold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent",children:"GoodAction Hub 首页"}),(0,s.jsx)("p",{className:"mt-3 text-sm md:text-base text-gray-600",children:"请选择进入模å—:公益慈善活动截止日期 或 æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 items-stretch",children:[(0,s.jsx)(l(),{href:"/deadlines",className:"group block h-full",children:(0,s.jsx)(n.Zp,{className:"h-full min-h-[200px] overflow-hidden border-pink-200 hover:border-pink-400 transition-colors",children:(0,s.jsx)(n.Wu,{className:"p-6 h-full",children:(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)("div",{className:"rounded-xl bg-pink-100 text-pink-600 p-3 group-hover:bg-pink-200 transition-colors",children:(0,s.jsx)(i.A,{className:"w-7 h-7"})}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("div",{className:"text-lg md:text-xl font-bold bg-gradient-to-r from-pink-600 to-pink-500 bg-clip-text text-transparent",children:"公益慈善活动截止日期"}),(0,s.jsx)("div",{className:"mt-1 text-gray-600 text-sm",children:"汇总å„类公益赛事与活动的时间线与截止日期。"})]})]})})})}),(0,s.jsx)(l(),{href:"/Barrier-Free-Bites",className:"group block h-full",children:(0,s.jsx)(n.Zp,{className:"h-full min-h-[200px] overflow-hidden border-purple-200 hover:border-purple-400 transition-colors",children:(0,s.jsx)(n.Wu,{className:"p-6 h-full",children:(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)("div",{className:"rounded-xl bg-purple-100 text-purple-600 p-3 group-hover:bg-purple-200 transition-colors",children:(0,s.jsx)(c,{className:"w-7 h-7"})}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("div",{className:"text-lg md:text-xl font-bold bg-gradient-to-r from-purple-600 to-purple-500 bg-clip-text text-transparent",children:"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}),(0,s.jsx)("div",{className:"mt-1 text-gray-600 text-sm",children:"探索更å‹å¥½çš„é¤é¥®ç©ºé—´ä¸Žæ— éšœç¢è§…食导航。"})]})]})})})})]})]}),(0,s.jsx)("div",{className:"flex justify-center mt-12 mb-8",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)("img",{src:"/goodactionhub-12-6.png",alt:"GoodAction Hub 公益生活微信群",className:"w-48 h-48 object-contain mx-auto"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-gray-500",children:"加入GoodAction Hubå¼€æºå…¬ç›Šç”Ÿæ´»äº¤æµç¾¤"})]})})]})}},8482:(e,t,r)=>{"use strict";r.d(t,{Wu:()=>n,Zp:()=>l});var s=r(5155);r(2115);var a=r(3999);function l(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card/80 backdrop-blur-sm text-card-foreground flex flex-col gap-6 rounded-xl border border-white/20 py-6 shadow-lg transition-all duration-300 hover:shadow-xl hover:border-white/30",t),...r})}function n(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...r})}},9074:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(9946).A)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])}},e=>{var t=t=>e(e.s=t);e.O(0,[953,598,874,441,684,358],()=>t(5972)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/layout-01d78853a4a2c238.js b/.netlify/static/_next/static/chunks/app/layout-01d78853a4a2c238.js deleted file mode 100644 index f2fff41..0000000 --- a/.netlify/static/_next/static/chunks/app/layout-01d78853a4a2c238.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{2709:(e,s,n)=>{"use strict";n.d(s,{A:()=>o,K:()=>i});var t=n(7985),r=n(1218),a=n(8834),l=n(4431);let i={en:"English","zh-CN":"简体中文"};t.Ay.use(a.A).use(l.A).use(r.r9).init({backend:{loadPath:"/locales/{{lng}}/{{ns}}.json"},fallbackLng:"zh-CN",interpolation:{escapeValue:!1},defaultNS:"translation",ns:["translation"],supportedLngs:["en","zh-CN"],nonExplicitSupportedLngs:!1,detection:{order:["querystring","cookie","localStorage","navigator"],caches:["cookie"]},react:{useSuspense:!1}});let o=t.Ay},6453:(e,s,n)=>{"use strict";n.d(s,{SwitchLanguage:()=>d});var t=n(5155),r=n(2709),a=n(3096),l=n(9969),i=n(2115),o=n(1218),c=n(4869);function d(){let{i18n:e}=(0,o.Bd)(),[s,n]=(0,i.useState)(e.language||"zh-CN");return(0,i.useEffect)(()=>{let e=r.A.language||"zh-CN";e!==s&&n(e)},[s]),(0,t.jsxs)(l.bL,{value:s,onValueChange:e=>{r.A.changeLanguage(e),n(e)},children:[(0,t.jsxs)(l.l9,{className:"inline-flex items-center justify-between rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 shadow-sm focus:outline-none focus:ring-2 focus:ring-primary transition min-w-[120px]","aria-label":"语言",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.A,{className:"h-4 w-4 text-slate-700","aria-hidden":"true"}),(0,t.jsx)(l.WT,{placeholder:r.K[s]||r.K["zh-CN"]})]}),(0,t.jsx)(l.In,{children:(0,t.jsx)(a.D3D,{className:"ml-2 h-4 w-4"})})]}),(0,t.jsx)(l.ZL,{children:(0,t.jsx)(l.UC,{className:"rounded-lg border border-slate-200 bg-white shadow-lg z-50",children:(0,t.jsx)(l.LM,{className:"p-1",children:Object.entries(r.K).map(e=>{let[s,n]=e;return(0,t.jsx)(l.q7,{value:s,className:"relative flex cursor-pointer select-none items-center rounded-md px-3 py-2 text-sm text-slate-900 outline-none hover:bg-slate-100 data-[state=checked]:bg-primary/10",children:(0,t.jsx)(l.p4,{children:n})},s)})})})})]})}},8254:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,9324,23)),Promise.resolve().then(n.bind(n,8344)),Promise.resolve().then(n.bind(n,6453)),Promise.resolve().then(n.t.bind(n,6874,23)),Promise.resolve().then(n.t.bind(n,4522,23)),Promise.resolve().then(n.t.bind(n,1656,23))},8344:(e,s,n)=>{"use strict";n.d(s,{default:()=>l});var t=n(5155),r=n(1218),a=n(2709);function l(e){let{children:s}=e;return(0,t.jsx)(r.xC,{i18n:a.A,children:s})}},9324:()=>{}},e=>{var s=s=>e(e.s=s);e.O(0,[199,105,874,218,688,366,412,441,684,358],()=>s(8254)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/origin/page-01861c49eed63b71.js b/.netlify/static/_next/static/chunks/app/origin/page-01861c49eed63b71.js deleted file mode 100644 index 46876c1..0000000 --- a/.netlify/static/_next/static/chunks/app/origin/page-01861c49eed63b71.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[629],{1984:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>d});var a=r(5155),s=r(7924),l=r(2115),n=r(5695);function i(){let[e,t]=(0,l.useState)(""),r=(0,n.useRouter)(),i=()=>{e.trim()&&r.push("/recommend?query=".concat(encodeURIComponent(e)))};return(0,a.jsx)("div",{className:"w-full",children:(0,a.jsxs)("div",{className:"mt-50 w-full bg-black/40 backdrop-blur-md rounded-full px-4 py-3 shadow-2xl flex items-center",children:[(0,a.jsx)("div",{className:"flex items-center gap-3 pl-3",children:(0,a.jsx)("span",{className:"text-white/90 text-lg md:text-xl",children:"探索"})}),(0,a.jsx)("input",{type:"text",placeholder:"æœç´¢...",value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{"Enter"===e.key&&i()},className:"flex-1 bg-transparent placeholder-white/60 text-white text-lg md:text-xl outline-none px-6"}),(0,a.jsx)("button",{onClick:i,"aria-label":"æœç´¢",className:"ml-4 rounded-full bg-white/20 hover:bg-white/30 p-3 flex items-center justify-center transition-colors",children:(0,a.jsx)(s.A,{className:"w-5 h-5 text-white"})})]})})}var o=r(5203),c=r(1218);function d(){let{loading:e,fetchItems:t}=(0,o.h)();(0,l.useEffect)(()=>{t()},[t]);let{t:r}=(0,c.Bd)();return e?(0,a.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 to-slate-100 flex items-center justify-center",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"}),(0,a.jsx)("p",{className:"text-slate-600",children:r("events.loading")})]})}):(0,a.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-slate-900/40 to-slate-200/10 bg-[url('/bg.jpg')] bg-cover bg-center",children:(0,a.jsxs)("div",{className:"w-full max-w-4xl px-6 py-24 flex flex-col items-center",children:[(0,a.jsxs)("header",{className:"text-center",children:[(0,a.jsx)("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-light text-white leading-tight tracking-tighter",children:"GOODACTION HUB"}),(0,a.jsx)("div",{className:"mt-3 text-2xl md:text-3xl text-white/90",children:"益 行"})]}),(0,a.jsx)(i,{}),(0,a.jsx)("footer",{className:"mt-14 text-center max-w-2xl",children:(0,a.jsx)("p",{className:"text-white/80 text-base md:text-lg italic",children:"GoodAction Hub helps you discover the world's best free opportunities — powered by AI, open to all."})})]})})}},2633:(e,t,r)=>{Promise.resolve().then(r.bind(r,1984))},5203:(e,t,r)=>{"use strict";r.d(t,{h:()=>l});var a=r(5453),s=r(6786);let l=(0,a.v)()((0,s.Zr)(e=>({items:[],loading:!0,selectedCategory:null,selectedTags:[],selectedLocations:[],searchQuery:"",favorites:[],showOnlyFavorites:!1,mounted:!1,displayTimezone:"Asia/Shanghai",toggleFavorite:t=>e(e=>({favorites:e.favorites.includes(t)?e.favorites.filter(e=>e!==t):[...e.favorites,t]})),setShowOnlyFavorites:t=>e({showOnlyFavorites:t}),fetchItems:async()=>{e({loading:!0});try{let t=await fetch("/api/data"),r=await t.json();e({items:r,loading:!1})}catch(t){console.error("Failed to load data:",t),e({loading:!1})}},setDisplayTimezone:t=>e({displayTimezone:t}),detectUserTimezone:()=>{try{let t=Intl.DateTimeFormat().resolvedOptions().timeZone;t&&e({displayTimezone:t})}catch(e){console.error("Failed to detect user timezone:",e)}},setCategory:t=>e({selectedCategory:t}),toggleTag:t=>e(e=>({selectedTags:e.selectedTags.includes(t)?e.selectedTags.filter(e=>e!==t):[...e.selectedTags,t]})),toggleLocation:t=>e(e=>({selectedLocations:e.selectedLocations.includes(t)?e.selectedLocations.filter(e=>e!==t):[...e.selectedLocations,t]})),setSearchQuery:t=>e({searchQuery:t})}),{name:"favorites-storage",storage:(0,s.KU)(()=>localStorage),partialize:e=>({favorites:e.favorites,displayTimezone:e.displayTimezone}),onRehydrateStorage:()=>e=>{e&&(e.mounted=!0)}}))},5453:(e,t,r)=>{"use strict";r.d(t,{v:()=>o});var a=r(2115);let s=e=>{let t,r=new Set,a=(e,a)=>{let s="function"==typeof e?e(t):e;if(!Object.is(s,t)){let e=t;t=(null!=a?a:"object"!=typeof s||null===s)?s:Object.assign({},t,s),r.forEach(r=>r(t,e))}},s=()=>t,l={setState:a,getState:s,getInitialState:()=>n,subscribe:e=>(r.add(e),()=>r.delete(e))},n=t=e(a,s,l);return l},l=e=>e?s(e):s,n=e=>e,i=e=>{let t=l(e),r=e=>(function(e,t=n){let r=a.useSyncExternalStore(e.subscribe,a.useCallback(()=>t(e.getState()),[e,t]),a.useCallback(()=>t(e.getInitialState()),[e,t]));return a.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},o=e=>e?i(e):i},5695:(e,t,r)=>{"use strict";var a=r(8999);r.o(a,"useRouter")&&r.d(t,{useRouter:function(){return a.useRouter}}),r.o(a,"useSearchParams")&&r.d(t,{useSearchParams:function(){return a.useSearchParams}})},6786:(e,t,r)=>{"use strict";function a(e,t){let r;try{r=e()}catch(e){return}return{getItem:e=>{var a;let s=e=>null===e?null:JSON.parse(e,null==t?void 0:t.reviver),l=null!=(a=r.getItem(e))?a:null;return l instanceof Promise?l.then(s):s(l)},setItem:(e,a)=>r.setItem(e,JSON.stringify(a,null==t?void 0:t.replacer)),removeItem:e=>r.removeItem(e)}}r.d(t,{KU:()=>a,Zr:()=>l});let s=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>s(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>s(t)(e)}}},l=(e,t)=>(r,l,n)=>{let i,o={storage:a(()=>localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},c=!1,d=new Set,u=new Set,m=o.storage;if(!m)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${o.name}', the given storage is currently unavailable.`),r(...e)},l,n);let h=()=>{let e=o.partialize({...l()});return m.setItem(o.name,{state:e,version:o.version})},g=n.setState;n.setState=(e,t)=>(g(e,t),h());let f=e((...e)=>(r(...e),h()),l,n);n.getInitialState=()=>f;let x=()=>{var e,t;if(!m)return;c=!1,d.forEach(e=>{var t;return e(null!=(t=l())?t:f)});let a=(null==(t=o.onRehydrateStorage)?void 0:t.call(o,null!=(e=l())?e:f))||void 0;return s(m.getItem.bind(m))(o.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===o.version)return[!1,e.state];else{if(o.migrate){let t=o.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;let[a,s]=e;if(r(i=o.merge(s,null!=(t=l())?t:f),!0),a)return h()}).then(()=>{null==a||a(i,void 0),i=l(),c=!0,u.forEach(e=>e(i))}).catch(e=>{null==a||a(void 0,e)})};return n.persist={setOptions:e=>{o={...o,...e},e.storage&&(m=e.storage)},clearStorage:()=>{null==m||m.removeItem(o.name)},getOptions:()=>o,rehydrate:()=>x(),hasHydrated:()=>c,onHydrate:e=>(d.add(e),()=>{d.delete(e)}),onFinishHydration:e=>(u.add(e),()=>{u.delete(e)})},o.skipHydration||x(),i||f}},7924:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(9946).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},9946:(e,t,r)=>{"use strict";r.d(t,{A:()=>u});var a=r(2115);let s=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),l=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),n=e=>{let t=l(e);return t.charAt(0).toUpperCase()+t.slice(1)},i=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},o=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let d=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:s=24,strokeWidth:l=2,absoluteStrokeWidth:n,className:d="",children:u,iconNode:m,...h}=e;return(0,a.createElement)("svg",{ref:t,...c,width:s,height:s,stroke:r,strokeWidth:n?24*Number(l)/Number(s):l,className:i("lucide",d),...!u&&!o(h)&&{"aria-hidden":"true"},...h},[...m.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(u)?u:[u]])}),u=(e,t)=>{let r=(0,a.forwardRef)((r,l)=>{let{className:o,...c}=r;return(0,a.createElement)(d,{ref:l,iconNode:t,className:i("lucide-".concat(s(n(e))),"lucide-".concat(e),o),...c})});return r.displayName=n(e),r}}},e=>{var t=t=>e(e.s=t);e.O(0,[218,441,684,358],()=>t(2633)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/page-3e7c08725e8e4325.js b/.netlify/static/_next/static/chunks/app/page-3e7c08725e8e4325.js deleted file mode 100644 index 1984736..0000000 --- a/.netlify/static/_next/static/chunks/app/page-3e7c08725e8e4325.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{2363:(e,t,r)=>{Promise.resolve().then(r.bind(r,6040))},3999:(e,t,r)=>{"use strict";r.d(t,{cn:()=>n,y:()=>i});var s=r(2596),a=r(9688),l=r(2231);function n(){for(var e=arguments.length,t=Array(e),r=0;r=0?a+="+":a+="-",a+=r,s>0&&(a+=":"+s.toString().padStart(2,"0")),a}catch(t){return console.error("Error formatting timezone ".concat(e,":"),t),e}}},6040:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>d});var s=r(5155),a=r(6874),l=r.n(a),n=r(8482),i=r(9074);let c=(0,r(9946).A)("utensils",[["path",{d:"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2",key:"cjf0a3"}],["path",{d:"M7 2v20",key:"1473qp"}],["path",{d:"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7",key:"j28e5"}]]);function d(){return(0,s.jsxs)("div",{className:"min-h-[calc(100vh-4rem)] bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-pink-100 via-white to-purple-100",children:[(0,s.jsxs)("div",{className:"max-w-5xl mx-auto px-6 py-12",children:[(0,s.jsxs)("div",{className:"text-center mb-10",children:[(0,s.jsx)("h1",{className:"text-3xl md:text-4xl font-extrabold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent",children:"GoodAction Hub 首页"}),(0,s.jsx)("p",{className:"mt-3 text-sm md:text-base text-gray-600",children:"请选择进入模å—:公益慈善活动截止日期 或 æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 items-stretch",children:[(0,s.jsx)(l(),{href:"/deadlines",className:"group block h-full",children:(0,s.jsx)(n.Zp,{className:"h-full min-h-[200px] overflow-hidden border-pink-200 hover:border-pink-400 transition-colors",children:(0,s.jsx)(n.Wu,{className:"p-6 h-full",children:(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)("div",{className:"rounded-xl bg-pink-100 text-pink-600 p-3 group-hover:bg-pink-200 transition-colors",children:(0,s.jsx)(i.A,{className:"w-7 h-7"})}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("div",{className:"text-lg md:text-xl font-bold bg-gradient-to-r from-pink-600 to-pink-500 bg-clip-text text-transparent",children:"公益慈善活动截止日期"}),(0,s.jsx)("div",{className:"mt-1 text-gray-600 text-sm",children:"汇总å„类公益赛事与活动的时间线与截止日期。"})]})]})})})}),(0,s.jsx)(l(),{href:"/Barrier-Free-Bites",className:"group block h-full",children:(0,s.jsx)(n.Zp,{className:"h-full min-h-[200px] overflow-hidden border-purple-200 hover:border-purple-400 transition-colors",children:(0,s.jsx)(n.Wu,{className:"p-6 h-full",children:(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsx)("div",{className:"rounded-xl bg-purple-100 text-purple-600 p-3 group-hover:bg-purple-200 transition-colors",children:(0,s.jsx)(c,{className:"w-7 h-7"})}),(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)("div",{className:"text-lg md:text-xl font-bold bg-gradient-to-r from-purple-600 to-purple-500 bg-clip-text text-transparent",children:"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}),(0,s.jsx)("div",{className:"mt-1 text-gray-600 text-sm",children:"探索更å‹å¥½çš„é¤é¥®ç©ºé—´ä¸Žæ— éšœç¢è§…食导航。"})]})]})})})})]})]}),(0,s.jsx)("div",{className:"flex justify-center mt-12 mb-8",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)("img",{src:"/goodactionhub-12-6.png",alt:"GoodAction Hub 公益生活微信群",className:"w-48 h-48 object-contain mx-auto"}),(0,s.jsx)("p",{className:"mt-2 text-sm text-gray-500",children:"加入GoodAction Hubå¼€æºå…¬ç›Šç”Ÿæ´»äº¤æµç¾¤"})]})})]})}},8482:(e,t,r)=>{"use strict";r.d(t,{Wu:()=>n,Zp:()=>l});var s=r(5155);r(2115);var a=r(3999);function l(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card/80 backdrop-blur-sm text-card-foreground flex flex-col gap-6 rounded-xl border border-white/20 py-6 shadow-lg transition-all duration-300 hover:shadow-xl hover:border-white/30",t),...r})}function n(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...r})}},9074:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(9946).A)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])}},e=>{var t=t=>e(e.s=t);e.O(0,[953,598,874,441,684,358],()=>t(2363)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/app/recommend/page-f301890132bda128.js b/.netlify/static/_next/static/chunks/app/recommend/page-f301890132bda128.js deleted file mode 100644 index 855391f..0000000 --- a/.netlify/static/_next/static/chunks/app/recommend/page-f301890132bda128.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[683],{5695:(e,t,s)=>{"use strict";var a=s(8999);s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},6988:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=s(5155),n=s(5695),i=s(2115),r=s(2231),l=s(7024),o=s(607);async function c(){let e=await fetch("/api/data");if(!e.ok)throw Error("Failed to fetch data: ".concat(e.status," ").concat(e.statusText));return await e.json()}function m(){let e=(0,n.useSearchParams)().get("query")||"",[t,s]=(0,i.useState)([]),[m,d]=(0,i.useState)(!0),[u,h]=(0,i.useState)(null);(0,i.useEffect)(()=>{let e=new AbortController;return d(!0),h(null),c().then(t=>{e.signal.aborted||s(t)}).catch(t=>{e.signal.aborted||(console.error(t),h(t instanceof Error?t.message:String(t)))}).finally(()=>{e.signal.aborted||d(!1)}),()=>{e.abort()}},[]);let x=(0,i.useMemo)(()=>t.flatMap(e=>e.events.map(t=>{let s=r.c9.now().setZone("Asia/Shanghai"),a=t.timeline.map(e=>r.c9.fromISO(e.deadline,{zone:t.timezone})).filter(e=>e>s).sort((e,t)=>e.toMillis()-t.toMillis())[0]||r.c9.fromISO(t.timeline[t.timeline.length-1].deadline,{zone:t.timezone}),n=a.toMillis()-s.toMillis();return{item:e,event:t,nextDeadline:a,timeRemaining:n}})),[t]),g=(0,i.useMemo)(()=>new o.A(x,{keys:["item.title","item.description","item.tags","event.place"],threshold:.3}),[x]),b=(0,i.useMemo)(()=>{let t;return(e.trim()&&g?g.search(e.trim()).map(e=>e.item):x).sort((e,t)=>{let s=e.timeRemaining<0,a=t.timeRemaining<0;return s&&!a?1:!s&&a?-1:s&&a?t.timeRemaining-e.timeRemaining:e.timeRemaining-t.timeRemaining})},[x,e,g]);return m?(0,a.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 to-slate-100 flex items-center justify-center",children:(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"}),(0,a.jsx)("p",{className:"text-slate-600",children:"events.loading"})]})}):u?(0,a.jsx)("div",{className:"min-h-screen p-8",children:(0,a.jsxs)("p",{className:"text-red-600",children:["Failed to load data: ",u]})}):(0,a.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 to-slate-100 bg-[url('/bg.jpg')] bg-cover bg-center bg-no-repeat",children:(0,a.jsxs)("div",{className:"container mx-auto px-4 py-8",children:[(0,a.jsx)("div",{className:"bg-transparent space-y-4",children:b.map(e=>{let{item:t,event:s}=e;return(0,a.jsx)(l.n,{item:t,event:s},"".concat(s.id))})}),0===b.length&&(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"text-6xl mb-4",children:"\uD83D\uDD0D"}),(0,a.jsx)("h3",{className:"text-xl font-semibold text-slate-900 mb-2",children:"events.notFound"}),(0,a.jsx)("p",{className:"text-slate-600",children:"events.hint"})]})]})})}function d(){return(0,a.jsx)(i.Suspense,{fallback:(0,a.jsx)("div",{children:"Loading..."}),children:(0,a.jsx)(m,{})})}},8157:(e,t,s)=>{Promise.resolve().then(s.bind(s,6988))}},e=>{var t=t=>e(e.s=t);e.O(0,[953,598,874,218,688,366,852,24,441,684,358],()=>t(8157)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/framework-29ac49a6a3fd316f.js b/.netlify/static/_next/static/chunks/framework-29ac49a6a3fd316f.js deleted file mode 100644 index 3d11b8b..0000000 --- a/.netlify/static/_next/static/chunks/framework-29ac49a6a3fd316f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[593],{2167:(e,t,n)=>{var r=n(5364),l=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),h=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,v={};function b(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}function k(){}function w(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},k.prototype=b.prototype;var S=w.prototype=new k;S.constructor=w,y(S,b.prototype),S.isPureReactComponent=!0;var x=Array.isArray,E={H:null,A:null,T:null,S:null,V:null},C=Object.prototype.hasOwnProperty;function _(e,t,n,r,a,o){return{$$typeof:l,type:e,key:t,ref:void 0!==(n=o.ref)?n:null,props:o}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===l}var z=/\/+/g;function N(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function T(){}function L(e,t,n){if(null==e)return e;var r=[],o=0;return!function e(t,n,r,o,i){var u,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case l:case a:d=!0;break;case m:return e((d=t._init)(t._payload),n,r,o,i)}}if(d)return i=i(t),d=""===o?"."+N(t,0):o,x(i)?(r="",null!=d&&(r=d.replace(z,"$&/")+"/"),e(i,n,r,"",function(e){return e})):null!=i&&(P(i)&&(u=i,s=r+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(z,"$&/")+"/")+d,i=_(u.type,s,void 0,void 0,void 0,u.props)),n.push(i)),1;d=0;var p=""===o?".":o+":";if(x(t))for(var g=0;g{e.exports=n(5919)},4232:(e,t,n)=>{e.exports=n(2167)},4279:(e,t,n)=>{var r,l=n(5364),a=n(2786),o=n(4232),i=n(8477);function u(e){var t="https://react.dev/errors/"+e;if(1I||(e.current=M[I],M[I]=null,I--)}function H(e,t){M[++I]=e.current,e.current=t}var $=U(null),V=U(null),B=U(null),Q=U(null);function W(e,t){switch(H(B,t),H(V,e),H($,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?si(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=su(t=si(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}j($),H($,e)}function q(){j($),j(V),j(B)}function K(e){null!==e.memoizedState&&H(Q,e);var t=$.current,n=su(t,e.type);t!==n&&(H(V,e),H($,n))}function Y(e){V.current===e&&(j($),j(V)),Q.current===e&&(j(Q),sX._currentValue=F)}var G=Object.prototype.hasOwnProperty,X=a.unstable_scheduleCallback,Z=a.unstable_cancelCallback,J=a.unstable_shouldYield,ee=a.unstable_requestPaint,et=a.unstable_now,en=a.unstable_getCurrentPriorityLevel,er=a.unstable_ImmediatePriority,el=a.unstable_UserBlockingPriority,ea=a.unstable_NormalPriority,eo=a.unstable_LowPriority,ei=a.unstable_IdlePriority,eu=a.log,es=a.unstable_setDisableYieldValue,ec=null,ef=null;function ed(e){if("function"==typeof eu&&es(e),ef&&"function"==typeof ef.setStrictMode)try{ef.setStrictMode(ec,e)}catch(e){}}var ep=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(em(e)/eh|0)|0},em=Math.log,eh=Math.LN2,eg=256,ey=4194304;function ev(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194048&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function eb(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var l=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var i=0x7ffffff&r;return 0!==i?0!=(r=i&~a)?l=ev(r):0!=(o&=i)?l=ev(o):n||0!=(n=i&~e)&&(l=ev(n)):0!=(i=r&~a)?l=ev(i):0!==o?l=ev(o):n||0!=(n=r&~e)&&(l=ev(n)),0===l?0:0!==t&&t!==l&&0==(t&a)&&((a=l&-l)>=(n=t&-t)||32===a&&0!=(4194048&n))?t:l}function ek(e,t){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function ew(){var e=eg;return 0==(4194048&(eg<<=1))&&(eg=256),e}function eS(){var e=ey;return 0==(0x3c00000&(ey<<=1))&&(ey=4194304),e}function ex(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function eE(e,t){e.pendingLanes|=t,0x10000000!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eC(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ep(t);e.entangledLanes|=t,e.entanglements[r]=0x40000000|e.entanglements[r]|4194090&n}function e_(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ep(n),l=1<)":-1l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{e2=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?e1(n):""}function e4(e){try{var t="";do t+=function(e){switch(e.tag){case 26:case 27:case 5:return e1(e.type);case 16:return e1("Lazy");case 13:return e1("Suspense");case 19:return e1("SuspenseList");case 0:case 15:return e3(e.type,!1);case 11:return e3(e.type.render,!1);case 1:return e3(e.type,!0);case 31:return e1("Activity");default:return""}}(e),e=e.return;while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}function e8(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function e6(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function e5(e){e._valueTracker||(e._valueTracker=function(e){var t=e6(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var l=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function e9(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=e6(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function e7(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var te=/[\n"\\]/g;function tt(e){return e.replace(te,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function tn(e,t,n,r,l,a,o,i){e.name="",null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o?e.type=o:e.removeAttribute("type"),null!=t?"number"===o?(0===t&&""===e.value||e.value!=t)&&(e.value=""+e8(t)):e.value!==""+e8(t)&&(e.value=""+e8(t)):"submit"!==o&&"reset"!==o||e.removeAttribute("value"),null!=t?tl(e,o,e8(t)):null!=n?tl(e,o,e8(n)):null!=r&&e.removeAttribute("value"),null==l&&null!=a&&(e.defaultChecked=!!a),null!=l&&(e.checked=l&&"function"!=typeof l&&"symbol"!=typeof l),null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&"boolean"!=typeof i?e.name=""+e8(i):e.removeAttribute("name")}function tr(e,t,n,r,l,a,o,i){if(null!=a&&"function"!=typeof a&&"symbol"!=typeof a&&"boolean"!=typeof a&&(e.type=a),null!=t||null!=n){if(("submit"===a||"reset"===a)&&null==t)return;n=null!=n?""+e8(n):"",t=null!=t?""+e8(t):n,i||t===e.value||(e.value=t),e.defaultValue=t}r="function"!=typeof(r=null!=r?r:l)&&"symbol"!=typeof r&&!!r,e.checked=i?e.checked:!!r,e.defaultChecked=!!r,null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o&&(e.name=o)}function tl(e,t,n){"number"===t&&e7(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function ta(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l=ne),nr=!1;function nl(e,t){switch(e){case"keyup":return -1!==t9.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function na(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var no=!1,ni={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!ni[e.type]:"textarea"===t}function ns(e,t,n,r){tv?tb?tb.push(r):tb=[r]:tv=r,0<(t=u3(t,"onChange")).length&&(n=new tH("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var nc=null,nf=null;function nd(e){uY(e,0)}function np(e){if(e9(e$(e)))return e}function nm(e,t){if("change"===e)return t}var nh=!1;if(tE){if(tE){var ng="oninput"in document;if(!ng){var ny=document.createElement("div");ny.setAttribute("oninput","return;"),ng="function"==typeof ny.oninput}r=ng}else r=!1;nh=r&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=n_(r)}}function nz(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var t=e7(e.document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=e7(e.document)}return t}function nN(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nT=tE&&"documentMode"in document&&11>=document.documentMode,nL=null,nO=null,nR=null,nD=!1;function nA(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;nD||null==nL||nL!==e7(r)||(r="selectionStart"in(r=nL)&&nN(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},nR&&nC(nR,r)||(nR=r,0<(r=u3(nO,"onSelect")).length&&(t=new tH("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nL)))}function nF(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var nM={animationend:nF("Animation","AnimationEnd"),animationiteration:nF("Animation","AnimationIteration"),animationstart:nF("Animation","AnimationStart"),transitionrun:nF("Transition","TransitionRun"),transitionstart:nF("Transition","TransitionStart"),transitioncancel:nF("Transition","TransitionCancel"),transitionend:nF("Transition","TransitionEnd")},nI={},nU={};function nj(e){if(nI[e])return nI[e];if(!nM[e])return e;var t,n=nM[e];for(t in n)if(n.hasOwnProperty(t)&&t in nU)return nI[e]=n[t];return e}tE&&(nU=document.createElement("div").style,"AnimationEvent"in window||(delete nM.animationend.animation,delete nM.animationiteration.animation,delete nM.animationstart.animation),"TransitionEvent"in window||delete nM.transitionend.transition);var nH=nj("animationend"),n$=nj("animationiteration"),nV=nj("animationstart"),nB=nj("transitionrun"),nQ=nj("transitionstart"),nW=nj("transitioncancel"),nq=nj("transitionend"),nK=new Map,nY="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function nG(e,t){nK.set(e,t),eq(t,[e])}nY.push("scrollEnd");var nX=new WeakMap;function nZ(e,t){if("object"==typeof e&&null!==e){var n=nX.get(e);return void 0!==n?n:(t={value:e,source:t,stack:e4(t)},nX.set(e,t),t)}return{value:e,source:t,stack:e4(t)}}var nJ=[],n0=0,n1=0;function n2(){for(var e=n0,t=n1=n0=0;t>=o,l-=o,rh=1<<32-ep(t)+l|n<a?a:8;var o=D.T,i={};D.T=i,aj(e,!1,t,n);try{var u=l(),s=D.S;if(null!==s&&s(i,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},u.then(function(){f.status="fulfilled",f.value=r;for(var e=0;eh?(g=f,f=null):g=f.sibling;var y=p(l,f,i[h],u);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&t(l,f),o=a(y,o,h),null===c?s=y:c.sibling=y,c=y,f=g}if(h===i.length)return n(l,f),rx&&ry(l,h),s;if(null===f){for(;hg?(y=h,h=null):y=h.sibling;var b=p(l,h,v.value,s);if(null===b){null===h&&(h=y);break}e&&h&&null===b.alternate&&t(l,h),o=a(b,o,g),null===f?c=b:f.sibling=b,f=b,h=y}if(v.done)return n(l,h),rx&&ry(l,g),c;if(null===h){for(;!v.done;g++,v=i.next())null!==(v=d(l,v.value,s))&&(o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return rx&&ry(l,g),c}for(h=r(h);!v.done;g++,v=i.next())null!==(v=m(h,l,g,v.value,s))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return e&&h.forEach(function(e){return t(l,e)}),rx&&ry(l,g),c}(s,c,f=b.call(f),v)}if("function"==typeof f.then)return i(s,c,aG(f),v);if(f.$$typeof===S)return i(s,c,rQ(s,f),v);aZ(s,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(n(s,c.sibling),(v=l(c,f)).return=s):(n(s,c),(v=ro(f,s.mode,v)).return=s),o(s=v)):n(s,c)}(i,s,c,f);return aK=null,v}catch(e){if(e===r7||e===lt)throw e;var b=re(29,e,null,i.mode);return b.lanes=f,b.return=i,b}finally{}}}var a1=a0(!0),a2=a0(!1),a3=U(null),a4=null;function a8(e){var t=e.alternate;H(a7,1&a7.current),H(a3,e),null===a4&&(null===t||null!==lw.current?a4=e:null!==t.memoizedState&&(a4=e))}function a6(e){if(22===e.tag){if(H(a7,a7.current),H(a3,e),null===a4){var t=e.alternate;null!==t&&null!==t.memoizedState&&(a4=e)}}else a5(e)}function a5(){H(a7,a7.current),H(a3,a3.current)}function a9(e){j(a3),a4===e&&(a4=null),j(a7)}var a7=U(0);function oe(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||sb(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function ot(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:p({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var on={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=i6(),l=ld(r);l.payload=t,null!=n&&(l.callback=n),null!==(t=lp(e,l,r))&&(i9(t,e,r),lm(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=i6(),l=ld(r);l.tag=1,l.payload=t,null!=n&&(l.callback=n),null!==(t=lp(e,l,r))&&(i9(t,e,r),lm(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=i6(),r=ld(n);r.tag=2,null!=t&&(r.callback=t),null!==(t=lp(e,r,n))&&(i9(t,e,n),lm(t,e,n))}};function or(e,t,n,r,l,a,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,o):!t.prototype||!t.prototype.isPureReactComponent||!nC(n,r)||!nC(l,a)}function ol(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&on.enqueueReplaceState(t,t.state,null)}function oa(e,t){var n=t;if("ref"in t)for(var r in n={},t)"ref"!==r&&(n[r]=t[r]);if(e=e.defaultProps)for(var l in n===t&&(n=p({},n)),e)void 0===n[l]&&(n[l]=e[l]);return n}var oo="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof l&&"function"==typeof l.emit)return void l.emit("uncaughtException",e);console.error(e)};function oi(e){oo(e)}function ou(e){console.error(e)}function os(e){oo(e)}function oc(e,t){try{(0,e.onUncaughtError)(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function of(e,t,n){try{(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function od(e,t,n){return(n=ld(n)).tag=3,n.payload={element:null},n.callback=function(){oc(e,t)},n}function op(e){return(e=ld(e)).tag=3,e}function om(e,t,n,r){var l=n.type.getDerivedStateFromError;if("function"==typeof l){var a=r.value;e.payload=function(){return l(a)},e.callback=function(){of(t,n,r)}}var o=n.stateNode;null!==o&&"function"==typeof o.componentDidCatch&&(e.callback=function(){of(t,n,r),"function"!=typeof l&&(null===iG?iG=new Set([this]):iG.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:null!==e?e:""})})}var oh=Error(u(461)),og=!1;function oy(e,t,n,r){t.child=null===e?a2(t,null,n,r):a1(t,e.child,n,r)}function ov(e,t,n,r,l){n=n.render;var a=t.ref;if("ref"in r){var o={};for(var i in r)"ref"!==i&&(o[i]=r[i])}else o=r;return(rV(t),r=lU(e,t,n,o,a,l),i=lV(),null===e||og)?(rx&&i&&rb(t),t.flags|=1,oy(e,t,r,l),t.child):(lB(e,t,l),oI(e,t,l))}function ob(e,t,n,r,l){if(null===e){var a=n.type;return"function"!=typeof a||rt(a)||void 0!==a.defaultProps||null!==n.compare?((e=rl(n.type,null,r,t,t.mode,l)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,ok(e,t,a,r,l))}if(a=e.child,!oU(e,l)){var o=a.memoizedProps;if((n=null!==(n=n.compare)?n:nC)(o,r)&&e.ref===t.ref)return oI(e,t,l)}return t.flags|=1,(e=rn(a,r)).ref=t.ref,e.return=t,t.child=e}function ok(e,t,n,r,l){if(null!==e){var a=e.memoizedProps;if(nC(a,r)&&e.ref===t.ref)if(og=!1,t.pendingProps=r=a,!oU(e,l))return t.lanes=e.lanes,oI(e,t,l);else 0!=(131072&e.flags)&&(og=!0)}return oE(e,t,n,r,l)}function ow(e,t,n){var r=t.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode){if(0!=(128&t.flags)){if(r=null!==a?a.baseLanes|n:n,null!==e){for(a=0,l=t.child=e.child;null!==l;)a=a|l.lanes|l.childLanes,l=l.sibling;t.childLanes=a&~r}else t.childLanes=0,t.child=null;return oS(e,t,r,n)}if(0==(0x20000000&n))return t.lanes=t.childLanes=0x20000000,oS(e,t,null!==a?a.baseLanes|n:n,n);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&r5(t,null!==a?a.cachePool:null),null!==a?lx(t,a):lE(),a6(t)}else null!==a?(r5(t,a.cachePool),lx(t,a),a5(t),t.memoizedState=null):(null!==e&&r5(t,null),lE(),a5(t));return oy(e,t,l,n),t.child}function oS(e,t,n,r){var l=r6();return t.memoizedState={baseLanes:n,cachePool:l=null===l?null:{parent:rG._currentValue,pool:l}},null!==e&&r5(t,null),lE(),a6(t),null!==e&&rH(e,t,r,!0),null}function ox(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=4194816);else{if("function"!=typeof n&&"object"!=typeof n)throw Error(u(284));(null===e||e.ref!==n)&&(t.flags|=4194816)}}function oE(e,t,n,r,l){return(rV(t),n=lU(e,t,n,r,void 0,l),r=lV(),null===e||og)?(rx&&r&&rb(t),t.flags|=1,oy(e,t,n,l),t.child):(lB(e,t,l),oI(e,t,l))}function oC(e,t,n,r,l,a){return(rV(t),t.updateQueue=null,n=lH(t,r,n,l),lj(e),r=lV(),null===e||og)?(rx&&r&&rb(t),t.flags|=1,oy(e,t,n,a),t.child):(lB(e,t,a),oI(e,t,a))}function o_(e,t,n,r,l){if(rV(t),null===t.stateNode){var a=n9,o=n.contextType;"object"==typeof o&&null!==o&&(a=rB(o)),t.memoizedState=null!==(a=new n(r,a)).state&&void 0!==a.state?a.state:null,a.updater=on,t.stateNode=a,a._reactInternals=t,(a=t.stateNode).props=r,a.state=t.memoizedState,a.refs={},lc(t),o=n.contextType,a.context="object"==typeof o&&null!==o?rB(o):n9,a.state=t.memoizedState,"function"==typeof(o=n.getDerivedStateFromProps)&&(ot(t,n,o,r),a.state=t.memoizedState),"function"==typeof n.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(o=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),o!==a.state&&on.enqueueReplaceState(a,a.state,null),lv(t,r,a,l),ly(),a.state=t.memoizedState),"function"==typeof a.componentDidMount&&(t.flags|=4194308),r=!0}else if(null===e){a=t.stateNode;var i=t.memoizedProps,u=oa(n,i);a.props=u;var s=a.context,c=n.contextType;o=n9,"object"==typeof c&&null!==c&&(o=rB(c));var f=n.getDerivedStateFromProps;c="function"==typeof f||"function"==typeof a.getSnapshotBeforeUpdate,i=t.pendingProps!==i,c||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(i||s!==o)&&ol(t,a,r,o),ls=!1;var d=t.memoizedState;a.state=d,lv(t,r,a,l),ly(),s=t.memoizedState,i||d!==s||ls?("function"==typeof f&&(ot(t,n,f,r),s=t.memoizedState),(u=ls||or(t,n,u,r,d,s,o))?(c||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.flags|=4194308)):("function"==typeof a.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),a.props=r,a.state=s,a.context=o,r=u):("function"==typeof a.componentDidMount&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,lf(e,t),c=oa(n,o=t.memoizedProps),a.props=c,f=t.pendingProps,d=a.context,s=n.contextType,u=n9,"object"==typeof s&&null!==s&&(u=rB(s)),(s="function"==typeof(i=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==f||d!==u)&&ol(t,a,r,u),ls=!1,d=t.memoizedState,a.state=d,lv(t,r,a,l),ly();var p=t.memoizedState;o!==f||d!==p||ls||null!==e&&null!==e.dependencies&&r$(e.dependencies)?("function"==typeof i&&(ot(t,n,i,r),p=t.memoizedState),(c=ls||or(t,n,c,r,d,p,u)||null!==e&&null!==e.dependencies&&r$(e.dependencies))?(s||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,p,u),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,p,u)),"function"==typeof a.componentDidUpdate&&(t.flags|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=u,r=c):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,ox(e,t),r=0!=(128&t.flags),a||r?(a=t.stateNode,n=r&&"function"!=typeof n.getDerivedStateFromError?null:a.render(),t.flags|=1,null!==e&&r?(t.child=a1(t,e.child,null,l),t.child=a1(t,null,n,l)):oy(e,t,n,l),t.memoizedState=a.state,e=t.child):e=oI(e,t,l),e}function oP(e,t,n,r){return rL(),t.flags|=256,oy(e,t,n,r),t.child}var oz={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function oN(e){return{baseLanes:e,cachePool:r9()}}function oT(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=i$),e}function oL(e,t,n){var r,l=t.pendingProps,a=!1,o=0!=(128&t.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!=(2&a7.current)),r&&(a=!0,t.flags&=-129),r=0!=(32&t.flags),t.flags&=-33,null===e){if(rx){if(a?a8(t):a5(t),rx){var i,s=rS;if(i=s){n:{for(i=s,s=rC;8!==i.nodeType;)if(!s||null===(i=sk(i.nextSibling))){s=null;break n}s=i}null!==s?(t.memoizedState={dehydrated:s,treeContext:null!==rm?{id:rh,overflow:rg}:null,retryLane:0x20000000,hydrationErrors:null},(i=re(18,null,null,0)).stateNode=s,i.return=t,t.child=i,rw=t,rS=null,i=!0):i=!1}i||rP(t)}if(null!==(s=t.memoizedState)&&null!==(s=s.dehydrated))return sb(s)?t.lanes=32:t.lanes=0x20000000,null;a9(t)}return(s=l.children,l=l.fallback,a)?(a5(t),s=oR({mode:"hidden",children:s},a=t.mode),l=ra(l,a,n,null),s.return=t,l.return=t,s.sibling=l,t.child=s,(a=t.child).memoizedState=oN(n),a.childLanes=oT(e,r,n),t.memoizedState=oz,l):(a8(t),oO(t,s))}if(null!==(i=e.memoizedState)&&null!==(s=i.dehydrated)){if(o)256&t.flags?(a8(t),t.flags&=-257,t=oD(e,t,n)):null!==t.memoizedState?(a5(t),t.child=e.child,t.flags|=128,t=null):(a5(t),a=l.fallback,s=t.mode,l=oR({mode:"visible",children:l.children},s),a=ra(a,s,n,null),a.flags|=2,l.return=t,a.return=t,l.sibling=a,t.child=l,a1(t,e.child,null,n),(l=t.child).memoizedState=oN(n),l.childLanes=oT(e,r,n),t.memoizedState=oz,t=a);else if(a8(t),sb(s)){if(r=s.nextSibling&&s.nextSibling.dataset)var c=r.dgst;r=c,(l=Error(u(419))).stack="",l.digest=r,rR({value:l,source:null,stack:null}),t=oD(e,t,n)}else if(og||rH(e,t,n,!1),r=0!=(n&e.childLanes),og||r){if(null!==(r=iN)&&0!==(l=0!=((l=0!=(42&(l=n&-n))?1:eP(l))&(r.suspendedLanes|n))?0:l)&&l!==i.retryLane)throw i.retryLane=l,n8(e,l),i9(r,e,l),oh;"$?"===s.data||uu(),t=oD(e,t,n)}else"$?"===s.data?(t.flags|=192,t.child=e.child,t=null):(e=i.treeContext,rS=sk(s.nextSibling),rw=t,rx=!0,rE=null,rC=!1,null!==e&&(rd[rp++]=rh,rd[rp++]=rg,rd[rp++]=rm,rh=e.id,rg=e.overflow,rm=t),t=oO(t,l.children),t.flags|=4096);return t}return a?(a5(t),a=l.fallback,s=t.mode,c=(i=e.child).sibling,(l=rn(i,{mode:"hidden",children:l.children})).subtreeFlags=0x3e00000&i.subtreeFlags,null!==c?a=rn(c,a):(a=ra(a,s,n,null),a.flags|=2),a.return=t,l.return=t,l.sibling=a,t.child=l,l=a,a=t.child,null===(s=e.child.memoizedState)?s=oN(n):(null!==(i=s.cachePool)?(c=rG._currentValue,i=i.parent!==c?{parent:c,pool:c}:i):i=r9(),s={baseLanes:s.baseLanes|n,cachePool:i}),a.memoizedState=s,a.childLanes=oT(e,r,n),t.memoizedState=oz,l):(a8(t),e=(n=e.child).sibling,(n=rn(n,{mode:"visible",children:l.children})).return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function oO(e,t){return(t=oR({mode:"visible",children:t},e.mode)).return=e,e.child=t}function oR(e,t){return(e=re(22,e,null,t)).lanes=0,e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},e}function oD(e,t,n){return a1(t,e.child,null,n),e=oO(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function oA(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),rU(e.return,t,n)}function oF(e,t,n,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=l)}function oM(e,t,n){var r=t.pendingProps,l=r.revealOrder,a=r.tail;if(oy(e,t,r.children,n),0!=(2&(r=a7.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&oA(e,n,t);else if(19===e.tag)oA(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}switch(H(a7,r),l){case"forwards":for(l=null,n=t.child;null!==n;)null!==(e=n.alternate)&&null===oe(e)&&(l=n),n=n.sibling;null===(n=l)?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),oF(t,!1,l,n,a);break;case"backwards":for(n=null,l=t.child,t.child=null;null!==l;){if(null!==(e=l.alternate)&&null===oe(e)){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}oF(t,!0,n,null,a);break;case"together":oF(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function oI(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),iU|=t.lanes,0==(n&t.childLanes)){if(null===e)return null;else if(rH(e,t,n,!1),0==(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(u(153));if(null!==t.child){for(n=rn(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=rn(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function oU(e,t){return 0!=(e.lanes&t)||!!(null!==(e=e.dependencies)&&r$(e))}function oj(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps)og=!0;else{if(!oU(e,n)&&0==(128&t.flags))return og=!1,function(e,t,n){switch(t.tag){case 3:W(t,t.stateNode.containerInfo),rM(t,rG,e.memoizedState.cache),rL();break;case 27:case 5:K(t);break;case 4:W(t,t.stateNode.containerInfo);break;case 10:rM(t,t.type,t.memoizedProps.value);break;case 13:var r=t.memoizedState;if(null!==r){if(null!==r.dehydrated)return a8(t),t.flags|=128,null;if(0!=(n&t.child.childLanes))return oL(e,t,n);return a8(t),null!==(e=oI(e,t,n))?e.sibling:null}a8(t);break;case 19:var l=0!=(128&e.flags);if((r=0!=(n&t.childLanes))||(rH(e,t,n,!1),r=0!=(n&t.childLanes)),l){if(r)return oM(e,t,n);t.flags|=128}if(null!==(l=t.memoizedState)&&(l.rendering=null,l.tail=null,l.lastEffect=null),H(a7,a7.current),!r)return null;break;case 22:case 23:return t.lanes=0,ow(e,t,n);case 24:rM(t,rG,e.memoizedState.cache)}return oI(e,t,n)}(e,t,n);og=0!=(131072&e.flags)}else og=!1,rx&&0!=(1048576&t.flags)&&rv(t,rf,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var r=t.elementType,l=r._init;if(r=l(r._payload),t.type=r,"function"==typeof r)rt(r)?(e=oa(r,e),t.tag=1,t=o_(null,t,r,e,n)):(t.tag=0,t=oE(null,t,r,e,n));else{if(null!=r){if((l=r.$$typeof)===x){t.tag=11,t=ov(null,t,r,e,n);break e}else if(l===_){t.tag=14,t=ob(null,t,r,e,n);break e}}throw Error(u(306,t=function e(t){if(null==t)return null;if("function"==typeof t)return t.$$typeof===O?null:t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case y:return"Fragment";case b:return"Profiler";case v:return"StrictMode";case E:return"Suspense";case C:return"SuspenseList";case z:return"Activity"}if("object"==typeof t)switch(t.$$typeof){case g:return"Portal";case S:return(t.displayName||"Context")+".Provider";case w:return(t._context.displayName||"Context")+".Consumer";case x:var n=t.render;return(t=t.displayName)||(t=""!==(t=n.displayName||n.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case _:return null!==(n=t.displayName||null)?n:e(t.type)||"Memo";case P:n=t._payload,t=t._init;try{return e(t(n))}catch(e){}}return null}(r)||r,""))}}return t;case 0:return oE(e,t,t.type,t.pendingProps,n);case 1:return l=oa(r=t.type,t.pendingProps),o_(e,t,r,l,n);case 3:e:{if(W(t,t.stateNode.containerInfo),null===e)throw Error(u(387));r=t.pendingProps;var a=t.memoizedState;l=a.element,lf(e,t),lv(t,r,null,n);var o=t.memoizedState;if(rM(t,rG,r=o.cache),r!==a.cache&&rj(t,[rG],n,!0),ly(),r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=a,t.memoizedState=a,256&t.flags){t=oP(e,t,r,n);break e}else if(r!==l){rR(l=nZ(Error(u(424)),t)),t=oP(e,t,r,n);break e}else for(rS=sk((e=9===(e=t.stateNode.containerInfo).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e).firstChild),rw=t,rx=!0,rE=null,rC=!0,n=a2(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling;else{if(rL(),r===l){t=oI(e,t,n);break e}oy(e,t,r,n)}t=t.child}return t;case 26:return ox(e,t),null===e?(n=sL(t.type,null,t.pendingProps,null))?t.memoizedState=n:rx||(n=t.type,e=t.pendingProps,(r=so(B.current).createElement(n))[eL]=t,r[eO]=e,sr(r,n,e),eB(r),t.stateNode=r):t.memoizedState=sL(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return K(t),null===e&&rx&&(r=t.stateNode=sx(t.type,t.pendingProps,B.current),rw=t,rC=!0,l=rS,sg(t.type)?(sw=l,rS=sk(r.firstChild)):rS=l),oy(e,t,t.pendingProps.children,n),ox(e,t),null===e&&(t.flags|=4194304),t.child;case 5:return null===e&&rx&&((l=r=rS)&&(null!==(r=function(e,t,n,r){for(;1===e.nodeType;){if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(r){if(!e[eI])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(l=e.getAttribute("rel"))&&e.hasAttribute("data-precedence")||l!==n.rel||e.getAttribute("href")!==(null==n.href||""===n.href?null:n.href)||e.getAttribute("crossorigin")!==(null==n.crossOrigin?null:n.crossOrigin)||e.getAttribute("title")!==(null==n.title?null:n.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((l=e.getAttribute("src"))!==(null==n.src?null:n.src)||e.getAttribute("type")!==(null==n.type?null:n.type)||e.getAttribute("crossorigin")!==(null==n.crossOrigin?null:n.crossOrigin))&&l&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==t||"hidden"!==e.type)return e;var l=null==n.name?null:""+n.name;if("hidden"===n.type&&e.getAttribute("name")===l)return e}if(null===(e=sk(e.nextSibling)))break}return null}(r,t.type,t.pendingProps,rC))?(t.stateNode=r,rw=t,rS=sk(r.firstChild),rC=!1,l=!0):l=!1),l||rP(t)),K(t),l=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,r=a.children,ss(l,a)?r=null:null!==o&&ss(l,o)&&(t.flags|=32),null!==t.memoizedState&&(sX._currentValue=l=lU(e,t,l$,null,null,n)),ox(e,t),oy(e,t,r,n),t.child;case 6:return null===e&&rx&&((e=n=rS)&&(null!==(n=function(e,t,n){if(""===t)return null;for(;3!==e.nodeType;)if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!n||null===(e=sk(e.nextSibling)))return null;return e}(n,t.pendingProps,rC))?(t.stateNode=n,rw=t,rS=null,e=!0):e=!1),e||rP(t)),null;case 13:return oL(e,t,n);case 4:return W(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=a1(t,null,r,n):oy(e,t,r,n),t.child;case 11:return ov(e,t,t.type,t.pendingProps,n);case 7:return oy(e,t,t.pendingProps,n),t.child;case 8:case 12:return oy(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,rM(t,t.type,r.value),oy(e,t,r.children,n),t.child;case 9:return l=t.type._context,r=t.pendingProps.children,rV(t),r=r(l=rB(l)),t.flags|=1,oy(e,t,r,n),t.child;case 14:return ob(e,t,t.type,t.pendingProps,n);case 15:return ok(e,t,t.type,t.pendingProps,n);case 19:return oM(e,t,n);case 31:return r=t.pendingProps,n=t.mode,r={mode:r.mode,children:r.children},null===e?(n=oR(r,n)).ref=t.ref:(n=rn(e.child,r)).ref=t.ref,t.child=n,n.return=t,t=n;case 22:return ow(e,t,n);case 24:return rV(t),r=rB(rG),null===e?(null===(l=r6())&&(l=iN,a=rX(),l.pooledCache=a,a.refCount++,null!==a&&(l.pooledCacheLanes|=n),l=a),t.memoizedState={parent:r,cache:l},lc(t),rM(t,rG,l)):(0!=(e.lanes&n)&&(lf(e,t),lv(t,null,null,n),ly()),l=e.memoizedState,a=t.memoizedState,l.parent!==r?(l={parent:r,cache:r},t.memoizedState=l,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=l),rM(t,rG,r)):(rM(t,rG,r=a.cache),r!==l.cache&&rj(t,[rG],n,!0))),oy(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(u(156,t.tag))}function oH(e){e.flags|=4}function o$(e,t){if("stylesheet"!==t.type||0!=(4&t.state.loading))e.flags&=-0x1000001;else if(e.flags|=0x1000000,!sB(t)){if(null!==(t=a3.current)&&((4194048&iL)===iL?null!==a4:(0x3c00000&iL)!==iL&&0==(0x20000000&iL)||t!==a4))throw lo=ln,le;e.flags|=8192}}function oV(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?eS():0x20000000,e.lanes|=t,iV|=t)}function oB(e,t){if(!rx)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function oQ(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;null!==l;)n|=l.lanes|l.childLanes,r|=0x3e00000&l.subtreeFlags,r|=0x3e00000&l.flags,l.return=e,l=l.sibling;else for(l=e.child;null!==l;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function oW(e,t){switch(rk(t),t.tag){case 3:rI(rG),q();break;case 26:case 27:case 5:Y(t);break;case 4:q();break;case 13:a9(t);break;case 19:j(a7);break;case 10:rI(t.type);break;case 22:case 23:a9(t),lC(),null!==e&&j(r8);break;case 24:rI(rG)}}function oq(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var l=r.next;n=l;do{if((n.tag&e)===e){r=void 0;var a=n.create;n.inst.destroy=r=a()}n=n.next}while(n!==l)}}catch(e){ux(t,t.return,e)}}function oK(e,t,n){try{var r=t.updateQueue,l=null!==r?r.lastEffect:null;if(null!==l){var a=l.next;r=a;do{if((r.tag&e)===e){var o=r.inst,i=o.destroy;if(void 0!==i){o.destroy=void 0,l=t;try{i()}catch(e){ux(l,n,e)}}}r=r.next}while(r!==a)}}catch(e){ux(t,t.return,e)}}function oY(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{lk(t,n)}catch(t){ux(e,e.return,t)}}}function oG(e,t,n){n.props=oa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){ux(e,t,n)}}function oX(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;default:r=e.stateNode}"function"==typeof n?e.refCleanup=n(r):n.current=r}}catch(n){ux(e,t,n)}}function oZ(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if("function"==typeof r)try{r()}catch(n){ux(e,t,n)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"==typeof n)try{n(null)}catch(n){ux(e,t,n)}else n.current=null}function oJ(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){ux(e,e.return,t)}}function o0(e,t,n){try{var r=e.stateNode;(function(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,a=null,o=null,i=null,s=null,c=null,f=null;for(m in n){var d=n[m];if(n.hasOwnProperty(m)&&null!=d)switch(m){case"checked":case"value":break;case"defaultValue":s=d;default:r.hasOwnProperty(m)||st(e,t,m,null,r,d)}}for(var p in r){var m=r[p];if(d=n[p],r.hasOwnProperty(p)&&(null!=m||null!=d))switch(p){case"type":a=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":f=m;break;case"value":o=m;break;case"defaultValue":i=m;break;case"children":case"dangerouslySetInnerHTML":if(null!=m)throw Error(u(137,t));break;default:m!==d&&st(e,t,p,m,r,d)}}tn(e,o,i,s,c,f,a,l);return;case"select":for(a in m=o=i=p=null,n)if(s=n[a],n.hasOwnProperty(a)&&null!=s)switch(a){case"value":break;case"multiple":m=s;default:r.hasOwnProperty(a)||st(e,t,a,null,r,s)}for(l in r)if(a=r[l],s=n[l],r.hasOwnProperty(l)&&(null!=a||null!=s))switch(l){case"value":p=a;break;case"defaultValue":i=a;break;case"multiple":o=a;default:a!==s&&st(e,t,l,a,r,s)}t=i,n=o,r=m,null!=p?ta(e,!!n,p,!1):!!r!=!!n&&(null!=t?ta(e,!!n,t,!0):ta(e,!!n,n?[]:"",!1));return;case"textarea":for(i in m=p=null,n)if(l=n[i],n.hasOwnProperty(i)&&null!=l&&!r.hasOwnProperty(i))switch(i){case"value":case"children":break;default:st(e,t,i,null,r,l)}for(o in r)if(l=r[o],a=n[o],r.hasOwnProperty(o)&&(null!=l||null!=a))switch(o){case"value":p=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=l)throw Error(u(91));break;default:l!==a&&st(e,t,o,l,r,a)}to(e,p,m);return;case"option":for(var h in n)p=n[h],n.hasOwnProperty(h)&&null!=p&&!r.hasOwnProperty(h)&&("selected"===h?e.selected=!1:st(e,t,h,null,r,p));for(s in r)p=r[s],m=n[s],r.hasOwnProperty(s)&&p!==m&&(null!=p||null!=m)&&("selected"===s?e.selected=p&&"function"!=typeof p&&"symbol"!=typeof p:st(e,t,s,p,r,m));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var g in n)p=n[g],n.hasOwnProperty(g)&&null!=p&&!r.hasOwnProperty(g)&&st(e,t,g,null,r,p);for(c in r)if(p=r[c],m=n[c],r.hasOwnProperty(c)&&p!==m&&(null!=p||null!=m))switch(c){case"children":case"dangerouslySetInnerHTML":if(null!=p)throw Error(u(137,t));break;default:st(e,t,c,p,r,m)}return;default:if(td(t)){for(var y in n)p=n[y],n.hasOwnProperty(y)&&void 0!==p&&!r.hasOwnProperty(y)&&sn(e,t,y,void 0,r,p);for(f in r)p=r[f],m=n[f],r.hasOwnProperty(f)&&p!==m&&(void 0!==p||void 0!==m)&&sn(e,t,f,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&null!=p&&!r.hasOwnProperty(v)&&st(e,t,v,null,r,p);for(d in r)p=r[d],m=n[d],r.hasOwnProperty(d)&&p!==m&&(null!=p||null!=m)&&st(e,t,d,p,r,m)})(r,e.type,n,t),r[eO]=t}catch(t){ux(e,e.return,t)}}function o1(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&sg(e.type)||4===e.tag}function o2(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||o1(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&sg(e.type)||2&e.flags||null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function o3(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&(27===r&&sg(e.type)&&(n=e.stateNode),null!==(e=e.child)))for(o3(e,t,n),e=e.sibling;null!==e;)o3(e,t,n),e=e.sibling}function o4(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);sr(t,r,n),t[eL]=e,t[eO]=n}catch(t){ux(e,e.return,t)}}var o8=!1,o6=!1,o5=!1,o9="function"==typeof WeakSet?WeakSet:Set,o7=null;function ie(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:ip(e,n),4&r&&oq(5,n);break;case 1:if(ip(e,n),4&r)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(e){ux(n,n.return,e)}else{var l=oa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){ux(n,n.return,e)}}64&r&&oY(n),512&r&&oX(n,n.return);break;case 3:if(ip(e,n),64&r&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{lk(e,t)}catch(e){ux(n,n.return,e)}}break;case 27:null===t&&4&r&&o4(n);case 26:case 5:ip(e,n),null===t&&4&r&&oJ(n),512&r&&oX(n,n.return);break;case 12:default:ip(e,n);break;case 13:ip(e,n),4&r&&io(e,n),64&r&&null!==(e=n.memoizedState)&&null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$?"!==e.data||"complete"===n.readyState)t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}(e,n=uP.bind(null,n));break;case 22:if(!(r=null!==n.memoizedState||o8)){t=null!==t&&null!==t.memoizedState||o6,l=o8;var a=o6;o8=r,(o6=t)&&!a?function e(t,n,r){for(r=r&&0!=(8772&n.subtreeFlags),n=n.child;null!==n;){var l=n.alternate,a=t,o=n,i=o.flags;switch(o.tag){case 0:case 11:case 15:e(a,o,r),oq(4,o);break;case 1:if(e(a,o,r),"function"==typeof(a=(l=o).stateNode).componentDidMount)try{a.componentDidMount()}catch(e){ux(l,l.return,e)}if(null!==(a=(l=o).updateQueue)){var u=l.stateNode;try{var s=a.shared.hiddenCallbacks;if(null!==s)for(a.shared.hiddenCallbacks=null,a=0;a title"))),sr(a,r,n),a[eL]=e,eB(a),r=a;break e;case"link":var o=s$("link","href",l).get(r+(n.href||""));if(o){for(var i=0;i<\/script>",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?l.createElement(n,{is:r.is}):l.createElement(n)}}e[eL]=t,e[eO]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)e.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(t.stateNode=e,sr(e,n,r),n){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break;case"img":e=!0;break;default:e=!1}e&&oH(t)}}return oQ(t),t.flags&=-0x1000001,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&oH(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(u(166));if(e=B.current,rT(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(l=rw))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eL]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||u7(e.nodeValue,n)))||rP(t)}else(e=so(e).createTextNode(r))[eL]=t,t.stateNode=e}return oQ(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rT(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(u(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(u(317));l[eL]=t}else rL(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;oQ(t),l=!1}else l=rO(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l){if(256&t.flags)return a9(t),t;return a9(t),null}}if(a9(t),0!=(128&t.flags))return t.lanes=n,t;if(n=null!==r,e=null!==e&&null!==e.memoizedState,n){r=t.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool);var a=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),oV(t,t.updateQueue),oQ(t),null;case 4:return q(),null===e&&uJ(t.stateNode.containerInfo),oQ(t),null;case 10:return rI(t.type),oQ(t),null;case 19:if(j(a7),null===(l=t.memoizedState))return oQ(t),null;if(r=0!=(128&t.flags),null===(a=l.rendering))if(r)oB(l,!1);else{if(0!==iI||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=oe(e))){for(t.flags|=128,oB(l,!1),e=a.updateQueue,t.updateQueue=e,oV(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)rr(n,e),n=n.sibling;return H(a7,1&a7.current|2),t.child}e=e.sibling}null!==l.tail&&et()>iK&&(t.flags|=128,r=!0,oB(l,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=oe(a))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,oV(t,e),oB(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!rx)return oQ(t),null}else 2*et()-l.renderingStartTime>iK&&0x20000000!==n&&(t.flags|=128,r=!0,oB(l,!1),t.lanes=4194304);l.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=l.last)?e.sibling=a:t.child=a,l.last=a)}if(null!==l.tail)return t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=et(),t.sibling=null,e=a7.current,H(a7,r?1&e|2:1&e),t;return oQ(t),null;case 22:case 23:return a9(t),lC(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(0x20000000&n)&&0==(128&t.flags)&&(oQ(t),6&t.subtreeFlags&&(t.flags|=8192)):oQ(t),null!==(n=t.updateQueue)&&oV(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&j(r8),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),rI(rG),oQ(t),null;case 25:case 30:return null}throw Error(u(156,t.tag))}(t.alternate,t,iM);if(null!==n){iT=n;return}if(null!==(t=t.sibling)){iT=t;return}iT=t=e}while(null!==t);0===iI&&(iI=5)}function um(e,t){do{var n=function(e,t){switch(rk(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return rI(rG),q(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return Y(t),null;case 13:if(a9(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(u(340));rL()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return j(a7),null;case 4:return q(),null;case 10:return rI(t.type),null;case 22:case 23:return a9(t),lC(),null!==e&&j(r8),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return rI(rG),null;default:return null}}(e.alternate,e);if(null!==n){n.flags&=32767,iT=n;return}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling)){iT=e;return}iT=e=n}while(null!==e);iI=6,iT=null}function uh(e,t,n,r,l,a,o,i,s){e.cancelPendingCommit=null;do uk();while(0!==iX);if(0!=(6&iz))throw Error(u(327));if(null!==t){if(t===e.current)throw Error(u(177));if(!function(e,t,n,r,l,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var i=e.entanglements,u=e.expirationTimes,s=e.hiddenUpdates;for(n=o&~n;0g&&(o=g,g=h,h=o);var y=nP(i,h),v=nP(i,g);if(y&&v&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var b=f.createRange();b.setStart(y.node,y.offset),p.removeAllRanges(),h>g?(p.addRange(b),p.extend(v.node,v.offset)):(b.setEnd(v.node,v.offset),p.addRange(b))}}}}for(f=[],p=i;p=p.parentNode;)1===p.nodeType&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof i.focus&&i.focus(),i=0;in?32:n,D.T=null,n=i2,i2=null;var a=iZ,o=i0;if(iX=0,iJ=iZ=null,i0=0,0!=(6&iz))throw Error(u(331));var i=iz;if(iz|=4,iE(a.current),iy(a,a.current,o,n),iz=i,uF(0,!1),ef&&"function"==typeof ef.onPostCommitFiberRoot)try{ef.onPostCommitFiberRoot(ec,a)}catch(e){}return!0}finally{A.p=l,D.T=r,ub(e,t)}}function uS(e,t,n){t=nZ(n,t),t=od(e.stateNode,t,2),null!==(e=lp(e,t,2))&&(eE(e,2),uA(e))}function ux(e,t,n){if(3===e.tag)uS(e,e,n);else for(;null!==t;){if(3===t.tag){uS(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===iG||!iG.has(r))){e=nZ(n,e),null!==(r=lp(t,n=op(2),2))&&(om(n,r,t,e),eE(r,2),uA(r));break}}t=t.return}}function uE(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new iP;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(iF=!0,l.add(n),e=uC.bind(null,e,t,n),t.then(e,e))}function uC(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,iN===e&&(iL&n)===n&&(4===iI||3===iI&&(0x3c00000&iL)===iL&&300>et()-iq?0==(2&iz)&&ul(e,0):iH|=n,iV===iL&&(iV=0)),uA(e)}function u_(e,t){0===t&&(t=eS()),null!==(e=n8(e,t))&&(eE(e,t),uA(e))}function uP(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),u_(e,n)}function uz(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(u(314))}null!==r&&r.delete(t),u_(e,n)}var uN=null,uT=null,uL=!1,uO=!1,uR=!1,uD=0;function uA(e){e!==uT&&null===e.next&&(null===uT?uN=uT=e:uT=uT.next=e),uO=!0,uL||(uL=!0,sm(function(){0!=(6&iz)?X(er,uM):uI()}))}function uF(e,t){if(!uR&&uO){uR=!0;do for(var n=!1,r=uN;null!==r;){if(!t)if(0!==e){var l=r.pendingLanes;if(0===l)var a=0;else{var o=r.suspendedLanes,i=r.pingedLanes;a=0xc000095&(a=(1<<31-ep(42|e)+1)-1&(l&~(o&~i)))?0xc000095&a|1:a?2|a:0}0!==a&&(n=!0,uH(r,a))}else a=iL,0==(3&(a=eb(r,r===iN?a:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||ek(r,a)||(n=!0,uH(r,a));r=r.next}while(n);uR=!1}}function uM(){uI()}function uI(){uO=uL=!1;var e,t=0;0!==uD&&(((e=window.event)&&"popstate"===e.type?e===sc||(sc=e,0):(sc=null,1))||(t=uD),uD=0);for(var n=et(),r=null,l=uN;null!==l;){var a=l.next,o=uU(l,n);0===o?(l.next=null,null===r?uN=a:r.next=a,null===a&&(uT=r)):(r=l,(0!==t||0!=(3&o))&&(uO=!0)),l=a}uF(t,!1)}function uU(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=-0x3c00001&e.pendingLanes;0r){n=r;var o=e.ownerDocument;if(1&n&&sE(o.documentElement),2&n&&sE(o.body),4&n)for(sE(n=o.head),o=n.firstChild;o;){var i=o.nextSibling,u=o.nodeName;o[eI]||"SCRIPT"===u||"STYLE"===u||"LINK"===u&&"stylesheet"===o.rel.toLowerCase()||n.removeChild(o),o=i}}if(0===l){e.removeChild(a),ck(t);return}l--}else"$"===n||"$?"===n||"$!"===n?l++:r=n.charCodeAt(0)-48;else r=0;n=a}while(n);ck(t)}function sv(e){var t=e.firstChild;for(t&&10===t.nodeType&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":sv(n),eU(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if("stylesheet"===n.rel.toLowerCase())continue}e.removeChild(n)}}function sb(e){return"$!"===e.data||"$?"===e.data&&"complete"===e.ownerDocument.readyState}function sk(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t||"F!"===t||"F"===t)break;if("/$"===t)return null}}return e}var sw=null;function sS(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}function sx(e,t,n){switch(t=so(n),e){case"html":if(!(e=t.documentElement))throw Error(u(452));return e;case"head":if(!(e=t.head))throw Error(u(453));return e;case"body":if(!(e=t.body))throw Error(u(454));return e;default:throw Error(u(451))}}function sE(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);eU(e)}var sC=new Map,s_=new Set;function sP(e){return"function"==typeof e.getRootNode?e.getRootNode():9===e.nodeType?e:e.ownerDocument}var sz=A.d;A.d={f:function(){var e=sz.f(),t=un();return e||t},r:function(e){var t=eH(e);null!==t&&5===t.tag&&"form"===t.type?aO(t):sz.r(e)},D:function(e){sz.D(e),sT("dns-prefetch",e,null)},C:function(e,t){sz.C(e,t),sT("preconnect",e,t)},L:function(e,t,n){if(sz.L(e,t,n),sN&&e&&t){var r='link[rel="preload"][as="'+tt(t)+'"]';"image"===t&&n&&n.imageSrcSet?(r+='[imagesrcset="'+tt(n.imageSrcSet)+'"]',"string"==typeof n.imageSizes&&(r+='[imagesizes="'+tt(n.imageSizes)+'"]')):r+='[href="'+tt(e)+'"]';var l=r;switch(t){case"style":l=sO(e);break;case"script":l=sA(e)}sC.has(l)||(e=p({rel:"preload",href:"image"===t&&n&&n.imageSrcSet?void 0:e,as:t},n),sC.set(l,e),null!==sN.querySelector(r)||"style"===t&&sN.querySelector(sR(l))||"script"===t&&sN.querySelector(sF(l))||(sr(t=sN.createElement("link"),"link",e),eB(t),sN.head.appendChild(t)))}},m:function(e,t){if(sz.m(e,t),sN&&e){var n=t&&"string"==typeof t.as?t.as:"script",r='link[rel="modulepreload"][as="'+tt(n)+'"][href="'+tt(e)+'"]',l=r;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":l=sA(e)}if(!sC.has(l)&&(e=p({rel:"modulepreload",href:e},t),sC.set(l,e),null===sN.querySelector(r))){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(sN.querySelector(sF(l)))return}sr(n=sN.createElement("link"),"link",e),eB(n),sN.head.appendChild(n)}}},X:function(e,t){if(sz.X(e,t),sN&&e){var n=eV(sN).hoistableScripts,r=sA(e),l=n.get(r);l||((l=sN.querySelector(sF(r)))||(e=p({src:e,async:!0},t),(t=sC.get(r))&&sj(e,t),eB(l=sN.createElement("script")),sr(l,"link",e),sN.head.appendChild(l)),l={type:"script",instance:l,count:1,state:null},n.set(r,l))}},S:function(e,t,n){if(sz.S(e,t,n),sN&&e){var r=eV(sN).hoistableStyles,l=sO(e);t=t||"default";var a=r.get(l);if(!a){var o={loading:0,preload:null};if(a=sN.querySelector(sR(l)))o.loading=5;else{e=p({rel:"stylesheet",href:e,"data-precedence":t},n),(n=sC.get(l))&&sU(e,n);var i=a=sN.createElement("link");eB(i),sr(i,"link",e),i._p=new Promise(function(e,t){i.onload=e,i.onerror=t}),i.addEventListener("load",function(){o.loading|=1}),i.addEventListener("error",function(){o.loading|=2}),o.loading|=4,sI(a,t,sN)}a={type:"stylesheet",instance:a,count:1,state:o},r.set(l,a)}}},M:function(e,t){if(sz.M(e,t),sN&&e){var n=eV(sN).hoistableScripts,r=sA(e),l=n.get(r);l||((l=sN.querySelector(sF(r)))||(e=p({src:e,async:!0,type:"module"},t),(t=sC.get(r))&&sj(e,t),eB(l=sN.createElement("script")),sr(l,"link",e),sN.head.appendChild(l)),l={type:"script",instance:l,count:1,state:null},n.set(r,l))}}};var sN="undefined"==typeof document?null:document;function sT(e,t,n){if(sN&&"string"==typeof t&&t){var r=tt(t);r='link[rel="'+e+'"][href="'+r+'"]',"string"==typeof n&&(r+='[crossorigin="'+n+'"]'),s_.has(r)||(s_.add(r),e={rel:e,crossOrigin:n,href:t},null===sN.querySelector(r)&&(sr(t=sN.createElement("link"),"link",e),eB(t),sN.head.appendChild(t)))}}function sL(e,t,n,r){var l=(l=B.current)?sP(l):null;if(!l)throw Error(u(446));switch(e){case"meta":case"title":return null;case"style":return"string"==typeof n.precedence&&"string"==typeof n.href?(t=sO(n.href),(r=(n=eV(l).hoistableStyles).get(t))||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if("stylesheet"===n.rel&&"string"==typeof n.href&&"string"==typeof n.precedence){e=sO(n.href);var a,o,i,s,c=eV(l).hoistableStyles,f=c.get(e);if(f||(l=l.ownerDocument||l,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,f),(c=l.querySelector(sR(e)))&&!c._p&&(f.instance=c,f.state.loading=5),sC.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},sC.set(e,n),c||(a=l,o=e,i=n,s=f.state,a.querySelector('link[rel="preload"][as="style"]['+o+"]")?s.loading=1:(s.preload=o=a.createElement("link"),o.addEventListener("load",function(){return s.loading|=1}),o.addEventListener("error",function(){return s.loading|=2}),sr(o,"link",i),eB(o),a.head.appendChild(o))))),t&&null===r)throw Error(u(528,""));return f}if(t&&null!==r)throw Error(u(529,""));return null;case"script":return t=n.async,"string"==typeof(n=n.src)&&t&&"function"!=typeof t&&"symbol"!=typeof t?(t=sA(n),(r=(n=eV(l).hoistableScripts).get(t))||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(u(444,e))}}function sO(e){return'href="'+tt(e)+'"'}function sR(e){return'link[rel="stylesheet"]['+e+"]"}function sD(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function sA(e){return'[src="'+tt(e)+'"]'}function sF(e){return"script[async]"+e}function sM(e,t,n){if(t.count++,null===t.instance)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+tt(n.href)+'"]');if(r)return t.instance=r,eB(r),r;var l=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return eB(r=(e.ownerDocument||e).createElement("style")),sr(r,"style",l),sI(r,n.precedence,e),t.instance=r;case"stylesheet":l=sO(n.href);var a=e.querySelector(sR(l));if(a)return t.state.loading|=4,t.instance=a,eB(a),a;r=sD(n),(l=sC.get(l))&&sU(r,l),eB(a=(e.ownerDocument||e).createElement("link"));var o=a;return o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),sr(a,"link",r),t.state.loading|=4,sI(a,n.precedence,e),t.instance=a;case"script":if(a=sA(n.src),l=e.querySelector(sF(a)))return t.instance=l,eB(l),l;return r=n,(l=sC.get(a))&&sj(r=p({},n),l),eB(l=(e=e.ownerDocument||e).createElement("script")),sr(l,"link",r),e.head.appendChild(l),t.instance=l;case"void":return null;default:throw Error(u(443,t.type))}return"stylesheet"===t.type&&0==(4&t.state.loading)&&(r=t.instance,t.state.loading|=4,sI(r,n.precedence,e)),t.instance}function sI(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=r.length?r[r.length-1]:null,a=l,o=0;o title"):null)}function sB(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var sQ=null;function sW(){}function sq(){if(this.count--,0===this.count){if(this.stylesheets)sY(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sK=null;function sY(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sK=new Map,t.forEach(sG,e),sK=null,sq.call(e))}function sG(e,t){if(!(4&t.state.loading)){var n=sK.get(e);if(n)var r=n.get(null);else{n=new Map,sK.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{var r=n(4232);function l(e){var t="https://react.dev/errors/"+e;if(1{function n(e,t){var n=e.length;for(e.push(t);0>>1,l=e[r];if(0>>1;ra(u,n))sa(c,u)?(e[r]=c,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else if(sa(c,n))e[r]=c,e[s]=n,r=s;else break}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,i=performance;t.unstable_now=function(){return i.now()}}else{var u=Date,s=u.now();t.unstable_now=function(){return u.now()-s}}var c=[],f=[],d=1,p=null,m=3,h=!1,g=!1,y=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,k="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function S(e){for(var t=r(f);null!==t;){if(null===t.callback)l(f);else if(t.startTime<=e)l(f),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(f)}}function x(e){if(y=!1,S(e),!g)if(null!==r(c))g=!0,E||(E=!0,o());else{var t=r(f);null!==t&&O(x,t.startTime-e)}}var E=!1,C=-1,_=5,P=-1;function z(){return!!v||!(t.unstable_now()-P<_)}function N(){if(v=!1,E){var e=t.unstable_now();P=e;var n=!0;try{e:{g=!1,y&&(y=!1,k(C),C=-1),h=!0;var a=m;try{t:{for(S(e),p=r(c);null!==p&&!(p.expirationTime>e&&z());){var i=p.callback;if("function"==typeof i){p.callback=null,m=p.priorityLevel;var u=i(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof u){p.callback=u,S(e),n=!0;break t}p===r(c)&&l(c),S(e)}else l(c);p=r(c)}if(null!==p)n=!0;else{var s=r(f);null!==s&&O(x,s.startTime-e),n=!1}}break e}finally{p=null,m=a,h=!1}}}finally{n?o():E=!1}}}if("function"==typeof w)o=function(){w(N)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,L=T.port2;T.port1.onmessage=N,o=function(){L.postMessage(null)}}else o=function(){b(N,0)};function O(e,n){C=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125i?(e.sortIndex=a,n(f,e),null===r(c)&&e===r(f)&&(y?(k(C),C=-1):y=!0,O(x,a-i))):(e.sortIndex=u,n(c,e),g||h||(g=!0,E||(E=!0,o()))),e},t.unstable_shouldYield=z,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},7876:(e,t,n)=>{e.exports=n(8228)},8228:(e,t)=>{var n=Symbol.for("react.transitional.element");function r(e,t,r){var l=null;if(void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),"key"in t)for(var a in r={},t)"key"!==a&&(r[a]=t[a]);else r=t;return{$$typeof:n,type:e,key:l,ref:void 0!==(t=r.ref)?t:null,props:r}}t.Fragment=Symbol.for("react.fragment"),t.jsx=r,t.jsxs=r},8477:(e,t,n)=>{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(4655)},8944:(e,t,n)=>{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(4279)}}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/main-6902c17dd8219ed2.js b/.netlify/static/_next/static/chunks/main-6902c17dd8219ed2.js deleted file mode 100644 index 9bd3bac..0000000 --- a/.netlify/static/_next/static/chunks/main-6902c17dd8219ed2.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[792],{536:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},541:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(8040);function a(e,t,r){void 0===r&&(r=!0);let a=new URL((0,n.getLocationOrigin)()),i=t?new URL(t,a):e.startsWith(".")?new URL(window.location.href):a,{pathname:u,searchParams:l,search:s,hash:c,href:f,origin:d}=new URL(e,i);if(d!==a.origin)throw Object.defineProperty(Error("invariant: invalid relative URL, router received "+e),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{pathname:u,query:r?(0,o.searchParamsToUrlQuery)(l):void 0,search:s,hash:c,href:f.slice(d.length)}}},938:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},990:(e,t)=>{"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},1017:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1025:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(6023),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1226:()=>{},1291:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},1318:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return l},default:function(){return s}});let n=r(4252),o=r(7876),a=n._(r(4232)),i=r(4294),u={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},l=()=>{let{asPath:e}=(0,i.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e)if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1");r((null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent)||e)}},[e]),(0,o.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:u,children:t})},s=l;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1533:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(6023);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},1827:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},1862:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return n}});let r=new WeakMap;function n(e,t){let n;if(!t)return{pathname:e};let o=r.get(t);o||(o=t.map(e=>e.toLowerCase()),r.set(t,o));let a=e.split("/",2);if(!a[1])return{pathname:e};let i=a[1].toLowerCase(),u=o.indexOf(i);return u<0?{pathname:e}:(n=t[u],{pathname:e=e.slice(n.length+1)||"/",detectedLocale:n})}},1921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let n=r(8040),o=r(8480),a=r(990),i=r(2746),u=r(8205),l=r(1533),s=r(3069),c=r(8069);function f(e,t,r){let f,d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,l.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,u.normalizePathTrailingSlash)(e.pathname);let t="";if((0,s.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:u}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,u)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1924:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},2092:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(2889),o=r(8205);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2326:(e,t)=>{"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},2455:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTML_LIMITED_BOT_UA_RE",{enumerable:!0,get:function(){return r}});let r=/Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti/i},2591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return a},isRedirectError:function(){return i}});let n=r(1017),o="NEXT_REDIRECT";var a=function(e){return e.push="push",e.replace="replace",e}({});function i(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,a]=t,i=t.slice(2,-2).join(";"),u=Number(t.at(-2));return r===o&&("replace"===a||"push"===a)&&"string"==typeof i&&!isNaN(u)&&u in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2616:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return g},NormalizeError:function(){return _},PageNotFoundError:function(){return m},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return l},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return a},isResSent:function(){return s},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return b}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class _ extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},2792:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let n=r(4252),o=r(2092),a=r(8069),i=n._(r(1827)),u=r(4591),l=r(9163),s=r(541),c=r(4902),f=r(7176);r(3802);class d{getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:f,query:d,search:p}=(0,s.parseRelativeUrl)(r),{pathname:h}=(0,s.parseRelativeUrl)(t),_=(0,c.removeTrailingSlash)(f);if("/"!==_[0])throw Object.defineProperty(Error('Route name should start with a "/", got "'+_+'"'),"__NEXT_ERROR_CODE",{value:"E303",enumerable:!1,configurable:!0});var m=e.skipInterpolation?h:(0,l.isDynamicRoute)(_)?(0,a.interpolateAs)(f,h,d).result:_;let g=(0,i.default)((0,c.removeTrailingSlash)((0,u.addLocale)(m,n)),".json");return(0,o.addBasePath)("/_next/data/"+this.buildId+g+p,!0)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2850:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return l},TemplateContext:function(){return u}});let n=r(4252)._(r(4232)),o=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(new Set)},2889:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},2917:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});let n=()=>r;function o(e){r=e}},2959:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(938),o=r(8714);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},3069:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return n.getSortedRouteObjects},getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(3703),o=r(9163)},3090:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return a}});let n=r(4232),o=r(8477),a=e=>{let{children:t,type:r}=e,[a,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),a?(0,o.createPortal)(t,a):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3123:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},3132:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange)return void e();let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},3407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(1862),o=r(6292),a=r(3716);function i(e,t){var r,i;let{basePath:u,i18n:l,trailingSlash:s}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};u&&(0,a.pathHasPrefix)(c.pathname,u)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,u),c.basePath=u);let f=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");c.buildId=e[0],f="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=f)}if(l){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,l.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(f):(0,n.normalizeLocalePath)(f,l.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},3575:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return s}});let n=r(4252),o=n._(r(4232)),a=n._(r(6240)),i=r(8089),u="react-stack-bottom-frame",l=RegExp("(at "+u+" )|("+u+"\\@)");function s(e){let t=(0,a.default)(e),r=t&&e.stack||"",n=t?e.message:"",u=r.split("\n"),s=u.findIndex(e=>l.test(e)),c=s>=0?u.slice(0,s).join("\n"):r,f=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return Object.assign(f,e),(0,i.copyNextErrorCode)(e,f),f.stack=c,function(e){if(!o.default.captureOwnerStack)return;let t=e.stack||"",r=o.default.captureOwnerStack();r&&!1===t.endsWith(r)&&(e.stack=t+=r)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3670:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},3703:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return o},getSortedRoutes:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").'),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("…"))throw Object.defineProperty(Error("Detected a three-dot character ('…') at ('"+r+"'). Did you mean ('...')?"),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Object.defineProperty(Error("Segment names may not start or end with extra brackets ('"+r+"')."),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(r.startsWith("."))throw Object.defineProperty(Error("Segment names may not start with erroneous periods ('"+r+"')."),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function a(e,r){if(null!==e&&e!==r)throw Object.defineProperty(Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"')."),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});t.forEach(e=>{if(e===r)throw Object.defineProperty(Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Object.defineProperty(Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),t.push(r)}if(n)if(i){if(null!=this.restSlugName)throw Object.defineProperty(Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).'),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").'),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});a(this.restSlugName,r),this.restSlugName=r,o="[...]"}else{if(i)throw Object.defineProperty(Error('Optional route parameters are not yet supported ("'+e[0]+'").'),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}function o(e,t){let r={},o=[];for(let n=0;ne[r[t]])}},3716:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},3718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(8757),self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3802:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return b},APP_CLIENT_INTERNALS:function(){return Q},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return g},BARREL_OPTIMIZATION_PREFIX:function(){return X},BLOCKED_PAGES:function(){return U},BUILD_ID_FILE:function(){return D},BUILD_MANIFEST:function(){return E},CLIENT_PUBLIC_FILES_PATH:function(){return F},CLIENT_REFERENCE_MANIFEST:function(){return W},CLIENT_STATIC_FILES_PATH:function(){return k},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return K},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return $},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return et},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return er},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return J},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return ee},COMPILER_INDEXES:function(){return a},COMPILER_NAMES:function(){return o},CONFIG_FILES:function(){return L},DEFAULT_RUNTIME_WEBPACK:function(){return en},DEFAULT_SANS_SERIF_FONT:function(){return el},DEFAULT_SERIF_FONT:function(){return eu},DEV_CLIENT_MIDDLEWARE_MANIFEST:function(){return N},DEV_CLIENT_PAGES_MANIFEST:function(){return C},DYNAMIC_CSS_MANIFEST:function(){return Y},EDGE_RUNTIME_WEBPACK:function(){return eo},EDGE_UNSUPPORTED_NODE_APIS:function(){return ep},EXPORT_DETAIL:function(){return O},EXPORT_MARKER:function(){return v},FUNCTIONS_CONFIG_MANIFEST:function(){return y},IMAGES_MANIFEST:function(){return j},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return z},MIDDLEWARE_BUILD_MANIFEST:function(){return q},MIDDLEWARE_MANIFEST:function(){return w},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return V},MODERN_BROWSERSLIST_TARGET:function(){return n.default},NEXT_BUILTIN_DOCUMENT:function(){return H},NEXT_FONT_MANIFEST:function(){return R},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return f},PHASE_EXPORT:function(){return l},PHASE_INFO:function(){return p},PHASE_PRODUCTION_BUILD:function(){return s},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return d},PRERENDER_MANIFEST:function(){return S},REACT_LOADABLE_MANIFEST:function(){return M},ROUTES_MANIFEST:function(){return T},RSC_MODULE_TYPES:function(){return ed},SERVER_DIRECTORY:function(){return x},SERVER_FILES_MANIFEST:function(){return A},SERVER_PROPS_ID:function(){return ei},SERVER_REFERENCE_MANIFEST:function(){return G},STATIC_PROPS_ID:function(){return ea},STATIC_STATUS_PAGES:function(){return es},STRING_LITERAL_DROP_BUNDLE:function(){return B},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return P},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST:function(){return I},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ef},UNDERSCORE_NOT_FOUND_ROUTE:function(){return i},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return u},WEBPACK_STATS:function(){return _}});let n=r(4252)._(r(6582)),o={client:"client",server:"server",edgeServer:"edge-server"},a={[o.client]:0,[o.server]:1,[o.edgeServer]:2},i="/_not-found",u=""+i+"/page",l="phase-export",s="phase-production-build",c="phase-production-server",f="phase-development-server",d="phase-test",p="phase-info",h="pages-manifest.json",_="webpack-stats.json",m="app-paths-manifest.json",g="app-path-routes-manifest.json",E="build-manifest.json",b="app-build-manifest.json",y="functions-config-manifest.json",P="subresource-integrity-manifest",R="next-font-manifest",v="export-marker.json",O="export-detail.json",S="prerender-manifest.json",T="routes-manifest.json",j="images-manifest.json",A="required-server-files.json",C="_devPagesManifest.json",w="middleware-manifest.json",I="_clientMiddlewareManifest.json",N="_devMiddlewareManifest.json",M="react-loadable-manifest.json",x="server",L=["next.config.js","next.config.mjs","next.config.ts"],D="BUILD_ID",U=["/_document","/_app","/_error"],F="public",k="static",B="__NEXT_DROP_CLIENT_FILE__",H="__NEXT_BUILTIN_DOCUMENT__",X="__barrel_optimize__",W="client-reference-manifest",G="server-reference-manifest",q="middleware-build-manifest",V="middleware-react-loadable-manifest",z="interception-route-rewrite-manifest",Y="dynamic-css-manifest",K="main",$=""+K+"-app",Q="app-pages-internals",J="react-refresh",Z="amp",ee="webpack",et="polyfills",er=Symbol(et),en="webpack-runtime",eo="edge-runtime-webpack",ea="__N_SSG",ei="__N_SSP",eu={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},el={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},es=["/500"],ec=1,ef=6e3,ed={client:"client",server:"server"},ep=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([K,J,Z,$]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3836:(e,t,r)=>{"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(3670),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return E},handleClientScriptLoad:function(){return _},initScriptLoader:function(){return m}});let n=r(4252),o=r(8365),a=r(7876),i=n._(r(8477)),u=o._(r(4232)),l=r(8831),s=r(9611),c=r(6959),f=new Map,d=new Set,p=e=>{if(i.default.preinit)return void e.forEach(e=>{i.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},h=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:o=null,dangerouslySetInnerHTML:a,children:i="",strategy:u="afterInteractive",onError:l,stylesheets:c}=e,h=r||t;if(h&&d.has(h))return;if(f.has(t)){d.add(h),f.get(t).then(n,l);return}let _=()=>{o&&o(),d.add(h)},m=document.createElement("script"),g=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),n&&n.call(this,t),_()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){l&&l(e)});a?(m.innerHTML=a.__html||"",_()):i?(m.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",_()):t&&(m.src=t,f.set(t,g)),(0,s.setAttributesFromProps)(m,e),"worker"===u&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",u),c&&p(c),document.body.appendChild(m)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}):h(e)}function m(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");d.add(t)})}function g(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:s="afterInteractive",onError:f,stylesheets:p,..._}=e,{updateScripts:m,scripts:g,getIsSsr:E,appDir:b,nonce:y}=(0,u.useContext)(l.HeadManagerContext),P=(0,u.useRef)(!1);(0,u.useEffect)(()=>{let e=t||r;P.current||(o&&e&&d.has(e)&&o(),P.current=!0)},[o,t,r]);let R=(0,u.useRef)(!1);if((0,u.useEffect)(()=>{if(!R.current){if("afterInteractive"===s)h(e);else"lazyOnload"===s&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>h(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}));R.current=!0}},[e,s]),("beforeInteractive"===s||"worker"===s)&&(m?(g[s]=(g[s]||[]).concat([{id:t,src:r,onLoad:n,onReady:o,onError:f,..._}]),m(g)):E&&E()?d.add(t||r):E&&!E()&&h(e)),b){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===s)if(!r)return _.dangerouslySetInnerHTML&&(_.children=_.dangerouslySetInnerHTML.__html,delete _.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{..._,id:t}])+")"}});else return i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:y,crossOrigin:_.crossOrigin}:{as:"script",nonce:y,crossOrigin:_.crossOrigin}),(0,a.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{..._,id:t}])+")"}});"afterInteractive"===s&&r&&i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:y,crossOrigin:_.crossOrigin}:{as:"script",nonce:y,crossOrigin:_.crossOrigin})}return null}Object.defineProperty(g,"__nextScript",{value:!0});let E=g;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4069:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=1e-4);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach(e=>{this.bitArray[e]=1})}contains(e){return this.getHashValues(e).every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r>>13,t=Math.imul(t,0x5bd1e995);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t=1e-4){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},4181:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return u},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return a}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function i(e){return Number(e.digest.split(";")[1])}function u(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4252:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},4294:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return a.default},createRouter:function(){return _},default:function(){return p},makePublicRouterInstance:function(){return m},useRouter:function(){return h},withRouter:function(){return l.default}});let n=r(4252),o=n._(r(4232)),a=n._(r(8276)),i=r(9948),u=n._(r(6240)),l=n._(r(8147)),s={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],f=["push","replace","reload","back","prefetch","beforePopState"];function d(){if(!s.router)throw Object.defineProperty(Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return s.router}Object.defineProperty(s,"events",{get:()=>a.default.events}),c.forEach(e=>{Object.defineProperty(s,e,{get:()=>d()[e]})}),f.forEach(e=>{s[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n{s.ready(()=>{a.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;ne()),s.readyCallbacks=[],s.router}function m(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=a.default.events,f.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),o=0;o{"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let o=r[n];if("query"===o){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let o=r[n];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},4547:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return i},isEqualNode:function(){return a}});let o=r(9611);function a(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let r=t.getAttribute("nonce");if(r&&!e.getAttribute("nonce")){let n=t.cloneNode(!0);return n.setAttribute("nonce",""),n.nonce=r,r===e.nonce&&e.isEqualNode(n)}}return e.isEqualNode(t)}function i(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"])if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;else e.props.href=e.props["data-href"],e.props["data-href"]=void 0;let r=t[e.type]||[];r.push(e),t[e.type]=r});let r=t.title?t.title[0]:null,o="";if(r){let{children:e}=r.props;o="string"==typeof e?e:Array.isArray(e)?e.join(""):""}o!==document.title&&(document.title=o),["meta","base","link","style","script"].forEach(e=>{n(e,t[e]||[])})}}}n=(e,t)=>{let r=document.querySelector("head");if(!r)return;let n=new Set(r.querySelectorAll(""+e+"[data-next-head]"));if("meta"===e){let e=r.querySelector("meta[charset]");null!==e&&n.add(e)}let i=[];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(8205);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(4252)._(r(9871));class o{end(e){if("ended"===this.state.state)throw Object.defineProperty(Error("Span has already ended"),"__NEXT_ERROR_CODE",{value:"E17",enumerable:!1,configurable:!0});this.state={state:"ended",endTime:null!=e?e:Date.now()},this.onSpanEnd(this)}constructor(e,t,r){var n,o;this.name=e,this.attributes=null!=(n=t.attributes)?n:{},this.startTime=null!=(o=t.startTime)?o:Date.now(),this.onSpanEnd=r,this.state={state:"inprogress"}}}class a{startSpan(e,t){return new o(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,n.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}}let i=new a;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4902:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},4980:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return u}});let n=r(4902),o=r(2889),a=r(7952),i=r(6711);function u(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},5195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return a}});let n=r(3069),o=r(5419);function a(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},5214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return _},getNamedRouteRegex:function(){return h},getRouteRegex:function(){return f},parseParameter:function(){return l}});let n=r(9308),o=r(7188),a=r(1924),i=r(4902),u=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function l(e){let t=e.match(u);return t?s(t[2]):s(e)}function s(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function c(e,t,r){let n={},l=1,c=[];for(let f of(0,i.removeTrailingSlash)(e).slice(1).split("/")){let e=o.INTERCEPTION_ROUTE_MARKERS.find(e=>f.startsWith(e)),i=f.match(u);if(e&&i&&i[2]){let{key:t,optional:r,repeat:o}=s(i[2]);n[t]={pos:l++,repeat:o,optional:r},c.push("/"+(0,a.escapeStringRegexp)(e)+"([^/]+?)")}else if(i&&i[2]){let{key:e,repeat:t,optional:o}=s(i[2]);n[e]={pos:l++,repeat:t,optional:o},r&&i[1]&&c.push("/"+(0,a.escapeStringRegexp)(i[1]));let u=t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";r&&i[1]&&(u=u.substring(1)),c.push(u)}else c.push("/"+(0,a.escapeStringRegexp)(f));t&&i&&i[3]&&c.push((0,a.escapeStringRegexp)(i[3]))}return{parameterizedRoute:c.join(""),groups:n}}function f(e,t){let{includeSuffix:r=!1,includePrefix:n=!1,excludeOptionalTrailingSlash:o=!1}=void 0===t?{}:t,{parameterizedRoute:a,groups:i}=c(e,r,n),u=a;return o||(u+="(?:/)?"),{re:RegExp("^"+u+"$"),groups:i}}function d(e){let t,{interceptionMarker:r,getSafeRouteKey:n,segment:o,routeKeys:i,keyPrefix:u,backreferenceDuplicateKeys:l}=e,{key:c,optional:f,repeat:d}=s(o),p=c.replace(/\W/g,"");u&&(p=""+u+p);let h=!1;(0===p.length||p.length>30)&&(h=!0),isNaN(parseInt(p.slice(0,1)))||(h=!0),h&&(p=n());let _=p in i;u?i[p]=""+u+c:i[p]=c;let m=r?(0,a.escapeStringRegexp)(r):"";return t=_&&l?"\\k<"+p+">":d?"(?<"+p+">.+?)":"(?<"+p+">[^/]+?)",f?"(?:/"+m+t+")?":"/"+m+t}function p(e,t,r,l,s){let c,f=(c=0,()=>{let e="",t=++c;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),p={},h=[];for(let c of(0,i.removeTrailingSlash)(e).slice(1).split("/")){let e=o.INTERCEPTION_ROUTE_MARKERS.some(e=>c.startsWith(e)),i=c.match(u);if(e&&i&&i[2])h.push(d({getSafeRouteKey:f,interceptionMarker:i[1],segment:i[2],routeKeys:p,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,backreferenceDuplicateKeys:s}));else if(i&&i[2]){l&&i[1]&&h.push("/"+(0,a.escapeStringRegexp)(i[1]));let e=d({getSafeRouteKey:f,segment:i[2],routeKeys:p,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0,backreferenceDuplicateKeys:s});l&&i[1]&&(e=e.substring(1)),h.push(e)}else h.push("/"+(0,a.escapeStringRegexp)(c));r&&i&&i[3]&&h.push((0,a.escapeStringRegexp)(i[3]))}return{namedParameterizedRoute:h.join(""),routeKeys:p}}function h(e,t){var r,n,o;let a=p(e,t.prefixRouteKeys,null!=(r=t.includeSuffix)&&r,null!=(n=t.includePrefix)&&n,null!=(o=t.backreferenceDuplicateKeys)&&o),i=a.namedParameterizedRoute;return t.excludeOptionalTrailingSlash||(i+="(?:/)?"),{...f(e,t),namedRegex:"^"+i+"$",routeKeys:a.routeKeys}}function _(e,t){let{parameterizedRoute:r}=c(e,!1,!1),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=p(e,!1,!1,!1,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},5364:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(5861)},5419:(e,t)=>{"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},5519:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(2746);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw Object.defineProperty(new n.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},i={};for(let[e,t]of Object.entries(r)){let r=o[t.pos];void 0!==r&&(t.repeat?i[e]=r.split("/").map(e=>a(e)):i[e]=a(r))}return i}}},5842:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3718),r(7647);let n=r(9525);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5861:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function a(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var l=[],s=!1,c=-1;function f(){s&&n&&(s=!1,n.length?l=n.concat(l):c=-1,l.length&&d())}function d(){if(!s){var e=u(f);s=!0;for(var t=l.length;t;){for(n=l,l=[];++c1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(4232),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},6023:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(3716);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6240:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(8096);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},6292:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=r(3716);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},6582:e=>{"use strict";e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},6711:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});let n=r(2889),o=r(3716);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},6818:(e,t)=>{"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6959:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(4181),o=r(2591);function a(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7176:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createRouteLoader:function(){return m},getClientBuildManifest:function(){return h},isAssetError:function(){return c},markAssetError:function(){return s}}),r(4252),r(1827);let n=r(6818),o=r(6959),a=r(8757),i=r(536);function u(e,t,r){let n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);let a=new Promise(e=>{n=e});return t.set(e,{resolve:n,future:a}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):a}let l=Symbol("ASSET_LOAD_ERROR");function s(e){return Object.defineProperty(e,l,{})}function c(e){return e&&l in e}let f=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),d=()=>(0,a.getDeploymentIdQueryOrEmptyString)();function p(e,t,r){return new Promise((n,a)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(a),(0,o.requestIdleCallback)(()=>setTimeout(()=>{i||a(r)},t))})}function h(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):p(new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}}),3800,s(Object.defineProperty(Error("Failed to load client build manifest"),"__NEXT_ERROR_CODE",{value:"E273",enumerable:!1,configurable:!0})))}function _(e,t){return h().then(r=>{if(!(t in r))throw s(Object.defineProperty(Error("Failed to lookup route: "+t),"__NEXT_ERROR_CODE",{value:"E446",enumerable:!1,configurable:!0}));let o=r[t].map(t=>e+"/_next/"+(0,i.encodeURIPath)(t));return{scripts:o.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+d()),css:o.filter(e=>e.endsWith(".css")).map(e=>e+d())}})}function m(e){let t=new Map,r=new Map,n=new Map,a=new Map;function i(e){{var t;let n=r.get(e.toString());return n?n:document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(s(Object.defineProperty(Error("Failed to load script: "+e),"__NEXT_ERROR_CODE",{value:"E74",enumerable:!1,configurable:!0}))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n)}}function l(e){let t=n.get(e);return t||n.set(e,t=fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw Object.defineProperty(Error("Failed to load stylesheet: "+e),"__NEXT_ERROR_CODE",{value:"E189",enumerable:!1,configurable:!0});return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw s(e)})),t}return{whenEntrypoint:e=>u(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),a.delete(e))})},loadRoute(r,n){return u(r,a,()=>{let o;return p(_(e,r).then(e=>{let{scripts:n,css:o}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(i)),Promise.all(o.map(l))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,s(Object.defineProperty(Error("Route did not complete loading: "+r),"__NEXT_ERROR_CODE",{value:"E12",enumerable:!1,configurable:!0}))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==o?void 0:o())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():_(e,t).then(e=>Promise.all(f?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,o)=>{let a='\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]';if(document.querySelector(a))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>o(s(Object.defineProperty(Error("Failed to prefetch: "+t),"__NEXT_ERROR_CODE",{value:"E268",enumerable:!1,configurable:!0}))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,o.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7188:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(2959),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Object.defineProperty(Error("Invalid interception route: "+e+". Must be in the format //(..|...|..)(..)/"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?"/"+a:t+"/"+a;break;case"(..)":if("/"===t)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});a=i.slice(0,-2).concat(a).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:t,interceptedRoute:a}}},7207:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return l}});let n=r(4252),o=r(3123),a=r(4569),i=r(3575),u=n._(r(6240)),l=(e,t)=>{let r=(0,u.default)(e)&&"cause"in e?e.cause:e,n=(0,i.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,a.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTML_LIMITED_BOT_UA_RE:function(){return n.HTML_LIMITED_BOT_UA_RE},HTML_LIMITED_BOT_UA_RE_STRING:function(){return a},getBotType:function(){return l},isBot:function(){return u}});let n=r(2455),o=/Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i,a=n.HTML_LIMITED_BOT_UA_RE.source;function i(e){return n.HTML_LIMITED_BOT_UA_RE.test(e)}function u(e){return o.test(e)||i(e)}function l(e){return o.test(e)?"dom":i(e)?"html":void 0}},7539:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},7647:(e,t,r)=>{"use strict";e.exports=r(9393)},7952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+r+t+o+a}},8040:(e,t)=>{"use strict";function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,n(e));else t.set(r,n(o));return t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(5519),o=r(5214);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),u=i.groups,l=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let s=Object.keys(u);return s.every(e=>{let t=l[e]||"",{repeat:r,optional:n}=u[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in l)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:s,result:a}}},8089:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{copyNextErrorCode:function(){return n},createDigestWithErrorCode:function(){return r},extractNextErrorCode:function(){return o}});let r=(e,t)=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e?`${t}@${e.__NEXT_ERROR_CODE}`:t,n=(e,t)=>{let r=o(e);r&&"object"==typeof t&&null!==t&&Object.defineProperty(t,"__NEXT_ERROR_CODE",{value:r,enumerable:!1,configurable:!0})},o=e=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e&&"string"==typeof e.__NEXT_ERROR_CODE?e.__NEXT_ERROR_CODE:"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest?e.digest.split("@").find(e=>e.startsWith("E")):void 0},8096:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},8147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(4252);let n=r(7876);r(4232);let o=r(4294);function a(e){function t(t){return(0,n.jsx)(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return n}}),r(4902),r(3670);let n=e=>(e.startsWith("/"),e);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8213:(e,t)=>{"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},8276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createKey:function(){return G},default:function(){return z},matchesMiddleware:function(){return D}});let n=r(4252),o=r(8365),a=r(4902),i=r(7176),u=r(3996),l=o._(r(6240)),s=r(5195),c=r(1862),f=n._(r(9871)),d=r(2746),p=r(9163),h=r(541);r(1226);let _=r(5519),m=r(5214),g=r(8480);r(2616);let E=r(3670),b=r(4591),y=r(3836),P=r(1025),R=r(2092),v=r(6023),O=r(1921),S=r(2326),T=r(3407),j=r(4980),A=r(4359),C=r(1533),w=r(7407),I=r(990),N=r(8069),M=r(3132),x=r(9308);function L(){return Object.assign(Object.defineProperty(Error("Route Cancelled"),"__NEXT_ERROR_CODE",{value:"E315",enumerable:!1,configurable:!0}),{cancelled:!0})}async function D(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,E.parsePath)(e.asPath),n=(0,v.hasBasePath)(r)?(0,P.removeBasePath)(r):r,o=(0,R.addBasePath)((0,b.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(o))}function U(e){let t=(0,d.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function F(e,t,r){let[n,o]=(0,O.resolveHref)(e,t,!0),a=(0,d.getLocationOrigin)(),i=n.startsWith(a),u=o&&o.startsWith(a);n=U(n),o=o?U(o):o;let l=i?n:(0,R.addBasePath)(n),s=r?U((0,O.resolveHref)(e,r)):o||n;return{url:l,as:u?s:(0,R.addBasePath)(s)}}function k(e,t){let r=(0,a.removeTrailingSlash)((0,s.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,m.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,a.removeTrailingSlash)(e))}async function B(e){if(!await D(e)||!e.fetchData)return null;let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!0},o=t.headers.get("x-nextjs-rewrite"),u=o||t.headers.get("x-nextjs-matched-path"),l=t.headers.get(x.MATCHED_PATH_HEADER);if(!l||u||l.includes("__next_data_catchall")||l.includes("/_error")||l.includes("/404")||(u=l),u){if(u.startsWith("/")){let t=(0,h.parseRelativeUrl)(u),l=(0,T.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),s=(0,a.removeTrailingSlash)(l.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(a=>{let[i,{__rewrites:u}]=a,f=(0,b.addLocale)(l.pathname,l.locale);if((0,p.isDynamicRoute)(f)||!o&&i.includes((0,c.normalizeLocalePath)((0,P.removeBasePath)(f),r.router.locales).pathname)){let r=(0,T.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});t.pathname=f=(0,R.addBasePath)(r.pathname)}if(!i.includes(s)){let e=k(s,i);e!==s&&(s=e)}let d=i.includes(s)?s:k((0,c.normalizeLocalePath)((0,P.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(d)){let e=(0,_.getRouteMatcher)((0,m.getRouteRegex)(d))(f);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:d}})}let t=(0,E.parsePath)(e);return Promise.resolve({type:"redirect-external",destination:""+(0,j.formatNextPathnameInfo)({...(0,T.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""})+t.query+t.hash})}let s=t.headers.get("x-nextjs-redirect");if(s){if(s.startsWith("/")){let e=(0,E.parsePath)(s),t=(0,j.formatNextPathnameInfo)({...(0,T.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:s})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}let H=Symbol("SSG_DATA_NOT_FOUND");function X(e){try{return JSON.parse(e)}catch(e){return null}}function W(e){let{dataHref:t,inflightCache:r,isPrefetch:n,hasMiddleware:o,isServerRender:a,parseJSON:u,persistCache:l,isBackground:s,unstable_skipClientCache:c}=e,{href:f}=new URL(t,window.location.href),d=e=>{var s;return(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(o=>!o.ok&&r>1&&o.status>=500?e(t,r-1,n):o)})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{},{}),method:null!=(s=null==e?void 0:e.method)?s:"GET"}).then(r=>r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:f}:r.text().then(e=>{if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:f};if(404===r.status){var n;if(null==(n=X(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:H},response:r,text:e,cacheKey:f}}let u=Object.defineProperty(Error("Failed to load static props"),"__NEXT_ERROR_CODE",{value:"E124",enumerable:!1,configurable:!0});throw a||(0,i.markAssetError)(u),u}return{dataHref:t,json:u?X(e):null,response:r,text:e,cacheKey:f}})).then(e=>(l&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[f],e)).catch(e=>{throw c||delete r[f],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e})};return c&&l?d({}).then(e=>("no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[f]=Promise.resolve(e)),e)):void 0!==r[f]?r[f]:r[f]=d(s?{method:"HEAD"}:{})}function G(){return Math.random().toString(36).slice(2,10)}function q(e){let{url:t,router:r}=e;if(t===(0,R.addBasePath)((0,b.addLocale)(r.asPath,r.locale)))throw Object.defineProperty(Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href),"__NEXT_ERROR_CODE",{value:"E282",enumerable:!1,configurable:!0});window.location.href=t}let V=e=>{let{route:t,router:r}=e,n=!1,o=r.clc=()=>{n=!0};return()=>{if(n){let e=Object.defineProperty(Error('Abort fetching component for route: "'+t+'"'),"__NEXT_ERROR_CODE",{value:"E483",enumerable:!1,configurable:!0});throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}};class z{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=F(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=F(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,n,o){{if(!this._bfl_s&&!this._bfl_d){let t,a,{BloomFilter:u}=r(4069);try{({__routerFilterStatic:t,__routerFilterDynamic:a}=await (0,i.getClientBuildManifest)())}catch(t){if(console.error(t),o)return!0;return q({url:(0,R.addBasePath)((0,b.addLocale)(e,n||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}(null==t?void 0:t.numHashes)&&(this._bfl_s=new u(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==a?void 0:a.numHashes)&&(this._bfl_d=new u(a.numItems,a.errorRate),this._bfl_d.import(a))}let c=!1,f=!1;for(let{as:r,allowMatchCurrent:i}of[{as:e},{as:t}])if(r){let t=(0,a.removeTrailingSlash)(new URL(r,"http://n").pathname),d=(0,R.addBasePath)((0,b.addLocale)(t,n||this.locale));if(i||t!==(0,a.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var u,l,s;for(let e of(c=c||!!(null==(u=this._bfl_s)?void 0:u.contains(t))||!!(null==(l=this._bfl_s)?void 0:l.contains(d)),[t,d])){let t=e.split("/");for(let e=0;!f&&e{})}}}}return!1}async change(e,t,r,n,o){var s,c,f,O,S,T,j,w,M;let x,U;if(!(0,C.isLocalURL)(t))return q({url:t,router:this}),!1;let B=1===n._h;B||n.shallow||await this._bfl(r,void 0,n.locale);let X=B||n._shouldResolveHref||(0,E.parsePath)(t).pathname===(0,E.parsePath)(r).pathname,W={...this.state},G=!0!==this.isReady;this.isReady=!0;let V=this.isSsr;if(B||(this.isSsr=!1),B&&this.clc)return!1;let Y=W.locale;d.ST&&performance.mark("routeChange");let{shallow:K=!1,scroll:$=!0}=n,Q={shallow:K};this._inFlightRoute&&this.clc&&(V||z.events.emit("routeChangeError",L(),this._inFlightRoute,Q),this.clc(),this.clc=null),r=(0,R.addBasePath)((0,b.addLocale)((0,v.hasBasePath)(r)?(0,P.removeBasePath)(r):r,n.locale,this.defaultLocale));let J=(0,y.removeLocale)((0,v.hasBasePath)(r)?(0,P.removeBasePath)(r):r,W.locale);this._inFlightRoute=r;let Z=Y!==W.locale;if(!B&&this.onlyAHashChange(J)&&!Z){W.asPath=J,z.events.emit("hashChangeStart",r,Q),this.changeState(e,t,r,{...n,scroll:!1}),$&&this.scrollToHash(J);try{await this.set(W,this.components[W.route],null)}catch(e){throw(0,l.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return z.events.emit("hashChangeComplete",r,Q),!0}let ee=(0,h.parseRelativeUrl)(t),{pathname:et,query:er}=ee;try{[x,{__rewrites:U}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return q({url:r,router:this}),!1}this.urlIsNew(J)||Z||(e="replaceState");let en=r;et=et?(0,a.removeTrailingSlash)((0,P.removeBasePath)(et)):et;let eo=(0,a.removeTrailingSlash)(et),ea=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname;if(null==(s=this.components[et])?void 0:s.__appRouter)return q({url:r,router:this}),new Promise(()=>{});let ei=!!(ea&&eo!==ea&&(!(0,p.isDynamicRoute)(eo)||!(0,_.getRouteMatcher)((0,m.getRouteRegex)(eo))(ea))),eu=!n.shallow&&await D({asPath:r,locale:W.locale,router:this});if(B&&eu&&(X=!1),X&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=k(et,x),ee.pathname!==et&&(et=ee.pathname,ee.pathname=(0,R.addBasePath)(et),eu||(t=(0,g.formatWithValidation)(ee)))),!(0,C.isLocalURL)(r))return q({url:r,router:this}),!1;en=(0,y.removeLocale)((0,P.removeBasePath)(en),W.locale),eo=(0,a.removeTrailingSlash)(et);let el=!1;if((0,p.isDynamicRoute)(eo)){let e=(0,h.parseRelativeUrl)(en),n=e.pathname,o=(0,m.getRouteRegex)(eo);el=(0,_.getRouteMatcher)(o)(n);let a=eo===n,i=a?(0,N.interpolateAs)(eo,n,er):{};if(el&&(!a||i.result))a?r=(0,g.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,I.omit)(er,i.params)})):Object.assign(er,el);else{let e=Object.keys(o.groups).filter(e=>!er[e]&&!o.groups[e].optional);if(e.length>0&&!eu)throw Object.defineProperty(Error((a?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+eo+"). ")+"Read more: https://nextjs.org/docs/messages/"+(a?"href-interpolation-failed":"incompatible-href-as")),"__NEXT_ERROR_CODE",{value:"E344",enumerable:!1,configurable:!0})}}B||z.events.emit("routeChangeStart",r,Q);let es="/404"===this.pathname||"/_error"===this.pathname;try{let a=await this.getRouteInfo({route:eo,pathname:et,query:er,as:r,resolvedAs:en,routeProps:Q,locale:W.locale,isPreview:W.isPreview,hasMiddleware:eu,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:B&&!this.isFallback,isMiddlewareRewrite:ei});if(B||n.shallow||await this._bfl(r,"resolvedAs"in a?a.resolvedAs:void 0,W.locale),"route"in a&&eu){eo=et=a.route||eo,Q.shallow||(er=Object.assign({},a.query||{},er));let e=(0,v.hasBasePath)(ee.pathname)?(0,P.removeBasePath)(ee.pathname):ee.pathname;if(el&&et!==e&&Object.keys(el).forEach(e=>{el&&er[e]===el[e]&&delete er[e]}),(0,p.isDynamicRoute)(et)){let e=!Q.shallow&&a.resolvedAs?a.resolvedAs:(0,R.addBasePath)((0,b.addLocale)(new URL(r,location.href).pathname,W.locale),!0);(0,v.hasBasePath)(e)&&(e=(0,P.removeBasePath)(e));let t=(0,m.getRouteRegex)(et),n=(0,_.getRouteMatcher)(t)(new URL(e,location.href).pathname);n&&Object.assign(er,n)}}if("type"in a)if("redirect-internal"===a.type)return this.change(e,a.newUrl,a.newAs,n);else return q({url:a.destination,router:this}),new Promise(()=>{});let i=a.Component;if(i&&i.unstable_scriptLoader&&[].concat(i.unstable_scriptLoader()).forEach(e=>{(0,u.handleClientScriptLoad)(e.props)}),(a.__N_SSG||a.__N_SSP)&&a.props){if(a.props.pageProps&&a.props.pageProps.__N_REDIRECT){n.locale=!1;let t=a.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==a.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=k(r.pathname,x);let{url:o,as:a}=F(this,t,t);return this.change(e,o,a,n)}return q({url:t,router:this}),new Promise(()=>{})}if(W.isPreview=!!a.props.__N_PREVIEW,a.props.notFound===H){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(a=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:W.locale,isPreview:W.isPreview,isNotFound:!0}),"type"in a)throw Object.defineProperty(Error("Unexpected middleware effect on /404"),"__NEXT_ERROR_CODE",{value:"E158",enumerable:!1,configurable:!0})}}B&&"/_error"===this.pathname&&(null==(f=self.__NEXT_DATA__.props)||null==(c=f.pageProps)?void 0:c.statusCode)===500&&(null==(O=a.props)?void 0:O.pageProps)&&(a.props.pageProps.statusCode=500);let s=n.shallow&&W.route===(null!=(S=a.route)?S:eo),d=null!=(T=n.scroll)?T:!B&&!s,g=null!=o?o:d?{x:0,y:0}:null,E={...W,route:eo,pathname:et,query:er,asPath:J,isFallback:!1};if(B&&es){if(a=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:W.locale,isPreview:W.isPreview,isQueryUpdating:B&&!this.isFallback}),"type"in a)throw Object.defineProperty(Error("Unexpected middleware effect on "+this.pathname),"__NEXT_ERROR_CODE",{value:"E225",enumerable:!1,configurable:!0});"/_error"===this.pathname&&(null==(w=self.__NEXT_DATA__.props)||null==(j=w.pageProps)?void 0:j.statusCode)===500&&(null==(M=a.props)?void 0:M.pageProps)&&(a.props.pageProps.statusCode=500);try{await this.set(E,a,g)}catch(e){throw(0,l.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return!0}if(z.events.emit("beforeHistoryChange",r,Q),this.changeState(e,t,r,n),!(B&&!g&&!G&&!Z&&(0,A.compareRouterStates)(E,this.state))){try{await this.set(E,a,g)}catch(e){if(e.cancelled)a.error=a.error||e;else throw e}if(a.error)throw B||z.events.emit("routeChangeError",a.error,J,Q),a.error;B||z.events.emit("routeChangeComplete",r,Q),d&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,l.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,d.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:G()},"",r))}async handleRouteInfoError(e,t,r,n,o,a){if(e.cancelled)throw e;if((0,i.isAssetError)(e)||a)throw z.events.emit("routeChangeError",e,n,o),q({url:n,router:this}),L();console.error(e);try{let n,{page:o,styleSheets:a}=await this.fetchComponent("/_error"),i={props:n,Component:o,styleSheets:a,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(o,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,l.default)(e)?e:Object.defineProperty(Error(e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),t,r,n,o,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:o,resolvedAs:i,routeProps:u,locale:s,hasMiddleware:f,isPreview:d,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:_,isNotFound:m}=e,E=t;try{var b,y,R,v;let e=this.components[E];if(u.shallow&&e&&this.route===E)return e;let t=V({route:E,router:this});f&&(e=void 0);let l=!e||"initial"in e?void 0:e,O={dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:m?"/404":i,locale:s}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},T=h&&!_?null:await B({fetchData:()=>W(O),asPath:m?"/404":i,locale:s,router:this}).catch(e=>{if(h)return null;throw e});if(T&&("/_error"===r||"/404"===r)&&(T.effect=void 0),h&&(T?T.json=self.__NEXT_DATA__.props:T={json:self.__NEXT_DATA__.props}),t(),(null==T||null==(b=T.effect)?void 0:b.type)==="redirect-internal"||(null==T||null==(y=T.effect)?void 0:y.type)==="redirect-external")return T.effect;if((null==T||null==(R=T.effect)?void 0:R.type)==="rewrite"){let t=(0,a.removeTrailingSlash)(T.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(t))&&(E=t,r=T.effect.resolvedHref,n={...n,...T.effect.parsedAs.query},i=(0,P.removeBasePath)((0,c.normalizeLocalePath)(T.effect.parsedAs.pathname,this.locales).pathname),e=this.components[E],u.shallow&&e&&this.route===E&&!f))return{...e,route:E}}if((0,S.isAPIRoute)(E))return q({url:o,router:this}),new Promise(()=>{});let j=l||await this.fetchComponent(E).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),A=null==T||null==(v=T.response)?void 0:v.headers.get("x-middleware-skip"),C=j.__N_SSG||j.__N_SSP;A&&(null==T?void 0:T.dataHref)&&delete this.sdc[T.dataHref];let{props:w,cacheKey:I}=await this._getData(async()=>{if(C){if((null==T?void 0:T.json)&&!A)return{cacheKey:T.cacheKey,props:T.json};let e=(null==T?void 0:T.dataHref)?T.dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:s}),t=await W({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:A?{}:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(j.Component,{pathname:r,query:n,asPath:o,locale:s,locales:this.locales,defaultLocale:this.defaultLocale})}});return j.__N_SSP&&O.dataHref&&I&&delete this.sdc[I],this.isPreview||!j.__N_SSG||h||W(Object.assign({},O,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),w.pageProps=Object.assign({},w.pageProps),j.props=w,j.route=E,j.query=n,j.resolvedAs=i,this.components[E]=j,j}catch(e){return this.handleRouteInfoError((0,l.getProperError)(e),r,n,o,u)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#",2),[n,o]=e.split("#",2);return!!o&&t===n&&r===o||t===n&&r!==o}scrollToHash(e){let[,t=""]=e.split("#",2);(0,M.handleSmoothScroll)(()=>{if(""===t||"top"===t)return void window.scrollTo(0,0);let e=decodeURIComponent(t),r=document.getElementById(e);if(r)return void r.scrollIntoView();let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,w.isBot)(window.navigator.userAgent))return;let n=(0,h.parseRelativeUrl)(e),o=n.pathname,{pathname:i,query:u}=n,l=i,s=await this.pageLoader.getPageList(),c=t,f=void 0!==r.locale?r.locale||void 0:this.locale,d=await D({asPath:t,locale:f,router:this});n.pathname=k(n.pathname,s),(0,p.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(u,(0,_.getRouteMatcher)((0,m.getRouteRegex)(n.pathname))((0,E.parsePath)(t).pathname)||{}),d||(e=(0,g.formatWithValidation)(n)));let b=await B({fetchData:()=>W({dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:l,query:u}),skipInterpolation:!0,asPath:c,locale:f}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:f,router:this});if((null==b?void 0:b.effect.type)==="rewrite"&&(n.pathname=b.effect.resolvedHref,i=b.effect.resolvedHref,u={...u,...b.effect.parsedAs.query},c=b.effect.parsedAs.pathname,e=(0,g.formatWithValidation)(n)),(null==b?void 0:b.effect.type)==="redirect-external")return;let y=(0,a.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(y).then(t=>!!t&&W({dataHref:(null==b?void 0:b.json)?null==b?void 0:b.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:f}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](y)])}async fetchComponent(e){let t=V({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Object.defineProperty(Error("Loading initial props cancelled"),"__NEXT_ERROR_CODE",{value:"E405",enumerable:!1,configurable:!0});throw e.cancelled=!0,e}return e})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,d.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,r,{initialProps:n,pageLoader:o,App:i,wrapApp:u,Component:l,err:s,subscription:c,isFallback:f,locale:_,locales:m,defaultLocale:E,domainLocales:b,isPreview:y}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=G(),this.onPopState=e=>{let t,{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,g.formatWithValidation)({pathname:(0,R.addBasePath)(e),query:t}),(0,d.getURL)());return}if(n.__NA)return void window.location.reload();if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:o,as:a,options:i,key:u}=n;this._key=u;let{pathname:l}=(0,h.parseRelativeUrl)(o);(!this.isSsr||a!==(0,R.addBasePath)(this.asPath)||l!==(0,R.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",o,a,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let P=(0,a.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[P]={Component:l,initial:!0,props:n,err:s,__N_SSG:n&&n.__N_SSG,__N_SSP:n&&n.__N_SSP}),this.components["/_app"]={Component:i,styleSheets:[]},this.events=z.events,this.pageLoader=o;let v=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=c,this.clc=null,this._wrapApp=u,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!v&&!self.location.search),this.state={route:P,pathname:e,query:t,asPath:v?e:r,isPreview:!!y,locale:void 0,isFallback:f},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!r.startsWith("//")){let n={locale:_},o=(0,d.getURL)();this._initialMatchesMiddlewarePromise=D({router:this,locale:_,asPath:o}).then(a=>(n._shouldResolveHref=r!==e,this.changeState("replaceState",a?o:(0,g.formatWithValidation)({pathname:(0,R.addBasePath)(e),query:t}),o,n),a))}window.addEventListener("popstate",this.onPopState)}}z.events=(0,f.default)()},8365:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var u=a?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(o,i,u):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})},8480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return i}});let n=r(8365)._(r(8040)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",u=e.hash||"",l=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(s+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&"?"+l||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),""+a+s+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+u}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},8677:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(4252)._(r(4232)),o=r(7539),a=n.default.createContext(o.imageConfigDefault)},8714:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let a="__PAGE__",i="__DEFAULT__"},8757:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},8831:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext({})},9163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let n=r(7188),o=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,a=/\/\[[^/]+\](?=\/|$)/;function i(e,t){return(void 0===t&&(t=!0),(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),t)?a.test(e):o.test(e)}},9308:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return f},APP_DIR_ALIAS:function(){return I},CACHE_ONE_YEAR:function(){return v},DOT_NEXT_ALIAS:function(){return C},ESLINT_DEFAULT_DIRS:function(){return $},GSP_NO_RETURNED_VALUE:function(){return G},GSSP_COMPONENT_MEMBER_ERROR:function(){return z},GSSP_NO_RETURNED_VALUE:function(){return q},INFINITE_CACHE:function(){return O},INSTRUMENTATION_HOOK_FILENAME:function(){return j},MATCHED_PATH_HEADER:function(){return o},MIDDLEWARE_FILENAME:function(){return S},MIDDLEWARE_LOCATION_REGEXP:function(){return T},NEXT_BODY_SUFFIX:function(){return h},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return R},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return m},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return g},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return P},NEXT_CACHE_TAGS_HEADER:function(){return _},NEXT_CACHE_TAG_MAX_ITEMS:function(){return b},NEXT_CACHE_TAG_MAX_LENGTH:function(){return y},NEXT_DATA_SUFFIX:function(){return d},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return p},NEXT_QUERY_PARAM_PREFIX:function(){return r},NEXT_RESUME_HEADER:function(){return E},NON_STANDARD_NODE_ENV:function(){return Y},PAGES_DIR_ALIAS:function(){return A},PRERENDER_REVALIDATE_HEADER:function(){return a},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return i},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return F},ROOT_DIR_ALIAS:function(){return w},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return U},RSC_ACTION_ENCRYPTION_ALIAS:function(){return D},RSC_ACTION_PROXY_ALIAS:function(){return x},RSC_ACTION_VALIDATE_ALIAS:function(){return M},RSC_CACHE_WRAPPER_ALIAS:function(){return L},RSC_MOD_REF_PROXY_ALIAS:function(){return N},RSC_PREFETCH_SUFFIX:function(){return u},RSC_SEGMENTS_DIR_SUFFIX:function(){return l},RSC_SEGMENT_SUFFIX:function(){return s},RSC_SUFFIX:function(){return c},SERVER_PROPS_EXPORT_ERROR:function(){return W},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return B},SERVER_PROPS_SSG_CONFLICT:function(){return H},SERVER_RUNTIME:function(){return Q},SSG_FALLBACK_EXPORT_ERROR:function(){return K},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return k},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return X},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return V},WEBPACK_LAYERS:function(){return Z},WEBPACK_RESOURCE_QUERIES:function(){return ee}});let r="nxtP",n="nxtI",o="x-matched-path",a="x-prerender-revalidate",i="x-prerender-revalidate-if-generated",u=".prefetch.rsc",l=".segments",s=".segment.rsc",c=".rsc",f=".action",d=".json",p=".meta",h=".body",_="x-next-cache-tags",m="x-next-revalidated-tags",g="x-next-revalidate-tag-token",E="next-resume",b=128,y=256,P=1024,R="_N_T_",v=31536e3,O=0xfffffffe,S="middleware",T=`(?:src/)?${S}`,j="instrumentation",A="private-next-pages",C="private-dot-next",w="private-next-root-dir",I="private-next-app-dir",N="private-next-rsc-mod-ref-proxy",M="private-next-rsc-action-validate",x="private-next-rsc-server-reference",L="private-next-rsc-cache-wrapper",D="private-next-rsc-action-encryption",U="private-next-rsc-action-client-wrapper",F="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",k="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",B="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",H="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",X="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",W="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",G="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",q="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",V="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",z="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",Y='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',K="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",$=["app","pages","components","lib","src"],Q={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},J={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},Z={...J,GROUP:{builtinReact:[J.reactServerComponents,J.actionBrowser],serverOnly:[J.reactServerComponents,J.actionBrowser,J.instrument,J.middleware],neutralTarget:[J.apiNode,J.apiEdge],clientOnly:[J.serverSideRendering,J.appPagesBrowser],bundled:[J.reactServerComponents,J.actionBrowser,J.serverSideRendering,J.appPagesBrowser,J.shared,J.instrument,J.middleware],appPages:[J.reactServerComponents,J.serverSideRendering,J.appPagesBrowser,J.actionBrowser]}},ee={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},9393:()=>{},9525:(e,t,r)=>{"use strict";let n,o,a,i,u,l,s,c,f,d,p,h;Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{emitter:function(){return H},hydrate:function(){return eu},initialize:function(){return q},router:function(){return n},version:function(){return B}});let _=r(4252),m=r(7876);r(1291);let g=_._(r(4232)),E=_._(r(8944)),b=r(8831),y=_._(r(9871)),P=r(9948),R=r(3132),v=r(9163),O=r(8040),S=r(2917),T=r(2746),j=r(3090),A=_._(r(4547)),C=_._(r(2792)),w=r(1318),I=r(4294),N=r(6240),M=r(8677),x=r(1025),L=r(6023),D=r(2850),U=r(9609),F=r(5931),k=r(7207);r(4609),r(6999);let B="15.3.4",H=(0,y.default)(),X=e=>[].slice.call(e),W=!1;class G extends g.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(o.isFallback||o.nextExport&&((0,v.isDynamicRoute)(n.pathname)||location.search||W)||o.props&&o.props.__N_SSG&&(location.search||W))&&n.replace(n.pathname+"?"+String((0,O.assign)((0,O.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),a,{_h:1,shallow:!o.isFallback&&!W}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function q(e){void 0===e&&(e={}),o=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=o,h=o.defaultLocale;let t=o.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,S.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:o.runtimeConfig||{}}),a=(0,T.getURL)(),(0,L.hasBasePath)(a)&&(a=(0,x.removeBasePath)(a)),o.scriptLoader){let{initScriptLoader:e}=r(3996);e(o.scriptLoader)}i=new C.default(o.buildId,t);let s=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>s(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=s,(l=(0,A.default)()).getIsSsr=()=>n.isSsr,u=document.getElementById("__next"),{assetPrefix:t}}function V(e,t){return(0,m.jsx)(e,{...t})}function z(e){var t;let{children:r}=e,o=g.default.useMemo(()=>(0,U.adaptForAppRouterInstance)(n),[]);return(0,m.jsx)(G,{fn:e=>K({App:f,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,m.jsx)(D.AppRouterContext.Provider,{value:o,children:(0,m.jsx)(F.SearchParamsContext.Provider,{value:(0,U.adaptForSearchParams)(n),children:(0,m.jsx)(U.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t,children:(0,m.jsx)(F.PathParamsContext.Provider,{value:(0,U.adaptForPathParams)(n),children:(0,m.jsx)(P.RouterContext.Provider,{value:(0,I.makePublicRouterInstance)(n),children:(0,m.jsx)(b.HeadManagerContext.Provider,{value:l,children:(0,m.jsx)(M.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0},children:r})})})})})})})})}let Y=e=>t=>{let r={...t,Component:p,err:o.err,router:n};return(0,m.jsx)(z,{children:V(e,r)})};function K(e){let{App:t,err:u}=e;return console.error(u),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:o,styleSheets:a}=n;return(null==s?void 0:s.Component)===o?r.e(341).then(r.t.bind(r,9341,23)).then(n=>r.e(472).then(r.t.bind(r,472,23)).then(r=>(e.App=t=r.default,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:o,styleSheets:a}}).then(r=>{var i;let{ErrorComponent:l,styleSheets:s}=r,c=Y(t),f={Component:l,AppTree:c,router:n,ctx:{err:u,pathname:o.page,query:o.query,asPath:a,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,T.loadGetInitialProps)(t,f)).then(t=>ea({...e,err:u,Component:l,styleSheets:s,props:t}))})}function $(e){let{callback:t}=e;return g.default.useLayoutEffect(()=>t(),[t]),null}let Q={navigationStart:"navigationStart",beforeRender:"beforeRender",afterRender:"afterRender",afterHydrate:"afterHydrate",routeChange:"routeChange"},J={hydration:"Next.js-hydration",beforeHydration:"Next.js-before-hydration",routeChangeToRender:"Next.js-route-change-to-render",render:"Next.js-render"},Z=null,ee=!0;function et(){[Q.beforeRender,Q.afterHydrate,Q.afterRender,Q.routeChange].forEach(e=>performance.clearMarks(e))}function er(){T.ST&&(performance.mark(Q.afterHydrate),performance.getEntriesByName(Q.beforeRender,"mark").length&&(performance.measure(J.beforeHydration,Q.navigationStart,Q.beforeRender),performance.measure(J.hydration,Q.beforeRender,Q.afterHydrate)),d&&performance.getEntriesByName(J.hydration).forEach(d),et())}function en(){if(!T.ST)return;performance.mark(Q.afterRender);let e=performance.getEntriesByName(Q.routeChange,"mark");e.length&&(performance.getEntriesByName(Q.beforeRender,"mark").length&&(performance.measure(J.routeChangeToRender,e[0].name,Q.beforeRender),performance.measure(J.render,Q.beforeRender,Q.afterRender),d&&(performance.getEntriesByName(J.render).forEach(d),performance.getEntriesByName(J.routeChangeToRender).forEach(d))),et(),[J.routeChangeToRender,J.render].forEach(e=>performance.clearMeasures(e)))}function eo(e){let{callbacks:t,children:r}=e;return g.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),r}function ea(e){let t,r,{App:o,Component:a,props:i,err:l}=e,f="initial"in e?void 0:e.styleSheets;a=a||s.Component;let d={...i=i||s.props,Component:a,err:l,router:n};s=d;let p=!1,h=new Promise((e,t)=>{c&&c(),r=()=>{c=null,e()},c=()=>{p=!0,c=null;let e=Object.defineProperty(Error("Cancel rendering route"),"__NEXT_ERROR_CODE",{value:"E503",enumerable:!1,configurable:!0});e.cancelled=!0,t(e)}});function _(){r()}!function(){if(!f)return;let e=new Set(X(document.querySelectorAll("style[data-n-href]")).map(e=>e.getAttribute("data-n-href"))),t=document.querySelector("noscript[data-n-css]"),r=null==t?void 0:t.getAttribute("data-n-css");f.forEach(t=>{let{href:n,text:o}=t;if(!e.has(n)){let e=document.createElement("style");e.setAttribute("data-n-href",n),e.setAttribute("media","x"),r&&e.setAttribute("nonce",r),document.head.appendChild(e),e.appendChild(document.createTextNode(o))}})}();let b=(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)($,{callback:function(){if(f&&!p){let e=new Set(f.map(e=>e.href)),t=X(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),X(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,R.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),(0,m.jsxs)(z,{children:[V(o,d),(0,m.jsx)(j.Portal,{type:"next-route-announcer",children:(0,m.jsx)(w.RouteAnnouncer,{})})]})]});var y=u;T.ST&&performance.mark(Q.beforeRender);let P=(t=ee?er:en,(0,m.jsx)(eo,{callbacks:[t,_],children:b}));return Z?(0,g.default.startTransition)(()=>{Z.render(P)}):(Z=E.default.hydrateRoot(y,P,{onRecoverableError:k.onRecoverableError}),ee=!1),h}async function ei(e){if(e.err&&(void 0===e.Component||!e.isHydratePass))return void await K(e);try{await ea(e)}catch(r){let t=(0,N.getProperError)(r);if(t.cancelled)throw t;await K({...e,err:t})}}async function eu(e){let t=o.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;f=t,r&&r.reportWebVitals&&(d=e=>{let t,{id:n,name:o,startTime:a,value:i,duration:u,entryType:l,entries:s,attribution:c}=e,f=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);s&&s.length&&(t=s[0].startTime);let d={id:n||f,name:o,startTime:a||t,value:null==i?u:i,label:"mark"===l||"measure"===l?"custom":"web-vital"};c&&(d.attribution=c),r.reportWebVitals(d)});let n=await i.routeLoader.whenEntrypoint(o.page);if("error"in n)throw n.error;p=n.component}catch(e){t=(0,N.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(o.dynamicIds),n=(0,I.createRouter)(o.page,o.query,a,{initialProps:o.props,pageLoader:i,App:f,Component:p,wrapApp:Y,err:t,isFallback:!!o.isFallback,subscription:(e,t,r)=>ei(Object.assign({},e,{App:t,scroll:r})),locale:o.locale,locales:o.locales,defaultLocale:h,domainLocales:o.domainLocales,isPreview:o.isPreview}),W=await n._initialMatchesMiddlewarePromise;let r={App:f,initial:!0,Component:p,props:o.props,err:t,isHydratePass:!0};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),ei(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathnameContextProviderAdapter:function(){return p},adaptForAppRouterInstance:function(){return c},adaptForPathParams:function(){return d},adaptForSearchParams:function(){return f}});let n=r(8365),o=r(7876),a=n._(r(4232)),i=r(5931),u=r(3069),l=r(8213),s=r(5214);function c(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},hmrRefresh(){},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function f(e){return e.isReady&&e.query?(0,l.asPathToSearchParams)(e.asPath):new URLSearchParams}function d(e){if(!e.isReady||!e.query)return null;let t={};for(let r of Object.keys((0,s.getRouteRegex)(e.pathname).groups))t[r]=e.query[r];return t}function p(e){let{children:t,router:r,...n}=e,l=(0,a.useRef)(n.isAutoExport),s=(0,a.useMemo)(()=>{let e,t=l.current;if(t&&(l.current=!1),(0,u.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return(0,o.jsx)(i.PathnameContext.Provider,{value:s,children:t})}},9611:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setAttributesFromProps",{enumerable:!0,get:function(){return a}});let r={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},n=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function o(e){return["async","defer","noModule"].includes(e)}function a(e,t){for(let[a,i]of Object.entries(t)){if(!t.hasOwnProperty(a)||n.includes(a)||void 0===i)continue;let u=r[a]||a.toLowerCase();"SCRIPT"===e.tagName&&o(u)?e[u]=!!i:e.setAttribute(u,String(i)),(!1===i||"SCRIPT"===e.tagName&&o(u)&&(!i||"false"===i))&&(e.setAttribute(u,""),e.removeAttribute(u))}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9871:(e,t)=>{"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},9948:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext(null)}},e=>{var t=t=>e(e.s=t);e.O(0,[593],()=>t(5842)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/main-app-f0e4778e14ce617d.js b/.netlify/static/_next/static/chunks/main-app-f0e4778e14ce617d.js deleted file mode 100644 index 49d5b79..0000000 --- a/.netlify/static/_next/static/chunks/main-app-f0e4778e14ce617d.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{2737:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,894,23)),Promise.resolve().then(n.t.bind(n,4970,23)),Promise.resolve().then(n.t.bind(n,6614,23)),Promise.resolve().then(n.t.bind(n,6975,23)),Promise.resolve().then(n.t.bind(n,7555,23)),Promise.resolve().then(n.t.bind(n,4911,23)),Promise.resolve().then(n.t.bind(n,9665,23)),Promise.resolve().then(n.t.bind(n,1295,23))},9393:()=>{}},e=>{var s=s=>e(e.s=s);e.O(0,[441,684],()=>(s(5415),s(2737))),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/pages/_app-92f2aae776f86b9c.js b/.netlify/static/_next/static/chunks/pages/_app-92f2aae776f86b9c.js deleted file mode 100644 index 92b02b7..0000000 --- a/.netlify/static/_next/static/chunks/pages/_app-92f2aae776f86b9c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[472,636],{326:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return n(472)}])},472:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let u=n(4252),l=n(7876),a=u._(n(4232)),o=n(2746);async function r(e){let{Component:t,ctx:n}=e;return{pageProps:await (0,o.loadGetInitialProps)(t,n)}}class s extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,l.jsx)(e,{...t})}}s.origGetInitialProps=r,s.getInitialProps=r,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{var t=t=>e(e.s=t);e.O(0,[593,792],()=>(t(326),t(4294))),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/pages/_error-71d2b6a7b832d02a.js b/.netlify/static/_next/static/chunks/pages/_error-71d2b6a7b832d02a.js deleted file mode 100644 index 1f717ed..0000000 --- a/.netlify/static/_next/static/chunks/pages/_error-71d2b6a7b832d02a.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[341,731],{303:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return r}});let r=n(4252)._(n(4232)).default.createContext({})},2164:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return n(9341)}])},3776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let r=n(4232),o=r.useLayoutEffect,l=r.useEffect;function i(e){let{headManager:t,reduceComponentsToState:n}=e;function i(){if(t&&t.mountedInstances){let o=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(o,e))}}return o(()=>{var n;return null==t||null==(n=t.mountedInstances)||n.add(e.children),()=>{var n;null==t||null==(n=t.mountedInstances)||n.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},5679:(e,t,n)=>{"use strict";var r=n(5364);Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return y},defaultHead:function(){return p}});let o=n(4252),l=n(8365),i=n(7876),a=l._(n(4232)),s=o._(n(3776)),d=n(303),u=n(8831),c=n(6807);function p(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}n(6079);let h=["name","httpEquiv","charSet","itemProp"];function m(e,t){let{inAmpMode:n}=t;return e.reduce(f,[]).reverse().concat(p(n).reverse()).filter(function(){let e=new Set,t=new Set,n=new Set,r={};return o=>{let l=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?l=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?l=!1:t.add(o.type);break;case"meta":for(let e=0,t=h.length;e{let o=e.key||t;if(r.env.__NEXT_OPTIMIZE_FONTS&&!n&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,a.default.cloneElement(e,t)}return a.default.cloneElement(e,{key:o})})}let y=function(e){let{children:t}=e,n=(0,a.useContext)(d.AmpStateContext),r=(0,a.useContext)(u.HeadManagerContext);return(0,i.jsx)(s.default,{reduceComponentsToState:m,headManager:r,inAmpMode:(0,c.isInAmpMode)(n),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6079:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},6807:(e,t)=>{"use strict";function n(e){let{ampFirst:t=!1,hybrid:n=!1,hasQuery:r=!1}=void 0===e?{}:e;return t||n&&r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return n}})},9341:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let r=n(4252),o=n(7876),l=r._(n(4232)),i=r._(n(5679)),a={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function s(e){let{req:t,res:n,err:r}=e;return{statusCode:n&&n.statusCode?n.statusCode:r?r.statusCode:404,hostname:window.location.hostname}}let d={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class u extends l.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,n=this.props.title||a[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:d.error,children:[(0,o.jsx)(i.default,{children:(0,o.jsx)("title",{children:e?e+": "+n:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:d.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:d.h1,children:e}):null,(0,o.jsx)("div",{style:d.wrap,children:(0,o.jsxs)("h2",{style:d.h2,children:[this.props.title||e?n:(0,o.jsxs)(o.Fragment,{children:["Application error: a client-side exception has occurred"," ",!!this.props.hostname&&(0,o.jsxs)(o.Fragment,{children:["while loading ",this.props.hostname]})," ","(see the browser console for more information)"]}),"."]})})]})]})}}u.displayName="ErrorPage",u.getInitialProps=s,u.origGetInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{var t=t=>e(e.s=t);e.O(0,[636,593,792],()=>t(2164)),_N_E=e.O()}]); \ No newline at end of file diff --git a/.netlify/static/_next/static/chunks/polyfills-42372ed130431b0a.js b/.netlify/static/_next/static/chunks/polyfills-42372ed130431b0a.js deleted file mode 100644 index ab422b9..0000000 --- a/.netlify/static/_next/static/chunks/polyfills-42372ed130431b0a.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r,n,o=function(t){return t&&t.Math===Math&&t},i=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof t&&t)||o("object"==typeof t&&t)||function(){return this}()||Function("return this")(),a=function(t){try{return!!t()}catch(t){return!0}},u=!a(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),s=!a(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}),c=Function.prototype.call,f=s?c.bind(c):function(){return c.apply(c,arguments)},l={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!l.call({1:2},1)?function(t){var e=h(this,t);return!!e&&e.enumerable}:l,v={f:p},d=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},g=Function.prototype,y=g.call,m=s&&g.bind.bind(y,y),b=s?m:function(t){return function(){return y.apply(t,arguments)}},w=b({}.toString),S=b("".slice),E=function(t){return S(w(t),8,-1)},O=Object,x=b("".split),R=a(function(){return!O("z").propertyIsEnumerable(0)})?function(t){return"String"===E(t)?x(t,""):O(t)}:O,P=function(t){return null==t},A=TypeError,j=function(t){if(P(t))throw new A("Can't call method on "+t);return t},k=function(t){return R(j(t))},I="object"==typeof document&&document.all,T=void 0===I&&void 0!==I?function(t){return"function"==typeof t||t===I}:function(t){return"function"==typeof t},M=function(t){return"object"==typeof t?null!==t:T(t)},L=function(t,e){return arguments.length<2?T(r=i[t])?r:void 0:i[t]&&i[t][e];var r},U=b({}.isPrototypeOf),N=i.navigator,C=N&&N.userAgent,_=C?String(C):"",F=i.process,B=i.Deno,D=F&&F.versions||B&&B.version,z=D&&D.v8;z&&(n=(r=z.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!n&&_&&(!(r=_.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=_.match(/Chrome\/(\d+)/))&&(n=+r[1]);var W=n,q=i.String,H=!!Object.getOwnPropertySymbols&&!a(function(){var t=Symbol("symbol detection");return!q(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&W&&W<41}),$=H&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,K=Object,G=$?function(t){return"symbol"==typeof t}:function(t){var e=L("Symbol");return T(e)&&U(e.prototype,K(t))},V=String,Y=function(t){try{return V(t)}catch(t){return"Object"}},X=TypeError,J=function(t){if(T(t))return t;throw new X(Y(t)+" is not a function")},Q=function(t,e){var r=t[e];return P(r)?void 0:J(r)},Z=TypeError,tt=Object.defineProperty,et=function(t,e){try{tt(i,t,{value:e,configurable:!0,writable:!0})}catch(r){i[t]=e}return e},rt=e(function(t){var e="__core-js_shared__",r=t.exports=i[e]||et(e,{});(r.versions||(r.versions=[])).push({version:"3.38.1",mode:"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})}),nt=function(t,e){return rt[t]||(rt[t]=e||{})},ot=Object,it=function(t){return ot(j(t))},at=b({}.hasOwnProperty),ut=Object.hasOwn||function(t,e){return at(it(t),e)},st=0,ct=Math.random(),ft=b(1..toString),lt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ft(++st+ct,36)},ht=i.Symbol,pt=nt("wks"),vt=$?ht.for||ht:ht&&ht.withoutSetter||lt,dt=function(t){return ut(pt,t)||(pt[t]=H&&ut(ht,t)?ht[t]:vt("Symbol."+t)),pt[t]},gt=TypeError,yt=dt("toPrimitive"),mt=function(t,e){if(!M(t)||G(t))return t;var r,n=Q(t,yt);if(n){if(void 0===e&&(e="default"),r=f(n,t,e),!M(r)||G(r))return r;throw new gt("Can't convert object to primitive value")}return void 0===e&&(e="number"),function(t,e){var r,n;if("string"===e&&T(r=t.toString)&&!M(n=f(r,t)))return n;if(T(r=t.valueOf)&&!M(n=f(r,t)))return n;if("string"!==e&&T(r=t.toString)&&!M(n=f(r,t)))return n;throw new Z("Can't convert object to primitive value")}(t,e)},bt=function(t){var e=mt(t,"string");return G(e)?e:e+""},wt=i.document,St=M(wt)&&M(wt.createElement),Et=function(t){return St?wt.createElement(t):{}},Ot=!u&&!a(function(){return 7!==Object.defineProperty(Et("div"),"a",{get:function(){return 7}}).a}),xt=Object.getOwnPropertyDescriptor,Rt={f:u?xt:function(t,e){if(t=k(t),e=bt(e),Ot)try{return xt(t,e)}catch(t){}if(ut(t,e))return d(!f(v.f,t,e),t[e])}},Pt=u&&a(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),At=String,jt=TypeError,kt=function(t){if(M(t))return t;throw new jt(At(t)+" is not an object")},It=TypeError,Tt=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,Lt="enumerable",Ut="configurable",Nt="writable",Ct={f:u?Pt?function(t,e,r){if(kt(t),e=bt(e),kt(r),"function"==typeof t&&"prototype"===e&&"value"in r&&Nt in r&&!r[Nt]){var n=Mt(t,e);n&&n[Nt]&&(t[e]=r.value,r={configurable:Ut in r?r[Ut]:n[Ut],enumerable:Lt in r?r[Lt]:n[Lt],writable:!1})}return Tt(t,e,r)}:Tt:function(t,e,r){if(kt(t),e=bt(e),kt(r),Ot)try{return Tt(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new It("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},_t=u?function(t,e,r){return Ct.f(t,e,d(1,r))}:function(t,e,r){return t[e]=r,t},Ft=Function.prototype,Bt=u&&Object.getOwnPropertyDescriptor,Dt=ut(Ft,"name"),zt={EXISTS:Dt,PROPER:Dt&&"something"===function(){}.name,CONFIGURABLE:Dt&&(!u||u&&Bt(Ft,"name").configurable)},Wt=b(Function.toString);T(rt.inspectSource)||(rt.inspectSource=function(t){return Wt(t)});var qt,Ht,$t,Kt=rt.inspectSource,Gt=i.WeakMap,Vt=T(Gt)&&/native code/.test(String(Gt)),Yt=nt("keys"),Xt=function(t){return Yt[t]||(Yt[t]=lt(t))},Jt={},Qt="Object already initialized",Zt=i.TypeError;if(Vt||rt.state){var te=rt.state||(rt.state=new(0,i.WeakMap));te.get=te.get,te.has=te.has,te.set=te.set,qt=function(t,e){if(te.has(t))throw new Zt(Qt);return e.facade=t,te.set(t,e),e},Ht=function(t){return te.get(t)||{}},$t=function(t){return te.has(t)}}else{var ee=Xt("state");Jt[ee]=!0,qt=function(t,e){if(ut(t,ee))throw new Zt(Qt);return e.facade=t,_t(t,ee,e),e},Ht=function(t){return ut(t,ee)?t[ee]:{}},$t=function(t){return ut(t,ee)}}var re,ne={set:qt,get:Ht,has:$t,enforce:function(t){return $t(t)?Ht(t):qt(t,{})},getterFor:function(t){return function(e){var r;if(!M(e)||(r=Ht(e)).type!==t)throw new Zt("Incompatible receiver, "+t+" required");return r}}},oe=e(function(t){var e=zt.CONFIGURABLE,r=ne.enforce,n=ne.get,o=String,i=Object.defineProperty,s=b("".slice),c=b("".replace),f=b([].join),l=u&&!a(function(){return 8!==i(function(){},"length",{value:8}).length}),h=String(String).split("String"),p=t.exports=function(t,n,a){"Symbol("===s(o(n),0,7)&&(n="["+c(o(n),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),a&&a.getter&&(n="get "+n),a&&a.setter&&(n="set "+n),(!ut(t,"name")||e&&t.name!==n)&&(u?i(t,"name",{value:n,configurable:!0}):t.name=n),l&&a&&ut(a,"arity")&&t.length!==a.arity&&i(t,"length",{value:a.arity});try{a&&ut(a,"constructor")&&a.constructor?u&&i(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var p=r(t);return ut(p,"source")||(p.source=f(h,"string"==typeof n?n:"")),t};Function.prototype.toString=p(function(){return T(this)&&n(this).source||Kt(this)},"toString")}),ie=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(T(r)&&oe(r,i,n),n.global)o?t[e]=r:et(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:Ct.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},ae=Math.ceil,ue=Math.floor,se=Math.trunc||function(t){var e=+t;return(e>0?ue:ae)(e)},ce=function(t){var e=+t;return e!=e||0===e?0:se(e)},fe=Math.max,le=Math.min,he=function(t,e){var r=ce(t);return r<0?fe(r+e,0):le(r,e)},pe=Math.min,ve=function(t){var e=ce(t);return e>0?pe(e,9007199254740991):0},de=function(t){return ve(t.length)},ge=function(t){return function(e,r,n){var o=k(e),i=de(o);if(0===i)return!t&&-1;var a,u=he(n,i);if(t&&r!=r){for(;i>u;)if((a=o[u++])!=a)return!0}else for(;i>u;u++)if((t||u in o)&&o[u]===r)return t||u||0;return!t&&-1}},ye={includes:ge(!0),indexOf:ge(!1)},me=ye.indexOf,be=b([].push),we=function(t,e){var r,n=k(t),o=0,i=[];for(r in n)!ut(Jt,r)&&ut(n,r)&&be(i,r);for(;e.length>o;)ut(n,r=e[o++])&&(~me(i,r)||be(i,r));return i},Se=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ee=Se.concat("length","prototype"),Oe={f:Object.getOwnPropertyNames||function(t){return we(t,Ee)}},xe={f:Object.getOwnPropertySymbols},Re=b([].concat),Pe=L("Reflect","ownKeys")||function(t){var e=Oe.f(kt(t)),r=xe.f;return r?Re(e,r(t)):e},Ae=function(t,e,r){for(var n=Pe(e),o=Ct.f,i=Rt.f,a=0;aa;)Ct.f(t,r=o[a++],n[r]);return t},Be={f:Fe},De=L("document","documentElement"),ze="prototype",We="script",qe=Xt("IE_PROTO"),He=function(){},$e=function(t){return"<"+We+">"+t+""},Ke=function(t){t.write($e("")),t.close();var e=t.parentWindow.Object;return t=null,e},Ge=function(){try{re=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;Ge="undefined"!=typeof document?document.domain&&re?Ke(re):(e=Et("iframe"),r="java"+We+":",e.style.display="none",De.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write($e("document.F=Object")),t.close(),t.F):Ke(re);for(var n=Se.length;n--;)delete Ge[ze][Se[n]];return Ge()};Jt[qe]=!0;var Ve=Object.create||function(t,e){var r;return null!==t?(He[ze]=kt(t),r=new He,He[ze]=null,r[qe]=t):r=Ge(),void 0===e?r:Be.f(r,e)},Ye=Ct.f,Xe=dt("unscopables"),Je=Array.prototype;void 0===Je[Xe]&&Ye(Je,Xe,{configurable:!0,value:Ve(null)});var Qe=function(t){Je[Xe][t]=!0};Ce({target:"Array",proto:!0},{at:function(t){var e=it(this),r=de(e),n=ce(t),o=n>=0?n:r+n;return o<0||o>=r?void 0:e[o]}}),Qe("at");var Ze=function(t,e){return b(i[t].prototype[e])},tr=(Ze("Array","at"),TypeError),er=function(t,e){if(!delete t[e])throw new tr("Cannot delete property "+Y(e)+" of "+Y(t))},rr=Math.min,nr=[].copyWithin||function(t,e){var r=it(this),n=de(r),o=he(t,n),i=he(e,n),a=arguments.length>2?arguments[2]:void 0,u=rr((void 0===a?n:he(a,n))-i,n-o),s=1;for(i0;)i in r?r[o]=r[i]:er(r,o),o+=s,i+=s;return r};Ce({target:"Array",proto:!0},{copyWithin:nr}),Qe("copyWithin"),Ze("Array","copyWithin"),Ce({target:"Array",proto:!0},{fill:function(t){for(var e=it(this),r=de(e),n=arguments.length,o=he(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:he(i,r);a>o;)e[o++]=t;return e}}),Qe("fill"),Ze("Array","fill");var or=function(t){if("Function"===E(t))return b(t)},ir=or(or.bind),ar=function(t,e){return J(t),void 0===e?t:s?ir(t,e):function(){return t.apply(e,arguments)}},ur=Array.isArray||function(t){return"Array"===E(t)},sr={};sr[dt("toStringTag")]="z";var cr="[object z]"===String(sr),fr=dt("toStringTag"),lr=Object,hr="Arguments"===E(function(){return arguments}()),pr=cr?E:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=lr(t),fr))?r:hr?E(e):"Object"===(n=E(e))&&T(e.callee)?"Arguments":n},vr=function(){},dr=L("Reflect","construct"),gr=/^\s*(?:class|function)\b/,yr=b(gr.exec),mr=!gr.test(vr),br=function(t){if(!T(t))return!1;try{return dr(vr,[],t),!0}catch(t){return!1}},wr=function(t){if(!T(t))return!1;switch(pr(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return mr||!!yr(gr,Kt(t))}catch(t){return!0}};wr.sham=!0;var Sr=!dr||a(function(){var t;return br(br.call)||!br(Object)||!br(function(){t=!0})||t})?wr:br,Er=dt("species"),Or=Array,xr=function(t,e){return new(function(t){var e;return ur(t)&&(Sr(e=t.constructor)&&(e===Or||ur(e.prototype))||M(e)&&null===(e=e[Er]))&&(e=void 0),void 0===e?Or:e}(t))(0===e?0:e)},Rr=b([].push),Pr=function(t){var e=1===t,r=2===t,n=3===t,o=4===t,i=6===t,a=7===t,u=5===t||i;return function(s,c,f,l){for(var h,p,v=it(s),d=R(v),g=de(d),y=ar(c,f),m=0,b=l||xr,w=e?b(s,g):r||a?b(s,0):void 0;g>m;m++)if((u||m in d)&&(p=y(h=d[m],m,v),t))if(e)w[m]=p;else if(p)switch(t){case 3:return!0;case 5:return h;case 6:return m;case 2:Rr(w,h)}else switch(t){case 4:return!1;case 7:Rr(w,h)}return i?-1:n||o?o:w}},Ar={forEach:Pr(0),map:Pr(1),filter:Pr(2),some:Pr(3),every:Pr(4),find:Pr(5),findIndex:Pr(6),filterReject:Pr(7)},jr=Ar.find,kr="find",Ir=!0;kr in[]&&Array(1)[kr](function(){Ir=!1}),Ce({target:"Array",proto:!0,forced:Ir},{find:function(t){return jr(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe(kr),Ze("Array","find");var Tr=Ar.findIndex,Mr="findIndex",Lr=!0;Mr in[]&&Array(1)[Mr](function(){Lr=!1}),Ce({target:"Array",proto:!0,forced:Lr},{findIndex:function(t){return Tr(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe(Mr),Ze("Array","findIndex");var Ur=TypeError,Nr=function(t){if(t>9007199254740991)throw Ur("Maximum allowed index exceeded");return t},Cr=function(t,e,r,n,o,i,a,u){for(var s,c,f=o,l=0,h=!!a&&ar(a,u);l0&&ur(s)?(c=de(s),f=Cr(t,e,s,c,f,i-1)-1):(Nr(f+1),t[f]=s),f++),l++;return f},_r=Cr;Ce({target:"Array",proto:!0},{flatMap:function(t){var e,r=it(this),n=de(r);return J(t),(e=xr(r,0)).length=_r(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),Qe("flatMap"),Ze("Array","flatMap"),Ce({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=it(this),r=de(e),n=xr(e,0);return n.length=_r(n,e,e,r,0,void 0===t?1:ce(t)),n}}),Qe("flat"),Ze("Array","flat");var Fr,Br,Dr,zr=String,Wr=function(t){if("Symbol"===pr(t))throw new TypeError("Cannot convert a Symbol value to a string");return zr(t)},qr=b("".charAt),Hr=b("".charCodeAt),$r=b("".slice),Kr=function(t){return function(e,r){var n,o,i=Wr(j(e)),a=ce(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=Hr(i,a))<55296||n>56319||a+1===u||(o=Hr(i,a+1))<56320||o>57343?t?qr(i,a):n:t?$r(i,a,a+2):o-56320+(n-55296<<10)+65536}},Gr={codeAt:Kr(!1),charAt:Kr(!0)},Vr=!a(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),Yr=Xt("IE_PROTO"),Xr=Object,Jr=Xr.prototype,Qr=Vr?Xr.getPrototypeOf:function(t){var e=it(t);if(ut(e,Yr))return e[Yr];var r=e.constructor;return T(r)&&e instanceof r?r.prototype:e instanceof Xr?Jr:null},Zr=dt("iterator"),tn=!1;[].keys&&("next"in(Dr=[].keys())?(Br=Qr(Qr(Dr)))!==Object.prototype&&(Fr=Br):tn=!0);var en=!M(Fr)||a(function(){var t={};return Fr[Zr].call(t)!==t});en&&(Fr={}),T(Fr[Zr])||ie(Fr,Zr,function(){return this});var rn={IteratorPrototype:Fr,BUGGY_SAFARI_ITERATORS:tn},nn=Ct.f,on=dt("toStringTag"),an=function(t,e,r){t&&!r&&(t=t.prototype),t&&!ut(t,on)&&nn(t,on,{configurable:!0,value:e})},un={},sn=rn.IteratorPrototype,cn=function(){return this},fn=function(t,e,r,n){var o=e+" Iterator";return t.prototype=Ve(sn,{next:d(+!n,r)}),an(t,o,!1),un[o]=cn,t},ln=function(t,e,r){try{return b(J(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}},hn=String,pn=TypeError,vn=function(t){if(function(t){return M(t)||null===t}(t))return t;throw new pn("Can't set "+hn(t)+" as a prototype")},dn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=ln(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return j(r),vn(n),M(r)?(e?t(r,n):r.__proto__=n,r):r}}():void 0),gn=zt.PROPER,yn=zt.CONFIGURABLE,mn=rn.IteratorPrototype,bn=rn.BUGGY_SAFARI_ITERATORS,wn=dt("iterator"),Sn="keys",En="values",On="entries",xn=function(){return this},Rn=function(t,e,r,n,o,i,a){fn(r,e,n);var u,s,c,l=function(t){if(t===o&&g)return g;if(!bn&&t&&t in v)return v[t];switch(t){case Sn:case En:case On:return function(){return new r(this,t)}}return function(){return new r(this)}},h=e+" Iterator",p=!1,v=t.prototype,d=v[wn]||v["@@iterator"]||o&&v[o],g=!bn&&d||l(o),y="Array"===e&&v.entries||d;if(y&&(u=Qr(y.call(new t)))!==Object.prototype&&u.next&&(Qr(u)!==mn&&(dn?dn(u,mn):T(u[wn])||ie(u,wn,xn)),an(u,h,!0)),gn&&o===En&&d&&d.name!==En&&(yn?_t(v,"name",En):(p=!0,g=function(){return f(d,this)})),o)if(s={values:l(En),keys:i?g:l(Sn),entries:l(On)},a)for(c in s)(bn||p||!(c in v))&&ie(v,c,s[c]);else Ce({target:e,proto:!0,forced:bn||p},s);return v[wn]!==g&&ie(v,wn,g,{name:o}),un[e]=g,s},Pn=function(t,e){return{value:t,done:e}},An=Gr.charAt,jn="String Iterator",kn=ne.set,In=ne.getterFor(jn);Rn(String,"String",function(t){kn(this,{type:jn,string:Wr(t),index:0})},function(){var t,e=In(this),r=e.string,n=e.index;return n>=r.length?Pn(void 0,!0):(t=An(r,n),e.index+=t.length,Pn(t,!1))});var Tn=function(t,e,r){var n,o;kt(t);try{if(!(n=Q(t,"return"))){if("throw"===e)throw r;return r}n=f(n,t)}catch(t){o=!0,n=t}if("throw"===e)throw r;if(o)throw n;return kt(n),r},Mn=function(t,e,r,n){try{return n?e(kt(r)[0],r[1]):e(r)}catch(e){Tn(t,"throw",e)}},Ln=dt("iterator"),Un=Array.prototype,Nn=function(t){return void 0!==t&&(un.Array===t||Un[Ln]===t)},Cn=function(t,e,r){u?Ct.f(t,e,d(0,r)):t[e]=r},_n=dt("iterator"),Fn=function(t){if(!P(t))return Q(t,_n)||Q(t,"@@iterator")||un[pr(t)]},Bn=TypeError,Dn=function(t,e){var r=arguments.length<2?Fn(t):e;if(J(r))return kt(f(r,t));throw new Bn(Y(t)+" is not iterable")},zn=Array,Wn=function(t){var e=it(t),r=Sr(this),n=arguments.length,o=n>1?arguments[1]:void 0,i=void 0!==o;i&&(o=ar(o,n>2?arguments[2]:void 0));var a,u,s,c,l,h,p=Fn(e),v=0;if(!p||this===zn&&Nn(p))for(a=de(e),u=r?new this(a):zn(a);a>v;v++)h=i?o(e[v],v):e[v],Cn(u,v,h);else for(u=r?new this:[],l=(c=Dn(e,p)).next;!(s=f(l,c)).done;v++)h=i?Mn(c,o,[s.value,v],!0):s.value,Cn(u,v,h);return u.length=v,u},qn=dt("iterator"),Hn=!1;try{var $n=0,Kn={next:function(){return{done:!!$n++}},return:function(){Hn=!0}};Kn[qn]=function(){return this},Array.from(Kn,function(){throw 2})}catch(t){}var Gn=function(t,e){try{if(!e&&!Hn)return!1}catch(t){return!1}var r=!1;try{var n={};n[qn]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},Vn=!Gn(function(t){Array.from(t)});Ce({target:"Array",stat:!0,forced:Vn},{from:Wn});var Yn=i,Xn=ye.includes,Jn=a(function(){return!Array(1).includes()});Ce({target:"Array",proto:!0,forced:Jn},{includes:function(t){return Xn(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe("includes"),Ze("Array","includes");var Qn=Ct.f,Zn="Array Iterator",to=ne.set,eo=ne.getterFor(Zn),ro=Rn(Array,"Array",function(t,e){to(this,{type:Zn,target:k(t),index:0,kind:e})},function(){var t=eo(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,Pn(void 0,!0);switch(t.kind){case"keys":return Pn(r,!1);case"values":return Pn(e[r],!1)}return Pn([r,e[r]],!1)},"values"),no=un.Arguments=un.Array;if(Qe("keys"),Qe("values"),Qe("entries"),u&&"values"!==no.name)try{Qn(no,"name",{value:"values"})}catch(t){}cr||ie(Object.prototype,"toString",cr?{}.toString:function(){return"[object "+pr(this)+"]"},{unsafe:!0}),Ze("Array","values");var oo=Array,io=a(function(){function t(){}return!(oo.of.call(t)instanceof t)});Ce({target:"Array",stat:!0,forced:io},{of:function(){for(var t=0,e=arguments.length,r=new(Sr(this)?this:oo)(e);e>t;)Cn(r,t,arguments[t++]);return r.length=e,r}});var ao=dt("hasInstance"),uo=Function.prototype;ao in uo||Ct.f(uo,ao,{value:oe(function(t){if(!T(this)||!M(t))return!1;var e=this.prototype;return M(e)?U(e,t):t instanceof this},ao)}),dt("hasInstance");var so=function(t,e,r){return r.get&&oe(r.get,e,{getter:!0}),r.set&&oe(r.set,e,{setter:!0}),Ct.f(t,e,r)},co=zt.EXISTS,fo=Function.prototype,lo=b(fo.toString),ho=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,po=b(ho.exec);u&&!co&&so(fo,"name",{configurable:!0,get:function(){try{return po(ho,lo(this))[1]}catch(t){return""}}});var vo=b([].slice),go=Oe.f,yo="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],mo={f:function(t){return yo&&"Window"===E(t)?function(t){try{return go(t)}catch(t){return vo(yo)}}(t):go(k(t))}},bo=a(function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}),wo=Object.isExtensible,So=a(function(){wo(1)})||bo?function(t){return!!M(t)&&(!bo||"ArrayBuffer"!==E(t))&&(!wo||wo(t))}:wo,Eo=!a(function(){return Object.isExtensible(Object.preventExtensions({}))}),Oo=e(function(t){var e=Ct.f,r=!1,n=lt("meta"),o=0,i=function(t){e(t,n,{value:{objectID:"O"+o++,weakData:{}}})},a=t.exports={enable:function(){a.enable=function(){},r=!0;var t=Oe.f,e=b([].splice),o={};o[n]=1,t(o).length&&(Oe.f=function(r){for(var o=t(r),i=0,a=o.length;ii;i++)if((u=y(t[i]))&&U(Po,u))return u;return new Ro(!1)}n=Dn(t,o)}for(s=h?t.next:n.next;!(c=f(s,n)).done;){try{u=y(c.value)}catch(t){Tn(n,"throw",t)}if("object"==typeof u&&u&&U(Po,u))return u}return new Ro(!1)},jo=TypeError,ko=function(t,e){if(U(e,t))return t;throw new jo("Incorrect invocation")},Io=function(t,e,r){var n,o;return dn&&T(n=e.constructor)&&n!==r&&M(o=n.prototype)&&o!==r.prototype&&dn(t,o),t},To=function(t,e,r){var n=-1!==t.indexOf("Map"),o=-1!==t.indexOf("Weak"),u=n?"set":"add",s=i[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=b(c[t]);ie(c,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(o&&!M(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return o&&!M(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(o&&!M(t))&&e(this,0===t?0:t)}:function(t,r){return e(this,0===t?0:t,r),this})};if(Ue(t,!T(s)||!(o||c.forEach&&!a(function(){(new s).entries().next()}))))f=r.getConstructor(e,t,n,u),Oo.enable();else if(Ue(t,!0)){var p=new f,v=p[u](o?{}:-0,1)!==p,d=a(function(){p.has(1)}),g=Gn(function(t){new s(t)}),y=!o&&a(function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)});g||((f=e(function(t,e){ko(t,c);var r=Io(new s,t,f);return P(e)||Ao(e,r[u],{that:r,AS_ENTRIES:n}),r})).prototype=c,c.constructor=f),(d||y)&&(h("delete"),h("has"),n&&h("get")),(y||v)&&h(u),o&&c.clear&&delete c.clear}return l[t]=f,Ce({global:!0,constructor:!0,forced:f!==s},l),an(f,t),o||r.setStrong(f,t,n),f},Mo=function(t,e,r){for(var n in e)ie(t,n,e[n],r);return t},Lo=dt("species"),Uo=function(t){var e=L(t);u&&e&&!e[Lo]&&so(e,Lo,{configurable:!0,get:function(){return this}})},No=Oo.fastKey,Co=ne.set,_o=ne.getterFor,Fo={getConstructor:function(t,e,r,n){var o=t(function(t,o){ko(t,i),Co(t,{type:e,index:Ve(null),first:null,last:null,size:0}),u||(t.size=0),P(o)||Ao(o,t[n],{that:t,AS_ENTRIES:r})}),i=o.prototype,a=_o(e),s=function(t,e,r){var n,o,i=a(t),s=c(t,e);return s?s.value=r:(i.last=s={index:o=No(e,!0),key:e,value:r,previous:n=i.last,next:null,removed:!1},i.first||(i.first=s),n&&(n.next=s),u?i.size++:t.size++,"F"!==o&&(i.index[o]=s)),t},c=function(t,e){var r,n=a(t),o=No(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key===e)return r};return Mo(i,{clear:function(){for(var t=a(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=null),e=e.next;t.first=t.last=null,t.index=Ve(null),u?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=c(e,t);if(n){var o=n.next,i=n.previous;delete r.index[n.index],n.removed=!0,i&&(i.next=o),o&&(o.previous=i),r.first===n&&(r.first=o),r.last===n&&(r.last=i),u?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=ar(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!c(this,t)}}),Mo(i,r?{get:function(t){var e=c(this,t);return e&&e.value},set:function(t,e){return s(this,0===t?0:t,e)}}:{add:function(t){return s(this,t=0===t?0:t,t)}}),u&&so(i,"size",{configurable:!0,get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=_o(e),i=_o(n);Rn(t,e,function(t,e){Co(this,{type:n,target:t,state:o(t),kind:e,last:null})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?Pn("keys"===e?r.key:"values"===e?r.value:[r.key,r.value],!1):(t.target=null,Pn(void 0,!0))},r?"entries":"values",!r,!0),Uo(e)}};To("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Fo);var Bo=Map.prototype,Do={Map:Map,set:b(Bo.set),get:b(Bo.get),has:b(Bo.has),remove:b(Bo.delete),proto:Bo},zo=Do.Map,Wo=Do.has,qo=Do.get,Ho=Do.set,$o=b([].push),Ko=a(function(){return 1!==zo.groupBy("ab",function(t){return t}).get("a").length});Ce({target:"Map",stat:!0,forced:Ko},{groupBy:function(t,e){j(t),J(e);var r=new zo,n=0;return Ao(t,function(t){var o=e(t,n++);Wo(r,o)?$o(qo(r,o),t):Ho(r,o,[t])}),r}});var Go={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Vo=Et("span").classList,Yo=Vo&&Vo.constructor&&Vo.constructor.prototype,Xo=Yo===Object.prototype?void 0:Yo,Jo=dt("iterator"),Qo=ro.values,Zo=function(t,e){if(t){if(t[Jo]!==Qo)try{_t(t,Jo,Qo)}catch(e){t[Jo]=Qo}if(an(t,e,!0),Go[e])for(var r in ro)if(t[r]!==ro[r])try{_t(t,r,ro[r])}catch(e){t[r]=ro[r]}}};for(var ti in Go)Zo(i[ti]&&i[ti].prototype,ti);Zo(Xo,"DOMTokenList");var ei=function(t,e,r){return function(n){var o=it(n),i=arguments.length,a=i>1?arguments[1]:void 0,u=void 0!==a,s=u?ar(a,i>2?arguments[2]:void 0):void 0,c=new t,f=0;return Ao(o,function(t){var n=u?s(t,f++):t;r?e(c,kt(n)[0],n[1]):e(c,n)}),c}};Ce({target:"Map",stat:!0,forced:!0},{from:ei(Do.Map,Do.set,!0)});var ri=function(t,e,r){return function(){for(var n=new t,o=arguments.length,i=0;i1?arguments[1]:void 0);return!1!==di(e,function(t,n){if(!r(t,n,e))return!1},!0)}});var gi=Do.Map,yi=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new gi;return di(e,function(t,o){r(t,o,e)&&yi(n,o,t)}),n}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{find:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=di(e,function(t,n){if(r(t,n,e))return{value:t}},!0);return n&&n.value}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=di(e,function(t,n){if(r(t,n,e))return{key:n}},!0);return n&&n.key}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(t){return!0===di(oi(this),function(e){if((r=e)===(n=t)||r!=r&&n!=n)return!0;var r,n},!0)}});var mi=Do.Map;Ce({target:"Map",stat:!0,forced:!0},{keyBy:function(t,e){var r=new(T(this)?this:mi);J(e);var n=J(r.set);return Ao(t,function(t){f(n,r,e(t),t)}),r}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(t){var e=di(oi(this),function(e,r){if(e===t)return{key:r}},!0);return e&&e.key}});var bi=Do.Map,wi=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new bi;return di(e,function(t,o){wi(n,r(t,o,e),t)}),n}});var Si=Do.Map,Ei=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new Si;return di(e,function(t,o){Ei(n,o,r(t,o,e))}),n}});var Oi=Do.set;Ce({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(t){for(var e=oi(this),r=arguments.length,n=0;n1?arguments[1]:void 0);return!0===di(e,function(t,n){if(r(t,n,e))return!0},!0)}});var Ri=TypeError,Pi=Do.get,Ai=Do.has,ji=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{update:function(t,e){var r=oi(this),n=arguments.length;J(e);var o=Ai(r,t);if(!o&&n<3)throw new Ri("Updating absent value");var i=o?Pi(r,t):J(n>2?arguments[2]:void 0)(t,r);return ji(r,t,e(i,t,r)),r}});var ki=TypeError,Ii=function(t,e){var r,n=kt(this),o=J(n.get),i=J(n.has),a=J(n.set),u=arguments.length>2?arguments[2]:void 0;if(!T(e)&&!T(u))throw new ki("At least one callback required");return f(i,n,t)?(r=f(o,n,t),T(e)&&(r=e(r),f(a,n,t,r))):T(u)&&(r=u(),f(a,n,t,r)),r};Ce({target:"Map",proto:!0,real:!0,forced:!0},{upsert:Ii}),Ce({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:Ii});var Ti=b(1..valueOf),Mi="\t\n\v\f\r    â€â€‚         âŸã€€\u2028\u2029\ufeff",Li=b("".replace),Ui=RegExp("^["+Mi+"]+"),Ni=RegExp("(^|[^"+Mi+"])["+Mi+"]+$"),Ci=function(t){return function(e){var r=Wr(j(e));return 1&t&&(r=Li(r,Ui,"")),2&t&&(r=Li(r,Ni,"$1")),r}},_i={start:Ci(1),end:Ci(2),trim:Ci(3)},Fi=Oe.f,Bi=Rt.f,Di=Ct.f,zi=_i.trim,Wi="Number",qi=i[Wi],Hi=qi.prototype,$i=i.TypeError,Ki=b("".slice),Gi=b("".charCodeAt),Vi=Ue(Wi,!qi(" 0o1")||!qi("0b1")||qi("+0x1")),Yi=function(t){var e,r=arguments.length<1?0:qi(function(t){var e=mt(t,"number");return"bigint"==typeof e?e:function(t){var e,r,n,o,i,a,u,s,c=mt(t,"number");if(G(c))throw new $i("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=zi(c),43===(e=Gi(c,0))||45===e){if(88===(r=Gi(c,2))||120===r)return NaN}else if(48===e){switch(Gi(c,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=Ki(c,2)).length,u=0;uo)return NaN;return parseInt(i,n)}return+c}(e)}(t));return U(Hi,e=this)&&a(function(){Ti(e)})?Io(Object(r),this,Yi):r};Yi.prototype=Hi,Vi&&(Hi.constructor=Yi),Ce({global:!0,constructor:!0,wrap:!0,forced:Vi},{Number:Yi}),Vi&&function(t,e){for(var r,n=u?Fi(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;n.length>o;o++)ut(e,r=n[o])&&!ut(t,r)&&Di(t,r,Bi(e,r))}(Yn[Wi],qi),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)});var Xi=i.isFinite;Ce({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Xi(t)}});var Ji=Math.floor,Qi=Number.isInteger||function(t){return!M(t)&&isFinite(t)&&Ji(t)===t};Ce({target:"Number",stat:!0},{isInteger:Qi}),Ce({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Zi=Math.abs;Ce({target:"Number",stat:!0},{isSafeInteger:function(t){return Qi(t)&&Zi(t)<=9007199254740991}}),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991}),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991});var ta=_i.trim,ea=b("".charAt),ra=i.parseFloat,na=i.Symbol,oa=na&&na.iterator,ia=1/ra(Mi+"-0")!=-Infinity||oa&&!a(function(){ra(Object(oa))})?function(t){var e=ta(Wr(t)),r=ra(e);return 0===r&&"-"===ea(e,0)?-0:r}:ra;Ce({target:"Number",stat:!0,forced:Number.parseFloat!==ia},{parseFloat:ia});var aa=_i.trim,ua=i.parseInt,sa=i.Symbol,ca=sa&&sa.iterator,fa=/^[+-]?0x/i,la=b(fa.exec),ha=8!==ua(Mi+"08")||22!==ua(Mi+"0x16")||ca&&!a(function(){ua(Object(ca))})?function(t,e){var r=aa(Wr(t));return ua(r,e>>>0||(la(fa,r)?16:10))}:ua;Ce({target:"Number",stat:!0,forced:Number.parseInt!==ha},{parseInt:ha});var pa=b(v.f),va=b([].push),da=u&&a(function(){var t=Object.create(null);return t[2]=2,!pa(t,2)}),ga=function(t){return function(e){for(var r,n=k(e),o=_e(n),i=da&&null===Qr(n),a=o.length,s=0,c=[];a>s;)r=o[s++],u&&!(i?r in n:pa(n,r))||va(c,t?[r,n[r]]:n[r]);return c}},ya={entries:ga(!0),values:ga(!1)},ma=ya.entries;Ce({target:"Object",stat:!0},{entries:function(t){return ma(t)}}),Ce({target:"Object",stat:!0,sham:!u},{getOwnPropertyDescriptors:function(t){for(var e,r,n=k(t),o=Rt.f,i=Pe(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&Cn(a,e,r);return a}});var ba=a(function(){_e(1)});Ce({target:"Object",stat:!0,forced:ba},{keys:function(t){return _e(it(t))}});var wa=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Ce({target:"Object",stat:!0},{is:wa});var Sa=ya.values;Ce({target:"Object",stat:!0},{values:function(t){return Sa(t)}}),Ce({target:"Object",stat:!0},{hasOwn:ut});var Ea=Function.prototype,Oa=Ea.apply,xa=Ea.call,Ra="object"==typeof Reflect&&Reflect.apply||(s?xa.bind(Oa):function(){return xa.apply(Oa,arguments)}),Pa=!a(function(){Reflect.apply(function(){})});Ce({target:"Reflect",stat:!0,forced:Pa},{apply:function(t,e,r){return Ra(J(t),e,kt(r))}});var Aa=Function,ja=b([].concat),ka=b([].join),Ia={},Ta=s?Aa.bind:function(t){var e=J(this),r=e.prototype,n=vo(arguments,1),o=function(){var r=ja(n,vo(arguments));return this instanceof o?function(t,e,r){if(!ut(Ia,e)){for(var n=[],o=0;ob)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")}),gs=Oe.f,ys=ne.enforce,ms=dt("match"),bs=i.RegExp,ws=bs.prototype,Ss=i.SyntaxError,Es=b(ws.exec),Os=b("".charAt),xs=b("".replace),Rs=b("".indexOf),Ps=b("".slice),As=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,js=/a/g,ks=/a/g,Is=new bs(js)!==js,Ts=cs.MISSED_STICKY,Ms=cs.UNSUPPORTED_Y,Ls=u&&(!Is||Ts||ps||ds||a(function(){return ks[ms]=!1,bs(js)!==js||bs(ks)===ks||"/a/i"!==String(bs(js,"i"))}));if(Ue("RegExp",Ls)){for(var Us=function(t,e){var r,n,o,i,a,u,s=U(ws,this),c=es(t),f=void 0===e,l=[],h=t;if(!s&&c&&f&&t.constructor===Us)return t;if((c||U(ws,t))&&(t=t.source,f&&(e=os(h))),t=void 0===t?"":Wr(t),e=void 0===e?"":Wr(e),h=t,ps&&"dotAll"in js&&(n=!!e&&Rs(e,"s")>-1)&&(e=xs(e,/s/g,"")),r=e,Ts&&"sticky"in js&&(o=!!e&&Rs(e,"y")>-1)&&Ms&&(e=xs(e,/y/g,"")),ds&&(i=function(t){for(var e,r=t.length,n=0,o="",i=[],a=Ve(null),u=!1,s=!1,c=0,f="";n<=r;n++){if("\\"===(e=Os(t,n)))e+=Os(t,++n);else if("]"===e)u=!1;else if(!u)switch(!0){case"["===e:u=!0;break;case"("===e:if(o+=e,"?:"===Ps(t,n+1,n+3))continue;Es(As,Ps(t,n+1))&&(n+=2,s=!0),c++;continue;case">"===e&&s:if(""===f||ut(a,f))throw new Ss("Invalid capture group name");a[f]=!0,i[i.length]=[f,c],s=!1,f="";continue}s?f+=e:o+=e}return[o,i]}(t),t=i[0],l=i[1]),a=Io(bs(t,e),s?this:ws,Us),(n||o||l.length)&&(u=ys(a),n&&(u.dotAll=!0,u.raw=Us(function(t){for(var e,r=t.length,n=0,o="",i=!1;n<=r;n++)"\\"!==(e=Os(t,n))?i||"."!==e?("["===e?i=!0:"]"===e&&(i=!1),o+=e):o+="[\\s\\S]":o+=e+Os(t,++n);return o}(t),r)),o&&(u.sticky=!0),l.length&&(u.groups=l)),t!==h)try{_t(a,"source",""===h?"(?:)":h)}catch(t){}return a},Ns=gs(bs),Cs=0;Ns.length>Cs;)ls(Us,bs,Ns[Cs++]);ws.constructor=Us,Us.prototype=ws,ie(i,"RegExp",Us,{constructor:!0})}Uo("RegExp");var _s=zt.PROPER,Fs="toString",Bs=RegExp.prototype,Ds=Bs[Fs];(a(function(){return"/a/b"!==Ds.call({source:"a",flags:"b"})})||_s&&Ds.name!==Fs)&&ie(Bs,Fs,function(){var t=kt(this);return"/"+Wr(t.source)+"/"+Wr(os(t))},{unsafe:!0});var zs=ne.get,Ws=RegExp.prototype,qs=TypeError;u&&ps&&so(Ws,"dotAll",{configurable:!0,get:function(){if(this!==Ws){if("RegExp"===E(this))return!!zs(this).dotAll;throw new qs("Incompatible receiver, RegExp required")}}});var Hs=ne.get,$s=nt("native-string-replace",String.prototype.replace),Ks=RegExp.prototype.exec,Gs=Ks,Vs=b("".charAt),Ys=b("".indexOf),Xs=b("".replace),Js=b("".slice),Qs=function(){var t=/a/,e=/b*/g;return f(Ks,t,"a"),f(Ks,e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Zs=cs.BROKEN_CARET,tc=void 0!==/()??/.exec("")[1];(Qs||tc||Zs||ps||ds)&&(Gs=function(t){var e,r,n,o,i,a,u,s=this,c=Hs(s),l=Wr(t),h=c.raw;if(h)return h.lastIndex=s.lastIndex,e=f(Gs,h,l),s.lastIndex=h.lastIndex,e;var p=c.groups,v=Zs&&s.sticky,d=f(rs,s),g=s.source,y=0,m=l;if(v&&(d=Xs(d,"y",""),-1===Ys(d,"g")&&(d+="g"),m=Js(l,s.lastIndex),s.lastIndex>0&&(!s.multiline||s.multiline&&"\n"!==Vs(l,s.lastIndex-1))&&(g="(?: "+g+")",m=" "+m,y++),r=new RegExp("^(?:"+g+")",d)),tc&&(r=new RegExp("^"+g+"$(?!\\s)",d)),Qs&&(n=s.lastIndex),o=f(Ks,v?r:s,m),v?o?(o.input=Js(o.input,y),o[0]=Js(o[0],y),o.index=s.lastIndex,s.lastIndex+=o[0].length):s.lastIndex=0:Qs&&o&&(s.lastIndex=s.global?o.index+o[0].length:n),tc&&o&&o.length>1&&f($s,o[0],r,function(){for(i=1;i]*>)/g,Oc=/\$([$&'`]|\d{1,2})/g,xc=function(t,e,r,n,o,i){var a=r+t.length,u=n.length,s=Oc;return void 0!==o&&(o=it(o),s=Ec),wc(i,s,function(i,s){var c;switch(bc(s,0)){case"$":return"$";case"&":return t;case"`":return Sc(e,0,r);case"'":return Sc(e,a);case"<":c=o[Sc(s,1,-1)];break;default:var f=+s;if(0===f)return i;if(f>u){var l=mc(f/10);return 0===l?i:l<=u?void 0===n[l-1]?bc(s,1):n[l-1]+bc(s,1):i}c=n[f-1]}return void 0===c?"":c})},Rc=dt("replace"),Pc=Math.max,Ac=Math.min,jc=b([].concat),kc=b([].push),Ic=b("".indexOf),Tc=b("".slice),Mc="$0"==="a".replace(/./,"$0"),Lc=!!/./[Rc]&&""===/./[Rc]("a","$0"),Uc=!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")});pc("replace",function(t,e,r){var n=Lc?"$":"$0";return[function(t,r){var n=j(this),o=P(t)?void 0:Q(t,Rc);return o?f(o,t,n,r):f(e,Wr(n),t,r)},function(t,o){var i=kt(this),a=Wr(t);if("string"==typeof o&&-1===Ic(o,n)&&-1===Ic(o,"$<")){var u=r(e,i,a,o);if(u.done)return u.value}var s=T(o);s||(o=Wr(o));var c,f=i.global;f&&(c=i.unicode,i.lastIndex=0);for(var l,h=[];null!==(l=yc(i,a))&&(kc(h,l),f);)""===Wr(l[0])&&(i.lastIndex=dc(a,ve(i.lastIndex),c));for(var p,v="",d=0,g=0;g=d&&(v+=Tc(a,d,b)+y,d=b+m.length)}return v+Tc(a,d)}]},!Uc||!Mc||Lc),pc("search",function(t,e,r){return[function(e){var r=j(this),n=P(e)?void 0:Q(e,t);return n?f(n,e,r):new RegExp(e)[t](Wr(r))},function(t){var n=kt(this),o=Wr(t),i=r(e,n,o);if(i.done)return i.value;var a=n.lastIndex;wa(a,0)||(n.lastIndex=0);var u=yc(n,o);return wa(n.lastIndex,a)||(n.lastIndex=a),null===u?-1:u.index}]});var Nc=dt("species"),Cc=function(t,e){var r,n=kt(t).constructor;return void 0===n||P(r=kt(n)[Nc])?e:La(r)},_c=cs.UNSUPPORTED_Y,Fc=Math.min,Bc=b([].push),Dc=b("".slice),zc=!a(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),Wc="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;pc("split",function(t,e,r){var n="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:f(e,this,t,r)}:e;return[function(e,r){var o=j(this),i=P(e)?void 0:Q(e,t);return i?f(i,e,o,r):f(n,Wr(o),e,r)},function(t,o){var i=kt(this),a=Wr(t);if(!Wc){var u=r(n,i,a,o,n!==e);if(u.done)return u.value}var s=Cc(i,RegExp),c=i.unicode,f=new s(_c?"^(?:"+i.source+")":i,(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(_c?"g":"y")),l=void 0===o?4294967295:o>>>0;if(0===l)return[];if(0===a.length)return null===yc(f,a)?[a]:[];for(var h=0,p=0,v=[];p0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},Kc=b($c),Gc=b("".slice),Vc=Math.ceil,Yc=function(t){return function(e,r,n){var o,i,a=Wr(j(e)),u=ve(r),s=a.length,c=void 0===n?" ":Wr(n);return u<=s||""===c?a:((i=Kc(c,Vc((o=u-s)/c.length))).length>o&&(i=Gc(i,0,o)),t?a+i:i+a)}},Xc={start:Yc(!1),end:Yc(!0)},Jc=Xc.start,Qc=Array,Zc=RegExp.escape,tf=b("".charAt),ef=b("".charCodeAt),rf=b(1.1.toString),nf=b([].join),of=/^[0-9a-z]/i,af=/^[$()*+./?[\\\]^{|}]/,uf=RegExp("^[!\"#%&',\\-:;<=>@`~"+Mi+"]"),sf=b(of.exec),cf={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},ff=function(t){var e=rf(ef(t,0),16);return e.length<3?"\\x"+Jc(e,2,"0"):"\\u"+Jc(e,4,"0")},lf=!Zc||"\\x61b"!==Zc("ab");Ce({target:"RegExp",stat:!0,forced:lf},{escape:function(t){!function(t){if("string"==typeof t)return t;throw new qc("Argument is not a string")}(t);for(var e=t.length,r=Qc(e),n=0;n=56320||n+1>=e||56320!=(64512&ef(t,n+1))?r[n]=ff(o):(r[n]=o,r[++n]=tf(t,n))}}return nf(r,"")}}),To("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Fo);var hf=Set.prototype,pf={Set:Set,add:b(hf.add),has:b(hf.has),remove:b(hf.delete),proto:hf},vf=pf.has,df=function(t){return vf(t),t},gf=pf.Set,yf=pf.proto,mf=b(yf.forEach),bf=b(yf.keys),wf=bf(new gf).next,Sf=function(t,e,r){return r?ci({iterator:bf(t),next:wf},e):mf(t,e)},Ef=pf.Set,Of=pf.add,xf=function(t){var e=new Ef;return Sf(t,function(t){Of(e,t)}),e},Rf=ln(pf.proto,"size","get")||function(t){return t.size},Pf="Invalid size",Af=RangeError,jf=TypeError,kf=Math.max,If=function(t,e){this.set=t,this.size=kf(e,0),this.has=J(t.has),this.keys=J(t.keys)};If.prototype={getIterator:function(){return{iterator:t=kt(f(this.keys,this.set)),next:t.next,done:!1};var t},includes:function(t){return f(this.has,this.set,t)}};var Tf=function(t){kt(t);var e=+t.size;if(e!=e)throw new jf(Pf);var r=ce(e);if(r<0)throw new Af(Pf);return new If(t,r)},Mf=pf.has,Lf=pf.remove,Uf=function(t){var e=df(this),r=Tf(t),n=xf(e);return Rf(e)<=r.size?Sf(e,function(t){r.includes(t)&&Lf(n,t)}):ci(r.getIterator(),function(t){Mf(e,t)&&Lf(n,t)}),n},Nf=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},Cf=function(t){var e=L("Set");try{(new e)[t](Nf(0));try{return(new e)[t](Nf(-1)),!1}catch(t){return!0}}catch(t){return!1}};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("difference")},{difference:Uf});var _f=pf.Set,Ff=pf.add,Bf=pf.has,Df=function(t){var e=df(this),r=Tf(t),n=new _f;return Rf(e)>r.size?ci(r.getIterator(),function(t){Bf(e,t)&&Ff(n,t)}):Sf(e,function(t){r.includes(t)&&Ff(n,t)}),n},zf=!Cf("intersection")||a(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))});Ce({target:"Set",proto:!0,real:!0,forced:zf},{intersection:Df});var Wf=pf.has,qf=function(t){var e=df(this),r=Tf(t);if(Rf(e)<=r.size)return!1!==Sf(e,function(t){if(r.includes(t))return!1},!0);var n=r.getIterator();return!1!==ci(n,function(t){if(Wf(e,t))return Tn(n,"normal",!1)})};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isDisjointFrom")},{isDisjointFrom:qf});var Hf=function(t){var e=df(this),r=Tf(t);return!(Rf(e)>r.size)&&!1!==Sf(e,function(t){if(!r.includes(t))return!1},!0)};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isSubsetOf")},{isSubsetOf:Hf});var $f=pf.has,Kf=function(t){var e=df(this),r=Tf(t);if(Rf(e)1?arguments[1]:void 0);return!1!==Sf(e,function(t){if(!r(t,t,e))return!1},!0)}});var el=dt("iterator"),rl=Object,nl=L("Set"),ol=function(t){return function(t){return M(t)&&"number"==typeof t.size&&T(t.has)&&T(t.keys)}(t)?t:function(t){if(P(t))return!1;var e=rl(t);return void 0!==e[el]||"@@iterator"in e||ut(un,pr(e))}(t)?new nl(t):t};Ce({target:"Set",proto:!0,real:!0,forced:!0},{difference:function(t){return f(Uf,this,ol(t))}});var il=pf.Set,al=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new il;return Sf(e,function(t){r(t,t,e)&&al(n,t)}),n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{find:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=Sf(e,function(t){if(r(t,t,e))return{value:t}},!0);return n&&n.value}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(t){return f(Df,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(t){return f(qf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(t){return f(Hf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(t){return f(Kf,this,ol(t))}});var ul=b([].join),sl=b([].push);Ce({target:"Set",proto:!0,real:!0,forced:!0},{join:function(t){var e=df(this),r=void 0===t?",":Wr(t),n=[];return Sf(e,function(t){sl(n,t)}),ul(n,r)}});var cl=pf.Set,fl=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{map:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new cl;return Sf(e,function(t){fl(n,r(t,t,e))}),n}});var ll=TypeError;Ce({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(t){var e=df(this),r=arguments.length<2,n=r?void 0:arguments[1];if(J(t),Sf(e,function(o){r?(r=!1,n=o):n=t(n,o,o,e)}),r)throw new ll("Reduce of empty set with no initial value");return n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{some:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0);return!0===Sf(e,function(t){if(r(t,t,e))return!0},!0)}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(t){return f(Xf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{union:function(t){return f(Qf,this,ol(t))}});var hl=dt("species"),pl=dt("isConcatSpreadable"),vl=W>=51||!a(function(){var t=[];return t[pl]=!1,t.concat()[0]!==t}),dl=function(t){if(!M(t))return!1;var e=t[pl];return void 0!==e?!!e:ur(t)},gl=!(vl&&(W>=51||!a(function(){var t=[];return(t.constructor={})[hl]=function(){return{foo:1}},1!==t.concat(Boolean).foo})));Ce({target:"Array",proto:!0,arity:1,forced:gl},{concat:function(t){var e,r,n,o,i,a=it(this),u=xr(a,0),s=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0,n=e.length,o=void 0===r?n:ip(ve(r),n),i=Wr(t);return op(e,o-i.length,o)===i}}),Ze("String","endsWith");var sp=RangeError,cp=String.fromCharCode,fp=String.fromCodePoint,lp=b([].join);Ce({target:"String",stat:!0,arity:1,forced:!!fp&&1!==fp.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],he(e,1114111)!==e)throw new sp(e+" is not a valid code point");r[o]=e<65536?cp(e):cp(55296+((e-=65536)>>10),e%1024+56320)}return lp(r,"")}});var hp=b("".indexOf);Ce({target:"String",proto:!0,forced:!rp("includes")},{includes:function(t){return!!~hp(Wr(j(this)),Wr(tp(t)),arguments.length>1?arguments[1]:void 0)}}),Ze("String","includes"),b(un.String);var pp=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(_),vp=Xc.start;Ce({target:"String",proto:!0,forced:pp},{padStart:function(t){return vp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padStart");var dp=Xc.end;Ce({target:"String",proto:!0,forced:pp},{padEnd:function(t){return dp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padEnd");var gp=b([].push),yp=b([].join);Ce({target:"String",stat:!0},{raw:function(t){var e=k(it(t).raw),r=de(e);if(!r)return"";for(var n=arguments.length,o=[],i=0;;){if(gp(o,Wr(e[i++])),i===r)return yp(o,"");i1?arguments[1]:void 0,e.length)),n=Wr(t);return bp(e,r,r+n.length)===n}}),Ze("String","startsWith");var Op=zt.PROPER,xp=function(t){return a(function(){return!!Mi[t]()||"​…᠎"!=="​…᠎"[t]()||Op&&Mi[t].name!==t})},Rp=_i.start,Pp=xp("trimStart")?function(){return Rp(this)}:"".trimStart;Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Pp},{trimLeft:Pp}),Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Pp},{trimStart:Pp}),Ze("String","trimLeft");var Ap=_i.end,jp=xp("trimEnd")?function(){return Ap(this)}:"".trimEnd;Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==jp},{trimRight:jp}),Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==jp},{trimEnd:jp}),Ze("String","trimRight");var kp=Object.getOwnPropertyDescriptor,Ip=function(t){if(!u)return i[t];var e=kp(i,t);return e&&e.value},Tp=dt("iterator"),Mp=!a(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,r){e.delete("b"),n+=r+t}),r.delete("a",2),r.delete("b",void 0),!e.size&&!u||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Tp]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://теÑÑ‚").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}),Lp=TypeError,Up=function(t,e){if(t0;)t[o]=t[--o];o!==i++&&(t[o]=n)}else for(var a=Np(r/2),u=Cp(vo(t,0,a),e),s=Cp(vo(t,a),e),c=u.length,f=s.length,l=0,h=0;l0&&0!=(t&r);r>>=1)e++;return e},pv=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},vv=function(t){for(var e=(t=nv(t,cv," ")).length,r="",n=0;ne){r+="%",n++;continue}var i=lv(t,n+1);if(i!=i){r+=o,n++;continue}n+=2;var a=hv(i);if(0===a)o=Jp(i);else{if(1===a||a>4){r+="�",n++;continue}for(var u=[i],s=1;se||"%"!==tv(t,n));){var c=lv(t,n+1);if(c!=c){n+=3;break}if(c>191||c<128)break;rv(u,c),n+=2,s++}if(u.length!==a){r+="�";continue}var f=pv(u);null===f?r+="�":o=Qp(f)}}r+=o,n++}return r},dv=/[!'()~]|%20/g,gv={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},yv=function(t){return gv[t]},mv=function(t){return nv(Xp(t),dv,yv)},bv=fn(function(t,e){zp(this,{type:Dp,target:Wp(t).entries,index:0,kind:e})},Bp,function(){var t=qp(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,Pn(void 0,!0);var n=e[r];switch(t.kind){case"keys":return Pn(n.key,!1);case"values":return Pn(n.value,!1)}return Pn([n.key,n.value],!1)},!0),wv=function(t){this.entries=[],this.url=null,void 0!==t&&(M(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===tv(t,0)?uv(t,1):t:Wr(t)))};wv.prototype={type:Bp,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,o,i,a,u,s=this.entries,c=Fn(t);if(c)for(r=(e=Dn(t,c)).next;!(n=f(r,e)).done;){if(o=Dn(kt(n.value)),(a=f(i=o.next,o)).done||(u=f(i,o)).done||!f(i,o).done)throw new Yp("Expected sequence with length 2");rv(s,{key:Wr(a.value),value:Wr(u.value)})}else for(var l in t)ut(t,l)&&rv(s,{key:l,value:Wr(t[l])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,o=av(t,"&"),i=0;i0?arguments[0]:void 0));u||(this.size=t.entries.length)},Ev=Sv.prototype;if(Mo(Ev,{append:function(t,e){var r=Wp(this);Up(arguments.length,2),rv(r.entries,{key:Wr(t),value:Wr(e)}),u||this.length++,r.updateURL()},delete:function(t){for(var e=Wp(this),r=Up(arguments.length,1),n=e.entries,o=Wr(t),i=r<2?void 0:arguments[1],a=void 0===i?i:Wr(i),s=0;se.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,r=Wp(this).entries,n=ar(t,arguments.length>1?arguments[1]:void 0),o=0;o1?Rv(arguments[1]):{})}}),T($p)){var Pv=function(t){return ko(this,Gp),new $p(t,arguments.length>1?Rv(arguments[1]):{})};Gp.constructor=Pv,Pv.prototype=Gp,Ce({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Pv})}}var Av={URLSearchParams:Sv,getState:Wp},jv=URLSearchParams,kv=jv.prototype,Iv=b(kv.append),Tv=b(kv.delete),Mv=b(kv.forEach),Lv=b([].push),Uv=new jv("a=1&a=2&b=3");Uv.delete("a",1),Uv.delete("b",void 0),Uv+""!="a=2"&&ie(kv,"delete",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return Tv(this,t);var n=[];Mv(this,function(t,e){Lv(n,{key:e,value:t})}),Up(e,1);for(var o,i=Wr(t),a=Wr(r),u=0,s=0,c=!1,f=n.length;uo;)for(var s,c=R(arguments[o++]),l=i?$v(_e(c),i(c)):_e(c),h=l.length,p=0;h>p;)s=l[p++],u&&!f(a,c,s)||(r[s]=c[s]);return r}:qv,Gv=2147483647,Vv=/[^\0-\u007E]/,Yv=/[.\u3002\uFF0E\uFF61]/g,Xv="Overflow: input needs wider integers to process",Jv=RangeError,Qv=b(Yv.exec),Zv=Math.floor,td=String.fromCharCode,ed=b("".charCodeAt),rd=b([].join),nd=b([].push),od=b("".replace),id=b("".split),ad=b("".toLowerCase),ud=function(t){return t+22+75*(t<26)},sd=function(t,e,r){var n=0;for(t=r?Zv(t/700):t>>1,t+=Zv(t/e);t>455;)t=Zv(t/35),n+=36;return Zv(n+36*t/(t+38))},cd=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r=55296&&o<=56319&&r=i&&nZv((Gv-a)/l))throw new Jv(Xv);for(a+=(f-i)*l,i=f,r=0;rGv)throw new Jv(Xv);if(n===i){for(var h=a,p=36;;){var v=p<=u?1:p>=u+26?26:p-u;if(h?@[\\\]^|]/,qd=/[\0\t\n\r #/:<>?@[\\\]^|]/,Hd=/^[\u0000-\u0020]+/,$d=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Kd=/[\t\n\r]/g,Gd=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)Td(e,t%256),t=md(t/256);return Ed(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r?n:e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=Od(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},Vd={},Yd=Kv({},Vd,{" ":1,'"':1,"<":1,">":1,"`":1}),Xd=Kv({},Yd,{"#":1,"?":1,"{":1,"}":1}),Jd=Kv({},Xd,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Qd=function(t,e){var r=fd(t,0);return r>32&&r<127&&!ut(e,t)?t:encodeURIComponent(t)},Zd={ftp:21,file:null,http:80,https:443,ws:80,wss:443},tg=function(t,e){var r;return 2===t.length&&Sd(Nd,wd(t,0))&&(":"===(r=wd(t,1))||!e&&"|"===r)},eg=function(t){var e;return t.length>1&&tg(kd(t,0,2))&&(2===t.length||"/"===(e=wd(t,2))||"\\"===e||"?"===e||"#"===e)},rg=function(t){return"."===t||"%2e"===Id(t)},ng={},og={},ig={},ag={},ug={},sg={},cg={},fg={},lg={},hg={},pg={},vg={},dg={},gg={},yg={},mg={},bg={},wg={},Sg={},Eg={},Og={},xg=function(t,e,r){var n,o,i,a=Wr(t);if(e){if(o=this.parse(a))throw new gd(o);this.searchParams=null}else{if(void 0!==r&&(n=new xg(r,!0)),o=this.parse(a,null,n))throw new gd(o);(i=vd(new pd)).bindURL(this),this.searchParams=i}};xg.prototype={type:"URL",parse:function(t,e,r){var n,o,i,a,u,s=this,c=e||ng,f=0,l="",h=!1,p=!1,v=!1;for(t=Wr(t),e||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,t=Pd(t,Hd,""),t=Pd(t,$d,"$1")),t=Pd(t,Kd,""),n=Wn(t);f<=n.length;){switch(o=n[f],c){case ng:if(!o||!Sd(Nd,o)){if(e)return Md;c=ig;continue}l+=Id(o),c=og;break;case og:if(o&&(Sd(Cd,o)||"+"===o||"-"===o||"."===o))l+=Id(o);else{if(":"!==o){if(e)return Md;l="",c=ig,f=0;continue}if(e&&(s.isSpecial()!==ut(Zd,l)||"file"===l&&(s.includesCredentials()||null!==s.port)||"file"===s.scheme&&!s.host))return;if(s.scheme=l,e)return void(s.isSpecial()&&Zd[s.scheme]===s.port&&(s.port=null));l="","file"===s.scheme?c=gg:s.isSpecial()&&r&&r.scheme===s.scheme?c=ag:s.isSpecial()?c=fg:"/"===n[f+1]?(c=ug,f++):(s.cannotBeABaseURL=!0,Rd(s.path,""),c=Sg)}break;case ig:if(!r||r.cannotBeABaseURL&&"#"!==o)return Md;if(r.cannotBeABaseURL&&"#"===o){s.scheme=r.scheme,s.path=vo(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,c=Og;break}c="file"===r.scheme?gg:sg;continue;case ag:if("/"!==o||"/"!==n[f+1]){c=sg;continue}c=lg,f++;break;case ug:if("/"===o){c=hg;break}c=wg;continue;case sg:if(s.scheme=r.scheme,o===Wv)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query;else if("/"===o||"\\"===o&&s.isSpecial())c=cg;else if("?"===o)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query="",c=Eg;else{if("#"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.path.length--,c=wg;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og}break;case cg:if(!s.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,c=wg;continue}c=hg}else c=lg;break;case fg:if(c=lg,"/"!==o||"/"!==wd(l,f+1))continue;f++;break;case lg:if("/"!==o&&"\\"!==o){c=hg;continue}break;case hg:if("@"===o){h&&(l="%40"+l),h=!0,i=Wn(l);for(var d=0;d65535)return Ud;s.port=s.isSpecial()&&m===Zd[s.scheme]?null:m,l=""}if(e)return;c=bg;continue}return Ud}l+=o;break;case gg:if(s.scheme="file","/"===o||"\\"===o)c=yg;else{if(!r||"file"!==r.scheme){c=wg;continue}switch(o){case Wv:s.host=r.host,s.path=vo(r.path),s.query=r.query;break;case"?":s.host=r.host,s.path=vo(r.path),s.query="",c=Eg;break;case"#":s.host=r.host,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og;break;default:eg(Ed(vo(n,f),""))||(s.host=r.host,s.path=vo(r.path),s.shortenPath()),c=wg;continue}}break;case yg:if("/"===o||"\\"===o){c=mg;break}r&&"file"===r.scheme&&!eg(Ed(vo(n,f),""))&&(tg(r.path[0],!0)?Rd(s.path,r.path[0]):s.host=r.host),c=wg;continue;case mg:if(o===Wv||"/"===o||"\\"===o||"?"===o||"#"===o){if(!e&&tg(l))c=wg;else if(""===l){if(s.host="",e)return;c=bg}else{if(a=s.parseHost(l))return a;if("localhost"===s.host&&(s.host=""),e)return;l="",c=bg}continue}l+=o;break;case bg:if(s.isSpecial()){if(c=wg,"/"!==o&&"\\"!==o)continue}else if(e||"?"!==o)if(e||"#"!==o){if(o!==Wv&&(c=wg,"/"!==o))continue}else s.fragment="",c=Og;else s.query="",c=Eg;break;case wg:if(o===Wv||"/"===o||"\\"===o&&s.isSpecial()||!e&&("?"===o||"#"===o)){if(".."===(u=Id(u=l))||"%2e."===u||".%2e"===u||"%2e%2e"===u?(s.shortenPath(),"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,"")):rg(l)?"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,""):("file"===s.scheme&&!s.path.length&&tg(l)&&(s.host&&(s.host=""),l=wd(l,0)+":"),Rd(s.path,l)),l="","file"===s.scheme&&(o===Wv||"?"===o||"#"===o))for(;s.path.length>1&&""===s.path[0];)Ad(s.path);"?"===o?(s.query="",c=Eg):"#"===o&&(s.fragment="",c=Og)}else l+=Qd(o,Xd);break;case Sg:"?"===o?(s.query="",c=Eg):"#"===o?(s.fragment="",c=Og):o!==Wv&&(s.path[0]+=Qd(o,Vd));break;case Eg:e||"#"!==o?o!==Wv&&("'"===o&&s.isSpecial()?s.query+="%27":s.query+="#"===o?"%23":Qd(o,Vd)):(s.fragment="",c=Og);break;case Og:o!==Wv&&(s.fragment+=Qd(o,Yd))}f++}},parseHost:function(t){var e,r,n;if("["===wd(t,0)){if("]"!==wd(t,t.length-1))return Ld;if(e=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return wd(t,l)};if(":"===h()){if(":"!==wd(t,1))return;l+=2,f=++c}for(;h();){if(8===c)return;if(":"!==h()){for(e=r=0;r<4&&Sd(zd,h());)e=16*e+yd(h(),16),l++,r++;if("."===h()){if(0===r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."===h()&&n<4))return;l++}if(!Sd(_d,h()))return;for(;Sd(_d,h());){if(i=yd(h(),10),null===o)o=i;else{if(0===o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!==n||c++}if(4!==n)return;break}if(":"===h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!==c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!==c)return;return s}(kd(t,1,-1)),!e)return Ld;this.host=e}else if(this.isSpecial()){if(t=function(t){var e,r,n=[],o=id(od(ad(t),Yv,"."),".");for(e=0;e4)return t;for(r=[],n=0;n1&&"0"===wd(o,0)&&(i=Sd(Fd,o)?16:8,o=kd(o,8===i?1:2)),""===o)a=0;else{if(!Sd(10===i?Dd:8===i?Bd:zd,o))return t;a=yd(o,i)}Rd(r,a)}for(n=0;n=bd(256,5-e))return null}else if(a>255)return null;for(u=xd(r),n=0;n1?arguments[1]:void 0,n=ld(e,new xg(t,!1,r));u||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Pg=Rg.prototype,Ag=function(t,e){return{get:function(){return hd(this)[t]()},set:e&&function(t){return hd(this)[e](t)},configurable:!0,enumerable:!0}};if(u&&(so(Pg,"href",Ag("serialize","setHref")),so(Pg,"origin",Ag("getOrigin")),so(Pg,"protocol",Ag("getProtocol","setProtocol")),so(Pg,"username",Ag("getUsername","setUsername")),so(Pg,"password",Ag("getPassword","setPassword")),so(Pg,"host",Ag("getHost","setHost")),so(Pg,"hostname",Ag("getHostname","setHostname")),so(Pg,"port",Ag("getPort","setPort")),so(Pg,"pathname",Ag("getPathname","setPathname")),so(Pg,"search",Ag("getSearch","setSearch")),so(Pg,"searchParams",Ag("getSearchParams")),so(Pg,"hash",Ag("getHash","setHash"))),ie(Pg,"toJSON",function(){return hd(this).serialize()},{enumerable:!0}),ie(Pg,"toString",function(){return hd(this).serialize()},{enumerable:!0}),dd){var jg=dd.createObjectURL,kg=dd.revokeObjectURL;jg&&ie(Rg,"createObjectURL",ar(jg,dd)),kg&&ie(Rg,"revokeObjectURL",ar(kg,dd))}an(Rg,"URL"),Ce({global:!0,constructor:!0,forced:!Mp,sham:!u},{URL:Rg});var Ig=L("URL"),Tg=Mp&&a(function(){Ig.canParse()}),Mg=a(function(){return 1!==Ig.canParse.length});Ce({target:"URL",stat:!0,forced:!Tg||Mg},{canParse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return!!new Ig(r,n)}catch(t){return!1}}});var Lg=L("URL");Ce({target:"URL",stat:!0,forced:!Mp},{parse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return new Lg(r,n)}catch(t){return null}}}),Ce({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return f(URL.prototype.toString,this)}});var Ug=WeakMap.prototype,Ng={WeakMap:WeakMap,set:b(Ug.set),get:b(Ug.get),has:b(Ug.has),remove:b(Ug.delete)},Cg=Ng.has,_g=function(t){return Cg(t),t},Fg=Ng.get,Bg=Ng.has,Dg=Ng.set;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{emplace:function(t,e){var r,n,o=_g(this);return Bg(o,t)?(r=Fg(o,t),"update"in e&&(r=e.update(r,t,o),Dg(o,t,r)),r):(n=e.insert(t,o),Dg(o,t,n),n)}}),Ce({target:"WeakMap",stat:!0,forced:!0},{from:ei(Ng.WeakMap,Ng.set,!0)}),Ce({target:"WeakMap",stat:!0,forced:!0},{of:ri(Ng.WeakMap,Ng.set,!0)});var zg=Ng.remove;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=_g(this),r=!0,n=0,o=arguments.length;n2&&(n=r,M(o=arguments[2])&&"cause"in o&&_t(n,"cause",o.cause));var s=[];return Ao(t,ny,{that:s}),_t(r,"errors",s),r};dn?dn(oy,ry):Ae(oy,ry,{name:!0});var iy=oy.prototype=Ve(ry.prototype,{constructor:d(1,oy),message:d(1,""),name:d(1,"AggregateError")});Ce({global:!0,constructor:!0,arity:2},{AggregateError:oy});var ay,uy,sy,cy,fy=function(t){return _.slice(0,t.length)===t},ly=fy("Bun/")?"BUN":fy("Cloudflare-Workers")?"CLOUDFLARE":fy("Deno/")?"DENO":fy("Node.js/")?"NODE":i.Bun&&"string"==typeof Bun.version?"BUN":i.Deno&&"object"==typeof Deno.version?"DENO":"process"===E(i.process)?"NODE":i.window&&i.document?"BROWSER":"REST",hy="NODE"===ly,py=/(?:ipad|iphone|ipod).*applewebkit/i.test(_),vy=i.setImmediate,dy=i.clearImmediate,gy=i.process,yy=i.Dispatch,my=i.Function,by=i.MessageChannel,wy=i.String,Sy=0,Ey={},Oy="onreadystatechange";a(function(){ay=i.location});var xy=function(t){if(ut(Ey,t)){var e=Ey[t];delete Ey[t],e()}},Ry=function(t){return function(){xy(t)}},Py=function(t){xy(t.data)},Ay=function(t){i.postMessage(wy(t),ay.protocol+"//"+ay.host)};vy&&dy||(vy=function(t){Up(arguments.length,1);var e=T(t)?t:my(t),r=vo(arguments,1);return Ey[++Sy]=function(){Ra(e,void 0,r)},uy(Sy),Sy},dy=function(t){delete Ey[t]},hy?uy=function(t){gy.nextTick(Ry(t))}:yy&&yy.now?uy=function(t){yy.now(Ry(t))}:by&&!py?(cy=(sy=new by).port2,sy.port1.onmessage=Py,uy=ar(cy.postMessage,cy)):i.addEventListener&&T(i.postMessage)&&!i.importScripts&&ay&&"file:"!==ay.protocol&&!a(Ay)?(uy=Ay,i.addEventListener("message",Py,!1)):uy=Oy in Et("script")?function(t){De.appendChild(Et("script"))[Oy]=function(){De.removeChild(this),xy(t)}}:function(t){setTimeout(Ry(t),0)});var jy={set:vy,clear:dy},ky=function(){this.head=null,this.tail=null};ky.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var Iy,Ty,My,Ly,Uy,Ny=ky,Cy=/ipad|iphone|ipod/i.test(_)&&"undefined"!=typeof Pebble,_y=/web0s(?!.*chrome)/i.test(_),Fy=jy.set,By=i.MutationObserver||i.WebKitMutationObserver,Dy=i.document,zy=i.process,Wy=i.Promise,qy=Ip("queueMicrotask");if(!qy){var Hy=new Ny,$y=function(){var t,e;for(hy&&(t=zy.domain)&&t.exit();e=Hy.get();)try{e()}catch(t){throw Hy.head&&Iy(),t}t&&t.enter()};py||hy||_y||!By||!Dy?!Cy&&Wy&&Wy.resolve?((Ly=Wy.resolve(void 0)).constructor=Wy,Uy=ar(Ly.then,Ly),Iy=function(){Uy($y)}):hy?Iy=function(){zy.nextTick($y)}:(Fy=ar(Fy,i),Iy=function(){Fy($y)}):(Ty=!0,My=Dy.createTextNode(""),new By($y).observe(My,{characterData:!0}),Iy=function(){My.data=Ty=!Ty}),qy=function(t){Hy.head||Iy(),Hy.add(t)}}var Ky,Gy,Vy,Yy=qy,Xy=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Jy=i.Promise,Qy=dt("species"),Zy=!1,tm=T(i.PromiseRejectionEvent),em=Ue("Promise",function(){var t=Kt(Jy),e=t!==String(Jy);if(!e&&66===W)return!0;if(!W||W<51||!/native code/.test(t)){var r=new Jy(function(t){t(1)}),n=function(t){t(function(){},function(){})};if((r.constructor={})[Qy]=n,!(Zy=r.then(function(){})instanceof n))return!0}return!(e||"BROWSER"!==ly&&"DENO"!==ly||tm)}),rm={CONSTRUCTOR:em,REJECTION_EVENT:tm,SUBCLASSING:Zy},nm=TypeError,om=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw new nm("Bad Promise constructor");e=t,r=n}),this.resolve=J(e),this.reject=J(r)},im={f:function(t){return new om(t)}},am=jy.set,um="Promise",sm=rm.CONSTRUCTOR,cm=rm.REJECTION_EVENT,fm=rm.SUBCLASSING,lm=ne.getterFor(um),hm=ne.set,pm=Jy&&Jy.prototype,vm=Jy,dm=pm,gm=i.TypeError,ym=i.document,mm=i.process,bm=im.f,wm=bm,Sm=!!(ym&&ym.createEvent&&i.dispatchEvent),Em="unhandledrejection",Om=function(t){var e;return!(!M(t)||!T(e=t.then))&&e},xm=function(t,e){var r,n,o,i=e.value,a=1===e.state,u=a?t.ok:t.fail,s=t.resolve,c=t.reject,l=t.domain;try{u?(a||(2===e.rejection&&km(e),e.rejection=1),!0===u?r=i:(l&&l.enter(),r=u(i),l&&(l.exit(),o=!0)),r===t.promise?c(new gm("Promise-chain cycle")):(n=Om(r))?f(n,r,s,c):s(r)):c(i)}catch(t){l&&!o&&l.exit(),c(t)}},Rm=function(t,e){t.notified||(t.notified=!0,Yy(function(){for(var r,n=t.reactions;r=n.get();)xm(r,t);t.notified=!1,e&&!t.rejection&&Am(t)}))},Pm=function(t,e,r){var n,o;Sm?((n=ym.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),i.dispatchEvent(n)):n={promise:e,reason:r},!cm&&(o=i["on"+t])?o(n):t===Em&&function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}("Unhandled promise rejection",r)},Am=function(t){f(am,i,function(){var e,r=t.facade,n=t.value;if(jm(t)&&(e=Xy(function(){hy?mm.emit("unhandledRejection",n,r):Pm(Em,r,n)}),t.rejection=hy||jm(t)?2:1,e.error))throw e.value})},jm=function(t){return 1!==t.rejection&&!t.parent},km=function(t){f(am,i,function(){var e=t.facade;hy?mm.emit("rejectionHandled",e):Pm("rejectionhandled",e,t.value)})},Im=function(t,e,r){return function(n){t(e,n,r)}},Tm=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,Rm(t,!0))},Mm=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new gm("Promise can't be resolved itself");var n=Om(e);n?Yy(function(){var r={done:!1};try{f(n,e,Im(Mm,r,t),Im(Tm,r,t))}catch(e){Tm(r,e,t)}}):(t.value=e,t.state=1,Rm(t,!1))}catch(e){Tm({done:!1},e,t)}}};if(sm&&(vm=function(t){ko(this,dm),J(t),f(Ky,this);var e=lm(this);try{t(Im(Mm,e),Im(Tm,e))}catch(t){Tm(e,t)}},(Ky=function(t){hm(this,{type:um,done:!1,notified:!1,parent:!1,reactions:new Ny,rejection:!1,state:0,value:null})}).prototype=ie(dm=vm.prototype,"then",function(t,e){var r=lm(this),n=bm(Cc(this,vm));return r.parent=!0,n.ok=!T(t)||t,n.fail=T(e)&&e,n.domain=hy?mm.domain:void 0,0===r.state?r.reactions.add(n):Yy(function(){xm(n,r)}),n.promise}),Gy=function(){var t=new Ky,e=lm(t);this.promise=t,this.resolve=Im(Mm,e),this.reject=Im(Tm,e)},im.f=bm=function(t){return t===vm||void 0===t?new Gy(t):wm(t)},T(Jy)&&pm!==Object.prototype)){Vy=pm.then,fm||ie(pm,"then",function(t,e){var r=this;return new vm(function(t,e){f(Vy,r,t,e)}).then(t,e)},{unsafe:!0});try{delete pm.constructor}catch(t){}dn&&dn(pm,dm)}Ce({global:!0,constructor:!0,wrap:!0,forced:sm},{Promise:vm}),an(vm,um,!1),Uo(um);var Lm=rm.CONSTRUCTOR||!Gn(function(t){Jy.all(t).then(void 0,function(){})});Ce({target:"Promise",stat:!0,forced:Lm},{all:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),i=[],a=0,u=1;Ao(t,function(t){var s=a++,c=!1;u++,f(r,e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise}});var Um=Jy&&Jy.prototype;if(Ce({target:"Promise",proto:!0,forced:rm.CONSTRUCTOR,real:!0},{catch:function(t){return this.then(void 0,t)}}),T(Jy)){var Nm=L("Promise").prototype.catch;Um.catch!==Nm&&ie(Um,"catch",Nm,{unsafe:!0})}Ce({target:"Promise",stat:!0,forced:Lm},{race:function(t){var e=this,r=im.f(e),n=r.reject,o=Xy(function(){var o=J(e.resolve);Ao(t,function(t){f(o,e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{reject:function(t){var e=im.f(this);return(0,e.reject)(t),e.promise}});var Cm=function(t,e){if(kt(t),M(e)&&e.constructor===t)return e;var r=im.f(t);return(0,r.resolve)(e),r.promise};Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{resolve:function(t){return Cm(this,t)}}),Ce({target:"Promise",stat:!0,forced:Lm},{allSettled:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),o=[],i=0,a=1;Ao(t,function(t){var u=i++,s=!1;a++,f(r,e,t).then(function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var _m="No one promise resolved";Ce({target:"Promise",stat:!0,forced:Lm},{any:function(t){var e=this,r=L("AggregateError"),n=im.f(e),o=n.resolve,i=n.reject,a=Xy(function(){var n=J(e.resolve),a=[],u=0,s=1,c=!1;Ao(t,function(t){var l=u++,h=!1;s++,f(n,e,t).then(function(t){h||c||(c=!0,o(t))},function(t){h||c||(h=!0,a[l]=t,--s||i(new r(a,_m)))})}),--s||i(new r(a,_m))});return a.error&&i(a.value),n.promise}}),Ce({target:"Promise",stat:!0},{withResolvers:function(){var t=im.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}});var Fm=Jy&&Jy.prototype,Bm=!!Jy&&a(function(){Fm.finally.call({then:function(){}},function(){})});if(Ce({target:"Promise",proto:!0,real:!0,forced:Bm},{finally:function(t){var e=Cc(this,L("Promise")),r=T(t);return this.then(r?function(r){return Cm(e,t()).then(function(){return r})}:t,r?function(r){return Cm(e,t()).then(function(){throw r})}:t)}}),T(Jy)){var Dm=L("Promise").prototype.finally;Fm.finally!==Dm&&ie(Fm,"finally",Dm,{unsafe:!0})}var zm=i.Promise,Wm=!1,qm=!zm||!zm.try||Xy(function(){zm.try(function(t){Wm=8===t},8)}).error||!Wm;Ce({target:"Promise",stat:!0,forced:qm},{try:function(t){var e=arguments.length>1?vo(arguments,1):[],r=im.f(this),n=Xy(function(){return Ra(J(t),void 0,e)});return(n.error?r.reject:r.resolve)(n.value),r.promise}}),Ze("Promise","finally");var Hm="URLSearchParams"in self,$m="Symbol"in self&&"iterator"in Symbol,Km="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),Gm="FormData"in self,Vm="ArrayBuffer"in self;if(Vm)var Ym=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],Xm=ArrayBuffer.isView||function(t){return t&&Ym.indexOf(Object.prototype.toString.call(t))>-1};function Jm(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Qm(t){return"string"!=typeof t&&(t=String(t)),t}function Zm(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return $m&&(e[Symbol.iterator]=function(){return e}),e}function tb(t){this.map={},t instanceof tb?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function eb(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function rb(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function nb(t){var e=new FileReader,r=rb(e);return e.readAsArrayBuffer(t),r}function ob(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function ib(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:Km&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:Gm&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:Hm&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Vm&&Km&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=ob(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Vm&&(ArrayBuffer.prototype.isPrototypeOf(t)||Xm(t))?this._bodyArrayBuffer=ob(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):Hm&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},Km&&(this.blob=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?eb(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(nb)}),this.text=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=rb(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?e:t}(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function sb(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function cb(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new tb(e.headers),this.url=e.url||"",this._initBody(t)}ub.prototype.clone=function(){return new ub(this,{body:this._bodyInit})},ib.call(ub.prototype),ib.call(cb.prototype),cb.prototype.clone=function(){return new cb(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new tb(this.headers),url:this.url})},cb.error=function(){var t=new cb(null,{status:0,statusText:""});return t.type="error",t};var fb=[301,302,303,307,308];cb.redirect=function(t,e){if(-1===fb.indexOf(e))throw new RangeError("Invalid status code");return new cb(null,{status:e,headers:{location:t}})};var lb=self.DOMException;try{new lb}catch(t){(lb=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),lb.prototype.constructor=lb}function hb(t,e){return new Promise(function(r,n){var o=new ub(t,e);if(o.signal&&o.signal.aborted)return n(new lb("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new tb,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new cb("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new lb("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&Km&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}hb.polyfill=!0,self.fetch||(self.fetch=hb,self.Headers=tb,self.Request=ub,self.Response=cb);var pb=Object.getOwnPropertySymbols,vb=Object.prototype.hasOwnProperty,db=Object.prototype.propertyIsEnumerable,gb=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),i=1;i{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o](a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i=a)&&Object.keys(r.O).every(e=>r.O[e](o[l]))?o.splice(l--,1):(c=!1,a{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>"static/chunks/"+e+"."+({120:"48ea8d909af0b73f",341:"df3329d77a5faa19",472:"a3826d29d6854395"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var u,c,l=document.getElementsByTagName("script"),d=0;d{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=f.bind(null,u.onerror),u.onload=f.bind(null,u.onload),c&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={68:0,199:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(199|68)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,c]=o,l=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(c)var d=c(r)}for(t&&t(o);l:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-input{border-color:var(--input)}.border-orange-300{border-color:var(--color-orange-300)}.border-pink-200{border-color:var(--color-pink-200)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-500{border-color:var(--color-purple-500)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-yellow-300{border-color:var(--color-yellow-300)}.border-t-gray-900{border-top-color:var(--color-gray-900)}.border-t-transparent{border-top-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--border)}.bg-card\/80{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,var(--card)80%,transparent)}}.bg-destructive{background-color:var(--destructive)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\/40{background-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab}.bg-gradient-to-b,.bg-gradient-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab}.bg-gradient-to-l{--tw-gradient-position:to left in oklab}.bg-gradient-to-l,.bg-gradient-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab}.bg-\[radial-gradient\(ellipse_at_top\,_var\(--tw-gradient-stops\)\)\]{background-image:radial-gradient(ellipse at top,var(--tw-gradient-stops))}.bg-\[url\(\'\/bg\.jpg\'\)\]{background-image:url(/bg.jpg)}.from-blue-50\/50{--tw-gradient-from:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.from-blue-50\/50{--tw-gradient-from:color-mix(in oklab,var(--color-blue-50)50%,transparent)}}.from-blue-50\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500\/20{--tw-gradient-from:#3080ff33}@supports (color:color-mix(in lab,red,red)){.from-blue-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.from-blue-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-400\/20{--tw-gradient-from:#00d2ef33}@supports (color:color-mix(in lab,red,red)){.from-cyan-400\/20{--tw-gradient-from:color-mix(in oklab,var(--color-cyan-400)20%,transparent)}}.from-cyan-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-500{--tw-gradient-from:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50\/90{--tw-gradient-from:#f9fafbe6}@supports (color:color-mix(in lab,red,red)){.from-gray-50\/90{--tw-gradient-from:color-mix(in oklab,var(--color-gray-50)90%,transparent)}}.from-gray-50\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-100{--tw-gradient-from:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-100\/80{--tw-gradient-from:#f3f4f6cc}@supports (color:color-mix(in lab,red,red)){.from-gray-100\/80{--tw-gradient-from:color-mix(in oklab,var(--color-gray-100)80%,transparent)}}.from-gray-100\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-600{--tw-gradient-from:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-50{--tw-gradient-from:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-100{--tw-gradient-from:var(--color-pink-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-300\/10{--tw-gradient-from:#fda5d51a}@supports (color:color-mix(in lab,red,red)){.from-pink-300\/10{--tw-gradient-from:color-mix(in oklab,var(--color-pink-300)10%,transparent)}}.from-pink-300\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-600{--tw-gradient-from:var(--color-pink-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-100\/80{--tw-gradient-from:#f3e8ffcc}@supports (color:color-mix(in lab,red,red)){.from-purple-100\/80{--tw-gradient-from:color-mix(in oklab,var(--color-purple-100)80%,transparent)}}.from-purple-100\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400\/20{--tw-gradient-from:#c07eff33}@supports (color:color-mix(in lab,red,red)){.from-purple-400\/20{--tw-gradient-from:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.from-purple-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-50{--tw-gradient-from:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-900\/40{--tw-gradient-from:#0f172b66}@supports (color:color-mix(in lab,red,red)){.from-slate-900\/40{--tw-gradient-from:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.from-slate-900\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400\/20{--tw-gradient-from:#fac80033}@supports (color:color-mix(in lab,red,red)){.from-yellow-400\/20{--tw-gradient-from:color-mix(in oklab,var(--color-yellow-400)20%,transparent)}}.from-yellow-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-pink-100\/80{--tw-gradient-via:#fce7f3cc}@supports (color:color-mix(in lab,red,red)){.via-pink-100\/80{--tw-gradient-via:color-mix(in oklab,var(--color-pink-100)80%,transparent)}}.via-pink-100\/80{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-500{--tw-gradient-via:var(--color-pink-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-pink-600{--tw-gradient-via:var(--color-pink-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-50{--tw-gradient-via:var(--color-purple-50);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-500\/20{--tw-gradient-via:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.via-purple-500\/20{--tw-gradient-via:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.via-purple-500\/20{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-yellow-500{--tw-gradient-via:var(--color-yellow-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-50{--tw-gradient-to:var(--color-cyan-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-100\/80{--tw-gradient-to:#cefafecc}@supports (color:color-mix(in lab,red,red)){.to-cyan-100\/80{--tw-gradient-to:color-mix(in oklab,var(--color-cyan-100)80%,transparent)}}.to-cyan-100\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-300\/10{--tw-gradient-to:#53eafd1a}@supports (color:color-mix(in lab,red,red)){.to-cyan-300\/10{--tw-gradient-to:color-mix(in oklab,var(--color-cyan-300)10%,transparent)}}.to-cyan-300\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-600{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-200{--tw-gradient-to:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-200\/80{--tw-gradient-to:#e5e7ebcc}@supports (color:color-mix(in lab,red,red)){.to-gray-200\/80{--tw-gradient-to:color-mix(in oklab,var(--color-gray-200)80%,transparent)}}.to-gray-200\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-700{--tw-gradient-to:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500\/20{--tw-gradient-to:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.to-orange-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.to-orange-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-600{--tw-gradient-to:var(--color-orange-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-400\/20{--tw-gradient-to:#fb64b633}@supports (color:color-mix(in lab,red,red)){.to-pink-400\/20{--tw-gradient-to:color-mix(in oklab,var(--color-pink-400)20%,transparent)}}.to-pink-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-500\/20{--tw-gradient-to:#f6339a33}@supports (color:color-mix(in lab,red,red)){.to-pink-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-pink-500)20%,transparent)}}.to-pink-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-600{--tw-gradient-to:var(--color-pink-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-50\/50{--tw-gradient-to:#faf5ff80}@supports (color:color-mix(in lab,red,red)){.to-purple-50\/50{--tw-gradient-to:color-mix(in oklab,var(--color-purple-50)50%,transparent)}}.to-purple-50\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-100{--tw-gradient-to:var(--color-purple-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-400\/20{--tw-gradient-to:#c07eff33}@supports (color:color-mix(in lab,red,red)){.to-purple-400\/20{--tw-gradient-to:color-mix(in oklab,var(--color-purple-400)20%,transparent)}}.to-purple-400\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-600{--tw-gradient-to:var(--color-red-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-100{--tw-gradient-to:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-200\/10{--tw-gradient-to:#e2e8f01a}@supports (color:color-mix(in lab,red,red)){.to-slate-200\/10{--tw-gradient-to:color-mix(in oklab,var(--color-slate-200)10%,transparent)}}.to-slate-200\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.fill-current{fill:currentColor}.fill-white{fill:var(--color-white)}.fill-yellow-400{fill:var(--color-yellow-400)}.object-contain{object-fit:contain}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\[1px\]{padding:1px}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-24{padding-block:calc(var(--spacing)*24)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-6{padding-right:calc(var(--spacing)*6)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-14{padding-left:calc(var(--spacing)*14)}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-foreground{color:var(--foreground)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-700{color:var(--color-orange-700)}.text-pink-600{color:var(--color-pink-600)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-white\/60::placeholder{color:#fff9}@supports (color:color-mix(in lab,red,red)){.placeholder-white\/60::placeholder{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-2xl,.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.shadow-xl,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.ring-0,.ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.shadow-yellow-500\/25{--tw-shadow-color:#edb20040}@supports (color:color-mix(in lab,red,red)){.shadow-yellow-500\/25{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-yellow-500)25%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-orange-200{--tw-ring-color:var(--color-orange-200)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-3xl{--tw-blur:blur(var(--blur-3xl))}.blur-3xl,.blur-sm{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-sm{--tw-blur:blur(var(--blur-sm))}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm))}.drop-shadow-sm,.grayscale{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md))}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\:text-blue-600:is(:where(.group):focus-within *){color:var(--color-blue-600)}@media (hover:hover){.group-hover\:bg-pink-200:is(:where(.group):hover *){background-color:var(--color-pink-200)}.group-hover\:bg-purple-200:is(:where(.group):hover *){background-color:var(--color-purple-200)}.group-hover\:text-blue-500:is(:where(.group):hover *){color:var(--color-blue-500)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-base::placeholder{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing)*0)}.before\:translate-x-\[-100\%\]:before{content:var(--tw-content);--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:from-transparent:before{content:var(--tw-content);--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:via-white\/20:before{content:var(--tw-content);--tw-gradient-via:#fff3}@supports (color:color-mix(in lab,red,red)){.before\:via-white\/20:before{--tw-gradient-via:color-mix(in oklab,var(--color-white)20%,transparent)}}.before\:via-white\/20:before{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:transition-transform:before{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.before\:duration-700:before{content:var(--tw-content);--tw-duration:.7s;transition-duration:.7s}.focus-within\:border-blue-500:focus-within{border-color:var(--color-blue-500)}.focus-within\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-pink-400:hover{border-color:var(--color-pink-400)}.hover\:border-purple-300:hover{border-color:var(--color-purple-300)}.hover\:border-purple-400:hover{border-color:var(--color-purple-400)}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:border-yellow-400:hover{border-color:var(--color-yellow-400)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-primary\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:bg-yellow-50:hover{background-color:var(--color-yellow-50)}.hover\:bg-gradient-to-r:hover{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hover\:from-cyan-600:hover{--tw-gradient-from:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-gray-200:hover{--tw-gradient-from:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-purple-50:hover{--tw-gradient-from:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-purple-600:hover{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-red-600:hover{--tw-gradient-from:var(--color-red-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-blue-600:hover{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-gray-300:hover{--tw-gradient-to:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-pink-50:hover{--tw-gradient-to:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-pink-600:hover{--tw-gradient-to:var(--color-pink-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-purple-700:hover{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-red-700:hover{--tw-gradient-to:var(--color-red-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:text-yellow-500:hover{color:var(--color-yellow-500)}.hover\:text-yellow-600:hover{color:var(--color-yellow-600)}.hover\:text-yellow-700:hover{color:var(--color-yellow-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-yellow-500\/30:hover{--tw-shadow-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-yellow-500\/30:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-yellow-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\:before\:translate-x-\[100\%\]:hover:before{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-primary:focus{--tw-ring-color:var(--primary)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-pink-300:focus-visible{--tw-ring-color:var(--color-pink-300)}.focus-visible\:ring-red-500\/20:focus-visible{--tw-ring-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-red-500\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.has-\[\>svg\]\:px-6:has(>svg){padding-inline:calc(var(--spacing)*6)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked],.data-\[state\=checked\]\:bg-primary\/10[data-state=checked]{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=checked\]\:bg-primary\/10[data-state=checked]{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media (min-width:40rem){.sm\:mr-2{margin-right:calc(var(--spacing)*2)}.sm\:mb-0{margin-bottom:calc(var(--spacing)*0)}.sm\:h-14{height:calc(var(--spacing)*14)}.sm\:min-w-\[40px\]{min-width:40px}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-1\.5{gap:calc(var(--spacing)*1.5)}.sm\:gap-4{gap:calc(var(--spacing)*4)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.sm\:py-2{padding-block:calc(var(--spacing)*2)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:text-left{text-align:left}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:placeholder\:text-xl::placeholder,.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:h-16{height:calc(var(--spacing)*16)}.md\:w-1\/2{width:50%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:gap-6{gap:calc(var(--spacing)*6)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:placeholder\:text-2xl::placeholder{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:64rem){.lg\:mt-0{margin-top:calc(var(--spacing)*0)}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:text-left{text-align:left}.lg\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}.dark\:border-purple-400:is(.dark *){border-color:var(--color-purple-400)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-gray-800\/80:is(.dark *){background-color:#1e2939cc}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-800\/80:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-800)80%,transparent)}}.dark\:bg-gray-900\/90:is(.dark *){background-color:#101828e6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-900\/90:is(.dark *){background-color:color-mix(in oklab,var(--color-gray-900)90%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:from-gray-700:is(.dark *){--tw-gradient-from:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-purple-400:is(.dark *){color:var(--color-purple-400)}.dark\:text-white:is(.dark *){color:var(--color-white)}@media (hover:hover){.dark\:hover\:bg-gradient-to-r:is(.dark *):hover{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.dark\:hover\:from-gray-600:is(.dark *):hover{--tw-gradient-from:var(--color-gray-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:hover\:from-purple-900\/30:is(.dark *):hover{--tw-gradient-from:#59168b4d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:from-purple-900\/30:is(.dark *):hover{--tw-gradient-from:color-mix(in oklab,var(--color-purple-900)30%,transparent)}}.dark\:hover\:from-purple-900\/30:is(.dark *):hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:hover\:from-purple-900\/50:is(.dark *):hover{--tw-gradient-from:#59168b80}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:from-purple-900\/50:is(.dark *):hover{--tw-gradient-from:color-mix(in oklab,var(--color-purple-900)50%,transparent)}}.dark\:hover\:from-purple-900\/50:is(.dark *):hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:hover\:to-gray-700:is(.dark *):hover{--tw-gradient-to:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:hover\:to-pink-900\/30:is(.dark *):hover{--tw-gradient-to:#8610434d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:to-pink-900\/30:is(.dark *):hover{--tw-gradient-to:color-mix(in oklab,var(--color-pink-900)30%,transparent)}}.dark\:hover\:to-pink-900\/30:is(.dark *):hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:hover\:to-pink-900\/50:is(.dark *):hover{--tw-gradient-to:#86104380}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:to-pink-900\/50:is(.dark *):hover{--tw-gradient-to:color-mix(in oklab,var(--color-pink-900)50%,transparent)}}.dark\:hover\:to-pink-900\/50:is(.dark *):hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:hover\:text-purple-300:is(.dark *):hover{color:var(--color-purple-300)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:focus-visible\:ring-red-500\/40:is(.dark *):focus-visible{--tw-ring-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-red-500\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}:root{--radius:.65rem;--background:linear-gradient(135deg,#fdf2f8,#f3e8ff 50%,#e0f2fe);--foreground:oklch(20% .02 280);--card:oklch(98% .01 320/.8);--card-foreground:oklch(20% .02 280);--popover:oklch(99% .005 320);--popover-foreground:oklch(20% .02 280);--primary:oklch(65% .25 280);--primary-foreground:oklch(98% .01 280);--secondary:oklch(85% .15 330);--secondary-foreground:oklch(25% .02 330);--muted:oklch(95% .02 300);--muted-foreground:oklch(50% .03 280);--accent:oklch(70% .2 200);--accent-foreground:oklch(98% .01 200);--destructive:oklch(65% .25 15);--border:oklch(90% .02 300/.3);--input:oklch(95% .01 300/.5);--ring:oklch(65% .25 280);--chart-1:oklch(65% .25 280);--chart-2:oklch(70% .25 330);--chart-3:oklch(70% .2 200);--chart-4:oklch(75% .2 120);--chart-5:oklch(70% .25 60);--sidebar:oklch(98% .01 320/.9);--sidebar-foreground:oklch(20% .02 280);--sidebar-primary:oklch(65% .25 280);--sidebar-primary-foreground:oklch(98% .01 280);--sidebar-accent:oklch(85% .15 330);--sidebar-accent-foreground:oklch(25% .02 330);--sidebar-border:oklch(90% .02 300/.3);--sidebar-ring:oklch(65% .25 280)}.dark{--background:linear-gradient(135deg,#1a0b2e,#16213e 50%,#0f172a);--foreground:oklch(95% .01 280);--card:oklch(15% .05 280/.8);--card-foreground:oklch(95% .01 280);--popover:oklch(12% .05 280);--popover-foreground:oklch(95% .01 280);--primary:oklch(70% .3 280);--primary-foreground:oklch(10% .05 280);--secondary:oklch(30% .1 330);--secondary-foreground:oklch(95% .01 330);--muted:oklch(25% .05 300);--muted-foreground:oklch(70% .02 280);--accent:oklch(30% .1 200);--accent-foreground:oklch(95% .01 200);--destructive:oklch(70% .25 15);--border:oklch(90% .02 300/.2);--input:oklch(90% .01 300/.3);--ring:oklch(70% .3 280);--chart-1:oklch(70% .3 280);--chart-2:oklch(75% .3 330);--chart-3:oklch(75% .25 200);--chart-4:oklch(80% .25 120);--chart-5:oklch(75% .3 60);--sidebar:oklch(15% .05 280/.9);--sidebar-foreground:oklch(95% .01 280);--sidebar-primary:oklch(70% .3 280);--sidebar-primary-foreground:oklch(10% .05 280);--sidebar-accent:oklch(30% .1 330);--sidebar-accent-foreground:oklch(95% .01 330);--sidebar-border:oklch(90% .02 300/.2);--sidebar-ring:oklch(70% .3 280)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-geist-mono:"Inter","Inter Fallback"} \ No newline at end of file diff --git a/.netlify/static/_next/static/media/19cfc7226ec3afaa-s.woff2 b/.netlify/static/_next/static/media/19cfc7226ec3afaa-s.woff2 deleted file mode 100644 index 9c71603..0000000 Binary files a/.netlify/static/_next/static/media/19cfc7226ec3afaa-s.woff2 and /dev/null differ diff --git a/.netlify/static/_next/static/media/21350d82a1f187e9-s.woff2 b/.netlify/static/_next/static/media/21350d82a1f187e9-s.woff2 deleted file mode 100644 index bc0e0ab..0000000 Binary files a/.netlify/static/_next/static/media/21350d82a1f187e9-s.woff2 and /dev/null differ diff --git a/.netlify/static/_next/static/media/8e9860b6e62d6359-s.woff2 b/.netlify/static/_next/static/media/8e9860b6e62d6359-s.woff2 deleted file mode 100644 index 57da6f8..0000000 Binary files a/.netlify/static/_next/static/media/8e9860b6e62d6359-s.woff2 and /dev/null differ diff --git a/.netlify/static/_next/static/media/ba9851c3c22cd980-s.woff2 b/.netlify/static/_next/static/media/ba9851c3c22cd980-s.woff2 deleted file mode 100644 index 2cd45ed..0000000 Binary files a/.netlify/static/_next/static/media/ba9851c3c22cd980-s.woff2 and /dev/null differ diff --git a/.netlify/static/_next/static/media/c5fe6dc8356a8c31-s.woff2 b/.netlify/static/_next/static/media/c5fe6dc8356a8c31-s.woff2 deleted file mode 100644 index b6dd1fa..0000000 Binary files a/.netlify/static/_next/static/media/c5fe6dc8356a8c31-s.woff2 and /dev/null differ diff --git a/.netlify/static/_next/static/media/df0a9ae256c0569c-s.woff2 b/.netlify/static/_next/static/media/df0a9ae256c0569c-s.woff2 deleted file mode 100644 index 072229b..0000000 Binary files a/.netlify/static/_next/static/media/df0a9ae256c0569c-s.woff2 and /dev/null differ diff --git a/.netlify/static/_next/static/media/e4af272ccee01ff0-s.p.woff2 b/.netlify/static/_next/static/media/e4af272ccee01ff0-s.p.woff2 deleted file mode 100644 index 91dc3e8..0000000 Binary files a/.netlify/static/_next/static/media/e4af272ccee01ff0-s.p.woff2 and /dev/null differ diff --git a/.netlify/static/ai-recommend.jpg b/.netlify/static/ai-recommend.jpg deleted file mode 100644 index 5a09007..0000000 Binary files a/.netlify/static/ai-recommend.jpg and /dev/null differ diff --git a/.netlify/static/api/data b/.netlify/static/api/data deleted file mode 100644 index 9d29dc8..0000000 --- a/.netlify/static/api/data +++ /dev/null @@ -1 +0,0 @@ -[{"title":"第三届è€é¾„志愿与公益æœåŠ¡å­¦æœ¯è®ºå›","description":"探讨AI时代应对人å£è€é¾„化的新策略,推动我国è€é¾„志愿与公益æœåŠ¡äº‹ä¸šå¤šå…ƒå‘展。èšç„¦AI与è€é¾„æœåŠ¡ç²¾å‡†é€‚é…ã€å¤§æ•°æ®èµ‹èƒ½å…¬ç›Šäº‹ä¸šã€AIè€é¾„社会治ç†çš„伦ç†ä¸Žé£Žé™©ç­‰å‰æ²¿è®®é¢˜ã€‚","category":"conference","tags":["è€é¾„æœåŠ¡","志愿公益","人工智能","学术论å›"],"events":[{"year":2025,"id":"aging-volunteer-forum-2025","link":"https://mp.weixin.qq.com/s/qi9gF1ETgk6UvFnnGNSVlg","timeline":[{"deadline":"2025-10-19T23:59:00","comment":"论文å¾é›†æˆªæ­¢"},{"deadline":"2025-11-15T09:00:00","comment":"学术年会开始"},{"deadline":"2025-11-16T17:00:00","comment":"学术年会结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´11月15æ—¥-11月16æ—¥","place":"中国,北京"}]},{"title":"COSCon'25 第å届中国开æºå¹´ä¼š OpenGood å¼€æºå…¬ç›Šè®ºå›","description":"å½“ä¹¡æ‘æŒ¯å…´éœ€è¦æ›´é€æ˜Žçš„å作方å¼ï¼Œå½“视障者渴望平等触摸数字世界,当罕è§ç—…患者期待打破信æ¯å­¤å²› —— 这些è—åœ¨ç”Ÿæ´»é‡Œçš„å¾®å°æœŸå¾…ï¼Œæ­£è¢«å¼€æºæŠ€æœ¯æ‚„æ‚„ç‚¹äº®ã€‚å¼€æºä¸å†åªæ˜¯ä»£ç çš„共享,更æˆä¸ºä¼ é€’å–„æ„的桥æ¢ï¼Œå®ƒçªç ´äº§ä¸šè¾¹ç•Œï¼Œèµ°è¿›ä¹¡æ‘ã€æ®‹éšœæ”¯æŒã€ç½•è§ç—…帮扶ã€å¯æŒç»­ç”Ÿæ´»ç­‰å…¬ç›Šé¢†åŸŸï¼Œè®© \"技术å‘å–„\" 从抽象ç†å¿µï¼Œå˜æˆèƒ½è®©æ™®é€šäººæ„Ÿå—到温度的è½åœ°æ–¹æ¡ˆã€‚","category":"conference","tags":["å¼€æºå…¬ç›Š","技术å‘å–„","ä¹¡æ‘æŒ¯å…´","残障支æŒ","罕è§ç—…帮扶","坿Œç»­ç”Ÿæ´»","å¼€æºæŠ€æœ¯"],"events":[{"year":2025,"id":"coscon25-opengood-forum-2025","link":"https://mp.weixin.qq.com/s/QtqSHKBKy3mnd_PM8ZtJTw","timeline":[{"deadline":"2025-12-07T13:30:00","comment":"论å›å¼€å§‹ï¼Œå¼€åœºè‡´è¾ž"},{"deadline":"2025-12-07T17:00:00","comment":"OpenGoodå¼€æºå…¬ç›Šä¼˜ç§€æ¡ˆä¾‹é¢å¥–仪å¼ï¼Œè®ºå›ç»“æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´12月7æ—¥","place":"中国,北京,海淀区 · 丽亭åŽè‹‘酒店"}]},{"title":"乡æ‘儿童美育公益行动论å›","description":"汇集百ä½ç¾Žè‚²è¡ŒåŠ¨è€…ï¼Œä»¥\"é‡å¡‘è”结·在造乡æ‘\"为主题,探讨乡æ‘儿童美育å‘展中的核心问题,推动美育在促进人与人ã€äººä¸Žç³»ç»Ÿå…³ç³»è”结中的价值实现。","category":"conference","tags":["美育公益","乡æ‘å„¿ç«¥","教育创新","公益å作"],"events":[{"year":2025,"id":"rural-children-aesthetic-education-forum-2025","link":"https://mp.weixin.qq.com/s/_J0m07Gf4Eerj_YBwQLWYw","timeline":[{"deadline":"2025-10-23T09:00:00","comment":"论å›å¼€å§‹"},{"deadline":"2025-10-26T17:00:00","comment":"论å›ç»“æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月23æ—¥-10月26æ—¥","place":"浙江衢州"}]},{"title":"数智时代的共识建构","description":"探索数智技术在公益广告创作逻辑ã€ä¼ æ’­è·¯å¾„与社会价值实现方å¼ä¸­çš„应用,推动公益广告æˆä¸ºå‡èšç¤¾ä¼šå…±è¯†ã€æœåŠ¡å…¬å…±åˆ©ç›Šçš„æ ¸å¿ƒåŠ›é‡ï¼Œä¸ºå…¬ç›Šå¹¿å‘Šå­¦æœ¯ç ”究与行业实践æä¾›ä¸­å›½ç»éªŒã€‚","category":"conference","tags":["公益广告","数智技术","共识建构","创新å‘展","跨域ååŒ"],"events":[{"year":2025,"id":"digital-consensus-public-ad-conference-2025","link":"https://mp.weixin.qq.com/s/lhk3Rr8XwX6CWj407XRVTw","timeline":[{"deadline":"2025-09-25T00:00:00","comment":"投稿开始"},{"deadline":"2025-10-31T23:59:00","comment":"投稿截止"},{"deadline":"2025-11-01T00:00:00","comment":"评审开始"},{"deadline":"2025-11-10T23:59:00","comment":"评审结æŸï¼Œå‘é€å‚会通知"},{"deadline":"2025-11-20T00:00:00","comment":"报到时间"},{"deadline":"2025-11-21T09:00:00","comment":"会议开始"},{"deadline":"2025-11-21T18:00:00","comment":"会议结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´11月21æ—¥","place":"中国,广州暨å—大学新闻与传播学院(番禺校区)"}]},{"title":"第六届公益慈善ç†è®ºä¸Žæ”¿ç­–研讨会","description":"由中国社会ä¿éšœå­¦ä¼šä¸»åŠžçš„å­¦æœ¯ç ”è®¨ä¼šï¼Œèšç„¦å…¬ç›Šæ…ˆå–„ç†è®ºä¸Žæ”¿ç­–研究,促进ç†è®ºç¹è£ã€åŠ©åŠ›åˆ¶åº¦å»ºè®¾ã€æŽ¨åŠ¨å­¦ç§‘å‘展ã€å¼•领实务创新。","category":"conference","tags":["公益慈善","ç†è®ºç ”ç©¶","政策研讨","社会ä¿éšœ"],"events":[{"year":2025,"id":"charity-theory-policy-conference-2025","link":"https://mp.weixin.qq.com/s/UirnsOsJaI6W1mh-QLUtQg","timeline":[{"deadline":"2025-12-06T09:00:00","comment":"研讨会开始"},{"deadline":"2025-12-07T17:00:00","comment":"研讨会结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´12月6æ—¥-12月7æ—¥","place":"中国,北京"}]},{"title":"2025年亚洲公益论å›","description":"以\"开放共建ã€åˆ›æ–°å‘展\"为主题的亚洲地区é‡è¦å…¬ç›Šè®ºå›ï¼Œæ±‡èšäºšæ´²å„国公益组织ã€ä¸“家学者和社会å„界人士,围绕è”åˆå›½17个全çƒå¯æŒç»­å‘展目标,举办主论å›ã€å¹³è¡Œè®ºå›ç­‰å¤šé¡¹æ´»åŠ¨ï¼ŒæŽ¨åŠ¨äºšæ´²å…¬ç›Šäº‹ä¸šåˆ›æ–°å‘展和国际åˆä½œã€‚","category":"conference","tags":["亚洲公益","坿Œç»­å‘展","国际åˆä½œ","公益创新","SDGs"],"events":[{"year":2025,"id":"asia-charity-forum-2025","link":"https://mp.weixin.qq.com/s/kV9VqX6ZhrQGLLDkWEi47w","timeline":[{"deadline":"2025-11-28T14:00:00","comment":"è®ºå›æŠ¥åˆ°å¼€å§‹"},{"deadline":"2025-11-28T18:00:00","comment":"è®ºå›æŠ¥åˆ°ç»“æŸ"},{"deadline":"2025-11-29T09:00:00","comment":"开幕å¼åŠä¸»è®ºå›å¼€å§‹"},{"deadline":"2025-11-29T12:00:00","comment":"主论å›ç»“æŸ"},{"deadline":"2025-11-29T14:30:00","comment":"平行论å›å¼€å§‹"},{"deadline":"2025-11-30T17:30:00","comment":"平行论å›ç»“æŸ"},{"deadline":"2025-12-02T00:00:00","comment":"交æµè€ƒå¯ŸåŠè¿”程"}],"timezone":"Asia/Shanghai","date":"2025å¹´11月28æ—¥-12月2æ—¥","place":"中国,海å—çœç¼æµ·å¸‚åšé³Œé•‡äºšæ´²æ¹¾é…’店"}]},{"title":"第五届海洋公益论å›","subtitle":"社会力é‡åŠ©åŠ›ä¸­å›½æµ·æ´‹ä¿æŠ¤","description":"åœ¨å…¨çƒæµ·æ´‹æ²»ç†é¢ä¸´æ–°æŒ‘战与新机é‡çš„背景下,汇èšç¤¾ä¼šå„界的智慧与力é‡ï¼ŒæŽ¨åŠ¨æµ·æ´‹ä¿æŠ¤çš„å®žè·µä¸Žåˆ›æ–°ï¼Œå…±è°‹å¯æŒç»­å‘展。自2019年以æ¥ï¼Œ\"海洋中心城市论å›\"å·²æˆåŠŸä¸¾åŠžå››å±Šï¼Œæˆä¸ºæŽ¨åЍ䏭国è“è‰²ç»æµŽä¸Žæµ·æ´‹ä¿æŠ¤å‘展的国际平å°ã€‚ç¬¬äº”å±Šè®ºå›æ­å»ºæ”¿ã€äº§ã€å­¦ã€ç ”ã€æ°‘多方交æµçš„创新生æ€ï¼Œå…±åŒæŽ¢ç´¢ä¸­å›½æµ·æ´‹ä¿æŠ¤çš„社会创新路径与全çƒåˆä½œæ–°æ¨¡å¼ã€‚","category":"conference","organizer":{"host":"国家海洋局(拟)","co_organizers":["国家地ç†å­¦ä¼šï¼ˆäºšå¤ªï¼‰åŒ—京代表处","æ¯æµ·å®ˆæŠ¤è€…生æ€ç ”究会","æ·±åœ³å¸‚å¤§é¹æ–°åŒºç§‘普教育基地å会","å—æµ·æµ·æ´‹ä¿æŠ¤è”盟","中国海洋大学海洋å‘展研究院"],"organizer":"上海海洋é’年科学促进中心(筹)"},"tags":["æµ·æ´‹ä¿æŠ¤","公益论å›","社会力é‡","坿Œç»­å‘展","è“è‰²ç»æµŽ"],"agenda":{"day1":{"date":"2025å¹´10月28日(星期二)","morning":"2025ä¸­å›½æµ·æ´‹ç»æµŽåšè§ˆä¼šå¼€å¹•å¼","afternoon":["第五届海洋公益论å›ä¸»è®ºå›","主题报告","圆桌论å›ï¼šç¤¾ä¼šç»„ç»‡åœ¨æµ·æ´‹ä¿æŠ¤ä¸­çš„å®žè·µä¸Žæˆæ•ˆ","圆桌论å›ï¼šæµ·æ´‹ä¿æŠ¤èµ„æºåŠ¨å‘˜ä¸Žæœªæ¥å±•望"]},"day2":{"date":"2025å¹´10月29日(星期三)","morning":["分论å›ï¼šçŠç‘šç¤ç”Ÿæ€ä¿®å¤ä¸Žå…¬ä¼—å‚与","分论å›ï¼šè“色金èžåŠ©åŠ›æµ·æ´‹èµ„æºå¯æŒç»­åˆ©ç”¨","分论å›ï¼šå•†é“与绿色共生:汇èšåˆ›æ–°åŠ›é‡ï¼Œå®ˆæŠ¤è“色家园"]}},"events":[{"year":2025,"id":"ocean-charity-forum-2025","link":"https://mp.weixin.qq.com/s/Rz0WSABv0FcEU2cY_CfQ7Q","timeline":[{"deadline":"2025-08-01T00:00:00","comment":"å‚会报å开始"},{"deadline":"2025-10-15T23:59:00","comment":"å‚ä¼šæŠ¥åæˆªæ­¢"},{"deadline":"2025-10-28T09:00:00","comment":"论å›å¼€å§‹"},{"deadline":"2025-10-29T17:00:00","comment":"论å›ç»“æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月28æ—¥-10月29æ—¥","place":"中国,深圳国际会展中心(å®å®‰ï¼‰"}]},{"title":"2025公益慈善筹款人交æµä¼šæŠ¥å通é“å¼€å¯ï¼","description":"å年之约,共赴一场属于筹款人的深度对è¯ã€‚专属于筹款人的场域,\"说人è¯ã€å¹²å®žäº‹ã€æœ‰æ¸©åº¦\"的交æµä¼šï¼Œç›´é¢ä¸“业痛点,探寻破局之é“,共è¯åˆ›æ–°ä¹‹æœ¯ï¼Œé‡è§å…±è¯†ä¹‹äººã€‚","organizer":"公益慈善筹款人交æµä¼šç»„委会","theme":"å年之约,共赴一场属于筹款人的深度对è¯","features":"专属于筹款人的场域,\"说人è¯ã€å¹²å®žäº‹ã€æœ‰æ¸©åº¦\"的交æµä¼š","agenda_committee":["é«˜å‰ - 郑州市金水区大有å¯è¡Œç¤¾ä¼šå·¥ä½œæœåŠ¡ä¸­å¿ƒåˆ›å§‹äººã€æ€»å¹²äº‹","ç½—æµ·å²³ - 抖音集团ä¼ä¸šç¤¾ä¼šè´£ä»»éƒ¨äº§å“å’Œè¿è¥è´Ÿè´£äººï¼Œå›½å†…首ä½CFRE国际注册筹款人","åˆ˜ç´ - 腾讯公益慈善基金会副秘书长ã€è…¾è®¯å…¬ç›Šå¹³å°éƒ¨äº§å“负责人","刘亚东 - 广州市爱å°ä¸«å…¬ç›Šå‘展中心总干事","颜志涛 - 中国乡æ‘å‘展基金会副秘书长","张波娜 - 上海è”åŠå…¬ç›ŠåŸºé‡‘会副秘书长","臧婧 - 上海方德瑞信社会公益创新å‘展中心副ç†äº‹é•¿å…¼ä¸»ä»»"],"main_topics":["筹款之é“:行业å‘展挑战ã€è¶‹åŠ¿åˆ†æžä¸Žæ–¹å‘指引","筹款之术:专业知识ã€åº”ç”¨æŠ€èƒ½å’Œå‰æ²¿æ¨¡å¼","筹款之人:个体æˆé•¿ä¸Žä¸“业化å‘展"],"key_agenda":["主会场:筹款之é“,回归本æºï¼Œé‡å¡‘价值共识","分会场:é—产æèµ ä¸Žæ…ˆå–„信托ã€åŒºåŸŸç­¹æ¬¾ã€äº’è”网筹款新生æ€ã€å†…容赋能公益筹款ã€ç¤¾ç¾¤æèµ ã€è®®é¢˜ç­¹æ¬¾","圆桌咨询:筹款人帮助筹款人,ç»éªŒæ— ä¿ç•™åˆ†äº«"],"target_audience":"公益慈善筹款人ã€ç­¹æ¬¾é¢†å¯¼è€…ã€ç›¸å…³ä»Žä¸šè€…","conference_value":"ç›´é¢ä¸“业痛点,探寻破局之é“,共è¯åˆ›æ–°ä¹‹æœ¯ï¼Œé‡è§å…±è¯†ä¹‹äºº","category":"conference","tags":["公益会议","筹款交æµ","慈善论å›","专业å‘展","行业交æµ","筹款人"],"events":[{"year":2025,"id":"charity-fundraiser-conference-2025","link":"https://mp.weixin.qq.com/s/TqzI636iMZyqfwIDcfTkGA","timeline":[{"deadline":"2025-10-30T09:00:00","comment":"交æµä¼šç¬¬ä¸€å¤©å¼€å§‹"},{"deadline":"2025-10-31T17:00:00","comment":"交æµä¼šç»“æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月30æ—¥-10月31æ—¥","place":"中国,上海"}]},{"title":"中国-å·´è¥¿å¯æŒç»­å‘展与能æºä½Žç¢³è½¬åž‹è®ºå›æš¨ç¬¬13届国际生物能æºä¼šè®®","description":"作为第30届è”åˆå›½æ°”候å˜åŒ–大会(COP30)系列活动之一,本次会议èšç„¦æ°”候å˜åŒ–应对ã€å¯å†ç”Ÿèƒ½æºã€CO2æ•集与利用ã€ç”Ÿç‰©è´¨ç»¼åˆåˆ©ç”¨ã€å¯æŒç»­èˆªç©ºç‡ƒæ–™ï¼ˆSAF)ã€ç”Ÿç‰©ç»æµŽåŠç”Ÿç‰©å¤šæ ·æ€§ã€æ”¿ç­–和市场分æžç­‰é¢†åŸŸï¼ŒæŽ¢è®¨ä¸­å·´ä¹ƒè‡³ä¸­æ‹‰å„国多方åˆä½œå‰æ™¯åŠå•†ä¸šæœºä¼šï¼ŒæŽ¨åŠ¨ç”Ÿç‰©èƒ½æºã€ç”Ÿç‰©æŠ€æœ¯å’Œä½Žç¢³å‘展。","organizer":"清åŽå¤§å­¦ã€å·´è¥¿é‡Œçº¦çƒ­å†…å¢è”邦大学ã€å·´è¥¿å…¨å›½å·¥ä¸šè”åˆä¼šï¼ˆCNI)ã€è¿œæ™¯ç§‘技集团","host_organization":"清åŽå¤§å­¦ä¸­å›½-巴西气候å˜åŒ–ä¸Žèƒ½æºæŠ€æœ¯åˆ›æ–°ç ”ç©¶ä¸­å¿ƒã€ä¸­æ‹‰æ¸…æ´èƒ½æºä¸Žæ°”候å˜åŒ–è”åˆå®žéªŒå®¤","conference_background":"第30届è”åˆå›½æ°”候å˜åŒ–大会(COP30)系列活动","main_topics":"气候å˜åŒ–应对ã€å¯å†ç”Ÿèƒ½æºã€CO2æ•集与利用ã€ç”Ÿç‰©è´¨ç»¼åˆåˆ©ç”¨ã€å¯æŒç»­èˆªç©ºç‡ƒæ–™ï¼ˆSAF)ã€ç”Ÿç‰©ç»æµŽåŠç”Ÿç‰©å¤šæ ·æ€§ã€æ”¿ç­–和市场分æž","conference_features":"探讨中巴乃至中拉å„国多方åˆä½œå‰æ™¯åŠå•†ä¸šæœºä¼šï¼ŒæŽ¨åŠ¨ç”Ÿç‰©èƒ½æºã€ç”Ÿç‰©æŠ€æœ¯å’Œä½Žç¢³å‘展","chairman":"清åŽå¤§å­¦åˆ˜å¾·åŽæ•™æŽˆ","secretary_general":"清åŽå¤§å­¦èµµé›ªå†°","category":"conference","tags":["能æºè½¬åž‹","气候å˜åŒ–","生物能æº","国际åˆä½œ","坿Œç»­å‘展"],"events":[{"year":2025,"id":"china-brazil-energy-forum-2025","link":"https://mp.weixin.qq.com/s/6BtJG66knlFbxpZVZdaxmA","timeline":[{"deadline":"2025-12-07T09:00:00","comment":"技术å‚è§‚åŠå­¦æœ¯äº¤æµå¼€å§‹ï¼ˆé‡Œçº¦ï¼‰"},{"deadline":"2025-12-08T18:00:00","comment":"技术å‚è§‚åŠå­¦æœ¯äº¤æµç»“æŸï¼ˆé‡Œçº¦ï¼‰"},{"deadline":"2025-12-09T09:00:00","comment":"大会报告开始(巴西利亚)"},{"deadline":"2025-12-09T18:00:00","comment":"分会场研讨结æŸ"},{"deadline":"2025-12-10T09:00:00","comment":"专场研讨开始"},{"deadline":"2025-12-10T18:00:00","comment":"专场研讨结æŸ"},{"deadline":"2025-12-11T18:00:00","comment":"考察活动结æŸï¼ˆåœ£ä¿ç½—)"}],"timezone":"America/Sao_Paulo","date":"2025å¹´12月7æ—¥-12月11æ—¥","place":"巴西(里约ã€å·´è¥¿åˆ©äºšã€åœ£ä¿ç½—)"}]},{"title":"《EBES Sustainable Building》创刊å‘å¸ƒä¼šæš¨é¦–å±Šå¯æŒç»­å»ºç­‘大会","description":"åœ¨å…¨çƒæ°”候å˜åŒ–å½±å“加剧ã€åŸŽå¸‚化进程æŒç»­åŠ é€Ÿä¸Žå…¬ä¼—å¯¹å¥åº·å®œå±…环境需求日益æå‡çš„å¤åˆèƒŒæ™¯ä¸‹ï¼Œå¯æŒç»­å»ºç­‘已从é‡è¦é€‰é¡¹è½¬å˜ä¸ºæ”¯æ’‘人居环境高质é‡å‘展的核心路径。由哈尔滨工业大学è”åˆç§‘爱出版集团创办的《EBES Sustainable Building》正å¼åˆ›åˆŠï¼Œæ—¨åœ¨æ‰“造综åˆå¤šå­¦ç§‘力é‡ï¼Œæ•´åˆäººå±…环境相关领域ç†å¿µã€æ–¹æ³•å’Œç ”ç©¶æˆæžœçš„国际平å°ã€‚","category":"conference","tags":["坿Œç»­å»ºç­‘","绿色技术","学术会议","期刊创刊","国际åˆä½œ","ä½Žç¢³ææ–™","智能设计","建筑节能"],"events":[{"year":2025,"id":"ebes-sustainable-building-2025","link":"https://mp.weixin.qq.com/s/GhEMvHGmlvrjAtind7J57A","timeline":[{"deadline":"2025-10-11T08:00:00","comment":"大会开始"},{"deadline":"2025-10-12T09:00:00","comment":"EBES Sustainable Building 创刊仪å¼"},{"deadline":"2025-10-12T10:00:00","comment":"é¦–å±Šå¯æŒç»­å»ºç­‘大会:主旨报告(一)开始"},{"deadline":"2025-10-12T17:50:00","comment":"主旨报告(一)结æŸ"},{"deadline":"2025-10-13T09:00:00","comment":"中新学术论å›å¼€å§‹"},{"deadline":"2025-10-13T11:55:00","comment":"中新学术论å›ç»“æŸ"},{"deadline":"2025-10-13T14:00:00","comment":"主旨报告(二)开始"},{"deadline":"2025-10-13T17:50:00","comment":"大会结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月11æ—¥-10月13æ—¥","place":"中国,哈尔滨"}]},{"title":"䏭德坿Œç»­ç³»åˆ—研讨会 – é‡‘èžæ”¯æŒé›¶ç¢³å›­åŒºå»ºè®¾","description":"在应对气候å˜åŒ–所带æ¥çš„多é‡è€Œç´§è¿«çš„æŒ‘战中,金èžç³»ç»Ÿå‘挥ç€è‡³å…³é‡è¦çš„ä½œç”¨ã€‚å›­åŒºä½œä¸ºå®žä½“ç»æµŽçš„é‡è¦è½½ä½“,兼具大规模生产制造ã€ç»¿è‰²æŠ€æœ¯é›†æˆä¸Žäº§ä¸šååŒåˆ›æ–°ç­‰åŠŸèƒ½ï¼Œæ—¥ç›Šæˆä¸ºæŽ¨åŠ¨åŒºåŸŸä½Žç¢³è½¬åž‹å’Œç»¿è‰²å¢žé•¿çš„é‡è¦å¹³å°ã€‚本次研讨会é‡ç‚¹èšç„¦\"产业园区脱碳转型的机制与案例分享\"以åŠ\"能æºè½¬åž‹èžèµ„:行业转型路径与碳抵消\"等议题。","category":"conference","tags":["坿Œç»­å‘展","绿色金èž","零碳园区","中德åˆä½œ","气候å˜åŒ–","低碳转型","能æºè½¬åž‹","产业园区"],"events":[{"year":2025,"id":"china-germany-sustainable-seminar-2025","link":"https://mp.weixin.qq.com/s/xhGzGdViC1jHN5vkstXq_A","timeline":[{"deadline":"2025-10-16T14:00:00","comment":"研讨会开始"},{"deadline":"2025-10-16T17:30:00","comment":"研讨会结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月16æ—¥","place":"中国,北京"}]},{"title":"第五届\"创新æ¯\"中国高校ESG案例大赛","description":"ç”±é¦–éƒ½ç»æµŽè´¸æ˜“大学中国ESG研究院ã€å·¥å•†ç®¡ç†å­¦é™¢è”åˆä¸»åŠžçš„å¤§å­¦ç”ŸESG案例大赛。本赛事致力于在中国高校推广ESGç†å¿µï¼Œå‘掘和培养中国ESG商业领域储备人æ‰ã€‚é¢å‘全国高校学生,注é‡å±•现高校学å­å¯¹ESG管ç†å…¨è¿‡ç¨‹çš„ç†è§£ï¼Œé¼“励学å­ä¸»åŠ¨å…³æ³¨ESGä¼ä¸šå®žè·µï¼Œå¹¶è€ƒå¯ŸESG实践与管ç†ç›¸å…³ä¸“业知识的èžåˆèƒ½åŠ›ï¼Œä¿ƒè¿›å‚赛者对ESG问题的深入分æžã€‚","category":"competition","tags":["ESG","案例大赛","高校竞赛","商业分æž","坿Œç»­å‘展","ä¼ä¸šæ²»ç†","负责任投资","案例撰写"],"events":[{"year":2025,"id":"innovation-cup-esg-case-2025","link":"https://cba.cueb.edu.cn/xzsy/a6941c8303a8446796246fa20b874059.htm","timeline":[{"deadline":"2025-11-18T21:00:00","comment":"在线æäº¤åˆèµ›æ¡ˆä¾‹æˆªæ­¢"},{"deadline":"2025-11-19T00:00:00","comment":"åˆèµ›æ¡ˆä¾‹è¯„审开始"},{"deadline":"2025-12-01T23:59:59","comment":"åˆèµ›æ¡ˆä¾‹è¯„审结æŸ"},{"deadline":"2025-12-02T00:00:00","comment":"公布晋级决赛åå•"},{"deadline":"2025-12-15T23:59:59","comment":"æäº¤æ¡ˆä¾‹åˆ†æžæŠ¥å‘Šæˆªæ­¢"},{"deadline":"2025-12-18T00:00:00","comment":"决赛答辩(拟)"}],"timezone":"Asia/Shanghai","date":"2025å¹´11月-12月","place":"é¦–éƒ½ç»æµŽè´¸æ˜“大学"}]},{"title":"2025å¹´\"ç§‘å­¦ã€è‰ºæœ¯ã€è´£ä»»\"首届蒲公英ESGé’年实践项目大赛","description":"以跨界交èžä¸ºçº½å¸¦ï¼Œä»¥ESG(环境ã€ç¤¾ä¼šè´£ä»»ã€å…¬å¸æ²»ç†ï¼‰ç†å¿µä¸ºæŒ‡å¼•,邀请é’年共探生æ€ä¿æŠ¤ä¸Žå‘展的新路径。大赛分为两个阶段:第一阶段为é’少年能æºçŸ¥è¯†ç«žèµ›ï¼ˆçƒ­èº«å‡†å¤‡ï¼‰ï¼Œç¬¬äºŒé˜¶æ®µä¸ºESGé’年实践项目大赛正å¼å‚赛。é¢å‘所有对环境ã€èƒ½æºã€äº¤é€šã€ç”Ÿæ€ç­‰é¢†åŸŸæ„Ÿå…´è¶£çš„é’年人开放,无论是在校学生ã€èŒåœºæ–°äººï¼Œè¿˜æ˜¯çƒ­çˆ±å¯æŒç»­å‘展的跨界爱好者。","category":"competition","tags":["ESG","çŽ¯å¢ƒä¿æŠ¤","é’年实践","坿Œç»­å‘展","能æº","生æ€ä¿æŠ¤","社会责任","跨界交èž"],"events":[{"year":2025,"id":"dandelion-esg-youth-2025","link":"https://mp.weixin.qq.com/s?__biz=MzkzMjc1MTI0MQ==&mid=2247485238&idx=1&sn=7191e54c77d104ee95031037df373f84&chksm=c3069679d9be563620e20273ce750977f648deee21131ff972997b132d383e1af400278c438a#rd","timeline":[{"deadline":"2025-09-21T00:00:00","comment":"ESGé’年实践项目大赛报å开始"},{"deadline":"2025-10-31T23:59:59","comment":"ESGé’å¹´å®žè·µé¡¹ç›®å¤§èµ›æŠ¥åæˆªæ­¢"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月21æ—¥ - 10月31æ—¥","place":"线上报å"}]},{"title":"2025å¹´\"中åŽè¯—è¯\"é’少年系列公益活动","description":"中åŽè¯—è¯å‘展基金会主办的é’少年公益活动,以立德树人为宗旨,激å‘é’少年对诗è¯çš„热爱,æé«˜æ–‡å­¦ç´ å…»å’Œå®¡ç¾Žæƒ…趣。活动通过弘扬中åŽä¼˜ç§€ä¼ ç»Ÿæ–‡åŒ–,引导广大é’少年通过书法ã€ç»˜ç”»ã€è¯—è¯åˆ›ä½œã€è¯—è¯è¯µè¯»ç­‰å½¢å¼è¡¨è¾¾å¯¹ä¸­åŽè¯—è¯çš„热爱,以赛促学,使中åŽè¯—è¯åœ¨é’少年的心中薪ç«ç›¸ä¼ ã€‚活动分为çœèµ›ä¸Žå›½èµ›ï¼ŒåŒ…å«çº¿ä¸Šç­”题ã€è¯—é…ç”»ã€ç”»é…诗ã€è¯—è¯ä¹¦æ³•作å“ã€è¯—歌朗诵解读ã€è¯—è¯åˆ›ä½œç­‰å…­ä¸ªé¡¹ç›®ã€‚é¢å‘全国在校的幼儿园ã€å°å­¦ã€åˆä¸­ã€é«˜ä¸­å­¦ç”Ÿã€ä¸­ä¸“èŒé«˜å­¦ç”Ÿï¼Œåˆ†ä¸ºå¹¼å„¿å›­ã€å°å­¦ä½Žå¹´ç»„(1-3年级)ã€å°å­¦é«˜å¹´ç»„(4-6年级)ã€åˆä¸­ç»„和高中组。","category":"competition","tags":["中åŽè¯—è¯","é’少年教育","传统文化","诗è¯åˆ›ä½œ","书法绘画","文学素养","公益活动","文化传承"],"events":[{"year":2025,"id":"chinese-poetry-youth-2025","link":"https://mp.weixin.qq.com/s/1oOR63bwdBuhjAxxGlr02A","timeline":[{"deadline":"2025-01-01T00:00:00","comment":"活动报å开始"},{"deadline":"2025-12-31T23:59:59","comment":"活动全年进行"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"全国"}]},{"title":"海岳奖","description":"ä¸ºå¼˜æ‰¬ä¸­åŽæ°‘æ—优秀传统文化,ç¹è£ä¹¦æ³•艺术,展示书法创作和教育å‘å±•æˆæžœè€Œä¸¾åŠžçš„å…¨å›½æ€§ä¹¦æ³•å…¬ç›Šå¤§èµ›ã€‚å¤§èµ›é¢å‘海内外(港澳å°ï¼‰ä¹¦æ³•爱好者,分为æˆäººç»„(18å²ä»¥ä¸Šï¼‰ã€å¤§å­¦ç”Ÿç»„ã€å­¦ç”Ÿç»„(在校中å°å­¦ç”Ÿï¼‰ï¼ŒåŒ…å«è½¯ç¬”创作组ã€ç¡¬ç¬”创作组ã€è§„范字组等多个类别。学生组按年级分为幼儿组ã€ä¸€å¹´çº§ç»„到六年级组ã€åˆä¸­ç»„ã€é«˜ä¸­ç»„ç­‰9个å°ç»„。大赛设置海岳奖ã€ç‰¹ç­‰å¥–ã€é‡‘奖ã€é“¶å¥–ã€é“œå¥–ã€ç²¾å“奖ã€ä¼˜ç§€å¥–ã€å…¥é€‰å¥–等多个奖项,旨在推动书法艺术的传承与å‘展。","category":"competition","tags":["书法艺术","传统文化","公益大赛","海岳奖","软笔书法","硬笔书法","文化传承","全国å¾ç¨¿"],"events":[{"year":2025,"id":"haiyue-calligraphy-2025","link":"https://mp.weixin.qq.com/s/Q6SVxMVWOdLuUiSOKCaZ7A","timeline":[{"deadline":"2025-12-31T23:59:00","comment":"å¾ç¨¿æˆªæ­¢æ—¶é—´"},{"deadline":"2026-01-10T00:00:00","comment":"评审时间(åˆå®šï¼‰"}],"timezone":"Asia/Shanghai","date":"2025å¹´å¾ç¨¿ï¼Œ2026å¹´1月评审","place":"全国(海内外)"}]},{"title":"2025å²­å—国际éžé—文化龙舟公益邀请赛","description":"以龙舟è¿åŠ¨ä¸ºæ ¸å¿ƒçš„å›½é™…æ€§éžé—文化公益赛事,èžåˆé¾™èˆŸã€æ­¦æœ¯ç­‰ä¼ ç»Ÿæ°‘俗文化,打造兼具文化传承ã€å¥åº·è¿åŠ¨ä¸Žå…¬ç›Šä»·å€¼çš„å“牌活动。粤港澳地区龙舟è¿åŠ¨åŽ†å²æ‚ ä¹…,是国家级éžé—,承载ç€\"团结拼æã€å¥‹å‹‡äº‰å…ˆ\"的精神,是三地民众的文化记忆与情感纽带。以\"传承éžé—文化ã€ä¿ƒè¿›å¥åº·ç”Ÿæ´»ã€æ¿€æ´»åŒºåŸŸæ¶ˆè´¹\"ä¸ºæ ¸å¿ƒï¼Œå°†é¾™èˆŸç«žæŠ€ä¸Žæ…ˆå–„å…¬ç›Šã€æ¶ˆè´¹ä¿ƒè¿›æ·±åº¦èžåˆï¼Œé€šè¿‡èµ›äº‹èšé›†äººæµã€æ¿€æ´»åœºæ™¯ï¼Œè”动岭å—特色商户ã€éžé—文创å“牌ã€å¥åº·æ¶ˆè´¹ä¸šæ€ï¼Œå½¢æˆ\"è§‚èµ›+体验+消费\"的闭环,推动éžé—文化ã€å¥åº·ã€ä½“育ã€å…¬ç›Šé¢†åŸŸçš„交æµåˆä½œï¼Œå¢žè¿›åŒºåŸŸæ–‡åŒ–è®¤åŒæ„Ÿä¸Žå‡èšåŠ›ã€‚çŽ°åœºè®¾ç½®éžé—文创ã€å…¬ç›Šæ…ˆå–„ã€å¥åº·å…»ç”Ÿã€å“牌ä¼ä¸šå››å¤§é›†å¸‚。","category":"competition","tags":["龙舟è¿åЍ","éžé—文化","公益邀请赛","å²­å—æ–‡åŒ–","粤港澳","传统体育","文化传承","国际赛事"],"events":[{"year":2025,"id":"lingnan-dragon-boat-2025","link":"https://mp.weixin.qq.com/s/AH6aAQpUV4YpewPtjAjcWQ","timeline":[{"deadline":"2025-10-18T09:00:00","comment":"比赛开始时间"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月18æ—¥","place":"佛山市顺德区ä¹ä»Žé•‡ç´æ¹–社区ç´éŸµå…¬å›­è¿³å£æ²³"}]},{"title":"英雄梦","description":"以\"传承英雄精神 é’æ˜¥ç ¥ç ºå‰è¡Œ\"ä¸ºæ ¸å¿ƒä¸»é¢˜ï¼Œä»¥çºªå¿µä¸­å›½äººæ°‘æŠ—æ—¥æˆ˜äº‰æš¨ä¸–ç•Œåæ³•西斯战争胜利80周年为契机的公益大赛。引导é’少年通过书信体这一亲切真挚的写作形å¼ï¼Œä¸Žåކå²å¯¹è¯ã€ä¸Žè‹±é›„对è¯ã€ä¸Žæœªæ¥å¯¹è¯ï¼Œä¼ æ‰¿è‹±é›„ç²¾ç¥žã€æŠ’å‘爱国情怀ã€åšå®šç†æƒ³ä¿¡å¿µï¼Œè‡ªè§‰æ‹…当起民æ—å¤å…´çš„æ—¶ä»£é‡ä»»ã€‚大赛é¢å‘深圳全市中å°å­¦å­¦ç”Ÿï¼Œå¾æ–‡åˆ†ä¸ºå°å­¦ç»„(1-6年级)ã€åˆä¸­ç»„(7-9年级)ã€é«˜ä¸­ç»„(10-12年级),朗诵分为å°å­¦ç»„(1-6年级)ã€ä¸­å­¦ç»„(7-12å¹´çº§ï¼‰ã€‚æ´»åŠ¨å…¨ç¨‹çº¯å…¬ç›Šï¼Œä¸æ”¶è´¹ã€‚包å«å¾æ–‡æŠ•稿ã€è¯„审ã€è޷奖åå•å…¬å¸ƒã€æœ—诵å¤èµ›å†³èµ›ã€çº¢è‰²ç ”å­¦ã€é¢å¥–典礼等完整æµç¨‹ã€‚","category":"competition","tags":["徿–‡æ¯”èµ›","朗诵比赛","英雄精神","爱国教育","é’少年教育","公益大赛","抗战纪念","深圳教育"],"events":[{"year":2025,"id":"hero-dream-essay-2025","link":"https://mp.weixin.qq.com/s/vGsK6T0MtmJb5U0hj4H1GQ","timeline":[{"deadline":"2025-10-06T00:00:00","comment":"投稿å¾é›†å¼€å§‹"},{"deadline":"2025-10-31T23:59:59","comment":"投稿å¾é›†æˆªæ­¢"},{"deadline":"2025-11-15T23:59:59","comment":"评审阶段结æŸ"},{"deadline":"2025-12-26T00:00:00","comment":"é¢å¥–典礼"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月-12月","place":"深圳市"}]},{"title":"第三届星瀚æ¯\"èµ°è¿›ä¼ä¸šçš„æ³•律课\"公益大赛","description":"åŽä¸œæ”¿æ³•大学与上海星瀚律师事务所共åŒå‘起的公益赛事,通过组织和辅导法学生策划并实践一堂é¢å‘ä¼ä¸šçš„公益法律课,培养法学生将学校习得的专业知识应用于ä¼ä¸šç»è¥çš„实务领域,锻炼大学生的专业能力ã€å•†ä¸šæ€ç»´ã€ç­–划能力ã€è¡¨è¾¾èƒ½åŠ›ï¼ŒåŒæ—¶é¢å‘商事ä¼ä¸šè¿›è¡Œæ™®æ³•宣传,增强ä¼ä¸šçš„åˆè§„æ„识与风险管控能力。本届新增法律AI Agentæ­å»ºèµ›é“,激励法学生与技术专长学生å作打造法律智能体。","category":"competition","tags":["法律公益","教育","人工智能","普法宣传","ä¼ä¸šåˆè§„"],"events":[{"year":2025,"id":"xinhan-cup-legal-2025","link":"https://mp.weixin.qq.com/s/PrnduavLQzUlv4tRwDdFGw","timeline":[{"deadline":"2025-10-29T23:59:59","comment":"åˆèµ›ç­–划教案æäº¤æˆªæ­¢"},{"deadline":"2025-11-14T23:59:59","comment":"å¤èµ›è¯•讲视频æäº¤æˆªæ­¢"},{"deadline":"2025-11-28T18:00:00","comment":"决赛现场答辩"}],"timezone":"Asia/Shanghai","date":"2025 å¹´ 9 月 26 æ—¥ - 11 月 28 æ—¥","place":"线上åˆå¤èµ› + åŽä¸œæ”¿æ³•大学决赛"}]},{"title":"2025è‹å·ž\"金桂奖\"公益广告作å“大赛","description":"ç”±è‹å·žå·¥ä¸šå›­åŒºå¹¿å‘Šå会主办的公益广告创æ„å¤§èµ›ï¼Œæ—¨åœ¨å‘æŽ˜å¹¿å‘Šåˆ›æ„领域的新生力é‡ï¼Œæ­å»ºè¡Œä¸šäº¤æµå±•示的优质平å°ã€‚大赛设置平é¢ç±»ä½œå“ã€è§†é¢‘类作å“和首次设立的AIå¹³é¢ç±»ä½œå“三个项目,用创æ„为公益赋能。获奖作å“将有机会登上è‹å·žçš„æˆ·å¤–大å±ã€åœ°é“公交ã€åª’体平å°ï¼Œæˆä¸ºåŸŽå¸‚文明建设的独特å°è®°ã€‚","category":"competition","tags":["公益广告","创æ„设计","广告创æ„","è‹å·ž","AI创作","城市文明"],"events":[{"year":2025,"id":"suzhou-jingui-award-2025","link":"https://mp.weixin.qq.com/s/vDbHmeR-0lncUBVDES-kwQ","timeline":[{"deadline":"2025-11-15T23:59:59","comment":"ä½œå“æäº¤æˆªæ­¢"}],"timezone":"Asia/Shanghai","date":"2025 年金秋 - 11 月 15 æ—¥","place":"è‹å·žå·¥ä¸šå›­åŒº"}]},{"title":"2025年第五届\"应急科普åŽå¤è¡Œ\"学生急救技能科普竞赛","description":"由中国ç¾å®³é˜²å¾¡å会科普教育培训分会主办的全国性学生急救技能科普竞赛,旨在æå‡å…¬ä¼—应对çªå‘事件的能力,增强风险防范æ„识。å‚赛对象为全国在校学生,通过在线答题形å¼è¿›è¡Œï¼Œç­”é¢˜åˆæ ¼è€…å¯èŽ·å¾—ç”µå­ç‰ˆè£èª‰è¯ä¹¦ã€‚","category":"competition","tags":["公益","ç§‘æ™®","急救","应急","学生","安全教育"],"events":[{"year":2025,"id":"emergency-science-huaxia-2025","link":"https://mp.weixin.qq.com/s/MWGBBxAzGXLpeX84BW_y5A","timeline":[{"deadline":"2025-12-25T23:59:59","comment":"å‚赛截止时间"},{"deadline":"2025-12-27T23:59:59","comment":"æˆç»©å…¬ç¤º"}],"timezone":"Asia/Shanghai","date":"峿—¥èµ· - 2025å¹´12月25æ—¥","place":"全国(在线答题)"}]},{"title":"2025全国精英跑团公益邀请赛","description":"汇èšå…¨å›½å„地精英跑团,通过马拉æ¾å’Œé•¿è·‘赛事传播公益ç†å¿µï¼ŒæŽ¨å¹¿å…¨æ°‘å¥èº«è¿åŠ¨ï¼ŒåŒæ—¶ä¸ºæ…ˆå–„事业筹集资金的大型公益体育赛事。赛事旨在促进跑步è¿åЍå‘展,增强全民å¥èº«æ„识,传递正能é‡ï¼Œå±•现体育精神与公益精神的完美结åˆã€‚","category":"competition","tags":["公益","è·‘æ­¥","马拉æ¾","精英跑团","体育","全民å¥èº«","慈善"],"events":[{"year":2025,"id":"elite-running-charity-2025","link":"https://mp.weixin.qq.com/s/rO12-jNdm13MJa5XTNLUxw","timeline":[{"deadline":"2025-09-30T23:59:59","comment":"æŠ¥åæˆªæ­¢æ—¶é—´"},{"deadline":"2025-10-15T08:00:00","comment":"比赛开始时间"},{"deadline":"2025-10-15T18:00:00","comment":"é¢å¥–仪å¼"}]}]},{"title":"2025「å¡èµ¢æ¯ã€å¼€æºæ¸¸æˆå¼€å‘大赛","description":"æœ¬å±Šå¤§èµ›ç”±åŽŸå­æ¸¸åˆ›ç¤¾ä¸Žç½•è§ç—…公益社区共åŒå‘起,七大高校社团è”åˆæ‰¿åŠžï¼Œé¼“åŠ±åœ¨æ ¡å¤§å­¦ç”Ÿä¸Žå…¬ç›Šç¤¾åŒºæˆå‘˜å…±åŒä½¿ç”¨å¼€æºéžå•†ä¸šæ¸¸æˆå¼•擎(如 Dora SSRã€Godot/Redotã€Cocos2d-x 等)或纯编程语言创作兼容 PC(Windows 10/11)的原创游æˆï¼›å€¡å¯¼å¼€æºåä½œä¸Žå…¬ç›Šä¸»é¢˜ä¼ æ’­ï¼Œæ”¯æŒ AI åˆ›ä½œå¹¶éœ€æ˜Žç¡®å£°æ˜Žå·¥å…·ä¸Žç´ ææ¥æºã€‚","category":"competition","tags":["å¼€æº","游æˆå¼€å‘","公益","高校竞赛","AI创作","å¼€æºå¼•擎"],"events":[{"year":2025,"id":"kaiying-cup-open-source-game-2025","link":"https://2025gamejam.osgame.org/","timeline":[{"deadline":"2025-11-15T00:00:00","comment":"比赛官网报å开始"},{"deadline":"2025-11-21T23:59:59","comment":"æ¯”èµ›å®˜ç½‘æŠ¥åæˆªæ­¢"},{"deadline":"2025-11-22T12:00:00","comment":"公布大赛主题,开始16天开å‘"},{"deadline":"2025-12-07T23:59:59","comment":"å¼€å‘结æŸï¼ˆ16天)"},{"deadline":"2025-12-08T00:00:00","comment":"评分开始(专家评审与å‚赛者互评)"},{"deadline":"2025-12-21T23:59:59","comment":"评分结æŸ"},{"deadline":"2025-12-22T00:00:00","comment":"公布获奖åå•,开放举报渠é“"},{"deadline":"2025-12-29T00:00:00","comment":"线上é¢å¥–典礼开始"},{"deadline":"2026-01-04T23:59:59","comment":"线上é¢å¥–典礼结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´11月15æ—¥-12月29æ—¥","place":"线上"}]},{"title":"2025中国公益慈善项目大赛","description":"由中国慈善è”åˆä¼šä¸»åŠžçš„å…¨å›½æ€§å…¬ç›Šæ…ˆå–„é¡¹ç›®ç«žèµ›ï¼Œæ—¨åœ¨å‘现和培育优秀的公益慈善项目,推动公益事业å‘展。","category":"competition","tags":["公益慈善","项目大赛","社会责任"],"events":[{"year":2025,"id":"china-charity-project-2025","link":"https://www.charity.org.cn/contest","timeline":[{"deadline":"2025-08-01T23:59:59","comment":"申报阶段开始"},{"deadline":"2025-09-30T23:59:59","comment":"申报截止"},{"deadline":"2025-11-30T18:00:00","comment":"晋级赛评审结æŸ"},{"deadline":"2025-12-31T16:00:00","comment":"决赛路演"}],"timezone":"Asia/Shanghai","date":"2025 å¹´ 8 月 1 æ—¥ - 12 月 31 æ—¥","place":"线上 + 北京决赛"}]},{"title":"2025横ç´äººå¯¿æ¨ªç´é©¬æ‹‰æ¾å…¬ç›ŠæŠ¥å","description":"ä¸ºçˆ±å¥”è·‘ï¼æ¨ªç´é©¬æ‹‰æ¾æºæ‰‹æ¨ªç´ç²¤æ¾³æ·±åº¦åˆä½œåŒºæ…ˆå–„促进会,通过赛事公益åé¢ç­¹é›†å–„款,支æŒå…¬ç›Šé¡¹ç›®ã€‚公益跑者享有专属å·ç å¸ƒã€ä¸“享领物通é“ã€å…¬ç›Šçºªå¿µè¯ä¹¦ç­‰ç¦åˆ©ï¼Œä¼ é€’正能é‡ã€å‡èšçˆ±å¿ƒã€‚","category":"competition","tags":["马拉æ¾","公益跑步","慈善æèµ ","体育公益","横ç´"],"events":[{"year":2025,"id":"hengqin-marathon-charity-2025","link":"https://mp.weixin.qq.com/s/Sco0RS3zbKBNOCPAVfbsTQ","timeline":[{"deadline":"2025-10-28T23:59:00","comment":"å…¬ç›ŠæŠ¥åæˆªæ­¢ï¼ˆé¢æ»¡å³æ­¢ï¼‰"},{"deadline":"2025-12-28T07:30:00","comment":"é©¬æ‹‰æ¾æ¯”赛开始"}],"timezone":"Asia/Shanghai","date":"2025 å¹´ 12 月 28 日(星期日)","place":"å¹¿ä¸œçœæ¨ªç´ç²¤æ¾³æ·±åº¦åˆä½œåŒºæ¨ªç´é‡‘èžå²›ä¸­å¤®å…¬å›­"}]},{"title":"2025年与人æ¯é’年公益创æ„大赛","description":"由广东çœä¸Žäººå…¬ç›ŠåŸºé‡‘会ã€å…±é’å›¢æƒ å·žå­¦é™¢å§”å‘˜ä¼šã€æƒ å·žå¸‚慈航公益å会主办的大学生公益赛事,以'å¯è’™å…¬ç›Šåˆ›æ„,引领é’年公益实践å‚与,æå‡ç¤¾ä¼šè´£ä»»æ„Ÿ'为宗旨,鼓励在校大学生关注身边社会问题,结åˆè‡ªèº«ä¸“业优势,用é’å¹´æ€åº¦é’å¹´æ–¹å¼å›žåº”社会问题,产出公益创æ„并加以实践。2025年以\"é’年新主张\"为概念,以项目è½åœ°å®žè·µä¸ºè½½ä½“,推动é’年围绕校园ã€ç¤¾åŒºã€å®¶åº­ã€èŒåœºç­‰åœºæ™¯å‘现社会需求ã€è®¾è®¡åˆ›æ–°æ–¹æ¡ˆå¹¶å®žè·µã€‚","category":"competition","tags":["公益创æ„","é’年实践","社会责任","团队å作","项目孵化"],"events":[{"year":2025,"id":"renren-cup-2025","link":"https://mp.weixin.qq.com/s/jyoGeno6EwQAUv0MI7acRA","timeline":[{"deadline":"2025-09-23T23:59:59","comment":"报å表æäº¤æˆªæ­¢"},{"deadline":"2025-09-24T00:00:00","comment":"åˆèµ›è¯„审开始"},{"deadline":"2025-09-27T00:00:00","comment":"公布入围å¤èµ›åå•åŠå¤èµ›ç¾¤äºŒç»´ç "},{"deadline":"2025-10-15T23:59:59","comment":"《公益项目书》æäº¤æˆªæ­¢"},{"deadline":"2025-10-17T00:00:00","comment":"线上å¤èµ›ä¸¾è¡Œ"},{"deadline":"2025-10-25T00:00:00","comment":"试è¿è¥é˜¶æ®µå¯åЍ"},{"deadline":"2025-11-14T18:00:00","comment":"决赛暨路演答辩(现场公布获奖åå•)"},{"deadline":"2025-11-20T23:59:59","comment":"æäº¤ç»“项资料"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月9æ—¥ - 11月14æ—¥","place":"惠州学院åŠç¤¾åŒºè¯•è¿è¥åœºåœ°"}]},{"title":"ITGD·创跑2025梦想10km公益跑(åƒå±±åŒºå¯¹æ¡©çŸ³ç«™ï¼‰","description":"该赛事为公益性质的10公里跑步活动,旨在倡导å¥åº·ç”Ÿæ´»æ–¹å¼ä¸Žå…¬ç›Šç†å¿µç»“åˆã€‚å‚赛者需满足年龄é™åˆ¶ï¼ˆ3å²ä»¥ä¸Šè‡³70周å²ä»¥ä¸‹ï¼‰ï¼Œæœªæˆå¹´äººéœ€ç›‘æŠ¤äººç­¾ç½²åŒæ„书;组委会强调å‚赛者的身体å¥åº·è¯„估,建议赛å‰è¿›è¡Œä¸“ä¸šä½“æ£€ä»¥æŽ’é™¤æ½œåœ¨é£Žé™©ã€‚æŠ¥åæ—¶é—´ä»Ž2025å¹´9月22æ—¥12:00开始至10月10æ—¥18:00截止,æä¾›çº¿ä¸ŠæŠ¥å渠é“åŠå…¬ç›Šç›´é€šåé¢ï¼ˆé™1000个)。","category":"competition","tags":["公益跑","å¥åº·è¿åЍ","ä¹¡æ‘æŒ¯å…´"],"events":[{"year":2025,"id":"itgd-dreamrun-2025","link":"https://mp.weixin.qq.com/s/VYdtMhDZ_dgsREx4L5NS2Q","timeline":[{"deadline":"2025-09-22T12:00:00","comment":"报å开始"},{"deadline":"2025-10-10T18:00:00","comment":"报å结æŸ"},{"deadline":"2025-10-19T09:00:00","comment":"比赛开始"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月19æ—¥","place":"åƒå±±åŒºå¯¹æ¡©çŸ³ç«™"}]},{"title":"创建助力'百åƒä¸‡'——广东çœç²¾ç¥žæ–‡æ˜Žå»ºè®¾å…¬ç›Šå¹¿å‘Šè®¾è®¡å¤§èµ›","description":"由广东çœç²¾ç¥žæ–‡æ˜Žå»ºè®¾åŠžå…¬å®¤ã€å—方报业传媒集团è”åˆä¸»åŠžçš„å…¬ç›Šå¹¿å‘Šè®¾è®¡å¤§èµ›ï¼Œæ—¨åœ¨é€šè¿‡åˆ›æ„设计传播文明ç†å¿µï¼Œèµ‹èƒ½\"百县åƒé•‡ä¸‡æ‘高质é‡å‘展工程\"ï¼Œå¼•å¯¼å¹¿å¤§ç¾¤ä¼—è®²æ–‡æ˜Žã€æ ‘新风。大赛紧扣\"助力'百åƒä¸‡å·¥ç¨‹'\"\"活力å五è¿ä¼š\"\"建设绿美广东\"\"ä¼ æ‰¿å²­å—æ–‡åŒ–\"\"弘扬文明乡风\"等五大主题方å‘,é¢å‘全社会å¾é›†é´é€‰å…·æœ‰æ—¶ä»£æ€§ã€åœ°åŸŸæ€§ã€åˆ›æ–°æ€§çš„精神文明建设公益广告作å“。","category":"competition","tags":["公益广告","精神文明","创æ„设计","百åƒä¸‡å·¥ç¨‹","å²­å—æ–‡åŒ–"],"events":[{"year":2025,"id":"guangdong-civilization-ad-2025","link":"https://mp.weixin.qq.com/s/Ue0--XIVud_l0_J5NUkUkg","timeline":[{"deadline":"2025-09-29T00:00:00","comment":"大赛å¯åЍ"},{"deadline":"2025-11-30T23:59:59","comment":"作å“å¾é›†æˆªæ­¢"},{"deadline":"2025-12-31T23:59:59","comment":"推è公示和宣传推广"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月29æ—¥ - 12月31æ—¥","place":"广东çœï¼ˆçº¿ä¸Šå¾é›†ï¼‰"}]},{"title":"2025æ·„åš\"齿ƒ ä¿\"公益马拉æ¾","description":"由淄åšé½æƒ ä¿é¡¹ç›®ç»„ä¸»åŠžçš„å…¬ç›Šé©¬æ‹‰æ¾æ´»åŠ¨ï¼Œæ—¨åœ¨ä¸ºæ·„åšå¸‚困难群众募集\"齿ƒ ä¿\"ä¿éšœèµ„金,守护他们家庭的å¥åº·å’Œå¸Œæœ›ã€‚å‚与者æ1å…ƒå³å¯æŠ¥åå‚èµ›ï¼Œé€šè¿‡æ¯æ—¥èµ°æ»¡3600步完æˆé©¬æ‹‰æ¾æŒ‘战,获得腾讯公益è¯ä¹¦å’Œå…¬ç›Šé©¬æ‹‰æ¾ç”µå­å¾½ç« ï¼Œè¿˜èƒ½æŠ½å¥–èµ¢å–\"æ·„åšé½æƒ ä¿\"æ–‡åˆ›å¾½ç« ã€‚æ¯æœ‰ä¸€ä½å‚ä¸Žè€…å®ŒæˆæŒ‘æˆ˜ï¼Œé¡¹ç›®ç»„å°†é…æ1元公益金。","category":"competition","tags":["公益马拉æ¾","å¥åº·è¿åЍ","慈善募æ","社会ä¿éšœ","步数挑战"],"events":[{"year":2025,"id":"zibo-qihuibao-marathon-2025","link":"https://mp.weixin.qq.com/s/9zuIj7DNqax18pbeFrI_qw","timeline":[{"deadline":"2025-09-22T00:00:00","comment":"活动开始"},{"deadline":"2025-10-05T23:59:59","comment":"活动结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月22æ—¥ - 10月5æ—¥","place":"线上(微信è¿åŠ¨ï¼‰"}]},{"title":"中西公益骑行赛","description":"中西公益骑行比赛是一项别具æ„义的体育盛事,旨在纪念中西建交50周年,通过体育庆ç¥ä¸¤å›½å‹è°Šã€ç»æµŽåˆä½œå’Œæ–‡åŒ–交æµã€‚活动包å«100公里长途挑战赛和家庭赛两个项目,适åˆä¸åŒæ°´å¹³çš„å‚与者。","category":"competition","tags":["公益","骑行","体育","中西文化交æµ"],"events":[{"year":2025,"id":"china-spain-charity-cycling-2025","link":"https://mp.weixin.qq.com/s/kfdnDGRb3ljTHyws-IoznQ","timeline":[{"deadline":"2025-10-16T23:59:59","comment":"æŠ¥åæˆªæ­¢"},{"deadline":"2025-10-18T09:00:00","comment":"活动开始"},{"deadline":"2025-10-18T16:00:00","comment":"活动结æŸ"}],"timezone":"Europe/Madrid","date":"2025å¹´10月18æ—¥","place":"马德里,西ç­ç‰™"}]},{"title":"è·‘é中国·è¿åЍå¥åº·å…¬ç›Š5人团体赛","description":"è·‘é中国·è¿åЍå¥åº·å…¬ç›Š5人团体赛是一项全民å¥èº«çº¿ä¸Šè·‘步活动,采用5人组队形å¼ï¼Œéšæ—¶éšåœ°å¼€è·‘。活动旨在推广科学跑步ç†å¿µï¼Œå…»æˆè¿åŠ¨å¥½ä¹ æƒ¯ï¼Œæä¾›å¤šç§å¥—é¤é€‰æ‹©å’Œä¸°åŽšå¥–å“。","category":"competition","tags":["公益","è·‘æ­¥","å¥èº«","团体赛","线上活动"],"events":[{"year":2025,"id":"run-china-health-team-2025","link":"https://mp.weixin.qq.com/s/4zQkVYxfe0nevQ5MHVS1zw","timeline":[{"deadline":"2025-09-08T10:00:00","comment":"报å开始"},{"deadline":"2025-10-06T23:59:59","comment":"æŠ¥åæˆªæ­¢"},{"deadline":"2025-10-07T23:59:59","comment":"比赛结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月8æ—¥-10月7æ—¥","place":"线上(全国范围)"}]},{"title":"第19届设计之都(中国•深圳)公益广告大赛","description":"2025å¹´9月å¯åŠ¨çš„ä½œå“å¾é›†æ´»åŠ¨ï¼Œè®¾ç½®ä¸“ä¸šç»„/大众组/校园组三大å‚赛类别,涵盖平é¢ã€è§†é¢‘ã€éŸ³é¢‘ã€äº’动四大创作形å¼ã€‚题æåŒ…括弘扬社会主义核心价值观ã€å±•çŽ°æ·±åœ³ç»æµŽç‰¹åŒºå‘展æˆå°±ã€æ¿€å‘创新活力ã€å®ˆæŠ¤ç”Ÿæ€æ–‡æ˜Žã€ç•…æƒ³ä¹¡æ‘æŒ¯å…´ã€ç»´æŠ¤å›½å®¶å®‰å…¨ã€ä¼ æ‰¿ä¼˜ç§€æ–‡åŒ–ã€ä¿ƒè¿›æ³•治文明ã€è¿åŠ¨ç¾Žå¥½ç”Ÿæ´»ç­‰å大主题方å‘ã€‚è¦æ±‚作å“须为原创且通俗易懂,接å—网上æäº¤ï¼ˆå®˜ç½‘/邮箱渠é“),截稿日期为2025å¹´10月10日。","category":"competition","tags":["公益数字化","公益广告","创æ„设计"],"events":[{"year":2025,"id":"sz-publicity-ad-contest-2025","link":"https://mp.weixin.qq.com/s/qhxmicvMgmPDMnUvPnm8Hw","timeline":[{"deadline":"2025-10-10T23:59:59","comment":"ä½œå“æäº¤æˆªæ­¢"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月至10月10æ—¥","place":"线上投稿(官网/邮箱)+线下展示"}]},{"title":"山河回å“Â·é’æ˜¥çŒ®ç¤¼","description":"广州é“è·¯èŒä¸šæŠ€æœ¯å­¦é™¢\"悦已\"èŠ±è‰ºç¤¾å¼€å±•çš„ä¸»é¢˜æ‘„å½±æ¯”èµ›ï¼Œä»¥èŠ±ä¸ºä¸»é¢˜ï¼Œä»¥æ‘„å½±ä¸ºè½½ä½“ï¼Œé€šè¿‡é•œå¤´ä¸‹çš„æ•…äº‹ï¼Œå¼•å¯¼å¹¿å¤§å¸ˆç”Ÿå¯»çº¢è‰²è®°å¿†ã€æ‚Ÿå®¶å›½æƒ…æ€€ï¼Œå°†æ´»åŠ¨æˆæžœåŒ–作公益力é‡ï¼Œä¼ æ‰¿çº¢è‰²åŸºå› ï¼Œå±•师生担当。活动围绕\"花一般的美丽\"ã€\"追寻红色足迹\"ã€\"致敬最å¯çˆ±çš„人\"三个摄影模å—展开。","category":"competition","tags":["公益摄影","红色文化","é’æ˜¥çŒ®ç¤¼","校园活动","文化传承"],"events":[{"year":2025,"id":"shanhe-huixiang-photography-2025","link":"https://mp.weixin.qq.com/s/F9Mq5Lnogm6uUhnVPtRAHg","timeline":[{"deadline":"2025-09-24T00:00:00","comment":"活动开始"},{"deadline":"2025-10-18T23:59:59","comment":"作å“创作与å¾é›†æˆªæ­¢"},{"deadline":"2025-10-21T23:59:59","comment":"作å“评选结æŸ"},{"deadline":"2025-10-22T00:00:00","comment":"公益转化与展示期开始"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月24æ—¥ - 10月22æ—¥","place":"广州é“è·¯èŒä¸šæŠ€æœ¯å­¦é™¢"}]},{"title":"2025年中山市精神文明公益广告设计大赛","description":"以\"æ–‡æ˜Žä¸­å±±æ±‡åˆ›æ„ å…¬ç›Šå…‰å½±å€¡æ–°é£Ž\"为主题的公益广告设计大赛,ä¸è®¾ç»„别门槛,é¢å‘文化ã€å¹¿å‘Šã€å½±è§†åˆ¶ä½œå…¬å¸ã€åª’体å•ä½ã€é™¢æ ¡åŠçƒ­å¿ƒå…¬ç›Šçš„社会大众。涵盖中山现代化建设ã€ç¤¾ä¼šä¸»ä¹‰æ ¸å¿ƒä»·å€¼è§‚ã€ä¸­åŽä¼˜ç§€ä¼ ç»Ÿæ–‡åŒ–ç­‰9大主题,支æŒå¹³é¢ä½œå“和视频作å“两ç§åˆ›ä½œå½¢å¼ã€‚","category":"competition","tags":["公益广告","创æ„设计","精神文明","文化传承","城市形象"],"events":[{"year":2025,"id":"zhongshan-civilization-ad-2025","link":"https://mp.weixin.qq.com/s/qsI8jc1e3d91f3w5CQRW1g","timeline":[{"deadline":"2025-10-25T23:59:59","comment":"作å“å¾é›†æˆªæ­¢"}],"timezone":"Asia/Shanghai","date":"2025å¹´å¾ç¨¿è‡³10月25æ—¥","place":"中山市(线上æäº¤ï¼‰"}]},{"title":"2025ä¸Šæµ·å°æ˜†å±±ä¹¡æ‘马拉æ¾èµ›","description":"åœ¨ä¸Šæµ·å¸‚æ¾æ±ŸåŒºå°æ˜†å±±é•‡ä¸‡äº©è‰¯ç”°ä¸¾åŠžçš„åŠç¨‹é©¬æ‹‰æ¾èµ›äº‹ï¼Œæºæ‰‹æ¾æ±ŸåŒºå°æ˜†å±±é•‡çº¢å字会共åŒä¼ é€’温暖与力é‡ã€‚设置300个公益åé¢ï¼Œæ¯ä»½æŠ¥å都将化为一份爱心æèµ ï¼Œä¸ºå›°å¢ƒä¸­çš„人们点亮å‰è·¯ã€‚å‚赛选手年满16周å²ï¼Œæ¯”赛项目为åŠç¨‹é©¬æ‹‰æ¾ï¼ˆ21.0975公里),规模2000人。","category":"competition","tags":["马拉æ¾","公益跑步","乡æ‘马拉æ¾","慈善募æ","体育赛事"],"events":[{"year":2025,"id":"xiaokunshan-marathon-2025","link":"https://mp.weixin.qq.com/s/XCRtVH2ob9rphNmPf3uoKw","timeline":[{"deadline":"2025-09-16T18:00:00","comment":"公益报å开始"},{"deadline":"2025-09-23T18:00:00","comment":"å…¬ç›ŠæŠ¥åæˆªæ­¢"},{"deadline":"2025-09-30T23:59:59","comment":"公益åå•公布"},{"deadline":"2025-10-19T07:30:00","comment":"比赛开始"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月19æ—¥ 7:30","place":"ä¸Šæµ·å¸‚æ¾æ±ŸåŒºå°æ˜†å±±é•‡ä¸‡äº©è‰¯ç”°"}]},{"title":"第ä¹å±Šä½›å±±å¸‚公益é’å°‘å¹´é’¢ç´å…¬å¼€èµ›","description":"佛山市钢ç´å­¦ä¼šä¸Žä½›å±±å¸‚é’少年文化宫共åŒä¸»åŠžçš„å…¬ç›Šæ€§é’¢ç´æ¯”赛,秉承\"以比赛为媒介,以舞å°ä¸ºç›®æ ‡\"çš„ç†å¿µï¼Œè®¾æœ‰å¹¼å„¿ç»„ã€å„¿ç«¥ç»„ã€å°‘年组ã€é’年组ã€å奿›²ç»„ã€è”å¼¹ç»„ç­‰å¤šä¸ªç»„åˆ«ï¼Œä¸ºé’¢ç´æ•™å¸ˆæä¾›å±•ç¤ºæ•™å­¦æˆæžœçš„å¹³å°ï¼Œè®©ç´ç«¥æ‹¥æœ‰å……分展示æ‰åŽçš„大舞å°ã€‚","category":"competition","tags":["公益比赛","é’¢ç´æ¯”èµ›","é’少年艺术","éŸ³ä¹æ•™è‚²","文化艺术"],"events":[{"year":2025,"id":"foshan-piano-contest-2025","link":"https://mp.weixin.qq.com/s/wwszD-MizrN0k0iSoKcO_A","timeline":[{"deadline":"2025-09-12T00:00:00","comment":"报å开始"},{"deadline":"2025-11-03T23:59:59","comment":"æŠ¥åæˆªæ­¢"},{"deadline":"2025-11-15T00:00:00","comment":"åˆèµ›å¼€å§‹"},{"deadline":"2025-11-30T23:59:59","comment":"åˆèµ›ç»“æŸ"},{"deadline":"2025-12-05T00:00:00","comment":"决赛开始"},{"deadline":"2025-12-20T23:59:59","comment":"决赛结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月12æ—¥ - 12月20æ—¥","place":"佛山市é’少年文化宫"}]},{"title":"兰马公益|为爱奔跑,与善åŒè¡Œ","description":"兰州马拉æ¾çš„公益实践活动,包å«å¤šä¸ªå…¬ç›Šé¡¹ç›®ï¼š\"梦想1公里\"助残公益跑(2016-2019年累计助力超4000åæ®‹éšœäººå£«å®Œæˆè¿‘20公里赛程,筹集善款105650元)ã€\"守护星星的孩å­\"关爱孤独症儿童活动(2023-2025年累计æèµ 105000元用于特殊需求孩å­åº·è®­è¡¥åŠ©ï¼‰ã€\"兰马公益林\"生æ€é¡¹ç›®ï¼ˆç´¯è®¡æŠ•å…¥220000å…ƒç”¨äºŽç§æ¤å›ºæ²™æ¤ç‰©ã€é˜²æ²»è’æ¼ åŒ–å’Œå»ºè®¾å…¬ç›Šå°æ¸¸å›­ï¼‰ã€‚通过\"公益+马拉æ¾\"的创新模å¼ï¼Œå°†å–„æ„和信念根æ¤äºŽæ¯ä½å‚与者心中。","category":"competition","tags":["马拉æ¾å…¬ç›Š","助残公益","关爱孤独症","生æ€çޝä¿","公益跑步"],"events":[{"year":2025,"id":"lanzhou-marathon-charity-2025","link":"https://mp.weixin.qq.com/s/ODbe2pCrZgoAr70tral34Q","timeline":[{"deadline":"2025-06-01T00:00:00","comment":"兰马公益活动å¯åЍ"},{"deadline":"2025-06-15T00:00:00","comment":"兰州国际马拉æ¾èµ›äº‹ä¸¾åŠž"},{"deadline":"2025-12-31T23:59:59","comment":"年度公益项目总结"}],"timezone":"Asia/Shanghai","date":"2025å¹´6月1æ—¥ - 12月31æ—¥","place":"兰州市åŠç”˜è‚ƒçœå„地"}]},{"title":"Empire Code Technovation Girls 2026 | 新加å¡å¥³ç”Ÿç§‘技创新竞赛培训","description":"Empire Code举办的Technovation Girls 2026竞赛培训项目,专为8-16å²å¥³å­©è®¾è®¡çš„国际科技创新与创业竞赛。å‚与者将组æˆ4-5人团队,设计和开å‘解决现实世界问题的移动应用程åºï¼Œå¹¶è¿›è¡Œå…¨çƒå±•示。竞赛包å«åº”用创建和在线æäº¤ï¼Œæ¶µç›–编程ã€å•†ä¸šè®¡åˆ’åˆ¶å®šã€æŠ•èµ„æŽ¨ä»‹ç­‰æŠ€èƒ½å­¦ä¹ ã€‚Empire Code作为新加å¡ä¸“业编程培训机构,在诺维纳校区和河谷校区æä¾›14次课程(30å°æ—¶ï¼‰çš„专业培训,从2026å¹´1月12日开始。培训项目包括MOE注册培训师指导,涵盖AIã€MIT App Inventor和国际竞赛ç»éªŒã€‚2025年,Empire Code团队在Technovation Girlså…¨çƒåŠå†³èµ›ä¸­è„±é¢–而出,展现了学生的国际竞争力。该项目为女孩æä¾›STEM技能ã€åˆ›æ–°ç»éªŒå’ŒDSA申请作å“é›†è¯æ®ã€‚","category":"activity","tags":["女生科技","创新竞赛","编程培训","移动应用开å‘","STEM教育","新加å¡","Empire Code","é’少年教育","科技创业","å…¨çƒç«žèµ›","MIT App Inventor","性别多元化"],"events":[{"year":2026,"id":"empire-code-technovation-2026","link":"https://empirecode.co/technovation-2026/","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"æŠ¥åæˆªæ­¢æ—¶é—´"},{"deadline":"2026-01-12T00:00:00","comment":"培训课程开始"},{"deadline":"2026-04-20T17:00:00","comment":"项目æäº¤æˆªæ­¢"},{"deadline":"2026-10-31T23:59:59","comment":"世界峰会(入围者邀请制)"}],"timezone":"Asia/Shanghai","date":"2025å¹´12月-2026å¹´10月","place":"新加å¡è¯ºç»´çº³æ ¡åŒºå’Œæ²³è°·æ ¡åŒº"}]},{"title":"GeeksforGeeks Women Code to Win 2025 | 女性编程竞赛","description":"GeeksforGeeks Women Code to Win 2025是专门为女性开å‘者举办的编程竞赛,旨在促进技术领域的性别多元化,为女性程åºå‘˜æä¾›å±•示编程技能的平å°ã€‚该竞赛é¢å‘å…¨çƒå¥³æ€§å¼€å‘è€…å¼€æ”¾ï¼Œæ¶µç›–ç®—æ³•ã€æ•°æ®ç»“æž„ã€é—®é¢˜è§£å†³ç­‰å¤šä¸ªæŠ€æœ¯é¢†åŸŸã€‚å‚赛者将é¢å¯¹ä¸€ç³»åˆ—编程挑战,通过解决实际问题æ¥å±•示自己的技术能力。竞赛ä¸ä»…æä¾›ä¸°åŽšçš„å¥–å“,还为å‚赛者æä¾›ä¸Žè¡Œä¸šä¸“家交æµã€èŽ·å¾—èŒä¸šæŒ‡å¯¼çš„æœºä¼šã€‚GeeksforGeeks作为知å的技术教育平å°ï¼Œé€šè¿‡ä¸¾åŠžæ­¤ç±»ç«žèµ›è‡´åŠ›äºŽæ‰“ç ´æŠ€æœ¯è¡Œä¸šçš„æ€§åˆ«å£åž’,鼓励更多女性å‚与到编程和技术创新中æ¥ï¼Œä¸ºå¥³æ€§æŠ€æœ¯äººæ‰çš„èŒä¸šå‘展创造更多机会。","category":"activity","tags":["编程竞赛","女性开å‘者","算法挑战","æ•°æ®ç»“æž„","技术教育","性别多元化","编程技能","问题解决","èŒä¸šå‘展","技术创新","å…¨çƒç«žèµ›","女性程åºå‘˜"],"events":[{"year":2025,"id":"geeksforgeeks-women-code-to-win-2025","link":"https://www.geeksforgeeks.org/hack-a-thon/women-code-to-win-2025","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"竞赛æŒç»­è¿›è¡Œä¸­"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"线上竞赛平å°"}]},{"title":"Technovation Girls å…¨çƒæŒ‘战赛 | 女生科技创新与创业竞赛","description":"Technovation Girls是一个é¢å‘8-18å²å¥³å­©ã€éžäºŒå…ƒæ€§åˆ«å’Œè·¨æ€§åˆ«å‚ä¸Žè€…çš„å…¨çƒæ€§ç§‘技创新与创业竞赛。该竞赛æ¯å¹´ä»Ž8月æŒç»­åˆ°æ¬¡å¹´4月,å‚与者组æˆå›¢é˜Ÿï¼Œåˆ©ç”¨æŠ€æœ¯å¼€å‘解决社区问题的创新方案,学习编程ã€å•†ä¸šè®¡åˆ’制定和投资推介等技能。竞赛完全å…费,å‚与者å¯ä»¥é€šè¿‡å½“地的Technovation分会或俱ä¹éƒ¨å‚与,也å¯ä»¥è™šæ‹Ÿç‹¬ç«‹å‚与。项目æäº¤æˆªæ­¢æ—¥æœŸä¸º2026å¹´4月20日下åˆ5点(太平洋时间)。竞赛分为学生å‚ä¸Žã€æˆäººå¿—愿者指导ã€é¡¹ç›®é¢†å¯¼è€…组织和åˆä½œä¼™ä¼´æ”¯æŒå››ä¸ªç»´åº¦ï¼Œæ—¨åœ¨åŸ¹å…»ä¸‹ä¸€ä»£å¥³æ€§ç§‘技领袖,æå‡å¥³å­©åœ¨STEM领域的å‚与度和自信心,通过技术创新解决现实社会问题。","category":"activity","tags":["女生科技","创新竞赛","编程学习","创业教育","STEM教育","å…¨çƒç«žèµ›","社区创新","技术创业","é’少年教育","性别平等","科技领袖","社会创新"],"events":[{"year":2025,"id":"technovation-girls-2026","link":"https://technovationchallenge.org/get-involved/","timeline":[{"deadline":"2025-08-01T00:00:00","comment":"2026赛季开始报å"},{"deadline":"2026-03-31T23:59:59","comment":"æŠ¥åæˆªæ­¢"},{"deadline":"2026-04-20T17:00:00","comment":"项目æäº¤æˆªæ­¢"}],"timezone":"Asia/Shanghai","date":"2025å¹´8月-2026å¹´4月","place":"å…¨çƒçº¿ä¸ŠåŠçº¿ä¸‹åˆ†ä¼š"}]},{"title":"HackHERS 2026 | 罗格斯大学女性主题黑客马拉æ¾","description":"HackHERS是罗格斯大学举办的é¢å‘å¥³æ€§çš„é»‘å®¢é©¬æ‹‰æ¾æ´»åŠ¨ï¼Œæ—¨åœ¨é€šè¿‡æŠ€æœ¯æ´»åŠ¨ç¼©å°æ€§åˆ«å·®è·ã€‚虽然活动é¢å‘所有性别开放,但其核心使命是鼓励更多女性å‚与技术领域。该活动为期两天,在新泽西州新ä¸ä¼¦ç‘žå…‹ç½—格斯大学College Avenue Student Center举行。活动完全å…费,为åˆå­¦è€…æä¾›å‹å¥½çš„学习环境,包括全天的工作åŠã€å¿—愿者和导师现场答疑等支æŒã€‚å‚与者å¯ä»¥ç»„æˆæœ€å¤š4äººçš„å›¢é˜Ÿï¼Œåœ¨æ´»åŠ¨ä¸­å­¦ä¹ ç¼–ç¨‹ã€æž„建项目。活动强调多元化团队的é‡è¦æ€§ï¼Œè®¤ä¸ºç¼©å°æŠ€æœ¯è¡Œä¸šæ€§åˆ«å·®è·éœ€è¦æ‰€æœ‰äººçš„å…±åŒå‚与。","category":"competition","tags":["女性黑客马拉æ¾","编程竞赛","技术教育","性别多元化","罗格斯大学","新泽西州","åˆå­¦è€…å‹å¥½","团队åˆä½œ","技术社区","å…费活动","工作åŠ","导师指导"],"events":[{"year":2026,"id":"ruther-hackhers-2026","link":"https://ruhackhers.org/","timeline":[{"deadline":"2026-02-07T23:59:59","comment":"黑客申请截止(活动å‰ä¸€å‘¨ï¼‰"},{"deadline":"2026-02-14T09:00:00","comment":"黑客马拉æ¾å¼€å§‹"},{"deadline":"2026-02-15T17:00:00","comment":"黑客马拉æ¾ç»“æŸ"}],"timezone":"America/New_York","date":"2026å¹´2月14-15æ—¥","place":"美国新泽西州新ä¸ä¼¦ç‘žå…‹ç½—格斯大学College Avenue Student Center"}]},{"title":"一份爱心助è§ä¹‰å‹‡ä¸º | 公益募æï¼Œæˆ‘ä»¬éœ€è¦æ‚¨çš„加入","description":"榆林市è§ä¹‰å‹‡ä¸ºåŸºé‡‘会å‘èµ·çš„å…¬ç›Šå‹Ÿææ´»åŠ¨ã€‚æ²¡æœ‰äººç”Ÿæ¥å°±æ˜¯è‹±é›„ï¼Œå´æ€»æœ‰äººåœ¨å¹³å‡¡çš„生活中为他人挺身而出,用平凡之躯行英雄之事,以凡人善举诠释人间大爱。è§ä¹‰å‹‡ä¸ºç²¾ç¥žæ˜¯ä¸­åŽæ°‘æ—义利观的鲜明体现,是社会主义核心价值观的é‡è¦å†…容,更是新时代å¬å”¤çš„è‰¯å¥½ç¤¾ä¼šé£Žå°šã€‚æœ¬æ¬¡å‹Ÿææ´»åŠ¨æ—¨åœ¨ä¸ºè§ä¹‰å‹‡ä¸ºäººå‘˜ç­¹é›†çˆ±å¿ƒèµ„金,致敬英雄,守护善良。å‚与方å¼åŒ…æ‹¬çº¿ä¸Šææ¬¾ï¼ˆé€šè¿‡è…¾è®¯å…¬ç›Šå¾®ä¿¡å°ç¨‹åºï¼‰å’Œçº¿ä¸‹ææ¬¾ã€‚è”系人:谢女士15829476411ã€é™ˆå¥³å£«18609121660。地å€ï¼šæ¦†æž—市榆阳区安居路与金丰路交å‰å£æ¦†æž—市能æºé›†团资æºå¼€å‘å…¬å¸ä¸€å·æ¥¼ä¸ƒæ¥¼ã€‚","category":"activity","tags":["è§ä¹‰å‹‡ä¸º","公益募æ","榆林市","çˆ±å¿ƒææ¬¾","腾讯公益","英雄精神","社会主义核心价值观","善举","基金会","çº¿ä¸Šææ¬¾","çº¿ä¸‹ææ¬¾","榆林市è§ä¹‰å‹‡ä¸ºåŸºé‡‘会"],"events":[{"year":2025,"id":"yulin-heroic-deed-fundraising-2025","link":"https://mp.weixin.qq.com/s/ZcwHA0tyTdFi4klT9zzCkQ","timeline":[{"deadline":"2025-09-11T00:00:00","comment":"å‹Ÿææ´»åЍ开始"},{"deadline":"2025-11-30T23:59:59","comment":"å‹Ÿææ´»åŠ¨ç»“æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月11日至2025å¹´11月30æ—¥","place":"榆林市"}]},{"title":"10月学生公益活动报åä¿¡æ¯","description":"è“ç›çµè”åˆä¸Šæµ·å¸‚民办万æºåŸŽåå’ŒåŒè¯­å­¦æ ¡ä¸¾åŠžçš„å­¦ç”Ÿå…¬ç›Šæ´»åŠ¨æŠ¥åä¿¡æ¯ã€‚11月22日(周六),è“ç›çµå°†ä¸Žå­¦æ ¡åœ¨å¤ç¾Žå…¬å›­ç»„ç»‡å…¬ç›Šå˜‰å¹´åŽæ´»åŠ¨ï¼Œä¸ºå­¦ç”Ÿä»¬æä¾›ä¸°å¯Œå¤šå½©çš„公益体验机会。活动汇èšäº†å¤šä¸ªçŸ¥å公益组织,包括\"åšä½ çš„眼ç›\"视障人士æœåŠ¡é¡¹ç›®ã€\"爱传递\"慈善活动ã€\"å†ç”Ÿç”µè„‘教室\"环ä¿ç§‘技项目ã€\"绿洲盛食社\"坿Œç»­å‘展倡议ã€\"å–„æ·˜\"公益购物平å°ï¼Œä»¥åŠ\"Where East Meets West中西文化èžåˆ\"文化交æµé¡¹ç›®ã€‚è¿™æ¬¡å…¬ç›Šå˜‰å¹´åŽæ—¨åœ¨è®©å­¦ç”Ÿä»¬é€šè¿‡å‚与å„ç§å…¬ç›Šæ´»åŠ¨ï¼ŒåŸ¹å…»ç¤¾ä¼šè´£ä»»æ„Ÿå’Œå…¬ç›Šæ„识,体验ä¸åŒå½¢å¼çš„å¿—æ„¿æœåŠ¡ï¼Œäº†è§£å…¬ç›Šäº‹ä¸šçš„å¤šå…ƒåŒ–å‘展。活动将为å‚与的学生æä¾›å®žè·µæœºä¼šï¼Œè®©ä»–ä»¬åœ¨è½»æ¾æ„‰å¿«çš„æ°›å›´ä¸­å­¦ä¹ å…¬ç›ŠçŸ¥è¯†ï¼ŒåŸ¹å…»åŠ©äººä¸ºä¹çš„哿 ¼ã€‚","category":"activity","tags":["学生公益","公益嘉年åŽ","è“ç›çµ","上海","å¤ç¾Žå…¬å›­","åå’ŒåŒè¯­å­¦æ ¡","åšä½ çš„眼ç›","å†ç”Ÿç”µè„‘","绿洲盛食社","中西文化èžåˆ"],"events":[{"year":2025,"id":"student-welfare-carnival-2025","link":"https://mp.weixin.qq.com/s/an2-P3yuaNjb5k35aTvlog","timeline":[{"deadline":"2025-11-22T09:00:00","comment":"å…¬ç›Šå˜‰å¹´åŽæ´»åЍ开始"}],"timezone":"Asia/Shanghai","date":"2025å¹´11月22æ—¥","place":"上海å¤ç¾Žå…¬å›­"}]},{"title":"第三期公益沙龙报å | \"筹款与资æºåŠ¨å‘˜\"线下工作åŠ","description":"北京加速公益基金会举办的2025年首都工会公益伙伴项目社会组织èŒå·¥èƒ½åŠ›æå‡ç³»åˆ—培训项目第三期公益沙龙。本次工作åŠèšç„¦\"籌款與資æºåŠ¨å‘˜\"主题,旨在æå‡ç¤¾ä¼šç»„织èŒå·¥çš„专业能力和实践技能。活动由ç»éªŒä¸°å¯Œçš„æ•™ç»ƒå›¢é˜Ÿä¸»æŒï¼ŒåŒ…括岩æ¾ï¼ˆä¸»æŒäººå…¼åŠ©ç†æ•™ç»ƒï¼‰å’ŒæŽé¹ï¼ˆåŒ—京瑞森德社会组织å‘展中心ã€åŒ—京加速公益基金会ç†äº‹é•¿è”åˆåˆ›å§‹äºº/ç†äº‹ï¼‰ã€‚工作åŠå°†é€šè¿‡ç†è®ºè®²è§£ã€æ¡ˆä¾‹åˆ†æžã€å®žè·µæ¼”练等多ç§å½¢å¼ï¼Œå¸®åŠ©å‚与者掌æ¡ç±Œæ¬¾ç­–略制定ã€èµ„æºæ•´åˆã€æèµ äººå…³ç³»ç»´æŠ¤ç­‰æ ¸å¿ƒæŠ€èƒ½ï¼Œä¸ºç¤¾ä¼šç»„ç»‡çš„å¯æŒç»­å‘展æä¾›æœ‰åŠ›æ”¯æ’‘ã€‚","category":"activity","tags":["公益沙龙","籌款培训","资æºåŠ¨å‘˜","北京加速公益基金会","首都工会","社会组织","èŒå·¥èƒ½åŠ›æå‡","线下工作åŠ","北京瑞森德","公益培训"],"events":[{"year":2025,"id":"fundraising-resource-mobilization-workshop-2025","link":"https://mp.weixin.qq.com/s/p1b_Pg1TRvLf6OAAH_nV6Q","timeline":[{"deadline":"2025-10-17T14:00:00","comment":"工作åŠå¼€å§‹æ—¶é—´"},{"deadline":"2025-10-17T16:30:00","comment":"工作åŠç»“æŸæ—¶é—´"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月17æ—¥","place":"北京"}]},{"title":"活动报å丨ã€ä¹¦é¦™æ¶¦ç«¥å¿ƒã€‘亲å­ç»˜æœ¬é˜…读公益活动开始报å啦~","description":"å—郑区图书馆与å—郑区汉山中心幼儿园è”åˆå‘èµ·çš„\"书香润童心\"系列公益性绘本阅读活动。活动旨在丰富孩å­ä»¬çš„阅读生活,激å‘幼儿的阅读兴趣,培养儿童早期阅读习惯,让孩å­ä»¬çˆ±ä¸Šç»˜æœ¬ï¼Œçˆ±ä¸Šé˜…è¯»ï¼ŒåŒæ—¶ä¸ºå®¶é•¿æä¾›äº²å­é˜…读的方法指导。本期活动主题为《丰收的秋天》,包å«\"å¶å­å…ˆç”Ÿ\"的故事和\"è€é¼ çš„秋天进行曲\"等精彩内容,通过色彩浓烈的画é¢å’Œç”ŸåŠ¨çš„æ•…äº‹è§’è‰²ï¼Œå°†è‡ªç„¶èŠ‚å¾‹ã€åŠ³åŠ¨ä»·å€¼ã€ç”Ÿå‘½æ•™è‚²ã€æƒ…感è”结等教育æ„义èžå…¥å…¶ä¸­ã€‚活动由汉山中心幼儿园副园长张斌花è€å¸ˆæŒ‡å¯¼ï¼Œé¢å‘3-6å²å„¿ç«¥åŠå…¶å®¶é•¿ï¼Œé™20组家庭å‚与。","category":"conference","tags":["亲å­é˜…读","绘本故事","公益活动","儿童教育","å—郑区图书馆","汉中市","幼儿园","秋天主题","家庭教育","阅读推广"],"events":[{"year":2025,"id":"shuixiang-runtongxin-reading-activity-2025","link":"https://mp.weixin.qq.com/s/IfUZGvq58EkqW2YOplAU1w","timeline":[{"deadline":"2025-10-11T23:59:59","comment":"æŠ¥åæˆªæ­¢æ—¶é—´"},{"deadline":"2025-10-12T10:30:00","comment":"活动开始时间"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月12æ—¥","place":"å—郑区图书馆二楼少儿阅读区"}]},{"title":"å‘现身边的美——手机摄影公益讲座","description":"为丰富群众业余文化生活,æå‡å…¬ä¼—艺术素养和摄影创作水平,特别是普åŠå’ŒæŽ¨å¹¿æ‰‹æœºæ‘„影技巧,用镜头记录凤冈自然风光ã€äººæ–‡é£Žæƒ…与å‘展æˆå°±ã€‚由凤冈县文化旅游局与凤冈县摄影家å会è”åˆä¸¾åŠžï¼Œé¢å‘全县广大手机摄影爱好者,年龄ä¸é™ï¼Œæ— éœ€å…·å¤‡ä¸“业摄影基础。主讲è€å¸ˆå‘¨ç«‹æ˜¯å‡¤å†ˆåŽ¿æ–°åª’ä½“å会副会长ã€éµä¹‰å¸‚美术家å会会员,长期从事新闻宣传ã€å½±è§†ç­–åˆ’æ‹æ‘„制作等工作。","category":"activity","tags":["手机摄影","公益讲座","摄影技巧","艺术教育","文化旅游","凤冈县","贵州","æ‘„å½±å”æœƒ","新媒体","艺术素养"],"events":[{"year":2025,"id":"mobile-photography-fenggang-2025","link":"https://mp.weixin.qq.com/s/alFnQvwwHaLHt_b7J8KCIw","timeline":[{"deadline":"2025-10-10T19:00:00","comment":"活动开始时间"},{"deadline":"2025-10-10T21:00:00","comment":"æ´»åŠ¨ç»“æŸæ—¶é—´"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月10æ—¥","place":"凤冈县夷州茶社"}]},{"title":"å¥åº·ä½ æˆ‘ 悦享生活 之糖尿病五驾马车è¯é¥®é£Ÿå¥åº·å®£ä¼ ç³»åˆ—讲座","description":"为普åŠå¥åº·çŸ¥è¯†ï¼Œæå‡å±…民生活质é‡ï¼Œæµ·æ·€åŒ—éƒ¨æ–‡åŒ–ä¸­å¿ƒå¼€å±•ç³–å°¿ç—…ç»¼åˆæ²»ç–—核心讲座。由北京è€å¹´åŒ»é™¢å‰¯ä¸»ä»»åŒ»å¸ˆå§¬é•¿ç与主任护师张爱军主讲,深度èšç„¦ç³–å°¿ç—…ç»¼åˆæ²»ç–—的核心,为大家带æ¥ç§‘å­¦ã€å®žç”¨ã€æ˜“懂的饮食指导。现场还有礼å“呿”¾ï¼Œæ´»åŠ¨è®¾40席网上预约åé¢ï¼Œå…è´¹å‚与。","category":"activity","tags":["糖尿病管ç†","å¥åº·è®²åº§","饮食指导","è¥å…»æ²»ç–—","公益活动","海淀区","北京","è€å¹´å¥åº·","慢性病管ç†","å¥åº·æ•™è‚²"],"events":[{"year":2025,"id":"diabetes-diet-health-lecture-2025","link":"https://mp.weixin.qq.com/s/w6dpOUQpGBmerl9cl6HxVw","timeline":[{"deadline":"2025-10-10T14:00:00","comment":"糖尿病五驾马车è¯é¥®é£Ÿå¥åº·è®²åº§å¼€å§‹"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月10æ—¥","place":"海淀北部文化中心B座文化馆五层508教室(海淀区温泉路47å·ï¼‰"}]},{"title":"å‘现户外系列专项讲座(第二åäº”æœŸï¼‰æˆ·å¤–æ´»åŠ¨çŽ¯ä¿æŠ€èƒ½","description":"æœ¬æœŸè®²åº§æ—¨åœ¨ç³»ç»Ÿæ¢³ç†æˆ·å¤–活动中科学的环ä¿ç®¡ç†æ–¹æ³•å’Œæ­£ç¡®çš„çŽ¯ä¿æŠ€èƒ½ï¼Œè®©æ¯ä¸€ä½æˆ·å¤–è¿åŠ¨çˆ±å¥½è€…åœ¨å¤§è‡ªç„¶ä¸­æ‰¾åˆ°å’Œè°å…±å¤„的方å¼ã€‚由国家èŒä¸šèµ„格山地户外è¿åŠ¨åŸ¹è®­å¸ˆæŽæ™“煜(黑夜)主讲,推广\"ç§‘å­¦ã€å®‰å…¨ã€çޝä¿ã€æ–‡æ˜Ž\"的户外ç†å¿µã€‚上海市登山户外è¿åЍå会主办,é¢å‘户外从业者和户外è¿åŠ¨çˆ±å¥½è€…ï¼Œå…è´¹å‚与,åé¢60人。","category":"activity","tags":["户外è¿åЍ","çŽ¯ä¿æŠ€èƒ½","公益讲座","登山户外","è‡ªç„¶ä¿æŠ¤","户外教育","æ¨æµ¦åŒº","上海","夿—¦å¤§å­¦","户外培训"],"events":[{"year":2025,"id":"outdoor-environmental-skills-lecture-2025","link":"https://mp.weixin.qq.com/s/D0NB0qtWzbezj4Oc6WcZ5Q","timeline":[{"deadline":"2025-10-12T14:30:00","comment":"æˆ·å¤–æ´»åŠ¨çŽ¯ä¿æŠ€èƒ½è®²åº§å¼€å§‹"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月12æ—¥","place":"夿—¦å¤§å­¦ç®¡ç†å­¦é™¢æ”¿ç«‹é™¢åŒºï¼ˆæ”¿ç«‹è·¯558å·ï¼‰"}]},{"title":"星语心愿 ä¹ä¼´æˆé•¿","description":"一场特别的公益音ä¹ä¼šï¼Œä¸ºå­¤ç‹¬ç—‡å„¿ç«¥æä¾›å±•示平å°ã€‚安徽儿童疗愈慈善æ‘的孩å­ä»¬å°†ç”¨éŸ³ä¹ä¸Žèˆžè¹ˆä¼ é€’热爱,通过艺术绽放展现他们细腻而真实的内心世界。活动包å«ä¸‰ä¸ªç¯‡ç« ï¼šè‰ºæœ¯ç»½æ”¾Â·å¿ƒçµå…±é¸£ã€ç”Ÿå‘½ä¹‹å…‰Â·å¿ƒçµå¯¹è¯ã€å–„行接力·爱心æ‹å–。","category":"activity","tags":["孤独症儿童","公益音ä¹ä¼š","艺术疗愈","慈善æ‹å–","巢湖","安徽","疗愈æ‘","å¿—æ„¿æœåŠ¡","特殊儿童关爱"],"events":[{"year":2025,"id":"star-wishes-music-concert-2025","link":"https://mp.weixin.qq.com/s/jLWAuyfvQrD2xVTzS486lA","timeline":[{"deadline":"2025-10-18T14:00:00","comment":"公益励志音ä¹ä¼šå¼€å§‹"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月18æ—¥","place":"安徽çœåˆè‚¥å¸‚"}]},{"title":"åƒå¯¹é¥­ï¼Œç¨³è¡€ç³–——全æ¯è¥å…»ç”Ÿæ€ä¸‹çš„ç³–å°¿ç—…å¥åº·ç®¡ç†å…¬ç›Šç§‘普讲座","description":"ä¹é‡Œäº­è¡—é“综åˆä¸ºè€æœåŠ¡ä¸­å¿ƒä¸¾åŠžçš„ç³–å°¿ç—…å¥åº·ç®¡ç†å…¬ç›Šç§‘普讲座,特邀è¥å…»å¸ˆä¸ºç¤¾åŒºé•¿è€…带æ¥ä¸“业的糖尿病饮食管ç†çŸ¥è¯†ã€‚讲座将颠覆传统认知,告别\"饥饿疗法\",学习如何\"åƒé¥±åƒå¥½\"也能稳ä½è¡€ç³–。通过\"å…¨æ¯è¥å…»ç”Ÿæ€\"ç†å¿µï¼Œä»Žæ•´ä½“上改善å¥åº·çŠ¶å†µã€‚çŽ°åœºæ•™æŽˆ\"手掌法则\"ã€\"é¤ç›˜æ­é…\"等实用饮食规划技巧,剖æžå¸¸è§çš„\"æ— ç³–\"陷阱,帮助糖尿病患者科学管ç†è¡€ç³–,æé«˜ç”Ÿæ´»è´¨é‡ã€‚","category":"activity","tags":["糖尿病管ç†","å¥åº·ç§‘æ™®","è¥å…»æ•™è‚²","公益讲座","è€å¹´å¥åº·","饮食指导","社区æœåŠ¡","æ¾æ±ŸåŒº","ä¹é‡Œäº­è¡—é“"],"events":[{"year":2025,"id":"diabetes-nutrition-lecture-2025","link":"https://mp.weixin.qq.com/s/IgrXjXOjIB3bR20j7jc9uQ","timeline":[{"deadline":"2025-10-10T09:00:00","comment":"公益科普讲座开始"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月10æ—¥","place":"æ¾æ±ŸåŒºæ¶žåŠè·¯288弄ä¹é‡Œäº­è¡—é“综åˆä¸ºè€æœåŠ¡ä¸­å¿ƒ"}]},{"title":"2025全国å¥èº«ç‘œä¼½å…¬ç›Šæ´»åŠ¨â€”â€”æ¹–å—邵阳站","description":"贯彻è½å®žä½“育总局社体中心关于组织开展2025å¹´\"全民å¥èº«å¿—æ„¿æœåŠ¡--全国å¥èº«ç‘œä¼½å…¬ç›Šæ´»åЍ\"的精神,全é¢è´¯å½»è½å®žÐ»Ð¸Ñти委关于\"ä¿ƒè¿›ç¾¤ä¼—ä½“è‚²å’Œç«žæŠ€ä½“è‚²å…¨é¢æ™®åŠï¼ŒåŠ å¿«å»ºè®¾ä½“è‚²å¼ºå›½\"çš„ç¦ä»¤ï¼Œæ·±å…¥è·µè¡Œ\"å¥åº·ä¸­å›½2030\"国家战略与全民å¥èº«å›½å®¶æˆ˜ç•¥ï¼Œè®©å¥èº«ç‘œä¼½æˆä¸ºæ›´å¤šç™¾å§“新时代幸ç¦çš„æºæ³‰ã€‚","category":"activity","tags":["å¥èº«ç‘œä¼½","公益活动","全民å¥èº«","体育总局","邵阳","æ¹–å—","瑜伽å会","å¿—æ„¿æœåŠ¡","å¥åº·ä¸­å›½2030","体育强国"],"events":[{"year":2025,"id":"national-fitness-yoga-shaoyang-2025","link":"https://mp.weixin.qq.com/s/RDzOS6i6dZZWQxY3WdLBkg","timeline":[{"deadline":"2025-10-09T23:59:59","comment":"æŠ¥åæˆªæ­¢æ—¶é—´ï¼ˆå‰100å)"},{"deadline":"2025-10-12T07:00:00","comment":"活动开始时间"},{"deadline":"2025-10-12T10:00:00","comment":"æ´»åŠ¨ç»“æŸæ—¶é—´"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月12æ—¥","place":"æ¹–å—çœé‚µé˜³å¸‚"}]},{"title":"2025å¹´åˆè‚¥å¸‚公益体育培训——åºé˜³ä¸“场å¯åŠ¨æ‹›å‹Ÿ","description":"åˆè‚¥å¸‚公益体育培训课程\"åºé˜³ä¸“场\"æ­£å¼ä¸Šçº¿ï¼Œæä¾›ç¾½æ¯›çƒã€ä¹’乓çƒã€ç¯®çƒã€ç½‘çƒã€è¶³çƒã€æ¸¸æ³³ç­‰10+热门培训项目,零基础也能轻æ¾å‚与,专业教练团队教学,å…费学习专业è¿åŠ¨æŠ€èƒ½ã€‚é‡è¦çš„事情说三é:å…è´¹ï¼å…è´¹ï¼å…è´¹ï¼","category":"activity","tags":["公益体育","å…费培训","全民å¥èº«","体育教学","åˆè‚¥","åºé˜³åŒº","è¿åŠ¨æŠ€èƒ½","专业教练","零基础"],"events":[{"year":2025,"id":"hefei-sports-training-luyang-2025","link":"https://mp.weixin.qq.com/s/OlNN3GmNQ7sE3PFhpKuFqA","timeline":[{"deadline":"2025-10-01T00:00:00","comment":"培训开始时间"},{"deadline":"2025-11-30T23:59:59","comment":"åŸ¹è®­ç»“æŸæ—¶é—´"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月-11月","place":"åˆè‚¥å¸‚åºé˜³åŒº"}]},{"title":"赣县区爱帮公益五大项目温暖起航","description":"赣县区爱帮公益志愿者å会执行山东èŠåŸŽå°šå–„ç¤¾å·¥ä¸­å¿ƒå¸®æ‰¶äº”å¤§é¡¹ç›®ï¼Œä¸ºå­¤å›°å„¿ç«¥ã€æ®‹éšœå„¿ç«¥ã€å›°éš¾å¤§å­¦ç”Ÿã€å›°å¢ƒå„¿ç«¥å’Œå­¤è´«è€äººç­‰éœ€è¦å¸®åŠ©çš„ç¾¤ä½“é€åŽ»æ¸©æš–ä¸Žå¸Œæœ›ã€‚é€šè¿‡ä¸€å¯¹ä¸€å…³çˆ±ã€åº·å¤è¡¥åŠ©ã€åЩ学金ã€ç”Ÿæ´»æ”¹é€ ã€ç²¾ç¥žæ…°è—‰ç­‰å¤šç§å½¢å¼ï¼Œæž„建全方ä½çš„公益帮扶体系。","category":"activity","tags":["公益帮扶","孤困儿童","残障儿童","助学金","孤贫è€äºº","赣州","爱帮公益","社工æœåŠ¡","å¿—æ„¿æœåŠ¡"],"events":[{"year":2025,"id":"ganxian-aibang-five-projects-2025","link":"https://mp.weixin.qq.com/s/VIq8S3OICdvPfgijVGqJtw","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"五大项目æŒç»­è¿›è¡Œä¸­"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"赣州市赣县区"}]},{"title":"圆梦公益志愿者招募","description":"å—京圆梦志愿者æœåŠ¡ä¸­å¿ƒå‘起的志愿者招募活动,通过文创义å–点ä½è¿è¥ï¼Œå”®å–残疾人ã€é€€ä¼‘èŒå·¥ã€ä¸‹å²—å®å¦ˆåˆ¶ä½œçš„éžé—手工艺作å“。盈利所得除了公益组织自身è¿è¥å¼€æ”¯å¤–,还将用于å—京市高龄独居è€äººã€å­¤ç‹¬ç—‡å„¿ç«¥ã€å›°å¢ƒé’少年关爱活动。探索公益项目商业化è¿ä½œæ¨¡å¼ï¼Œå°†å…¬ç›Šè¡Œä¸ºå’Œå¸‚场化有机结åˆã€‚","category":"activity","tags":["志愿者招募","公益义å–","文创产å“","éžé—手工艺","关爱活动","å—京","妇è”志愿者","巾帼创业"],"events":[{"year":2025,"id":"yuanmeng-volunteer-recruitment-2025","link":"https://mp.weixin.qq.com/s/fKSRVe4QFqMBxAePSB7wSQ","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"长期招募志愿者"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"å—京市(金陵styleã€æ–°è¡—å£ä¸­å¤®å•†åœºï¼‰"}]},{"title":"啿¥èŽ«æ„","description":"由江è‹çœå¦‡å¥³å„¿ç«¥ç¦åˆ©åŸºé‡‘会与å—äº¬èŽ«æ„æ¹–公园管ç†å¤„è”åˆä¸¾åŠžçš„ä¼ ç»Ÿæ–‡åŒ–ä¸Žå¿ƒç†å¥åº·èžåˆæ´»åŠ¨ã€‚ä»¥\"莫æ„女孩+康康\"åŒIPè”动为特色,通过汉æœå·¡æ¸¸ã€å¿ƒç†å›¢è¾…ã€ä¸ªæ¡ˆå’¨è¯¢ã€å¤ç´æ¼”å‡ºã€æˆæ›²è¡¨æ¼”ã€ç¯†åˆ»è‰ºæœ¯å±•等形å¼ï¼Œä¸ºå¦‡å¥³å„¿ç«¥åŠå®¶åº­æä¾›å¿ƒç†å¥åº·å®ˆæŠ¤æœåŠ¡ï¼Œä¼ æ‰¿å’Œå¼˜æ‰¬ä¼ ç»Ÿæ–‡åŒ–ã€‚","category":"activity","organizer":"江è‹çœå¦‡å¥³å„¿ç«¥ç¦åˆ©åŸºé‡‘会ã€å—äº¬èŽ«æ„æ¹–公园管ç†å¤„","theme":"ä¼ ç»Ÿä¸ŽçŽ°ä»£ã€æ–‡åŒ–ä¸Žå¿ƒçµæ·±åº¦èžåˆ","features":["åŒIPè”动(莫æ„女孩+康康)","å¤ä»Šäº¤èžä½“验","心ç†å¥åº·å®ˆæŠ¤","艺术展演"],"main_activities":["汉æœå·¡æ¸¸","心ç†å›¢è¾…","个案咨询","å¤ç´æ¼”出","æˆæ›²è¡¨æ¼”","篆刻艺术展"],"services":["心ç†å›¢è¾…活动:10月1æ—¥ã€3æ—¥ã€5æ—¥ã€7æ—¥","个案咨询æœåŠ¡ï¼š10月2æ—¥ã€4æ—¥ã€6æ—¥ã€8æ—¥"],"target_audience":"妇女儿童åŠå®¶åº­ã€ä¼ ç»Ÿæ–‡åŒ–爱好者","consultation_hotline":"025-86511835","tags":["妇女儿童","心ç†å¥åº·","传统文化","èŽ«æ„æ¹–","汉æœ","心ç†å’¨è¯¢","文化展演"],"events":[{"year":2025,"id":"mochou-cultural-exhibition-2025","link":"https://mp.weixin.qq.com/s/Azua6TjiRFhfMvVSoZclCw","timeline":[{"deadline":"2025-09-27T00:00:00","comment":"活动开幕å¼"},{"deadline":"2025-10-08T23:59:59","comment":"活动结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月27æ—¥-10月8æ—¥","place":"å—äº¬èŽ«æ„æ¹–公园"}]},{"title":"上海公益行招募|心èšç”³åŸŽï¼Œä¸Žçˆ±åŒè¡Œ","description":"ç”±å¤æ—¦å¤§å­¦çƒ›å¿ƒç¤¾ç»„织的上海公益行招募活动,旨在汇èšçˆ±å¿ƒåŠ›é‡ï¼Œä¼ é€’温暖与希望,让更多人å‚与到公益事业中æ¥ï¼Œå…±åŒå»ºè®¾ç¾Žå¥½ä¸Šæµ·ã€‚","category":"activity","organizer":"夿—¦å¤§å­¦çƒ›å¿ƒç¤¾","editor":"èžåª’体部 æŽæ€¡ç’‡","tags":["公益招募","å¿—æ„¿æœåŠ¡","上海","大学生公益"],"events":[{"year":2025,"id":"shanghai-charity-recruitment-2025","link":"https://mp.weixin.qq.com/s/UfnSnZpJ7B8tk5qcVVZSUA","timeline":[{"deadline":"2025-10-04T13:58:00","comment":"活动招募å‘布"},{"deadline":"2025-12-31T23:59:59","comment":"年度公益行动结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月起","place":"上海市"}]},{"title":"志愿者招募 | 在线等一批爱心人士~","description":"æ·±åœ³å¸‚æ’æ™–公益基金会志愿者招募活动,招募平é¢è®¾è®¡å¸ˆã€æ–‡æ¡ˆç¼–辑师ã€è§†é¢‘å‰ªè¾‘å¸ˆç­‰å¿—æ„¿è€…ã€‚æ’æ™–以\"通过创新的公益实践,探索针对脆弱群体的社会支æŒç³»ç»Ÿ\"为使命,开展大病救助ã€é’少年心ç†å¥åº·å’Œæ•™è‚²å…³æ€€ã€ä¹¡æ‘医生培训等公益创新项目。","category":"activity","organizer":"æ·±åœ³å¸‚æ’æ™–公益基金会","founder":"陈行甲","positions":["å¹³é¢è®¾è®¡å¸ˆï¼šå¤šå…ƒè§†è§‰åˆ¶ä½œã€åŸºç¡€å›¾ç‰‡ä¿®å›¾ã€è§†è§‰è°ƒç ”ææ¡ˆ","æ–‡æ¡ˆç¼–è¾‘å¸ˆï¼šæ–‡æ¡ˆåˆ›æ„æ’°å†™ã€æŽ¨æ–‡ç­–åˆ’æ’°å†™ã€æŽ¨æ–‡æŽ’ç‰ˆæ ¡å¯¹","视频剪辑师:视频素æå‰ªè¾‘加工ã€å¤šç‰ˆæœ¬å†…容输出"],"tags":["志愿者招募","公益基金会","å¹³é¢è®¾è®¡","文案编辑","视频剪辑","线上志愿æœåŠ¡"],"events":[{"year":2025,"id":"henghui-volunteer-2025","link":"https://mp.weixin.qq.com/s/VEopBwLNWDYmooiE9d_Glw","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"长期招募志愿者"}],"timezone":"Asia/Shanghai","date":"长期招募","place":"线上"}]},{"title":"乡æ‘å­¤è€ç…§æŠ¤","description":"山东çœä¹å®‰æ…ˆå­å…¬ç›ŠåŸºé‡‘会å‘起的专业照护项目,为乡æ‘60å²ä»¥ä¸Šå­¤å›°è€äººæä¾›ç”Ÿæ´»ç…§æŠ¤ã€ç²¾ç¥žæ…°è—‰ã€åŒ»ç–—å¸®æ‰¶ç­‰ç»¼åˆæœåŠ¡ã€‚åŸºé‡‘ä¼šæˆç«‹äºŽ2010年,是5A级社会组织,累计æèµ è¶…5亿元,已帮扶3000ä½™å乡æ‘孤困è€äººï¼Œæä¾›ç…§æŠ¤æœåŠ¡è¶…14万人次。","category":"activity","tags":["å…»è€æœåŠ¡","乡æ‘公益","å­¤è€ç…§æŠ¤","慈善基金会"],"events":[{"year":2025,"id":"rural-elderly-care-2025","link":"https://mp.weixin.qq.com/s/lkGvsIh4W-jkYy_mCmCM2Q","timeline":[{"deadline":"2025-03-01T09:00:00","comment":"春季照护æœåŠ¡å¯åЍ"},{"deadline":"2025-12-31T18:00:00","comment":"年度æœåŠ¡æ€»ç»“"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"山东çœä¹¡æ‘地区"}]},{"title":"å作者志愿者招募计划","description":"å作者22å¹´æ¥å·²ä¸Ž2万+å¿—æ„¿è€…å…±åŒæœåŠ¡163万人次,致力于实现\"æ¯ä¸ªäººéƒ½å¯ä»¥æ€€æŠ±ç€å°Šä¸¥å’Œæ¢¦æƒ³ï¼Œè‡ªç”±åœ°è¡Œèµ°åœ¨å¤§åœ°\"的美好愿景。招募陪伴照顾ã€å„¿ç«¥å‘展ã€ä¸“业支æŒã€è¡Œæ”¿æ”¯æŒã€æ•™è‚²ä¼ æ’­ç­‰å¤šç±»å¿—愿者。","organizer":"å作者","mission":"æ¯ä¸ªå¼±è€…都有力é‡ï¼Œæ¯ä¸ªç”Ÿå‘½éƒ½æœ‰å°Šä¸¥","service_types":["陪伴照顾类:家庭走访ã€å„¿ç«¥é™ªä¼´ã€ç¤¾åŒºè€äººç…§æŠ¤","å„¿ç«¥å‘å±•ç±»ï¼šè¯¾åŽæ‰˜ç®¡ã€å…´è¶£å°ç»„ã€åŸŽå¸‚导览ã€é˜…读推广","专业支æŒç±»ï¼šæ³•律顾问ã€å¿ƒç†å’¨è¯¢ã€åŒ»ç–—护ç†ã€ç†å‘æœåŠ¡","行政支æŒç±»ï¼šç‰©èµ„管ç†ã€è¿è¾“ååŠ©ã€æœåŠ¡æ”¯æŒã€å…¬ç›Šç­¹æ¬¾","教育传播类:故事主播ã€çŸ­è§†é¢‘åˆ¶ä½œã€æ‘„影摄åƒ"],"category":"activity","tags":["å¿—æ„¿æœåŠ¡","社会工作","困境儿童","社区æœåŠ¡","公益组织"],"events":[{"year":2025,"id":"collaborator-volunteer-2025","link":"https://mp.weixin.qq.com/s/yGQH94y4syCOhsWLFAXxWg","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"长期招募志愿者"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"全国å„地社区"}]},{"title":"公益传播水手计划","description":"NGO微观察å‘起的公益传播能力建设计划,已进行到第三期。通过案例拆解+主题练习+社群交æµçš„æ–¹å¼ï¼Œå¸®åŠ©å…¬ç›Šæœºæž„æå‡ä¼ æ’­èƒ½åŠ›ï¼Œå¼ºè°ƒæ—¥å¸¸ä¼ æ’­çš„é‡è¦æ€§ï¼Œè®©çœŸæ­£æœ‰ä»·å€¼çš„传播在真实的日常里与æœåŠ¡å¯¹è±¡ã€æèµ äººã€å¿—愿者和公众æŒç»­å¯¹è¯ã€‚","organizer":"NGO微观察","mission":"回归日常,耕耘属于自己的信任土壤,让日常传播è½åœ°åˆ°è¡ŒåЍ䏭","services":["撰写个人故事","共创99ä¼ æ’­çµæ„Ÿåº“","开展æèµ äººè®¿è°ˆ","å‘现传播的日常","ç»™æèµ äººå†™æ„Ÿè°¢ä¿¡"],"category":"activity","tags":["公益传播","能力建设","机构å‘展","日常传播","筹款"],"events":[{"year":2025,"id":"ngo-communication-sailor-2025","link":"https://mp.weixin.qq.com/s/qefO2G-6PHGcj-O9OtB7xA","timeline":[{"deadline":"2025-09-23T08:00:00","comment":"第三期水手计划å¯åЍ"},{"deadline":"2025-12-31T23:59:59","comment":"长期招募å‚与者"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"线上社群+线下活动"}]},{"title":"2025ã€Œå¾¡å¯’è¡ŒåŠ¨ã€æ¸©æš–å†å¯ï¼","description":"第七年æŒç»­ä¸ºä¹¡æ‘å­©å­é€åŽ»å†¬æ—¥æ¸©æš–ï¼Œé‡‡ç”¨\"一对一直接到人\"模å¼ï¼Œç¡®ä¿æ¯ä»½ç‰©èµ„ç›´è¾¾å­©å­æ‰‹ä¸­ï¼Œå…¨ç¨‹é€æ˜Žå¯è¿½æº¯ã€‚通过å°ç¨‹åºè®¤é¢†å­©å­å¿ƒæ„¿ï¼Œæèµ å¾¡å¯’物å“和学习生活用å“。","organizer":"上海大丰公益基金会","mission":"ä¸ƒè½½æš–å†¬ï¼Œæ„Ÿæ©æœ‰ä½ ï¼ä¸ºä¹¡æ‘å­©å­é€åŽ»å†¬æ—¥çš„æ¸©æš–ï¼Œå°†çˆ±å¿ƒç”±å¾¡å¯’å»¶ä¼¸è‡³å­©å­ä»¬çš„学习与生活。","donation_items":["御寒类物å“:棉被ã€è¤¥å­ã€ç¾½ç»’æœã€æ£‰è¡£è£¤ã€æ¯›è¡£ã€åŽšå¤–å¥—ã€å›´å·¾ã€å¸½å­ã€æ‰‹å¥—ç­‰","学习与生活用å“ï¼šç¾½æ¯›çƒæ‹åŠçƒã€ä¹’ä¹“çƒæ‹åŠçƒã€å­¦ç”Ÿé¤æ¡Œã€è·³ç»³ã€è¶³çƒã€ç¯®çƒã€å‘¼å•¦åœˆã€å•人å°åºŠç­‰"],"participation_method":"通过「御寒行动ã€å°ç¨‹åºè®¤é¢†å­©å­å¿ƒæ„¿ï¼Œå‡†å¤‡ç‰©èµ„并邮寄","features":["一对一直接到人模å¼","å…¨ç¨‹é€æ˜Žå¯è¿½æº¯","专属æèµ æ ‡ç­¾è¿½è¸ª","签收照和电å­è¯ä¹¦å馈"],"coverage":"全国乡æ‘地区","category":"activity","tags":["公益活动","儿童关爱","御寒行动","ä¹¡æ‘æ•™è‚²","物资æèµ "],"events":[{"year":2025,"id":"winter-warmth-2025","link":"https://mp.weixin.qq.com/s/EUYkcVWLEog5h2WuH46fLg","timeline":[{"deadline":"2025-09-20T00:00:00","comment":"活动正å¼å¯åЍ"},{"deadline":"2025-10-20T23:59:59","comment":"活动结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月20æ—¥-10月20æ—¥","place":"全国乡æ‘地区"}]},{"title":"é¡ºä¸°æ£®æž—ï½œç¬¬ä¸‰æ‰¹é¡ºä¸°æ£®æž—é¡¹ç›®åŠ©ç†æ‹›å‹Ÿå¼€å¯ï¼","description":"顺丰森林-碳中和项目å¯åŠ¨äºŽ2020年,作为ä¼ä¸šå‚与碳中和新模å¼çš„nexploration,以线上顺丰森林应用ã€çº¿ä¸‹ç¢³ä¸­å’Œæž—为基础,并在西è—ã€å››å·è®¾ç«‹è‡ªç„¶ä¿æŠ¤åœ°ã€‚现招募项目助ç†1-2人,å助项目ç»ç†ç›‘ç£å’Œè¯„ä¼°ç§æ¤ã€æŠšè‚²ç­‰å·¥ä½œæ•ˆæžœã€‚","organizer":"顺丰公益基金会","position":"项目助ç†ï¼ˆçº¿ä¸Šï¼‰","recruitment_count":"1-2人","work_content":"å助项目ç»ç†ç›‘ç£å’Œè¯„ä¼°ç§æ¤ã€æŠšè‚²ç­‰å·¥ä½œæ•ˆæžœï¼Œç ”ç©¶æž—ä¸šçŽ¯ä¿æ”¿ç­–法规,策划组织线上活动,è¿è¥ç¤¾ç¾¤ï¼ŒååŠ©ç¢³ä¸­å’Œæž—ç§æ¤ç®¡æŠ¤ç­‰","requirements":"顺丰莲花助学å哺计划在校本科生åŠç ”究生,专业ä¸é™ï¼Œæž—å­¦ã€çŽ¯å¢ƒç§‘å­¦ã€ç”Ÿæ€å­¦ç­‰ä¸“业优先,热爱公益事业,对生æ€çŽ¯å¢ƒä¿æŠ¤æœ‰çƒ­æƒ…","benefits":"实习薪资ã€ä¸šå†…培训学习资æºã€é¡¹ç›®ç®¡ç†èƒ½åŠ›åŸ¹å…»ã€å®žä¹ è¯æ˜Žã€çº¿ä¸‹å®žè·µæœºä¼šç­‰","achievements":"截至2025å¹´9月,顺丰森林应用共计150,000+人å‚与,领养树苗150,000+æ£µï¼Œå®žåœ°ç§æ¤10,000+亩100+万棵碳中和林","category":"activity","tags":["公益招募","环ä¿é¡¹ç›®","碳中和","生æ€ä¿æŠ¤","项目助ç†","顺丰公益"],"events":[{"year":2025,"id":"sf-forest-assistant-2025","link":"https://mp.weixin.qq.com/s/18Abni9K2ggsgJ0vvW3CHA","timeline":[{"deadline":"2025-10-08T23:59:00","comment":"申请截止时间"}],"timezone":"Asia/Shanghai","date":"申请截止:2025å¹´10月8æ—¥23:59å‰","place":"线上招募"}]},{"title":"一对一","description":"顺丰莲花助学项目是于2012å¹´å‘起的全国性å‘展型助学项目,以学生为中心,关注个体æˆé•¿åŠå‘展。采å–\"一对一资助\"在线结对方å¼ï¼Œè®©çˆ±å¿ƒç²¾å‡†æŠµè¾¾ï¼Œé€šè¿‡ä»¥åŽ¿åŸŸä¸ºå•ä½ã€é›†ä¸­ç”³è¯·ã€å®¶è®¿æ ¸å®žã€æŒç»­èµ„助åŠé™ªä¼´æ”¯æŒçš„æ–¹å¼ï¼Œå»ºç«‹äººä¸Žäººä¹‹é—´æ›´å¥½çš„连结。","organizer":"顺丰公益基金会","mission":"助力困境学生顺利完æˆå­¦ä¸šï¼Œæˆé•¿ä¸ºå…·æœ‰ä¼˜ç§€å“æ ¼åŠä¸°å¯Œçš„内心世界,能够适应社会å‘展,并愿æ„å哺社会的美好é’å¹´","achievements":"截至目å‰ï¼Œå·²åœ¨å…¨å›½18çœ67县累计资助41918å困境家庭学生,近3万人完æˆé«˜ä¸­å­¦ä¸šå¹¶è¿›å…¥å¤§å­¦ç»§ç»­å°±è¯»ï¼Œ2018年项目è£èŽ·ç¬¬åå±Šä¸­åŽæ…ˆå–„奖","services":"ç»æµŽæ”¯æŒä¸ºåŸºç¡€çš„长期æˆé•¿æ”¯æŒä¸Žèµ‹èƒ½ï¼ŒåŒ…æ‹¬å­¦è´¹æˆ–ç”Ÿæ´»å¼€æ”¯èµ„åŠ©ã€æ¢¦æƒ³åˆ†äº«ä¼šã€å…¬ç›Šè¡Œèµ°è®¿ç­‰","participation":"注册æˆä¸ºé¡ºä¸°å…¬ç›Šå¿—愿者,通过\"顺丰公益基金会\"微信å°ç¨‹åºè¿›è¡Œåœ¨çº¿ç»“对","target_group":"困境家庭学生,æ¯ä¸ªéœ€è¦å¸®åŠ©çš„å­©å­éƒ½ç»è¿‡å®¶è®¿æ ¸å®žä¸Žå®¡æ ¸","feedback":"æ¸…æ™°é€æ˜Žçš„åé¦ˆåŒ…æ‹¬åŠ©å­¦é‡‘å‘æ”¾ä¿¡æ¯ã€å­¦å­æ„Ÿè°¢ç•™è¨€ã€å­¦ä¹ ç”Ÿæ´»ç…§ç‰‡ã€å­¦ä¸šçŠ¶æ€æ›´æ–°ç­‰","category":"activity","tags":["教育公益","一对一助学","困境学生","æˆé•¿é™ªä¼´","顺丰公益","莲花助学"],"events":[{"year":2025,"id":"sf-lotus-education-2025","link":"https://mp.weixin.qq.com/s/64bMm_Np_BJLdyyx8TC7bw","timeline":[{"deadline":"2025-12-31T23:59:00","comment":"全年æŒç»­æ‹›å‹Ÿå¿—愿者和资助对象"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"全国18çœ67县"}]},{"title":"城市里的万物共生:城市生物多样性主题展","description":"展览通过实地导览,让å‚与者感å—\"自然疗愈之美\",探讨如何平衡城市å‘展与物ç§ä¿æŠ¤ã€å¦‚何在城市空间中推动\"人与动物的共生\"ã€å¦‚何通过设计与生æ€è¡ŒåŠ¨æ”¹å–„ç”Ÿå­˜çŽ¯å¢ƒã€‚","organizer":"Business Ecology 商业生æ€","theme":"èšç„¦åŸŽå¸‚生æ€ä¿æŠ¤ä¸Žç”Ÿç‰©å¤šæ ·æ€§","curator":"孙海燕","target_audience":"å…³æ³¨å¯æŒç»­å‘展ã€ç”Ÿç‰©å¤šæ ·æ€§ç­‰è®®é¢˜çš„从业者","fee":"å…费(æ¯åœºé™é¢10人)","registration":"扫æäºŒç»´ç æŠ¥å,收到确认短信åŽå‚加","category":"activity","tags":["生物多样性","城市生æ€","坿Œç»­å‘展","çŽ¯å¢ƒä¿æŠ¤","导览学习"],"events":[{"year":2025,"id":"urban-biodiversity-exhibition-2025","link":"https://mp.weixin.qq.com/s/l5PXvh2YuEgdLMA7qCGpIA?from=groupmessage","timeline":[{"deadline":"2025-09-30T14:00:00","comment":"场次①导览学习活动"},{"deadline":"2025-09-30T15:30:00","comment":"场次①结æŸ"},{"deadline":"2025-10-16T14:00:00","comment":"场次②导览学习活动"},{"deadline":"2025-10-16T15:30:00","comment":"场次②结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月30æ—¥ã€10月16æ—¥","place":"上海图书馆东馆 4Fã€5F"}]},{"title":"衣续·旧衣å†ç”Ÿå…±åˆ›è®¡åˆ’","description":"ç”±Chirpy Cheers!å‘起,è”åˆæ ¹ä¸Žèнã€å›½é™…è®¡åˆ’ã€æ°‘ä¿ƒä¼šå…±åŒæŽ¨è¿›çš„é’年坿Œç»­å‘展项目。通过衣物å†ç”Ÿæ‰‹å·¥åŠã€å¯ç»­è¯»å†™ä¼šç­‰æ´»åŠ¨ï¼Œåº”å¯¹å¿«æ—¶å°šæ¶ˆè´¹æ¨¡å¼å¸¦æ¥çš„åŽ‹åŠ›ï¼ŒæŽ¢ç´¢å¯æŒç»­ç”Ÿæ´»æ–¹å¼çš„多ç§å¯èƒ½ã€‚","category":"activity","organizer":"Chirpy Cheers!","partners":["根与芽","国际计划","民促会"],"project_type":"é’年坿Œç»­å‘展项目","background":"åº”å¯¹å¿«æ—¶å°šæ—¶ä»£å¸¦ç»™æ¶ˆè´¹è€…çš„åŽ‹åŠ›å’Œè´Ÿæ‹…ï¼ŒæŽ¢è®¨å¯æŒç»­ç”Ÿæ´»æ–¹å¼çš„多ç§å¯èƒ½","concept":"以è”结的力é‡åº”对快时尚消费模å¼ï¼ŒæŽ¨åŠ¨è´Ÿè´£ä»»çš„æœè£…消费习惯,延长衣物生命周期","activities":[{"name":"衣物å†ç”Ÿæ‰‹å·¥åŠ","content":"通过解构ã€é‡ç»„与å†åˆ›é€ ï¼ŒåŒ…括布绳编织ã€å¸ƒè‰ºæ‹¼è´´ã€è¡£æ–™ç”»æŸ“ã€æ—§è¡£é‡åˆ¶ç­‰"},{"name":"衣物å¯ç»­è¯»å†™ä¼š","content":"线上主题读写会,共创衣物å¯ç»­æ‰‹å†Œ"},{"name":"交æµäº¤æ¢åˆ†äº«ä¼š","content":"线下交æµå¯¹è°ˆå’Œè§é¢äº¤æµ"}],"vision":"从\"衣续\"出å‘,延伸至\"食\"\"ä½\"\"行\"ç­‰æ›´å¤šç»´åº¦ï¼Œå®žçŽ°æ›´å¹¿æ³›çš„å¯æŒç»­ç”Ÿæ´»","participation":"关注活动通知,å‚与手工åŠå’Œè¯»å†™ä¼š","tags":["坿Œç»­","环ä¿","旧衣改造","手工创作","循环利用"],"events":[{"year":2025,"id":"clothing-renewal-2025","link":"https://mp.weixin.qq.com/s/tYv60mNlJ22dHyZhcOe5fg","timeline":[{"deadline":"2025-09-30T09:00:00","comment":"衣物å†ç”Ÿæ‰‹å·¥åŠå¼€å§‹"},{"deadline":"2025-11-30T18:00:00","comment":"项目结æŸ"}],"timezone":"Asia/Shanghai","date":"ä»Žä¹æœˆåº•开始,æŒç»­ä¸¤ä¸ªæœˆ","place":"北京(线下活动)+ 线上"}]},{"title":"å°é›ªå® (LeukemiaPal) - 白血病AI关爱助手","description":"社区驱动ã€åŒ»ç”Ÿä¸»å¯¼çš„公益AI项目,为白血病患者ã€å®¶å±žåŠä¸´åºŠåŒ»ç”Ÿæä¾›æ™ºèƒ½ã€å¯é ã€å¯Œæœ‰åŒç†å¿ƒçš„ä¿¡æ¯æ”¯æŒä¸Žè‡ªæˆ‘管ç†å¹³å°ã€‚","category":"activity","organizer":"å°Xå®ç¤¾åŒº","project_nature":"社区驱动ã€åŒ»ç”Ÿä¸»å¯¼çš„公益AI项目","target_audience":"白血病患者ã€å®¶å±žåŠä¸´åºŠåŒ»ç”Ÿ","core_values":["消除信æ¯é¸¿æ²Ÿï¼šæä¾›æƒå¨ã€ä¸ªæ€§åŒ–的白血病相关知识问答","儿童白血病关爱:特别关注儿童患者,æä¾›é€‚é¾„çš„ç§‘æ™®å’Œå¿ƒç†æ”¯æŒ","医生辅助工具:为临床医生æä¾›é«˜æ•ˆçš„æ–‡çŒ®æŸ¥è¯¢ä¸ŽçŸ¥è¯†æ£€ç´¢å·¥å…·","公益性质:完全å…费开æºï¼Œè‡´åŠ›äºŽæœåŠ¡ç™½è¡€ç—…æ‚£è€…ç¾¤ä½“"],"main_functions":["智能问答系统:基于æƒå¨æŒ‡å—(NCCN, CSCO)的精准医疗知识问答","儿童关爱模å—:绘本风格和动画形å¼çš„儿童科普内容","医生专业工具:精细化医疗知识检索和最新研究文献查询","个性化管ç†ï¼šåŒ¿å用户画åƒç³»ç»Ÿå’Œä¸ªæ€§åŒ–内容推è"],"technical_solution":{"mvp_phase":"基于腾讯元器ã€Coze等低代ç å¹³å°å¿«é€Ÿæ­å»º","opensource_phase":"å‚ç…§RAG技术栈,è¿ç§»è‡³å¼€æºæž¶æž„","future_evolution":"引入基于脱æ•病例训练的垂直模型"},"implementation_plan":{"phase_1":"核心团队组建ã€çŸ¥è¯†åº“åˆå»ºã€MVP版本å‘布(1-2个月)","phase_2":"项目开æºåŒ–,完整功能开å‘"},"social_value":"直接æœåŠ¡äºŽç™½è¡€ç—…æ‚£è€…ç¾¤ä½“ï¼Œç‰¹åˆ«æ˜¯ä¸ºæ‚£å„¿å®¶åº­æä¾›ç²¾ç¥žæ”¯æŒå’Œç§‘学指导","tags":["AI助手","白血病关爱","医疗公益","å„¿ç«¥å¥åº·","å¼€æºé¡¹ç›®"],"events":[{"year":2025,"id":"leukemia-pal-2025","link":"https://mp.weixin.qq.com/s/xTJiOYGS3HZhWovH6xsRcQ","timeline":[{"deadline":"2025-12-01T09:00:00","comment":"长期招募"}],"timezone":"Asia/Shanghai","date":"2025å¹´","place":"线上平å°"}]},{"title":"å¬éšœå¥³æ€§åå®¶æš´å°ç¨‹åºæœåŠ¡èµ„æºå…¥é©»","description":"为å¬éšœå¥³æ€§æ‰“é€ éšæ—¶å¯ç”¨çš„身心å¥åº·æƒç›Šæ”¯æŒå¹³å°ï¼Œè§£å†³å¥¹ä»¬åœ¨é¢ä¸´å®¶åº­å…³ç³»å’Œäº²å¯†å…³ç³»é£Žé™©æ—¶é‡åˆ°çš„æ²Ÿé€šä¸Žä¿¡æ¯èŽ·å–éšœç¢ã€‚","category":"activity","organizer":"é‡åº†ä¸¤æ±Ÿæ–°åŒºçŸ¥ç‘社会工作æœåŠ¡ä¸­å¿ƒï¼ˆKnow Deaf)","support_organization":"è”åˆå›½äººå£åŸºé‡‘","project_background":"å¬åŠ›éšœç¢å¥³æ€§åœ¨é¢ä¸´å®¶åº­å…³ç³»é£Žé™©æ—¶å¸¸é‡åˆ°åŒé‡éšœç¢ï¼Œæ—¢è¦ç´§æ€¥å¤„ç†å½“下局é¢ï¼Œåˆå—到沟通与信æ¯èŽ·å–æ¸ é“ä¸è¶³çš„é™åˆ¶","core_services":["å±é™©å…³ç³»è‡ªè¯„:通过问å·å½¢å¼å¸®åŠ©ç”¨æˆ·æå‰è¯†åˆ«æ½œåœ¨é£Žé™©","æ‰‹è¯­ç¿»è¯‘é¢„çº¦ï¼šé¢„çº¦ä¸“ä¸šæ‰‹è¯­ç¿»è¯‘æˆ–å¿—æ„¿è€…ï¼ŒèŽ·å–æ— éšœç¢æ²Ÿé€šæœåŠ¡","æœåŠ¡åœ°å›¾ï¼šæä¾›å„类身心å¥åº·å’Œæƒç›Šæ”¯æŒæœåŠ¡ç‚¹ä¿¡æ¯"],"recruitment_targets":["社会组织/æœåŠ¡æœºæž„ï¼šæ³•å¾‹æœåŠ¡ã€å¿ƒç†æ”¯æŒã€åŒ»ç–—å¥åº·ã€æ®‹éšœè€…自组织等","专业手语翻译:具备中国手语技能和æœåŠ¡ç»éªŒçš„专业人员"],"service_features":["ç§‘æŠ€åŠ©åŠ›æ— éšœç¢æ”¯æŒ","全国覆盖æœåŠ¡ç½‘ç»œ","多元化æœåС内容"],"application_method":["机构入驻:填写社会组织入驻申请表","手语翻译:通过å°ç¨‹åº\"我的\"-\"入驻翻译\"å…¥å£ç”³è¯·"],"project_goal":"构建更具包容性的社会,促进信æ¯å¹³ç­‰ã€æ²Ÿé€šæ— éšœç¢","tags":["å¬éšœå¥³æ€§","åå®¶æš´","æ— éšœç¢æœåŠ¡","手语翻译","æƒç›Šä¿æŠ¤","社会工作"],"events":[{"year":2025,"id":"deaf-women-support-2025","link":"https://mp.weixin.qq.com/s/k2ffdpptL8IAjwywqBaKUw","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"长期招募有效"}],"timezone":"Asia/Shanghai","date":"长期有效","place":"全国范围"}]},{"title":"我和\"我\"—阿尔茨海默病临床美术公益展ã€å®¶å±žå…±åˆ›ï¼šä»Ž\"照顾者\"到\"åŒå­¦\"】","主办å•ä½":"康语轩è€å¹´å…¬å¯“ã€åŒ—大医疗集团ã€å¹³å®‰äººå¯¿åŒ—京分公å¸","å办å•ä½":"日本临床美术å会ã€å¿ƒæ„ˆæ‚¦è‰ºæœ¯ç–—愈","展览时间":"2025å¹´9月22日开幕","展览地点":"北京大学国际医院","展览内容":"展出103幅认知症长者创作的艺术作å“","艺术疗法":"日本\"临床美术\"艺术疗法,通过激å‘五感进行艺术创作","展览分区":"长者个人艺术家ã€å®¶å±žå…±åˆ›ã€äº”感创作三部分","核心ç†å¿µ":"通过艺术创作帮助家属从\"照顾者\"转å‘\"陪伴者\"角色","疗愈体系":"心愈悦艺术疗愈五感艺术疗愈体系","创作方å¼":"调动\"视·å¬Â·å—…·味·触\"五感进行创作和表达","å‚与对象":"阿尔茨海默病患者åŠå…¶å®¶å±ž","社会价值":"关注认知症长者的内在世界,促进家庭关系和è°","标签":["艺术疗愈","阿尔茨海默病","家属共创","临床美术","五感创作","公益展览"],"官方链接":"https://mp.weixin.qq.com/s/pgMggKi_1PYyIJRzcXy2Sg","description":"å»ºè®¾ç¤¾åŒºå›¾ä¹¦é¦†ã€æµåŠ¨ä¹¦å±‹ï¼Œå¼€å±•è¯»ä¹¦åˆ†äº«ä¼šã€äº²å­é˜…读等活动,è¥é€ å…¨æ°‘阅读的良好氛围。","category":"activity","tags":["全民阅读","书香社会","文化建设"],"events":[{"year":2025,"id":"reading-promotion-2025","link":"https://mp.weixin.qq.com/s/pgMggKi_1PYyIJRzcXy2Sg","timeline":[{"deadline":"2025-10-21T09:00:00","comment":"展览结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月22æ—¥-10月21æ—¥","place":"北京大学国际医院"}]},{"title":"共绘和平:童眸中的生命之光","主办å•ä½":"上海四行仓库有é™è´£ä»»å…¬å¸ã€ä¸Šæµ·å¤å¾å†œæ°‘æ—æ–‡åŒ–教育å‘展基金会ã€Viva la Vida (VIVA)","展览时间":"2025å¹´9月21日至10月12æ—¥","开放时间":"周一至周日 10:00-17:30","展览地点":"上海市é™å®‰åŒºå…‰å¤è·¯21å·å››è¡Œä»“库四楼","展览主题":"共绘和平:童眸中的生命之光","展览内容":"汇集æ¥è‡ªå…¨çƒå¤šä¸ªå›½å®¶å’Œåœ°åŒºçš„200余幅儿童画作","展区分布":"星语心愿","特色活动":"国庆特别互动——童声寄语和平","互动区域":"今日心情","展览特点":"多元展陈与互动体验,跨越地域与文化的深度对è¯","教育æ„义":"传递\"ç爱和平ã€å¼€åˆ›æœªæ¥\"的深刻寓æ„","å‚与对象":"市民家庭,特别是家长æºå­©å­å‚è§‚","门票信æ¯":"å…è´¹å‘公众开放","社会价值":"让孩å­çš„表达被看è§ã€è¢«å°Šé‡ï¼Œä¼ é€’和平信念","标签":["公益画展","儿童艺术","和平教育","国庆专场","å…费开放","äº²å­æ´»åЍ"],"官方链接":"https://mp.weixin.qq.com/s/O1P1CPKwQtGLvoPtWmgq-Q","description":"共绘和平:童眸中的生命之光","category":"activity","tags":["公益画展","儿童艺术","和平教育"],"events":[{"year":2025,"id":"peace-art-exhibition-2025","link":"https://mp.weixin.qq.com/s/O1P1CPKwQtGLvoPtWmgq-Q","timeline":[{"deadline":"2025-09-21T10:00:00","comment":"展览开始"},{"deadline":"2025-10-12T17:30:00","comment":"展览结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月21æ—¥-10月12æ—¥","place":"上海市é™å®‰åŒºå…‰å¤è·¯21å·å››è¡Œä»“库四楼"}]},{"title":"å¬è§ä½  画给你 | 2025年关爱脑障ç¢å„¿ç«¥é’少年公益艺术展","主办å•ä½":"北京大学第六医院CAFF花园项目组","åˆä½œå•ä½":"中央美术学院关心下一代工作委员会ã€å‡¤å‡°ç½‘等爱心伙伴","展览时间":"2025å¹´9月29日至10月10æ—¥","展览地点":"北京蔓阅书院","展览主题":"å¬è§ä½ ï¼Œç”»ç»™ä½ ","å‚展作å“":"æ¥è‡ªå…¨å›½40ä½™å心ç†å¥åº·å›°å¢ƒå®¶åº­çš„å­©å­ä½œå“","æœåŠ¡å¯¹è±¡":"ç²¾ç¥žéšœç¢æ‚£è€…çš„å­å¥³ï¼ˆCOPMI)","活动目标":"æ‹“å®½ç¤¾ä¼šå¯¹ç²¾ç¥žéšœç¢æ‚£è€…家庭åŠå­å¥³çš„ç†è§£å’ŒæŽ¥çº³ï¼Œæ¶ˆé™¤åè§ã€ä¼ é€’温暖","特色功能":"扫ç äº’动,å¬åˆ°å­©å­çš„心声,让\"看è§\"与\"å¬è§\"å½¢æˆå›žå“","展览æ„义":"积æžå“应国家关于加强困境儿童心ç†å¥åº·å…³çˆ±æœåŠ¡å·¥ä½œçš„å·å¬","活动性质":"北京大学第六医院世界精神å«ç”Ÿæ—¥ç³»åˆ—活动的预热和å‘声","创作ç†å¿µ":"艺术是孩å­ä»¬çš„窗户和è¯ç­’,让光照进æ¥ï¼Œè®©ä¸–界å¬è§ä»–们的声音","社会价值":"动员更多力é‡å’Œèµ„æºå®ˆæŠ¤å­©å­ä»¬çš„心ç†å¥åº·ï¼Œè®©ä»–们的未æ¥ä¸è¢«åè§æ‰€å®šä¹‰","å‚与群体":"主办方ã€å…¬ç›Šæœºæž„ã€çˆ±å¿ƒä¼™ä¼´ã€åª’体ã€COPMIé’年代表","展览时长":"12天","标签":["公益艺术展","心ç†å¥åº·","困境儿童","精神å«ç”Ÿ","消除åè§","艺术疗愈"],"官方链接":"https://mp.weixin.qq.com/s/kIpVtalwZtKW-CfSIPQZJQ","description":"北京大学第六医院CAFF花园项目组举办的关爱脑障ç¢å„¿ç«¥é’少年公益艺术展,展出全国40ä½™å心ç†å¥åº·å›°å¢ƒå®¶åº­å­©å­çš„作å“,旨在消除åè§ã€ä¼ é€’温暖。","category":"activity","tags":["公益艺术展","心ç†å¥åº·","困境儿童","精神å«ç”Ÿ","消除åè§","艺术疗愈"],"events":[{"year":2025,"id":"copmi-art-exhibition-2025","link":"https://mp.weixin.qq.com/s/kIpVtalwZtKW-CfSIPQZJQ","timeline":[{"deadline":"2025-09-29T09:00:00","comment":"展览开始"},{"deadline":"2025-10-10T18:00:00","comment":"展览结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月29æ—¥-10月10æ—¥","place":"北京蔓阅书院"}]},{"title":"山月照我:大凉山阿布洛哈支教è€å¸ˆå…¬ç›Šç”»å±•","展览地点":"大凉山阿布洛哈æ‘","支教è€å¸ˆ":"æ±Ÿè‹æ‰¬å·žåˆ˜æ˜¥é˜³è€å¸ˆ","支教时间":"自2018年起至今,已7å¹´","学校åç§°":"æž—å·å°å­¦","地ç†ä½ç½®":"å››å·çœå‡‰å±±å½æ—自治州布拖县拉果乡阿布洛哈æ‘","地ç†ç‰¹è‰²":"全国最åŽä¸€ä¸ªé€šå…¬è·¯çš„建制æ‘,三é¢çޝ山ã€ä¸€é¢ä¸´å´–,ä½äºŽé‡‘沙江支æµè¥¿æºªæ²³ç•”","å½è¯­å«ä¹‰":"人迹罕至的地方","学校建立":"2005年在å„级政府支æŒå’Œç¤¾ä¼šå„界关心下修建","展览主题":"é€šè¿‡è‰ºæœ¯ç¬”è§¦ï¼ŒæŠŠé˜¿å¸ƒæ´›å“ˆçš„å±±é‡Žä¹‹ç¾Žä¸Žäººæ–‡æ¸©åº¦é€æŠµäººå¿ƒ","创作内容":"7年岿œˆä¸­å°†çœ¼å‰çš„群山ã€å¤´é¡¶çš„æ˜ŽæœˆåŒ–作笔下的丹é’","艺术风格":"æžç®€ã€æ¸´ç¬”ã€ç¦…æ„ã€ç©ºçµã€å¤©äººåˆä¸€","画作特色":"赭石与群é’,山绿与明黄,展现地ç†çš„大凉山和人类精神原乡","教育æ„义":"ç”¨ç”»ç¬”æ‹¾èµ·äººæ€§æœ¬çœŸï¼Œå®ˆä½æ ¹æ€§é‡Œçš„æ¸…净","支教生活":"与西溪河相ä¾ç›¸ä¼´ï¼Œå¸¦å­©å­ä»¬ä¸¾è¡Œä¸­ç§‹æ™šä¼šï¼Œå”±æ­Œæ¸¸æˆ","创作ç†å¿µ":"陿°”å¹¶éžé¿ä¸–é€ƒç¦»ï¼Œè€Œæ˜¯å®ˆä½æ ¹æ€§é‡Œçš„æ¸…净","社会价值":"展现支教è€å¸ˆçš„奉献精神和大凉山的自然人文之美","标签":["公益画展","支教è€å¸ˆ","大凉山","艺术创作","教育扶贫","人文关怀"],"官方链接":"https://mp.weixin.qq.com/s/U2CqPPFq0rmI8Xlp8GuIyA","description":"é€šè¿‡è‰ºæœ¯ç¬”è§¦ï¼ŒæŠŠé˜¿å¸ƒæ´›å“ˆçš„å±±é‡Žä¹‹ç¾Žä¸Žäººæ–‡æ¸©åº¦é€æŠµäººå¿ƒ","category":"activity","tags":["公益画展","支教è€å¸ˆ","大凉山"],"events":[{"year":2025,"id":"daliangshan-exhibition-2025","link":"https://mp.weixin.qq.com/s/U2CqPPFq0rmI8Xlp8GuIyA","timeline":[{"deadline":"2025-10-31T17:00:00","comment":"闭展"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月20æ—¥-10月31æ—¥","place":"å››å·çœå‡‰å±±å½æ—自治州布拖县拉果乡阿布洛哈æ‘"}]},{"title":"ã€å¾®ç¬‘岩说】诚邀您共赴一场艺术与温暖交织的公益画展","主办å•ä½":"æ¯äº²å¾®ç¬‘行动ã€è‘—å设计师陈林与女儿玉儿","展览时间":"2025å¹´9月7æ—¥-11月7æ—¥","开幕仪å¼":"9月7æ—¥ 15:00","展览地点":"å¾·èµ›æ–¯å…¨çƒæ——舰店(æ­å·žæ±Ÿå—大é“1088å·ï¼‰","展览主题":"关爱唇腭裂儿童,绽放更多微笑","展览内容":"æ¥è‡ªå”‡è…­è£‚儿童与艺术家家庭的共创作å“","项目背景":"自1990年起,\"æ¯äº²å¾®ç¬‘行动\"å·²å…费救助超过50,000åæ‚£å„¿","展览特色":"穿越美学空间的公益之旅,画在景中,景入画内的奇妙体验","互动环节":"互动画å·ï¼Œå‚观者å¯åœ¨ç”»å·ä¸Šç•™ä¸‹å±žäºŽè‡ªå·±çš„色彩与笔触","艺术疗愈":"通过画笔和色彩,让唇腭裂儿童表达内心情感,探索自我","社会价值":"用艺术打破åè§ï¼Œè®©å…³çˆ±æˆä¸ºæ›´æ¸©æš–的力é‡ï¼Œå”¤èµ·å…¬ä¼—对唇腭裂群体的更多关注","å‚与对象":"社会å„界人士","展览æ„义":"将公益的实用性å‡åŽä¸ºè‰ºæœ¯çš„美感,让关爱与微笑在æ¯ä¸€ä¸ªè§‚众心中绽放","标签":["公益画展","唇腭裂关爱","艺术疗愈","æ¯äº²å¾®ç¬‘行动","互动艺术","社会公益"],"官方链接":"https://mp.weixin.qq.com/s/bdz-buF2fs145CYmJAekjA","description":"由著åè®¾è®¡å¸ˆé™ˆæž—ä¸Žå¥³å„¿çŽ‰å„¿æºæ‰‹\"æ¯äº²å¾®ç¬‘行动\"å‘起的公益画展,展出æ¥è‡ªå”‡è…­è£‚儿童与艺术家家庭的共创作å“,用艺术打破åè§ï¼Œè®©å…³çˆ±æˆä¸ºæ›´æ¸©æš–的力é‡ã€‚","category":"activity","tags":["公益画展","唇腭裂关爱","艺术疗愈","æ¯äº²å¾®ç¬‘行动","互动艺术","社会公益"],"events":[{"year":2025,"id":"smile-art-exhibition-2025","link":"https://mp.weixin.qq.com/s/bdz-buF2fs145CYmJAekjA","timeline":[{"deadline":"2025-09-07T15:00:00","comment":"开幕仪å¼"},{"deadline":"2025-11-07T17:00:00","comment":"展览结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´9月7æ—¥-11月7æ—¥","place":"å¾·èµ›æ–¯å…¨çƒæ——舰店(æ­å·žæ±Ÿå—大é“1088å·ï¼‰"},{"year":2025,"id":"fundraising-resource-mobilization-workshop-oct-2025","link":"https://mp.weixin.qq.com/s/p1b_Pg1TRvLf6OAAH_nV6Q","timeline":[{"deadline":"2025-10-17T14:00:00","comment":"工作åŠå¼€å§‹æ—¶é—´"},{"deadline":"2025-10-17T16:30:00","comment":"工作åŠç»“æŸæ—¶é—´"}],"timezone":"Asia/Shanghai","date":"2025å¹´10月17日(周五)","place":"北京(具体地å€å¾…通知)"}]},{"title":"GirlScript Summer of Code 2025 | å¼€æºè´¡çŒ®ä¸Žå­¦ä¹ çš„æ–°çºªå…ƒ","description":"GirlScript Summer of Code是GirlScript基金会举办的为期3个月的开æºé¡¹ç›®ï¼Œæ—¨åœ¨å¸®åŠ©åˆå­¦è€…开始开æºå¼€å‘ï¼ŒåŒæ—¶é¼“励多元化。在整个项目期间,å‚与者在ç»éªŒä¸°å¯Œçš„导师指导下为ä¸åŒçš„项目åšå‡ºè´¡çŒ®ã€‚é¡¶å°–å‚与者将获得令人兴奋的礼å“和机会。GirlScript基金会æˆç«‹äºŽ2017å¹´ï¼Œè‡´åŠ›äºŽè®©ä¼˜è´¨æ•™è‚²æƒ åŠæ‰€æœ‰äººï¼Œå·²å»ºç«‹ä¸€ä¸ªåŒ…å«50多万学习者的活跃社区。该项目专注于技能å‘å±•ã€æŒ‡å¯¼å’ŒèŒä¸šæŒ‡å¯¼ï¼Œå¼¥åˆæ•™è‚²ä¸ŽèŒåœºä¹‹é—´çš„å·®è·ã€‚","category":"activity","tags":["å¼€æºé¡¹ç›®","编程学习","GirlScript基金会","代ç è´¡çŒ®","导师指导","èŒä¸šå‘展","技术社区","多元化","å¼€æºå¼€å‘","学习机会","技能å‘展","èŒä¸šæŒ‡å¯¼"],"events":[{"year":2025,"id":"gssoc-2025","link":"https://gssoc.girlscript.tech/#apply","timeline":[{"deadline":"2025-06-20T00:00:00","comment":"导师项目分é…"},{"deadline":"2025-06-23T00:00:00","comment":"ç¤¾åŒºäº¤æµæœŸå¼€å§‹"},{"deadline":"2025-12-01T23:59:59","comment":"ç¼–ç æœŸç»“æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´6月-12月","place":"线上项目"}]},{"title":"Blackhoodie 安全培训 | 女性逆å‘工程与二进制利用工作åŠ","description":"Blackhoodie是一个专注于为女性æä¾›ç½‘络安全技术培训的国际性社区组织。该组织将于2026年春季在比利时哈塞尔特CORDA CAMPUS举办为期一天的安全培训活动,作为BSides Limburg会议的é…套活动。培训内容涵盖逆å‘工程和二进制利用的基础知识,包括Intel x86-64二进制文件逆å‘分æžã€ç¼“å†²åŒºæº¢å‡ºæ¼æ´žåˆ©ç”¨ã€ELF二进制文件分æžã€å‘½ä»¤è¡Œå·¥å…·ä½¿ç”¨ã€å汇编器和å编译器应用等。培训é¢å‘对逆å‘å·¥ç¨‹å’Œåº•å±‚æ¼æ´žåˆ©ç”¨æ„Ÿå…´è¶£çš„å¥³æ€§ï¼Œè¦æ±‚具备基本的C语言和Python编程ç»éªŒï¼Œç†Ÿæ‚‰Linux命令行æ“作。活动æä¾›å…费培训和é¤é¥®ï¼Œç”±å¥³æ€§è®²å¸ˆæŽˆè¯¾ï¼Œæ—¨åœ¨ä¸ºå¥³æ€§åˆ›é€ æ›´å¤šè¿›å…¥ç½‘络安全领域的机会,促进技术行业的性别多元化å‘展。","category":"activity","tags":["网络安全","逆å‘工程","二进制利用","女性培训","安全社区","æ¼æ´žåˆ©ç”¨","编程基础","Linux系统","安全会议","技术教育","性别多元化","比利时"],"events":[{"year":2026,"id":"blackhoodie-bsides-limburg-2026","link":"https://blackhoodie.re/BSidesLimburg2026/","timeline":[{"deadline":"2026-03-12T09:00:00","comment":"培训活动开始"},{"deadline":"2026-03-12T17:00:00","comment":"培训活动结æŸ"}],"timezone":"Asia/Shanghai","date":"2026å¹´3月12æ—¥","place":"比利时哈塞尔特CORDA CAMPUS"}]},{"title":"Women Who Code 技术峰会 | å…¨çƒå¥³æ€§å¼€å‘者社区活动","description":"Women Who Codeæ˜¯ä¸€ä¸ªå…¨çƒæ€§éžè¥åˆ©ç»„织,致力于帮助女性在技术èŒä¸šç”Ÿæ¶¯ä¸­å–å¾—å“è¶Šæˆå°±ã€‚该组织通过æä¾›ç¼–程资æºã€èŒä¸šå‘展机会和社区支æŒï¼Œå·²ç»åœ¨å…¨çƒå»ºç«‹äº†å¼ºå¤§çš„æŠ€æœ¯å¥³æ€§ç½‘络。Women Who Code定期举办技术峰会ã€ç¼–程工作åŠã€èŒä¸šå‘展活动等,为女性开å‘者æä¾›å­¦ä¹ æ–°æŠ€æœ¯ã€å»ºç«‹äººè„‰ã€æå‡æŠ€èƒ½çš„å¹³å°ã€‚å‚与者å¯ä»¥é€šè¿‡æŠ€æœ¯åˆ†äº«ã€é¡¹ç›®å±•示ã€å¯¼å¸ˆæŒ‡å¯¼ç­‰æ–¹å¼ï¼ŒèŽ·å¾—å®è´µçš„èŒä¸šå‘展机会。该组织特别关注技术行业的性别多元化,致力于打破技术领域的性别å£åž’,为更多女性创造进入和æˆé•¿äºŽæŠ€æœ¯è¡Œä¸šçš„æœºä¼šã€‚","category":"activity","tags":["女性开å‘者","技术峰会","编程社区","èŒä¸šå‘展","技术教育","性别多元化","å…¨çƒç¤¾åŒº","技术女性","编程工作åŠ","导师指导","技能æå‡","技术网络"],"events":[{"year":2025,"id":"women-who-code-summit-2025","link":"https://womenwhocode.com/","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"年度社区活动æŒç»­è¿›è¡Œ"}],"timezone":"Asia/Shanghai","date":"2025年全年","place":"å…¨çƒçº¿ä¸ŠåŠçº¿ä¸‹æ´»åЍ"}]},{"title":"Outreachy 实习计划 | æ”¯æŒæŠ€æœ¯è¡Œä¸šå¤šå…ƒåŒ–çš„å¼€æºå®žä¹ ","description":"Outreachy æä¾›å¼€æºé¢†åŸŸçš„实习机会,é¢å‘在技术行业中é¢ä¸´ä»£è¡¨æ€§ä¸è¶³ã€ç³»ç»Ÿæ€§åè§æˆ–歧视的任何背景人士。Outreachy 实习具有带薪(7,000 美元总实习津贴)ã€è¿œç¨‹ï¼ˆå®žä¹ ç”Ÿå’Œå¯¼å¸ˆéƒ½è¿œç¨‹å·¥ä½œï¼‰ã€ä¸ºæœŸ3个月(实习期为5月至8月或12月至3月)等特点。实习项目涵盖编程ã€ç ”ç©¶ã€ç”¨æˆ·ä½“éªŒã€æ–‡æ¡£ã€å›¾å½¢è®¾è®¡ã€æ•°æ®ç§‘å­¦ã€å¸‚场è¥é”€ã€ç”¨æˆ·æŽ¨å¹¿ã€æ´»åŠ¨ç­–åˆ’ç­‰å¤šä¸ªé¢†åŸŸã€‚Outreachy 的目标是增加开æºé¢†åŸŸçš„多样性,过去å‚与者中92%为女性,64%为有色人ç§ï¼Œ12%æ¥è‡ªåކå²ä¸Šå¤„于ä¸åˆ©åœ°ä½çš„ç§å§“或部è½ã€‚","category":"activity","tags":["å¼€æºå®žä¹ ","技术多元化","带薪实习","远程工作","编程学习","用户体验","文档编写","æ•°æ®ç§‘å­¦","市场è¥é”€","活动策划","èŒä¸šå‘展","包容性"],"events":[{"year":2025,"id":"outreachy-june-2025","link":"https://www.outreachy.org/","timeline":[{"deadline":"2025-02-07T00:00:00","comment":"实习生申请开始"},{"deadline":"2025-02-15T23:59:59","comment":"实习生申请截止"},{"deadline":"2025-03-17T00:00:00","comment":"项目贡献期开始"},{"deadline":"2025-04-15T23:59:59","comment":"项目贡献期结æŸ"},{"deadline":"2025-06-02T00:00:00","comment":"实习期开始"},{"deadline":"2025-08-29T23:59:59","comment":"实习期结æŸ"}],"timezone":"Asia/Shanghai","date":"2025å¹´2月-8月","place":"å…¨çƒè¿œç¨‹å®žä¹ "}]},{"title":"Google ç¼–ç¨‹ä¹‹å¤ 2025 | Google Summer of Code","description":"Google Summer of Code(GSoC)是Google举办的开æºè´¡çŒ®è€…计划,旨在帮助开å‘者在é‡è¦çš„å¼€æºé¡¹ç›®ä¸­èŽ·å¾—å®žé™…ç¼–ç ç»éªŒã€‚该项目æ¯å¹´å¸å¼•å…¨çƒæ•°ä¸‡å申请者å‚与,为开æºé¡¹ç›®è´¡çŒ®ä»£ç ã€‚2025年时间表包括:1月27日指导组织开始申请,2月11日组织申请截止,3月24日贡献者申请期开始,4月8日贡献者申请截止,6月2日正å¼å¼€å§‹ç¼–ç ï¼Œé¡¹ç›®æŒç»­æ—¶é—´å¯ä¸º8-22周。GSoC为å‚与者æä¾›æ´¥è´´ï¼Œè®©ä»–们能够在导师指导下为开æºé¡¹ç›®åšå‡ºå®žè´¨æ€§è´¡çŒ®ï¼ŒåŒæ—¶å­¦ä¹ è½¯ä»¶å¼€å‘的实际技能。","category":"activity","tags":["å¼€æºé¡¹ç›®","Google编程之å¤","代ç è´¡çŒ®","编程学习","导师指导","技术社区","èŒä¸šå‘展","å…¨çƒé¡¹ç›®","软件开å‘","实践ç»éªŒ","技术教育","å¼€æºè´¡çŒ®"],"events":[{"year":2025,"id":"google-summer-of-code-2025","link":"https://developers.google.com/open-source/gsoc/timeline?hl=zh-cn","timeline":[{"deadline":"2025-01-27T18:00:00","comment":"指导组织开始申请"},{"deadline":"2025-02-11T18:00:00","comment":"指导组织申请截止"},{"deadline":"2025-03-24T18:00:00","comment":"贡献者申请期开始"},{"deadline":"2025-04-08T18:00:00","comment":"贡献者申请截止"},{"deadline":"2025-06-02T00:00:00","comment":"ç¼–ç æ­£å¼å¼€å§‹"},{"deadline":"2025-11-17T18:00:00","comment":"项目评估最终截止"}],"timezone":"Asia/Shanghai","date":"2025å¹´1月-11月","place":"å…¨çƒçº¿ä¸Šé¡¹ç›®"}]},{"title":"MLH Fellowship 2026春季 | 软件工程奖学金项目","description":"Major League Hacking (MLH) Fellowship是一个实践学习项目,旨在帮助 aspiring technologists 获得实际技能。æ¯å¹´æœ‰è¶…过135,000åæŠ€æœ¯çˆ±å¥½è€…å‚与MLH活动,学习帮助他们在èŒåœºæˆåŠŸã€åˆ›ä¸šç­‰æ‰€éœ€çš„æŠ€èƒ½ã€‚MLH Fellowship包å«å¤šä¸ªé¡¹ç›®ï¼Œé€šè¿‡å°†æ•™è‚²å’Œæœ‰è¶£çš„内容与实践ç»éªŒç›¸ç»“åˆï¼Œè®©å­¦ä¹ å˜å¾—简å•ã€æœ‰è¶£ä¸”快速。无论你是想建立个人项目组åˆã€å®Œå–„你热衷的项目,还是开始为开æºåšè´¡çŒ®ï¼Œéƒ½æœ‰é€‚åˆä½ çš„项目。申请过程大约需è¦30-45分钟完æˆï¼Œä½ å¯ä»¥éšæ—¶ä¿å­˜è¿›åº¦å¹¶åœ¨æœªæ¥ç»§ç»­ã€‚","category":"activity","tags":["软件工程","编程奖学金","实践学习","å¼€æºè´¡çŒ®","技术社区","èŒä¸šå‘展","Major League Hacking","个人项目","技能å‘展","技术教育","在线学习","编程实践"],"events":[{"year":2026,"id":"mlh-fellowship-spring-2026","link":"https://www.tfaforms.com/4956119","timeline":[{"deadline":"2026-01-02T23:59:59","comment":"申请截止时间(所有地区)"},{"deadline":"2026-01-26T00:00:00","comment":"项目开始时间"}],"timezone":"Asia/Shanghai","date":"2026å¹´1月26日开始","place":"线上项目"}]},{"title":"Wise Women Code | å…¨çƒå¥³æ€§ä¸ŽéžäºŒå…ƒæ€§åˆ«è€…技术èŒä¸šå‘展项目","description":"Wise Women Code是Wise推出的获奖项目,旨在为女性和éžäºŒå…ƒæ€§åˆ«è€…æä¾›è¿›å…¥æŠ€æœ¯è¡Œä¸šçš„æœºä¼šã€‚这个为期3天的沉浸å¼ä½“验项目包å«å®è´µçš„è§è§£ã€å®žè·µå·¥ä½œåŠå’Œäº¤æµæœºä¼šï¼Œæ—¨åœ¨å¢žå¼ºå‚与者的信心,帮助探索金èžç§‘技行业内的ä¸åŒå·¥ç¨‹è·¯å¾„。2026年,该项目将在新加å¡ã€ä¼¦æ•¦ã€å¡”林和布达佩斯举办。å‚与者将获得技术技能信心æå‡ã€å»ºç«‹å¿—åŒé“åˆè€…的支æŒç½‘络ã€äº†è§£æŠ€æœ¯é¢†åŸŸå¤šæ ·åŒ–çš„èŒä¸šè·¯å¾„ã€æ­å¼€æŠ€æœ¯å’Œå·¥ç¨‹ä¸–界神秘é¢çº±çš„æœºä¼šã€‚Wiseåšä¿¡å¤šå…ƒåŒ–和包容性对创新和进步至关é‡è¦ï¼Œè‡´åŠ›äºŽæ”¯æŒå¥³æ€§å’ŒéžäºŒå…ƒæ€§åˆ«è€…在技术世界中å–å¾—æˆåŠŸã€‚","category":"activity","tags":["女性编程","éžäºŒå…ƒæ€§åˆ«","技术èŒä¸š","金èžç§‘技","工程路径","实践工作åŠ","èŒä¸šå‘展","技术教育","多元化","包容性","å…¨çƒé¡¹ç›®","技术社区"],"events":[{"year":2026,"id":"wise-women-code-2026","link":"https://wise.jobs/wise-women-code","timeline":[{"deadline":"2026-01-01T00:00:00","comment":"项目申请开放"},{"deadline":"2026-12-31T23:59:59","comment":"项目æŒç»­è¿›è¡Œ"}],"timezone":"Asia/Shanghai","date":"2026年全年","place":"新加å¡ã€ä¼¦æ•¦ã€å¡”æž—ã€å¸ƒè¾¾ä½©æ–¯"}]},{"title":"Empire Code Technovation Girls 2026 | 新加å¡å¥³å­©ç¼–程技术训练è¥","description":"Empire Code举办的Technovation Girls 2026项目,专为年轻女孩设计的编程和技术创新训练è¥ã€‚该项目旨在通过实践项目培养女孩的编程技能ã€åˆ›æ–°æ€ç»´å’Œåˆ›ä¸šç²¾ç¥žï¼Œå¸®åŠ©å¥¹ä»¬åœ¨æŠ€æœ¯é¢†åŸŸå»ºç«‹ä¿¡å¿ƒå¹¶æŽ¢ç´¢æœªæ¥èŒä¸šå‘展方å‘。项目包å«ç§»åŠ¨åº”ç”¨å¼€å‘ã€å•†ä¸šè®¡åˆ’åˆ¶å®šã€æ¼”讲技巧培训等多个模å—,å‚与者将学习如何识别现实问题ã€è®¾è®¡æŠ€æœ¯è§£å†³æ–¹æ¡ˆå¹¶åˆ›å»ºå®Œæ•´çš„商业计划。Empire Code致力于通过教育科技赋能年轻女性,为她们æä¾›åœ¨æŠ€æœ¯è¡Œä¸šå–å¾—æˆåŠŸæ‰€éœ€çš„æŠ€èƒ½å’ŒçŸ¥è¯†ã€‚","category":"activity","tags":["女孩编程","技术创新","移动应用开å‘","创业精神","商业计划","演讲技巧","编程教育","女性科技","实践项目","创新æ€ç»´","èŒä¸šå‘展","æ–°åŠ å¡æ•™è‚²"],"events":[{"year":2026,"id":"empire-code-technovation-girls-2026","link":"https://empirecode.co/technovation-2026/","timeline":[{"deadline":"2026-01-15T00:00:00","comment":"项目申请开始"},{"deadline":"2026-03-31T23:59:59","comment":"项目申请截止"},{"deadline":"2026-04-15T00:00:00","comment":"项目正å¼å¯åЍ"},{"deadline":"2026-08-31T23:59:59","comment":"项目结æŸå’Œæˆæžœå±•示"}],"timezone":"Asia/Shanghai","date":"2026å¹´4月15日至2026å¹´8月31æ—¥","place":"新加å¡"}]}] \ No newline at end of file diff --git a/.netlify/static/bg.jpg b/.netlify/static/bg.jpg deleted file mode 100644 index dad4439..0000000 Binary files a/.netlify/static/bg.jpg and /dev/null differ diff --git a/.netlify/static/deadlines/index.html b/.netlify/static/deadlines/index.html deleted file mode 100644 index df644bc..0000000 --- a/.netlify/static/deadlines/index.html +++ /dev/null @@ -1 +0,0 @@ -GoodAction-Hub

events.loading

\ No newline at end of file diff --git a/.netlify/static/deadlines/index.txt b/.netlify/static/deadlines/index.txt deleted file mode 100644 index 5e60235..0000000 --- a/.netlify/static/deadlines/index.txt +++ /dev/null @@ -1,25 +0,0 @@ -1:"$Sreact.fragment" -2:I[8344,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"default"] -3:I[6874,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],""] -4:I[6453,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"SwitchLanguage"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[6854,["953","static/chunks/97bfd92e-9f7bdc8ced03498c.js","598","static/chunks/598-f4ad1f547f11f343.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","852","static/chunks/852-e8471167a9b9d3f8.js","24","static/chunks/24-f1a7ced9447044cb.js","312","static/chunks/app/deadlines/page-2a9adf4cc7d99ada.js"],"default"] -b:I[9665,[],"OutletBoundary"] -e:I[4911,[],"AsyncMetadataOutlet"] -10:I[9665,[],"ViewportBoundary"] -12:I[9665,[],"MetadataBoundary"] -14:I[6614,[],""] -:HL["/_next/static/css/f4384244562b2716.css","style"] -0:{"P":null,"b":"-gpKtK-vIETF7bcDHMvb4","p":"","c":["","deadlines",""],"i":false,"f":[[["",{"children":["deadlines",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f4384244562b2716.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":["$","script",null,{"defer":true,"src":"https://umami.rkd.icu/script.js","data-website-id":"78225323-cc05-46af-9a51-6c670b9a804a"}]}],["$","body",null,{"className":"__variable_f367f3 __variable_f367f3 antialiased","children":["$","$L2",null,{"children":[["$","header",null,{"className":"sticky top-0 z-50 bg-white/80 backdrop-blur-sm shadow-sm border-b border-white/20","children":["$","div",null,{"className":"container mx-auto px-4 py-3 flex items-center justify-between","children":[["$","nav",null,{"className":"flex items-center gap-3","children":[["$","$L3",null,{"href":"/","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"公益慈善活动截止日期"}],["$","span",null,{"className":"text-gray-300","children":"|"}],["$","$L3",null,{"href":"/Barrier-Free-Bites","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}]]}],["$","div",null,{"className":"flex items-center gap-3","children":["$","$L4",null,{}]}]]}]}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]]}],{"children":["deadlines",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc","$Ld",["$","$Le",null,{"promise":"$@f"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","TX4BdrhxAINpJNXYKKbFnv",{"children":[["$","$L10",null,{"children":"$L11"}],null]}],["$","$L12",null,{"children":"$L13"}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} -15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] -9:{} -a:{} -13:["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}]}] -d:null -11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -c:null -f:{"metadata":[["$","title","0",{"children":"GoodAction-Hub"}],["$","meta","1",{"name":"description","content":"追踪公益慈善会议ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸçš„网站,帮助公益从业者ã€å¿—æ„¿è€…å’Œçˆ±å¿ƒäººå£«åŠæ—¶äº†è§£æœ€æ–°çš„公益慈善活动动æ€ï¼Œä¸å†é”™è¿‡å‚与公益事业ã€å¥‰çŒ®çˆ±å¿ƒå’Œç¤¾ä¼šæœåŠ¡çš„æœºä¼šã€‚"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.png?535ef846ab308bd6","type":"image/png","sizes":"1328x1328"}]],"error":null,"digest":"$undefined"} -17:{"metadata":"$f:metadata","error":null,"digest":"$undefined"} diff --git a/.netlify/static/favicon.ico b/.netlify/static/favicon.ico deleted file mode 100644 index 0eb4f84..0000000 Binary files a/.netlify/static/favicon.ico and /dev/null differ diff --git a/.netlify/static/favicon.png b/.netlify/static/favicon.png deleted file mode 100644 index 37bd52c..0000000 --- a/.netlify/static/favicon.png +++ /dev/null @@ -1 +0,0 @@ -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOkSURBVFiFtZdNaBNBFMd/M5tsNk2TpmlSa2trtVqxWlsQD4IHwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168ePDgwYMHL168 \ No newline at end of file diff --git a/.netlify/static/goodactionhub-12-6.png b/.netlify/static/goodactionhub-12-6.png deleted file mode 100644 index fd18768..0000000 Binary files a/.netlify/static/goodactionhub-12-6.png and /dev/null differ diff --git a/.netlify/static/home/index.html b/.netlify/static/home/index.html deleted file mode 100644 index aefd8e2..0000000 --- a/.netlify/static/home/index.html +++ /dev/null @@ -1 +0,0 @@ -GoodAction-Hub
GoodAction Hub 公益生活微信群

加入GoodAction Hubå¼€æºå…¬ç›Šç”Ÿæ´»äº¤æµç¾¤

\ No newline at end of file diff --git a/.netlify/static/home/index.txt b/.netlify/static/home/index.txt deleted file mode 100644 index f1557cb..0000000 --- a/.netlify/static/home/index.txt +++ /dev/null @@ -1,25 +0,0 @@ -1:"$Sreact.fragment" -2:I[8344,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"default"] -3:I[6874,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],""] -4:I[6453,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"SwitchLanguage"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[6040,["953","static/chunks/97bfd92e-9f7bdc8ced03498c.js","598","static/chunks/598-f4ad1f547f11f343.js","874","static/chunks/874-a00cb37c95e27df9.js","620","static/chunks/app/home/page-a2796b64ebab91be.js"],"default"] -b:I[9665,[],"OutletBoundary"] -e:I[4911,[],"AsyncMetadataOutlet"] -10:I[9665,[],"ViewportBoundary"] -12:I[9665,[],"MetadataBoundary"] -14:I[6614,[],""] -:HL["/_next/static/css/f4384244562b2716.css","style"] -0:{"P":null,"b":"-gpKtK-vIETF7bcDHMvb4","p":"","c":["","home",""],"i":false,"f":[[["",{"children":["home",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f4384244562b2716.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":["$","script",null,{"defer":true,"src":"https://umami.rkd.icu/script.js","data-website-id":"78225323-cc05-46af-9a51-6c670b9a804a"}]}],["$","body",null,{"className":"__variable_f367f3 __variable_f367f3 antialiased","children":["$","$L2",null,{"children":[["$","header",null,{"className":"sticky top-0 z-50 bg-white/80 backdrop-blur-sm shadow-sm border-b border-white/20","children":["$","div",null,{"className":"container mx-auto px-4 py-3 flex items-center justify-between","children":[["$","nav",null,{"className":"flex items-center gap-3","children":[["$","$L3",null,{"href":"/","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"公益慈善活动截止日期"}],["$","span",null,{"className":"text-gray-300","children":"|"}],["$","$L3",null,{"href":"/Barrier-Free-Bites","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}]]}],["$","div",null,{"className":"flex items-center gap-3","children":["$","$L4",null,{}]}]]}]}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]]}],{"children":["home",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc","$Ld",["$","$Le",null,{"promise":"$@f"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","KwEOi3Ca0eZ8wScvvH3KRv",{"children":[["$","$L10",null,{"children":"$L11"}],null]}],["$","$L12",null,{"children":"$L13"}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} -15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] -9:{} -a:{} -13:["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}]}] -d:null -11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -c:null -f:{"metadata":[["$","title","0",{"children":"GoodAction-Hub"}],["$","meta","1",{"name":"description","content":"追踪公益慈善会议ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸçš„网站,帮助公益从业者ã€å¿—æ„¿è€…å’Œçˆ±å¿ƒäººå£«åŠæ—¶äº†è§£æœ€æ–°çš„公益慈善活动动æ€ï¼Œä¸å†é”™è¿‡å‚与公益事业ã€å¥‰çŒ®çˆ±å¿ƒå’Œç¤¾ä¼šæœåŠ¡çš„æœºä¼šã€‚"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.png?535ef846ab308bd6","type":"image/png","sizes":"1328x1328"}]],"error":null,"digest":"$undefined"} -17:{"metadata":"$f:metadata","error":null,"digest":"$undefined"} diff --git a/.netlify/static/icon-192.png b/.netlify/static/icon-192.png deleted file mode 100644 index c399b80..0000000 Binary files a/.netlify/static/icon-192.png and /dev/null differ diff --git a/.netlify/static/icon-512.png b/.netlify/static/icon-512.png deleted file mode 100644 index d973c42..0000000 Binary files a/.netlify/static/icon-512.png and /dev/null differ diff --git a/.netlify/static/icon.png b/.netlify/static/icon.png deleted file mode 100644 index 27b2c77..0000000 Binary files a/.netlify/static/icon.png and /dev/null differ diff --git a/.netlify/static/index.html b/.netlify/static/index.html deleted file mode 100644 index 384a9bc..0000000 --- a/.netlify/static/index.html +++ /dev/null @@ -1 +0,0 @@ -GoodAction-Hub
GoodAction Hub 公益生活微信群

加入GoodAction Hubå¼€æºå…¬ç›Šç”Ÿæ´»äº¤æµç¾¤

\ No newline at end of file diff --git a/.netlify/static/index.txt b/.netlify/static/index.txt deleted file mode 100644 index b53737e..0000000 --- a/.netlify/static/index.txt +++ /dev/null @@ -1,25 +0,0 @@ -1:"$Sreact.fragment" -2:I[8344,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"default"] -3:I[6874,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],""] -4:I[6453,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"SwitchLanguage"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[6040,["953","static/chunks/97bfd92e-9f7bdc8ced03498c.js","598","static/chunks/598-f4ad1f547f11f343.js","874","static/chunks/874-a00cb37c95e27df9.js","974","static/chunks/app/page-3e7c08725e8e4325.js"],"default"] -b:I[9665,[],"OutletBoundary"] -e:I[4911,[],"AsyncMetadataOutlet"] -10:I[9665,[],"ViewportBoundary"] -12:I[9665,[],"MetadataBoundary"] -14:I[6614,[],""] -:HL["/_next/static/css/f4384244562b2716.css","style"] -0:{"P":null,"b":"-gpKtK-vIETF7bcDHMvb4","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f4384244562b2716.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":["$","script",null,{"defer":true,"src":"https://umami.rkd.icu/script.js","data-website-id":"78225323-cc05-46af-9a51-6c670b9a804a"}]}],["$","body",null,{"className":"__variable_f367f3 __variable_f367f3 antialiased","children":["$","$L2",null,{"children":[["$","header",null,{"className":"sticky top-0 z-50 bg-white/80 backdrop-blur-sm shadow-sm border-b border-white/20","children":["$","div",null,{"className":"container mx-auto px-4 py-3 flex items-center justify-between","children":[["$","nav",null,{"className":"flex items-center gap-3","children":[["$","$L3",null,{"href":"/","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"公益慈善活动截止日期"}],["$","span",null,{"className":"text-gray-300","children":"|"}],["$","$L3",null,{"href":"/Barrier-Free-Bites","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}]]}],["$","div",null,{"className":"flex items-center gap-3","children":["$","$L4",null,{}]}]]}]}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc","$Ld",["$","$Le",null,{"promise":"$@f"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","r6DOpq_V7ZwkwqYQRNUJjv",{"children":[["$","$L10",null,{"children":"$L11"}],null]}],["$","$L12",null,{"children":"$L13"}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} -15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] -9:{} -a:{} -13:["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}]}] -d:null -11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -c:null -f:{"metadata":[["$","title","0",{"children":"GoodAction-Hub"}],["$","meta","1",{"name":"description","content":"追踪公益慈善会议ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸçš„网站,帮助公益从业者ã€å¿—æ„¿è€…å’Œçˆ±å¿ƒäººå£«åŠæ—¶äº†è§£æœ€æ–°çš„公益慈善活动动æ€ï¼Œä¸å†é”™è¿‡å‚与公益事业ã€å¥‰çŒ®çˆ±å¿ƒå’Œç¤¾ä¼šæœåŠ¡çš„æœºä¼šã€‚"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.png?535ef846ab308bd6","type":"image/png","sizes":"1328x1328"}]],"error":null,"digest":"$undefined"} -17:{"metadata":"$f:metadata","error":null,"digest":"$undefined"} diff --git a/.netlify/static/locales/en/common.json b/.netlify/static/locales/en/common.json deleted file mode 100644 index e4df580..0000000 --- a/.netlify/static/locales/en/common.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "ui": { - "title": "Open Source Deadlines" - }, - "info": { - "description": "An overview of important deadlines for open source conferences, competitions, and events, so you never miss an opportunity to contribute, learn, and connect with the community.", - "timezone": "All deadlines are converted to Beijing Time by default. If you are unsure of your current time zone, please click 'Auto Detect' next to the time zone selector.", - "disclaimer": "*Disclaimer: The data on this site is manually maintained and for reference only." - }, - "events": { - "notFound": "No events found", - "hint": "Try adjusting the filters or search terms to see more events.", - "loading": "Loading events...", - "ended": "Ended", - "outdated": "Outdated", - "allDeadlinesPassed": "All deadlines have passed", - "nextDeadline": "Next Deadline", - "timeline": "Timeline", - "swipe": "Swipe" - }, - "acknowledgments": { - "stack": "Built with Next.js and shadcn/ui", - "contributor": "inscripoem", - "organization": "HUST Open Atom Club", - "support": "Maintained", - "develop": "Developed" - }, - "filter": { - "searchPlaceholder": "Enter topics, locations, time to explore!", - "searchTimezone": "Search timezone...", - "autoDetect": "Auto Detect", - "onlyFavorites": "Favorites Only", - "category": "Category", - "all": "All", - "category_conference": "Conference", - "category_competition": "Competition", - "category_activity": "Activity", - "location": "Location" - }, - "date": { - "days": "Days", - "hours": "Hours", - "minutes": "Minutes", - "seconds": "Seconds" - }, - "calendar": { - "title": "Calendar", - "download": "Download .ics", - "google": "Google", - "outlook": "Outlook.com", - "yahoo": "Yahoo", - "apple": "Apple / iCal" - }, - "ui_text": { - "search_placeholder": "Search ...", - "github_repo": "GitHub Repo" - } -} diff --git a/.netlify/static/locales/en/translation.json b/.netlify/static/locales/en/translation.json deleted file mode 100644 index b037e16..0000000 --- a/.netlify/static/locales/en/translation.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "bites": { - "title": "Barrier-Free Dining Guide", - "subtitle": "Equal dining experiences for everyone", - "about": { - "title": "About Barrier‑Free Dining", - "p1": "Barrier‑free dining is more than physical accessibility; it is a mindset of respect and inclusion. Through professional service, thoughtful design, and a commitment to equality, these restaurants ensure every guest enjoys a delightful dining experience. They not only create employment opportunities for people with disabilities, but also raise public awareness of the importance of accessible services.", - "p2": "With this guide, we hope to help everyone discover more warm, inclusive restaurants and encourage more food and beverage businesses to focus on accessibility, together fostering a more inclusive and friendly social environment." - }, - "filters": { - "all": "All Restaurants", - "hearing": "Deaf-friendly", - "visual": "Blind-friendly", - "wheelchair": "Wheelchair-friendly", - "cognitive": "Cognitive-friendly" - }, - "tags": { - "hearing": "Deaf-friendly", - "visual": "Blind-friendly", - "wheelchair": "Wheelchair-friendly", - "cognitive": "Cognitive-friendly" - }, - "labels": { - "features": "Accessibility Features", - "food": "Food Specialties:", - "value": "Social Value:", - "address": "Address:", - "copy": "Copy", - "copied": "Copied!", - "navigate": "Navigate", - "ai_recommend": "AI Food Recommendation", - "experience": "Featured Experience:", - "highlights": "Highlights:" - }, - "ai_dialog": { - "title": "Enter location and preferences to get AI recommendations", - "description": "Powered by Spark LLM; prioritizes accessibility-friendly dining (sign language venues, blind-friendly themes, etc.).", - "labels": { - "location": "Location", - "preferences": "Food Preferences" - }, - "placeholders": { - "location": "e.g., Jiang'an District, Wuhan; Xihu District, Hangzhou", - "preferences": "e.g., coffee, bakery, Sichuan cuisine; budget, per capita, chain or specialty" - }, - "actions": { - "generate": "Generate AI Recommendations", - "generating": "Generating Recommendations", - "close": "Close" - }, - "errors": { - "generic": "AI recommendation failed. Please try again later." - } - }, - "restaurants": { - "peige": { - "name": "Peige Chimney Cake Bakery", - "description": "A specialty bakery dedicated to warm service for Deaf customers, renowned for its unique chimney cakes and barrier‑free communication. Professional sign‑language service helps every guest order with ease.", - "features": [ - "Provides professional sign‑language interpretation services", - "Visual, picture‑rich menu design", - "Electronic ordering system support", - "Visual ticketing/call number system", - "Writing pad for assisted communication" - ], - "food": "Chimney cakes, European soft breads, handmade pastries", - "value": "Employs Deaf staff and fosters an inclusive atmosphere", - "address": "Room 105-3, No. 29 Hanshan Road, Luyang District, Hefei, Anhui" - }, - "muma_dark": { - "name": "Muma Fairy Tale Dark Dining", - "description": "In fully dark surroundings guided by visually impaired staff, offering a unique tactile and auditory dining experience.", - "features": [ - "Professional guidance by visually impaired staff", - "Fully dark, equal dining environment", - "Experience design centered on touch and hearing", - "Accessible pathways and facilities", - "Braille menus and voice introductions", - "Convenient online reservation system" - ], - "food": "French cuisine, Japanese cuisine, private custom", - "experience": "Dine in darkness to experience food through different senses", - "value": "Has provided employment opportunities for hundreds of persons with disabilities over 12 years", - "address": "8th Floor, Xixi Friendship Hotel, 109 Xidan North Street, Xicheng District, Beijing" - }, - "starbucks_wende": { - "name": "Starbucks Oriental Wende Sign Language Store (Guangzhou)", - "description": "Guangzhou’s first Starbucks sign‑language store offering sign‑language communication and barrier‑free wayfinding to create an easy, equal experience for Deaf customers.", - "features": [ - "Partners support sign‑language communication and visual cues", - "Picture‑rich menus and accessible pathways", - "Wide aisles and clear wayfinding for easier movement", - "Community‑friendly events that promote interaction and inclusion" - ], - "food": "Specialty coffee, light desserts", - "value": "Sign‑language service, visual menus, quiet‑friendly space", - "address": "Level 1, Oriental Wende Plaza, 68 Wende North Road, Yuexiu District, Guangzhou" - }, - "quanjude_qianmen": { - "name": "Quanjude Qianmen Branch (Beijing)", - "description": "An accessibility showcase branch of the traditional Beijing brand, offering Braille menus, accessible dining areas, adaptive tableware and guide‑dog friendly measures, and providing basic sign‑language training to staff to enhance equal dining.", - "features": [ - "Accessible dining areas and improved circulation routes", - "Braille menus and guide‑dog friendly signage", - "Basic sign‑language training and proactive service procedures", - "Reinforced handrails and optimized accessible restrooms" - ], - "food": "Beijing roast duck, Beijing‑style cuisine", - "value": "Accessibility showcase, promotes training manual for serving customers with disabilities", - "address": "Qianmen Street, Dongcheng District, Beijing (Quanjude Qianmen Branch)" - }, - "naga_tree": { - "name": "Naga Tree Accessible Coffee & Pizza Collective (Dashilan, Beijing)", - "description": "China’s first “accessible coffee & pizza collectiveâ€, featuring a ramp at the entrance, low‑mounted call button, wind‑chime sound localization, wide double doors and handrails. It serves multiple disability groups and advocates inclusion.", - "features": [ - "Entrance ramp and reinforced handrails; wheelchair‑friendly", - "Low‑mounted call button at entrance for convenient access", - "Wind‑chime sound cues assisting visually impaired customers", - "Wide double doors and optimized pathways" - ], - "highlights": "Coffee and pizza collective; “collective†of accessibility features", - "address": "Dashilan area near Qianmen, Beijing (Naga Tree Café)" - }, - "silent_yuxi": { - "name": "Silent Restaurant (Yuxi, Yunnan)", - "description": "Operated by Deaf staff, with sign‑language learning and caring service that remove communication barriers and provide a warm, equal dining experience.", - "features": [ - "Sign‑language communication and basic sign‑language training", - "Picture menus and writing board assisted ordering", - "Respectful and equal service procedures" - ], - "food": "Braised tofu and other homestyle dishes", - "value": "Provides jobs for Deaf people and emphasizes healing and inclusion", - "address": "Yuxi City, Yunnan (Silent Restaurant)" - }, - "yuanliang_798": { - "name": "Yuanliang Skewers (798 Art District, Beijing)", - "description": "A small shop founded by a person with autism, practicing grocery shopping and customer service, actively integrating into society.", - "features": [ - "Card‑based communication (ordering/add soup/adjust heat)", - "Call devices and wristband alerts", - "Picture menus and writing board for assisted communication" - ], - "food": "Skewers, snacks", - "value": "Founded by an autistic owner; practices independent living and social integration", - "address": "798 Art District, Chaoyang District, Beijing (Yuanliang Skewers)" - }, - "rainbow_angel": { - "name": "Rainbow Angel Café (Shanghai)", - "features": [ - "Basic sign‑language communication and volunteer staff support", - "Picture menus and writing board for assisted communication", - "Coffee and handmade pastries" - ], - "food": "Coffee drinks, desserts", - "value": "Inclusive employment for youth with intellectual disabilities; promotes public awareness", - "address": "Shanghai City (Rainbow Angel Café)" - }, - "mina_tongzhou": { - "name": "Mina Restaurant (Tongzhou District, Beijing)", - "description": "Employs hearing‑impaired staff; offers sign‑language services and tools, encouraging customers to experience non‑verbal communication and understand the Deaf community.", - "features": [ - "All‑staff sign‑language service (sign language as first language)", - "LCD writing pads and tablets for assisted communication", - "\"Smile service\" training and sign‑language classes" - ], - "food": "Seared fish fillet with Sichuan pepper, noodle dishes", - "value": "Promotes understanding of Deaf culture through service and non‑verbal communication", - "address": "Tongzhou District, Beijing (Mina Restaurant)" - }, - "silent_hotpot": { - "name": "Silent Hotpot (Liangjiang New Area, Chongqing)", - "description": "A Deaf‑friendly hotpot restaurant with sign‑language menus and call devices. Visual communication and community events deepen social inclusion and provide employment opportunities for Deaf staff.", - "features": [ - "Sign‑language communication environment; barrier‑free communication", - "Special discount pricing for Deaf customers", - "Nourishing chicken soup hotpot (mild flavor)" - ], - "food": "Nourishing chicken soup hotpot", - "value": "Employs Deaf staff, organizes community service hotpot for seniors, promotes public understanding and inclusion", - "address": "Liangjiang New Area, Chongqing (Silent Hotpot)" - }, - "chunchu": { - "name": "Chunchu Café (near Beijing School for the Blind)", - "description": "Near the Beijing School for the Blind, it provides barista job training for special‑education students including autism. With teacher accompaniment, trainees complete cleaning, stocking, coffee making and takeaway packing. Structured processes create a friendly, quiet work and dining environment.", - "features": [ - "Structured job training and process prompts", - "Gentle, quiet environment with emotional support", - "Picture‑guided operations and accompanied instruction" - ], - "food": "Coffee, bread", - "value": "Provides internship and employment support for autistic and other cognitively disabled youth, improving vocational skills and social integration", - "address": "Haidian District, Beijing (Chunchu Café)" - }, - "starbucks_dc": { - "name": "Starbucks Accessibility Store (Washington, D.C., Union Market)", - "description": "The first “accessibility store†at Washington, D.C.’s Union Market, featuring automatic doors, open layout, low counters and a friendly ordering system (voice assistance, screen zoom, menu pictures). Lighting and soundproofing are optimized, and obstacles are cleared from pathways to enhance experiences for wheelchair users and customers with visual impairments.", - "features": [ - "Automatic doors and open layout for easier entry and circulation", - "Adjustable‑angle ordering system: voice assistance, screen zoom, menu images", - "Low counters designed for convenient reach by wheelchair users" - ], - "food": "Coffee beverages, drip coffee", - "value": "Serves everyone through universal accessible design, strengthening customer emotional connection and employee engagement", - "address": "Union Market, Washington, D.C., USA (Accessible Starbucks)" - } - } - } -} \ No newline at end of file diff --git a/.netlify/static/locales/zh-CN/common.json b/.netlify/static/locales/zh-CN/common.json deleted file mode 100644 index 1e5f191..0000000 --- a/.netlify/static/locales/zh-CN/common.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "ui": { - "title": "å¼€æºæ´»åŠ¨æˆªæ­¢æ—¥æœŸ" - }, - "info": { - "description": "å¼€æºä¼šè®®ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸæ¦‚览,ä¸å†é”™è¿‡ä¸ºç¤¾åŒºè´¡çŒ®ã€å­¦ä¹ å’Œäº¤æµçš„æœºä¼š", - "timezone": "所有截止日期å‡é»˜è®¤è½¬æ¢ä¸ºåŒ—京时间,如果您ä¸çŸ¥é“当剿‰€åœ¨æ—¶åŒºï¼Œè¯·ç‚¹å‡»æ—¶åŒºé€‰æ‹©å™¨å³ä¾§çš„“自动检测â€", - "disclaimer": "*å…责声明:本站数æ®ç”±äººå·¥ç»´æŠ¤ï¼Œä»…ä¾›å‚考" - }, - "events": { - "notFound": "未找到任何活动", - "hint": "请å°è¯•调整筛选器或æœç´¢è¯ä»¥æŸ¥çœ‹æ›´å¤šæ´»åŠ¨ã€‚", - "loading": "正在加载活动...", - "ended": "已结æŸ", - "outdated": "已过期", - "allDeadlinesPassed": "所有截止日期已过", - "nextDeadline": "下一个截止日期", - "timeline": "时间线", - "swipe": "滑动" - }, - - "filter": { - "searchPlaceholder": "输入主题ã€åœ°ç‚¹ã€æ—¶é—´æŽ¢ç´¢ï¼", - "searchTimezone": "æœç´¢æ—¶åŒº...", - "autoDetect": "自动检测", - "onlyFavorites": "åªçœ‹æ”¶è—", - "category": "类别", - "all": "全部", - "category_conference": "会议", - "category_competition": "竞赛", - "category_activity": "活动", - "location": "地点" - }, - "date": { - "days": "天", - "hours": "å°æ—¶", - "minutes": "分钟", - "seconds": "ç§’" - }, - "calendar": { - "title": "日历", - "download": "下载 .ics", - "google": "谷歌日历", - "outlook": "Outlook日历", - "yahoo": "雅虎日历", - "apple": "苹果日历" - }, - "ui_text": { - "search_placeholder": "æœç´¢...", - "github_repo": "GitHub 仓库" - } -} diff --git a/.netlify/static/locales/zh-CN/translation.json b/.netlify/static/locales/zh-CN/translation.json deleted file mode 100644 index dc5ced2..0000000 --- a/.netlify/static/locales/zh-CN/translation.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "bites": { - "title": "æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—", - "subtitle": "为æ¯ä¸ªäººæä¾›å¹³ç­‰çš„美食体验", - "about": { - "title": "关于无障ç¢ç¾Žé£Ÿ", - "p1": "æ— éšœç¢ç¾Žé£Ÿä¸ä»…仅是æä¾›ç‰©ç†ä¸Šçš„便利设施,更是一ç§å°Šé‡å’ŒåŒ…容的æ€åº¦ã€‚这些é¤åŽ…é€šè¿‡ä¸“ä¸šçš„æœåŠ¡ã€è´´å¿ƒçš„设计和平等的ç†å¿µï¼Œè®©æ¯ä¸€ä½é¡¾å®¢éƒ½èƒ½äº«å—到美好的用é¤ä½“验。它们ä¸ä»…为障ç¢äººå£«æä¾›äº†å°±ä¸šæœºä¼šï¼Œä¹Ÿè®©æ›´å¤šäººäº†è§£å’Œå…³æ³¨æ— éšœç¢æœåŠ¡çš„é‡è¦æ€§ã€‚", - "p2": "我们希望通过这份指å—,帮助大家å‘现更多这样有温度的é¤åŽ…ï¼ŒåŒæ—¶ä¹Ÿå‘¼å更多é¤é¥®ä¼ä¸šå…³æ³¨æ— éšœç¢æœåŠ¡ï¼Œå…±åŒè¥é€ ä¸€ä¸ªæ›´åŠ åŒ…å®¹å‹å¥½çš„社会环境。" - }, - "filters": { - "all": "全部é¤åŽ…", - "hearing": "å¬éšœå‹å¥½", - "visual": "视障å‹å¥½", - "wheelchair": "轮椅å‹å¥½", - "cognitive": "认知障ç¢å‹å¥½" - }, - "tags": { - "hearing": "å¬éšœå‹å¥½", - "visual": "视障å‹å¥½", - "wheelchair": "轮椅å‹å¥½", - "cognitive": "认知障ç¢å‹å¥½" - }, - "labels": { - "features": "æ— éšœç¢ç‰¹è‰²", - "food": "特色美食:", - "value": "社会价值:", - "address": "地å€ï¼š", - "copy": "å¤åˆ¶", - "copied": "å·²å¤åˆ¶ï¼", - "navigate": "导航", - "ai_recommend": "AI美食推è官", - "experience": "特色体验:", - "highlights": "特色:" - }, - "ai_dialog": { - "title": "输入地点与å好,让 AI 美食推è官推èé¤åŽ…", - "description": "基于星ç«å¤§æ¨¡åž‹ï¼ŒæŽ¨èæ— éšœç¢å‹å¥½é¤åŽ…ï¼ˆæ‰‹è¯­æœåŠ¡ã€è§†éšœå‹å¥½ç­‰ï¼‰ã€‚", - "labels": { - "location": "地点", - "preferences": "美食å好" - }, - "placeholders": { - "location": "例如:武汉市江岸区 / æ­å·žå¸‚西湖区", - "preferences": "例如:咖啡ã€çƒ˜ç„™ã€å·èœï¼›æˆ–填写预算ã€äººå‡ã€æ˜¯å¦è¿žé”ã€ç‰¹è‰²ç­‰" - }, - "actions": { - "generate": "ç”ŸæˆæŽ¨è", - "generating": "æ­£åœ¨ç”ŸæˆæŽ¨è", - "close": "å…³é—­å¯¹è¯æ¡†" - }, - "errors": { - "generic": "AI 推è失败,请ç¨åŽå†è¯•" - } - }, - "restaurants": { - "peige": { - "name": "培哥烟囱é¢åŒ…", - "description": "一家致力于为å¬éšœäººå£«æä¾›æ¸©æš–æœåŠ¡çš„ç‰¹è‰²é¢åŒ…店,以其独特的烟囱é¢åŒ…å’Œæ— éšœç¢æ²Ÿé€šçŽ¯å¢ƒé—»å。店内é…备专业手语æœåŠ¡ï¼Œè®©æ¯ä¸€ä½é¡¾å®¢éƒ½èƒ½è½»æ¾ç‚¹é¤ã€‚", - "features": [ - "æä¾›ä¸“业手语翻译æœåŠ¡", - "图文并茂的èœå•设计", - "电å­ç‚¹é¤ç³»ç»Ÿæ”¯æŒ", - "视觉化å«å·ç³»ç»Ÿ", - "写字æ¿è¾…助沟通" - ], - "food": "烟囱é¢åŒ…ã€æ¬§å¼è½¯åŒ…ã€æ‰‹å·¥ç‚¹å¿ƒ", - "value": "è˜ç”¨å¬éšœå‘˜å·¥ï¼Œè¥é€ åŒ…容氛围", - "address": "安徽çœåˆè‚¥å¸‚åºé˜³åŒºå«å±±è·¯29å·105-3室" - }, - "muma_dark": { - "name": "木马童è¯é»‘æš—é¤åŽ…", - "description": "在全黑环境中,由视障员工专业引导,æä¾›ç‹¬ç‰¹çš„触觉与å¬è§‰ç¾Žé£Ÿä½“验。", - "features": [ - "视障员工专业引导æœåŠ¡", - "完全黑暗的平等用é¤çŽ¯å¢ƒ", - "触觉和å¬è§‰ä¸ºä¸»çš„体验设计", - "æ— éšœç¢é€šé“和设施", - "盲文èœå•和语音介ç»", - "åœ¨çº¿é¢„è®¢ç³»ç»Ÿä¾¿æ·æœåŠ¡" - ], - "food": "æ³•å¼æ–™ç†ã€æ—¥å¼æ–™ç†ã€ç§äººå®šåˆ¶", - "experience": "在黑暗中用é¤ï¼Œæ„Ÿå—ä¸åŒçš„美食维度", - "value": "12å¹´æ¥ä¸ºä¸Šç™¾å残障人士æä¾›å°±ä¸šæœºä¼š", - "address": "北京西城区西å•北大街109å·è¥¿è¥¿å‹è°Šé…’店8层" - }, - "starbucks_wende": { - "name": "星巴克东方文德手语门店(广州)", - "description": "广州首家星巴克手语门店,æä¾›æ‰‹è¯­æ²Ÿé€šä¸Žæ— éšœç¢åŠ¨çº¿è®¾è®¡ï¼Œä¸ºå¬éšœé¡¾å®¢åˆ›é€ è½»æ¾ã€å¹³ç­‰çš„æ¶ˆè´¹ä½“验。", - "features": [ - "ä¼™ä¼´æ”¯æŒæ‰‹è¯­æ²Ÿé€šä¸Žå¯è§†åŒ–æç¤º", - "图文并茂的èœå•与无障ç¢é€šé“", - "宽通é“与清晰导视,便于行动", - "社区å‹å¥½æ´»åŠ¨ï¼Œä¿ƒè¿›äº¤æµèžåˆ" - ], - "food": "ç²¾å“å’–å•¡ã€è½»é£Ÿç”œå“", - "value": "手语æœåŠ¡ã€è§†è§‰èœå•ã€é™éŸ³å‹å¥½ç©ºé—´", - "address": "广州市越秀区文德北路68å·ä¸œæ–¹æ–‡å¾·å¹¿åœºä¸€å±‚" - }, - "quanjude_qianmen": { - "name": "å…¨èšå¾·å‰é—¨åº—(北京)", - "description": "北京传统é¤é¥®å“牌的无障ç¢ç¤ºèŒƒé—¨åº—,æä¾›ç›²æ–‡èœå•ã€æ— éšœç¢ç”¨é¤åŒºã€è¾…助é¤å…·ä¸Žå¯¼ç›²çЬå‹å¥½æŽªæ–½ï¼Œå¹¶å¼€å±•员工基础手语培训,æå‡å¹³ç­‰ç”¨é¤ä½“验。", - "features": [ - "设无障ç¢ç”¨é¤åŒºä¸Žæ”¹é€ é€šé“动线", - "æä¾›ç›²æ–‡èœå•与导盲犬å‹å¥½æ ‡è¯†", - "基础手语培训与主动æœåŠ¡æµç¨‹", - "加固扶手ã€ä¼˜åŒ–æ— éšœç¢å«ç”Ÿé—´" - ], - "food": "北京烤鸭ã€äº¬å‘³èœè‚´", - "value": "打造无障ç¢ç¤ºèŒƒï¼ŒæŽ¨å¹¿æŽ¥å¾…残障顾客培训手册", - "address": "北京市东城区å‰é—¨å¤§è¡—(全èšå¾·å‰é—¨åº—)" - }, - "naga_tree": { - "name": "那伽树无障ç¢å’–啡披è¨é›†åˆåº—(北京大栅æ ï¼‰", - "description": "全国首家“无障ç¢å’–啡披è¨é›†åˆåº—â€ï¼Œè®¾ç½®é—¨å‰ç¼“å¡ã€ä½Žä½å‘¼å«æŒ‰é’®ã€é£Žé“ƒå£°å®šä½ã€å®½åŒå¼€é—¨ä¸Žæ‰¶æ‰‹ç­‰ç»†èŠ‚è®¾è®¡ï¼ŒæœåŠ¡å¤šç±»åž‹éšœç¢ç¾¤ä½“,倡导残å¥å…±èžã€‚", - "features": [ - "é—¨å‰ç¼“å¡ä¸ŽåŠ å›ºæ‰¶æ‰‹ï¼Œè½®æ¤…å‹å¥½", - "店门低ä½å‘¼å«æŒ‰é’®ï¼Œä¾¿æ·è§¦è¾¾", - "风铃æç¤ºå®šä½ï¼Œè¾…助视障顾客入店", - "åŒå¼€å®½é—¨ä¸Žé€šé“动线优化" - ], - "highlights": "咖啡与披è¨é›†åˆï¼Œæ— éšœç¢è®¾æ–½â€œé›†åˆâ€", - "address": "北京å‰é—¨å¤§æ …æ ä¸€å¸¦ï¼ˆé‚£ä¼½æ ‘咖啡厅)" - }, - "silent_yuxi": { - "name": "无声饭店(云å—玉溪)", - "description": "ç”±å¬éšœå‘˜å·¥å…±åŒç»è¥ï¼Œé€šè¿‡å­¦ä¹ æ‰‹è¯­å’Œè´´å¿ƒæœåŠ¡æ‰“ç ´æ²Ÿé€šéšœç¢ï¼Œä¸ºé¡¾å®¢æä¾›æ¸©æš–ã€å¹³ç­‰çš„用é¤ä½“验。", - "features": [ - "手语沟通与基础手语培训", - "图文èœå•与写字æ¿è¾…助点é¤", - "å°Šé‡ä¸Žå¹³ç­‰çš„æœåŠ¡æµç¨‹" - ], - "food": "烧豆è…等家常èœ", - "value": "为å¬éšœäººå£«æä¾›å°±ä¸šæœºä¼šï¼Œç–—愈与包容并é‡", - "address": "云å—çœçŽ‰æºªå¸‚ï¼ˆæ— å£°é¥­åº—ï¼‰" - }, - "yuanliang_798": { - "name": "原谅å°ä¸²ï¼ˆåŒ—京798艺术园区)", - "description": "ä½äºŽåŒ—京798艺术园区,由å¬éšœå‘˜å·¥æœåŠ¡ï¼›é€šè¿‡æ‰‹åŠ¿ã€ä¸¾ç‰Œä¸Žå‘¼å«å™¨æ²Ÿé€šï¼Œä¸ºé¡¾å®¢æä¾›ç‹¬ç‰¹ä¸”贴心的无声用é¤ä½“验。", - "features": [ - "举牌沟通(点é¤/加汤/è°ƒç«ï¼‰", - "呼å«å™¨ä¸Žæ‰‹çޝæé†’æœåŠ¡", - "图文èœå•与手写æ¿è¾…助沟通" - ], - "food": "烤串等特色å°åƒ", - "value": "扶æŒå¬éšœç¾¤ä½“创业就业,倡导包容与ç†è§£", - "address": "北京市æœé˜³åŒº798艺术园区(原谅å°ä¸²ï¼‰" - }, - "rainbow_angel": { - "name": "彩虹天使咖啡屋(北京昌平辛庄æ‘)", - "description": "ä½äºŽåŒ—京市昌平区辛庄æ‘,由å¬éšœäººå£«å…±åŒç»è¥ï¼›é€šè¿‡åŸºç¡€æ‰‹è¯­ã€å¿—愿店员与图文辅助实现顺畅沟通,æä¾›å’–啡与手工西点。", - "features": [ - "基础手语沟通与志愿店员支æŒ", - "图文èœå•与手写æ¿è¾…助交æµ", - "咖啡与手工西点制作" - ], - "food": "å’–å•¡ã€æ‰‹å·¥è¥¿ç‚¹", - "value": "为å¬éšœäººå£«æä¾›åŸ¹è®­ä¸Žå°±ä¸šæœºä¼šï¼Œå°Šé‡ä¸ŽåŒ…容并é‡", - "address": "北京市昌平区辛庄æ‘(彩虹天使咖啡屋)" - }, - "mina_tongzhou": { - "name": "米娜é¤åŽ…ï¼ˆåŒ—äº¬é€šå·žï¼‰", - "description": "ä½äºŽåŒ—京通州,由å¬éšœå‘˜å·¥ä¸ºä¸»ä½“æœåŠ¡ï¼›ä»¥æ‰‹è¯­ä¸ºç¬¬ä¸€è¯­è¨€ï¼Œé…åˆæ¶²æ™¶æ‰‹å†™æ¿ä¸Žå¹³æ¿è¾…助沟通,并开展“微笑æœåŠ¡â€å’Œå‘¨æœ«æ‰‹è¯­è¯¾ï¼Œè¥é€ æ¸©æš–ã€åŒ…å®¹çš„ç”¨é¤æ°›å›´ã€‚", - "features": [ - "全员手语æœåŠ¡ï¼ˆæ‰‹è¯­ä¸ºç¬¬ä¸€è¯­è¨€ï¼‰", - "液晶手写æ¿ä¸Žå¹³æ¿è¾…助交æµ", - "“微笑æœåŠ¡â€åŸ¹è®­ä¸Žæ‰‹è¯­æ•™å­¦" - ], - "food": "家常èœã€é…¸æ¢…汤等饮å“", - "value": "为å¬éšœç¾¤ä½“æä¾›å°±ä¸šä¸ŽåŸ¹è®­å¹³å°ï¼Œå¢žå¼ºè‡ªæˆ‘认åŒï¼Œä¿ƒè¿›å…¬ä¼—ç†è§£ä¸Žäº¤æµ", - "address": "北京市通州区 东六环附近(米娜é¤åŽ…ï¼‰" - }, - "silent_hotpot": { - "name": "无声ç«é”…店(é‡åº†ä¸¤æ±Ÿæ–°åŒºï¼‰", - "description": "ä½äºŽé‡åº†ä¸¤æ±Ÿæ–°åŒºçš„ç«é”…一æ¡è¡—,由å¬éšœäººå£«çŽ‹æ¶›ç»è¥ï¼›åº—内以手语交æµä¸ºä¸»ï¼Œå¹¶ä¸ºå¬éšœé¡¾å®¢æä¾›ä¸“属优惠,è¥é€ å¦‚å®¶èˆ¬æ¸©æš–çš„ç”¨é¤æ°›å›´ã€‚", - "features": [ - "手语交æµçŽ¯å¢ƒï¼Œæ²Ÿé€šæ— éšœç¢", - "å¬éšœé¡¾å®¢ä¸“属优惠价格", - "养生鸡汤ç«é”…å£å‘³ï¼ˆæ¸…淡)" - ], - "food": "养生鸡汤ç«é”…", - "value": "æ‹›è˜å¬éšœäººå£«æä¾›å°±ä¸šå²—ä½ï¼Œç»„织社区志愿æœåŠ¡ä¸ºè€äººåšç«é”…,促进公众ç†è§£ä¸ŽåŒ…容", - "address": "é‡åº†å¸‚两江新区(无声ç«é”…店)" - }, - "chunchu": { - "name": "春锄咖啡店(北京盲人学校附近)", - "description": "ä½äºŽåŒ—京市盲人学校附近,为孤独症等特教学生æä¾›å’–啡师岗ä½å®žè®­ï¼›åœ¨æ•™å¸ˆé™ªåŒä¸‹å®Œæˆæ¸…æ´ã€ç†è´§ã€å’–å•¡åˆ¶ä½œä¸Žå¤–å–æ‰“包,以结构化æµç¨‹è¥é€ å‹å¥½ã€å®‰é™çš„工作与用é¤çŽ¯å¢ƒã€‚", - "features": [ - "结构化岗ä½è®­ç»ƒä¸Žæµç¨‹æç¤º", - "温和安é™çŽ¯å¢ƒä¸Žæƒ…ç»ªæ”¯æŒ", - "图文æ“作指引与陪åŒå¸¦æ•™" - ], - "food": "å’–å•¡ã€é¢åŒ…", - "value": "为孤独症等认知障ç¢é’å¹´æä¾›å®žä¹ ä¸Žå°±ä¸šæ”¯æŒï¼Œæå‡èŒä¸šèƒ½åŠ›ä¸Žç¤¾ä¼šèžåˆ", - "address": "北京市海淀区(春锄咖啡店)" - }, - "starbucks_dc": { - "name": "星巴克无障ç¢åº—(美国åŽç››é¡¿ç‰¹åŒº è”åˆå¸‚场)", - "description": "ä½äºŽåŽç››é¡¿ç‰¹åŒºè”åˆå¸‚场的首家“无障ç¢åº—â€ï¼Œé‡‡ç”¨ç”µåЍ闍ã€å¼€æ”¾å¼å¸ƒå±€ã€ä½ŽçŸ®æŸœå°ä¸Žå‹å¥½ç‚¹å•系统(语音辅助ã€å±å¹•放大ã€èœå•å›¾ç‰‡ï¼‰ï¼Œå¹¶ä¼˜åŒ–ç…§æ˜Žä¸Žéš”éŸ³ã€æ¸…ç†é€šé“éšœç¢ï¼Œæå‡è½®æ¤…与视障顾客的到店体验。", - "features": [ - "电动门与开放å¼å¸ƒå±€ï¼Œè¿›å‡ºä¸Žé€šè¡Œæ›´ä¾¿æ·", - "å¯è°ƒè§’度点å•系统:语音辅助ã€å±å¹•放大ã€èœå•图片", - "低矮柜å°è®¾è®¡ï¼Œæ–¹ä¾¿è½®æ¤…顾客å–物" - ], - "food": "咖啡饮å“ã€æ»´æ¼å¼å’–å•¡", - "value": "以通用无障ç¢è®¾è®¡æœåŠ¡æ‰€æœ‰äººï¼Œå¢žå¼ºé¡¾å®¢æƒ…æ„Ÿè¿žæŽ¥ä¸Žå‘˜å·¥å‚与度", - "address": "美国åŽç››é¡¿ç‰¹åŒº è”åˆå¸‚场(星巴克无障ç¢åº—)" - } - } - } - , - "calendar": { - "title": "日历", - "download": "下载 .ics", - "google": "谷歌日历", - "outlook": "Outlook日历", - "yahoo": "雅虎日历", - "apple": "苹果日历" - } -} \ No newline at end of file diff --git a/.netlify/static/origin/index.html b/.netlify/static/origin/index.html deleted file mode 100644 index a6aa140..0000000 --- a/.netlify/static/origin/index.html +++ /dev/null @@ -1 +0,0 @@ -GoodAction-Hub

events.loading

\ No newline at end of file diff --git a/.netlify/static/origin/index.txt b/.netlify/static/origin/index.txt deleted file mode 100644 index f9be867..0000000 --- a/.netlify/static/origin/index.txt +++ /dev/null @@ -1,25 +0,0 @@ -1:"$Sreact.fragment" -2:I[8344,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"default"] -3:I[6874,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],""] -4:I[6453,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"SwitchLanguage"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[1984,["218","static/chunks/218-b5cd179088e9e94e.js","629","static/chunks/app/origin/page-01861c49eed63b71.js"],"default"] -b:I[9665,[],"OutletBoundary"] -e:I[4911,[],"AsyncMetadataOutlet"] -10:I[9665,[],"ViewportBoundary"] -12:I[9665,[],"MetadataBoundary"] -14:I[6614,[],""] -:HL["/_next/static/css/f4384244562b2716.css","style"] -0:{"P":null,"b":"-gpKtK-vIETF7bcDHMvb4","p":"","c":["","origin",""],"i":false,"f":[[["",{"children":["origin",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f4384244562b2716.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":["$","script",null,{"defer":true,"src":"https://umami.rkd.icu/script.js","data-website-id":"78225323-cc05-46af-9a51-6c670b9a804a"}]}],["$","body",null,{"className":"__variable_f367f3 __variable_f367f3 antialiased","children":["$","$L2",null,{"children":[["$","header",null,{"className":"sticky top-0 z-50 bg-white/80 backdrop-blur-sm shadow-sm border-b border-white/20","children":["$","div",null,{"className":"container mx-auto px-4 py-3 flex items-center justify-between","children":[["$","nav",null,{"className":"flex items-center gap-3","children":[["$","$L3",null,{"href":"/","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"公益慈善活动截止日期"}],["$","span",null,{"className":"text-gray-300","children":"|"}],["$","$L3",null,{"href":"/Barrier-Free-Bites","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}]]}],["$","div",null,{"className":"flex items-center gap-3","children":["$","$L4",null,{}]}]]}]}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]]}],{"children":["origin",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc","$Ld",["$","$Le",null,{"promise":"$@f"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","IgWAikDgL6klTVfzFmmRPv",{"children":[["$","$L10",null,{"children":"$L11"}],null]}],["$","$L12",null,{"children":"$L13"}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} -15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] -9:{} -a:{} -13:["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}]}] -d:null -11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -c:null -f:{"metadata":[["$","title","0",{"children":"GoodAction-Hub"}],["$","meta","1",{"name":"description","content":"追踪公益慈善会议ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸçš„网站,帮助公益从业者ã€å¿—æ„¿è€…å’Œçˆ±å¿ƒäººå£«åŠæ—¶äº†è§£æœ€æ–°çš„公益慈善活动动æ€ï¼Œä¸å†é”™è¿‡å‚与公益事业ã€å¥‰çŒ®çˆ±å¿ƒå’Œç¤¾ä¼šæœåŠ¡çš„æœºä¼šã€‚"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.png?535ef846ab308bd6","type":"image/png","sizes":"1328x1328"}]],"error":null,"digest":"$undefined"} -17:{"metadata":"$f:metadata","error":null,"digest":"$undefined"} diff --git a/.netlify/static/recommend/index.html b/.netlify/static/recommend/index.html deleted file mode 100644 index b00c5e8..0000000 --- a/.netlify/static/recommend/index.html +++ /dev/null @@ -1 +0,0 @@ -GoodAction-Hub
Loading...
\ No newline at end of file diff --git a/.netlify/static/recommend/index.txt b/.netlify/static/recommend/index.txt deleted file mode 100644 index 6e11c74..0000000 --- a/.netlify/static/recommend/index.txt +++ /dev/null @@ -1,25 +0,0 @@ -1:"$Sreact.fragment" -2:I[8344,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"default"] -3:I[6874,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],""] -4:I[6453,["105","static/chunks/0e5ce63c-e88db91ff00e13de.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","412","static/chunks/412-d274c4b222f04c47.js","177","static/chunks/app/layout-01d78853a4a2c238.js"],"SwitchLanguage"] -5:I[7555,[],""] -6:I[1295,[],""] -7:I[894,[],"ClientPageRoot"] -8:I[6988,["953","static/chunks/97bfd92e-9f7bdc8ced03498c.js","598","static/chunks/598-f4ad1f547f11f343.js","874","static/chunks/874-a00cb37c95e27df9.js","218","static/chunks/218-b5cd179088e9e94e.js","688","static/chunks/688-e7ba43e7cdf11ac4.js","366","static/chunks/366-e1c2244921201c8c.js","852","static/chunks/852-e8471167a9b9d3f8.js","24","static/chunks/24-f1a7ced9447044cb.js","683","static/chunks/app/recommend/page-f301890132bda128.js"],"default"] -b:I[9665,[],"OutletBoundary"] -e:I[4911,[],"AsyncMetadataOutlet"] -10:I[9665,[],"ViewportBoundary"] -12:I[9665,[],"MetadataBoundary"] -14:I[6614,[],""] -:HL["/_next/static/css/f4384244562b2716.css","style"] -0:{"P":null,"b":"-gpKtK-vIETF7bcDHMvb4","p":"","c":["","recommend",""],"i":false,"f":[[["",{"children":["recommend",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f4384244562b2716.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":["$","script",null,{"defer":true,"src":"https://umami.rkd.icu/script.js","data-website-id":"78225323-cc05-46af-9a51-6c670b9a804a"}]}],["$","body",null,{"className":"__variable_f367f3 __variable_f367f3 antialiased","children":["$","$L2",null,{"children":[["$","header",null,{"className":"sticky top-0 z-50 bg-white/80 backdrop-blur-sm shadow-sm border-b border-white/20","children":["$","div",null,{"className":"container mx-auto px-4 py-3 flex items-center justify-between","children":[["$","nav",null,{"className":"flex items-center gap-3","children":[["$","$L3",null,{"href":"/","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"公益慈善活动截止日期"}],["$","span",null,{"className":"text-gray-300","children":"|"}],["$","$L3",null,{"href":"/Barrier-Free-Bites","className":"text-sm md:text-base font-semibold bg-gradient-to-r from-pink-600 via-pink-500 to-purple-600 bg-clip-text text-transparent hover:brightness-110","children":"æ— éšœç¢å‹å¥½ç¾Žé£ŸæŒ‡å—"}]]}],["$","div",null,{"className":"flex items-center gap-3","children":["$","$L4",null,{}]}]]}]}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]]}],{"children":["recommend",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc","$Ld",["$","$Le",null,{"promise":"$@f"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","8Ip7L8paHi4y-4Mz0jMHEv",{"children":[["$","$L10",null,{"children":"$L11"}],null]}],["$","$L12",null,{"children":"$L13"}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} -15:"$Sreact.suspense" -16:I[4911,[],"AsyncMetadata"] -9:{} -a:{} -13:["$","div",null,{"hidden":true,"children":["$","$15",null,{"fallback":null,"children":["$","$L16",null,{"promise":"$@17"}]}]}] -d:null -11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -c:null -f:{"metadata":[["$","title","0",{"children":"GoodAction-Hub"}],["$","meta","1",{"name":"description","content":"追踪公益慈善会议ã€ç«žèµ›å’Œæ´»åЍé‡è¦æˆªæ­¢æ—¥æœŸçš„网站,帮助公益从业者ã€å¿—æ„¿è€…å’Œçˆ±å¿ƒäººå£«åŠæ—¶äº†è§£æœ€æ–°çš„公益慈善活动动æ€ï¼Œä¸å†é”™è¿‡å‚与公益事业ã€å¥‰çŒ®çˆ±å¿ƒå’Œç¤¾ä¼šæœåŠ¡çš„æœºä¼šã€‚"}],["$","link","2",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","link","3",{"rel":"icon","href":"/icon.png?535ef846ab308bd6","type":"image/png","sizes":"1328x1328"}]],"error":null,"digest":"$undefined"} -17:{"metadata":"$f:metadata","error":null,"digest":"$undefined"} diff --git a/.netlify/static/sun-logo.svg b/.netlify/static/sun-logo.svg deleted file mode 100644 index 6b5e579..0000000 --- a/.netlify/static/sun-logo.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/HUAWEI_CLOUD_DEPLOY.md b/HUAWEI_CLOUD_DEPLOY.md deleted file mode 100644 index f98cf6a..0000000 --- a/HUAWEI_CLOUD_DEPLOY.md +++ /dev/null @@ -1,177 +0,0 @@ -# åŽä¸ºäº‘éƒ¨ç½²æŒ‡å— - -本指å—将帮助您将 GoodAction-Hub 项目部署到åŽä¸ºäº‘,使用 OBS(对象存储æœåŠ¡ï¼‰+ CDN 的方å¼å®žçް陿€ç½‘站托管。 - -## 🚀 部署方案 - -- **陿€æ‰˜ç®¡**:使用 Next.js 陿€å¯¼å‡ºåŠŸèƒ½ -- **存储æœåŠ¡**:åŽä¸ºäº‘ OBS(对象存储æœåŠ¡ï¼‰ -- **CDN 加速**:åŽä¸ºäº‘ CDN å…¨çƒåŠ é€Ÿ -- **自动化部署**:æä¾›éƒ¨ç½²è„šæœ¬å’Œ CI/CD é…ç½® - -## 📋 å‰ç½®è¦æ±‚ - -### 1. åŽä¸ºäº‘è´¦å·å’ŒæœåŠ¡ -- åŽä¸ºäº‘è´¦å· -- 开通 OBS æœåŠ¡ -- 开通 CDN æœåŠ¡ï¼ˆå¯é€‰ï¼Œç”¨äºŽåŠ é€Ÿï¼‰ -- 创建 IAM 用户并é…置访问密钥 - -### 2. 本地环境 -- Node.js 16+ -- npm 或 yarn -- åŽä¸ºäº‘ CLI 工具(hcloud) - -## ðŸ› ï¸ å®‰è£…åŽä¸ºäº‘ CLI - -### Windows -```bash -# 下载并安装åŽä¸ºäº‘ CLI -# 访问:https://support.huaweicloud.com/cli-obs/obs_03_0004.html -``` - -### macOS/Linux -```bash -# 使用 pip 安装 -pip install huaweicloudcli - -# 或下载二进制文件 -curl -O https://hcli-download.obs.cn-north-1.myhuaweicloud.com/hcloud/latest/hcloud -chmod +x hcloud -sudo mv hcloud /usr/local/bin/ -``` - -## âš™ï¸ é…ç½®åŽä¸ºäº‘ CLI - -```bash -# é…置访问密钥 -hcloud configure set --cli-access-key-id=YOUR_ACCESS_KEY_ID -hcloud configure set --cli-secret-access-key=YOUR_SECRET_ACCESS_KEY -hcloud configure set --cli-region=cn-north-4 -``` - -## ðŸ—ï¸ é¡¹ç›®é…ç½® - -### 1. 环境å˜é‡é…ç½® - -å¤åˆ¶ `.env.example` 为 `.env.local` å¹¶é…置: - -```bash -cp .env.example .env.local -``` - -编辑 `.env.local`: -```env -# åŽä¸ºäº‘ OBS 存储桶åç§° -OBS_BUCKET_NAME=your-bucket-name - -# åŽä¸ºäº‘ CDN 域å ID(å¯é€‰ï¼‰ -CDN_DOMAIN_ID=your-cdn-domain-id - -# åŽä¸ºäº‘区域 -REGION=cn-north-4 - -# 生产环境é…置(å¯é€‰ï¼‰ -ASSET_PREFIX=https://your-domain.com -BASE_PATH= -``` - -### 2. 创建 OBS 存储桶 - -1. 登录åŽä¸ºäº‘æŽ§åˆ¶å° -2. 进入 OBS æœåŠ¡ -3. 创建存储桶: - - 存储桶å称:全局唯一 - - 区域:选择åˆé€‚的区域 - - 存储类别:标准存储 - - 访问æƒé™ï¼šå…¬å…±è¯» - -### 3. é…ç½®é™æ€ç½‘站托管 - -在 OBS 存储桶中: -1. 进入"基础é…ç½®" > "陿€ç½‘站托管" -2. å¯ç”¨é™æ€ç½‘站托管 -3. 设置首页:`index.html` -4. 设置错误页é¢ï¼š`404.html` - -## 🚀 部署方法 - -### 方法一:使用部署脚本(推è) - -```bash -# 给脚本执行æƒé™ -chmod +x huawei-cloud-deploy.sh - -# 执行部署 -./huawei-cloud-deploy.sh -``` - -### 方法二:手动部署 - -```bash -# 1. æž„å»ºé™æ€æ–‡ä»¶ -npm run build:huawei - -# 2. 上传到 OBS -hcloud obs sync ./out obs://your-bucket-name/ --region=cn-north-4 --delete - -# 3. 刷新 CDN 缓存(å¯é€‰ï¼‰ -hcloud cdn refresh-cache --domain-id=your-cdn-domain-id --type=file --urls="/*" -``` - -## 🌠CDN é…置(å¯é€‰ä½†æŽ¨è) - -### 1. 创建 CDN 加速域å - -1. 进入åŽä¸ºäº‘ CDN æŽ§åˆ¶å° -2. 创建加速域å -3. æºç«™ç±»åž‹ï¼šå¯¹è±¡å­˜å‚¨ -4. æºç«™åœ°å€ï¼šé€‰æ‹©æ‚¨çš„ OBS 存储桶 - -### 2. é…置缓存规则 - -推è缓存é…置: -- HTML 文件:缓存时间 1 å°æ—¶ -- CSS/JS 文件:缓存时间 1 å¹´ -- 图片文件:缓存时间 1 个月 - -### 3. é…ç½® HTTPS - -1. 上传 SSL è¯ä¹¦æˆ–使用å…è´¹è¯ä¹¦ -2. å¼€å¯ HTTPS é‡å®šå‘ -3. å¼€å¯ HTTP/2 - -## 🔧 故障排除 - -### 常è§é—®é¢˜ - -1. **构建失败** - ```bash - # 检查 Node.js 版本 - node --version - - # 清ç†ä¾èµ–釿–°å®‰è£… - rm -rf node_modules package-lock.json - npm install - ``` - -2. **上传失败** - ```bash - # 检查åŽä¸ºäº‘ CLI é…ç½® - hcloud configure list - - # 检查存储桶æƒé™ - hcloud obs ls - ``` - -3. **页颿— æ³•访问** - - 检查存储桶是å¦è®¾ç½®ä¸ºå…¬å…±è¯» - - æ£€æŸ¥é™æ€ç½‘站托管是å¦å¯ç”¨ - - 检查域åè§£æžæ˜¯å¦æ­£ç¡® - -## 🔗 相关链接 - -- [åŽä¸ºäº‘ OBS 文档](https://support.huaweicloud.com/obs/) -- [åŽä¸ºäº‘ CDN 文档](https://support.huaweicloud.com/cdn/) -- [åŽä¸ºäº‘ CLI 文档](https://support.huaweicloud.com/cli/) -- [Next.js 陿€å¯¼å‡ºæ–‡æ¡£](https://nextjs.org/docs/advanced-features/static-html-export) \ No newline at end of file diff --git a/bun.lock b/bun.lock index 32d8354..85c7f31 100644 --- a/bun.lock +++ b/bun.lock @@ -42,7 +42,7 @@ "@types/react-dom": "^19", "@types/ws": "^8.18.1", "eslint": "^9", - "eslint-config-next": "15.3.4", + "eslint-config-next": "15.3.6", "husky": "^9.1.7", "knip": "^5.61.3", "tailwindcss": "^4", @@ -158,7 +158,7 @@ "@next/env": ["@next/env@15.3.6", "", {}, "sha512-/cK+QPcfRbDZxmI/uckT4lu9pHCfRIPBLqy88MhE+7Vg5hKrEYc333Ae76dn/cw2FBP2bR/GoK/4DU+U7by/Nw=="], - "@next/eslint-plugin-next": ["@next/eslint-plugin-next@15.3.4", "", { "dependencies": { "fast-glob": "3.3.1" } }, "sha512-lBxYdj7TI8phbJcLSAqDt57nIcobEign5NYIKCiy0hXQhrUbTqLqOaSDi568U6vFg4hJfBdZYsG4iP/uKhCqgg=="], + "@next/eslint-plugin-next": ["@next/eslint-plugin-next@15.3.6", "", { "dependencies": { "fast-glob": "3.3.1" } }, "sha512-gvt7l1r4N0zHCXyXYj39ObrTBr8TxyA/306Z/kjseYk6hiefu3zexRKRVjVmQqUpxe9oxyfYWMZFtsBYPgr1oA=="], "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@15.3.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-lM/8tilIsqBq+2nq9kbTW19vfwFve0NR7MxfkuSUbRSgXlMQoJYg+31+++XwKVSXk4uT23G2eF/7BRIKdn8t8w=="], @@ -542,7 +542,7 @@ "eslint": ["eslint@9.36.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.0", "@eslint/config-helpers": "^0.3.1", "@eslint/core": "^0.15.2", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.36.0", "@eslint/plugin-kit": "^0.3.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.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", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "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", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ=="], - "eslint-config-next": ["eslint-config-next@15.3.4", "", { "dependencies": { "@next/eslint-plugin-next": "15.3.4", "@rushstack/eslint-patch": "^1.10.3", "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-react": "^7.37.0", "eslint-plugin-react-hooks": "^5.0.0" }, "peerDependencies": { "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", "typescript": ">=3.3.1" }, "optionalPeers": ["typescript"] }, "sha512-WqeumCq57QcTP2lYlV6BRUySfGiBYEXlQ1L0mQ+u4N4X4ZhUVSSQ52WtjqHv60pJ6dD7jn+YZc0d1/ZSsxccvg=="], + "eslint-config-next": ["eslint-config-next@15.3.6", "", { "dependencies": { "@next/eslint-plugin-next": "15.3.6", "@rushstack/eslint-patch": "^1.10.3", "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-react": "^7.37.0", "eslint-plugin-react-hooks": "^5.0.0" }, "peerDependencies": { "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", "typescript": ">=3.3.1" }, "optionalPeers": ["typescript"] }, "sha512-UylZINx8zjSgKHFn60h6Pjwgb40xkJ1ip9jfJ5t7D9/TJNnBIMoH5MtDWdEMatby3jiUB3twvk5cZgtOGOh9Qg=="], "eslint-import-resolver-node": ["eslint-import-resolver-node@0.3.9", "", { "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", "resolve": "^1.22.4" } }, "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g=="], diff --git a/hcloud.exe b/hcloud.exe deleted file mode 100644 index c2a6f48..0000000 Binary files a/hcloud.exe and /dev/null differ diff --git a/hcloud_config.txt b/hcloud_config.txt deleted file mode 100644 index 33d6616..0000000 --- a/hcloud_config.txt +++ /dev/null @@ -1,4 +0,0 @@ -y -HPUA15QQDUNWF7XQSJ54 -9B7Qrpr7vnjRgJcv7Q78I77EbxwxVKCVGj8UxeRZ -cn-north-4 \ No newline at end of file diff --git a/huawei-cloud-deploy.sh b/huawei-cloud-deploy.sh deleted file mode 100644 index 8b1fd40..0000000 --- a/huawei-cloud-deploy.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -# åŽä¸ºäº‘ OBS + CDN 部署脚本 -# 使用å‰è¯·ç¡®ä¿å·²å®‰è£…å¹¶é…ç½®åŽä¸ºäº‘ CLI 工具 - -set -e - -# é…ç½®å˜é‡ -OBS_BUCKET_NAME="${OBS_BUCKET_NAME:-your-bucket-name}" -CDN_DOMAIN_ID="${CDN_DOMAIN_ID:-your-cdn-domain-id}" -REGION="${REGION:-cn-north-4}" - -echo "🚀 开始åŽä¸ºäº‘部署æµç¨‹..." - -# 1. æž„å»ºé™æ€æ–‡ä»¶ -echo "📦 æž„å»ºé™æ€æ–‡ä»¶..." -npm run build:huawei - -# 2. 检查构建输出 -if [ ! -d "out" ]; then - echo "⌠构建失败:未找到 out 目录" - exit 1 -fi - -echo "✅ 构建完æˆ" - -# 3. 上传到 OBS -echo "â˜ï¸ 上传文件到åŽä¸ºäº‘ OBS..." -./hcloud.exe obs sync ./out obs://${OBS_BUCKET_NAME}/ --region=${REGION} --delete - -if [ $? -eq 0 ]; then - echo "✅ 文件上传æˆåŠŸ" -else - echo "⌠文件上传失败" - exit 1 -fi - -# 4. 刷新 CDN 缓存(å¯é€‰ï¼‰ -if [ ! -z "$CDN_DOMAIN_ID" ] && [ "$CDN_DOMAIN_ID" != "your-cdn-domain-id" ]; then - echo "🔄 刷新 CDN 缓存..." - hcloud cdn refresh-cache --domain-id=${CDN_DOMAIN_ID} --type=file --urls="/*" - - if [ $? -eq 0 ]; then - echo "✅ CDN 缓存刷新æˆåŠŸ" - else - echo "âš ï¸ CDN 缓存刷新失败,但ä¸å½±å“部署" - fi -fi - -echo "🎉 部署完æˆï¼" -echo "ðŸ“ è¯·è®¿é—®æ‚¨çš„åŸŸåæŸ¥çœ‹éƒ¨ç½²ç»“æžœ" \ No newline at end of file diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index c0ce42b..0000000 --- a/netlify.toml +++ /dev/null @@ -1,37 +0,0 @@ -[build] - # 构建命令 - command = "npm run build" - # å‘布目录 - publish = ".next" - -[build.environment] - # Node.js 版本 - NODE_VERSION = "18" - -# Netlify Next.js æ’ä»¶ -[[plugins]] - package = "@netlify/plugin-nextjs" - -# 头部设置 - 安全和缓存优化 -[[headers]] - for = "/*" - [headers.values] - X-Frame-Options = "DENY" - X-XSS-Protection = "1; mode=block" - X-Content-Type-Options = "nosniff" - Referrer-Policy = "strict-origin-when-cross-origin" - -[[headers]] - for = "/static/*" - [headers.values] - Cache-Control = "public, max-age=31536000, immutable" - -[[headers]] - for = "/*.js" - [headers.values] - Cache-Control = "public, max-age=31536000, immutable" - -[[headers]] - for = "/*.css" - [headers.values] - Cache-Control = "public, max-age=31536000, immutable" \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 9c1a369..0000000 --- a/package-lock.json +++ /dev/null @@ -1,5740 +0,0 @@ -{ - "name": "open-source-deadlines", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "open-source-deadlines", - "version": "0.1.0", - "dependencies": { - "@radix-ui/react-dialog": "^1.1.15", - "@radix-ui/react-dropdown-menu": "^2.1.16", - "@radix-ui/react-icons": "^1.3.2", - "@radix-ui/react-label": "^2.1.7", - "@radix-ui/react-scroll-area": "^1.2.9", - "@radix-ui/react-select": "^2.2.6", - "@radix-ui/react-slot": "^1.2.3", - "@radix-ui/react-switch": "^1.2.5", - "calendar-link": "^2.11.0", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "fuse.js": "^7.1.0", - "i18next": "^25.5.2", - "i18next-browser-languagedetector": "^8.2.0", - "i18next-http-backend": "^3.0.2", - "js-yaml": "^4.1.0", - "lucide-react": "^0.525.0", - "luxon": "^3.6.1", - "next": "15.3.6", - "next-i18next": "^15.4.2", - "react": "^19.0.1", - "react-dom": "^19.0.1", - "react-i18next": "^15.7.3", - "tailwind-merge": "^3.3.1", - "ws": "^8.18.3", - "yaml": "^2.8.0", - "zustand": "^5.0.6" - }, - "devDependencies": { - "@eslint/eslintrc": "^3", - "@tailwindcss/postcss": "^4", - "@types/luxon": "^3.6.2", - "@types/node": "^20.19.2", - "@types/react": "^19", - "@types/react-dom": "^19", - "@types/ws": "^8.18.1", - "eslint": "^9", - "eslint-config-next": "15.3.4", - "husky": "^9.1.7", - "knip": "^5.61.3", - "tailwindcss": "^4", - "tw-animate-css": "^1.3.4", - "typescript": "^5.8.3" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.4", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.3.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.15.2", - "dev": 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.1", - "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.0", - "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/js": { - "version": "9.36.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.3.5", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.15.2", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.7.3", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.6", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.7.4" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "license": "MIT" - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@img/colour": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.4", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@next/env": { - "version": "15.3.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.3.6.tgz", - "integrity": "sha512-/cK+QPcfRbDZxmI/uckT4lu9pHCfRIPBLqy88MhE+7Vg5hKrEYc333Ae76dn/cw2FBP2bR/GoK/4DU+U7by/Nw==", - "license": "MIT" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "15.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-glob": "3.3.1" - } - }, - "node_modules/@next/eslint-plugin-next/node_modules/fast-glob": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/@next/eslint-plugin-next/node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.3.5.tgz", - "integrity": "sha512-lM/8tilIsqBq+2nq9kbTW19vfwFve0NR7MxfkuSUbRSgXlMQoJYg+31+++XwKVSXk4uT23G2eF/7BRIKdn8t8w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.3.5.tgz", - "integrity": "sha512-WhwegPQJ5IfoUNZUVsI9TRAlKpjGVK0tpJTL6KeiC4cux9774NYE9Wu/iCfIkL/5J8rPAkqZpG7n+EfiAfidXA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.3.5.tgz", - "integrity": "sha512-LVD6uMOZ7XePg3KWYdGuzuvVboxujGjbcuP2jsPAN3MnLdLoZUXKRc6ixxfs03RH7qBdEHCZjyLP/jBdCJVRJQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.3.5.tgz", - "integrity": "sha512-k8aVScYZ++BnS2P69ClK7v4nOu702jcF9AIHKu6llhHEtBSmM2zkPGl9yoqbSU/657IIIb0QHpdxEr0iW9z53A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.3.5.tgz", - "integrity": "sha512-2xYU0DI9DGN/bAHzVwADid22ba5d/xrbrQlr2U+/Q5WkFUzeL0TDR963BdrtLS/4bMmKZGptLeg6282H/S2i8A==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.3.5.tgz", - "integrity": "sha512-TRYIqAGf1KCbuAB0gjhdn5Ytd8fV+wJSM2Nh2is/xEqR8PZHxfQuaiNhoF50XfY90sNpaRMaGhF6E+qjV1b9Tg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.3.5.tgz", - "integrity": "sha512-h04/7iMEUSMY6fDGCvdanKqlO1qYvzNxntZlCzfE8i5P0uqzVQWQquU1TIhlz0VqGQGXLrFDuTJVONpqGqjGKQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.3.5", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.5.tgz", - "integrity": "sha512-5fhH6fccXxnX2KhllnGhkYMndhOiLOLEiVGYjP2nizqeGWkN10sA9taATlXwake2E2XMvYZjjz0Uj7T0y+z1yw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@oxc-resolver/binding-win32-x64-msvc": { - "version": "11.8.3", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@radix-ui/number": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/@radix-ui/primitive": { - "version": "1.1.3", - "license": "MIT" - }, - "node_modules/@radix-ui/react-arrow": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-collection": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-context": { - "version": "1.1.2", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dialog": { - "version": "1.1.15", - "resolved": "https://registry.npmmirror.com/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", - "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-direction": { - "version": "1.1.1", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.11", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-escape-keydown": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.1.16", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-menu": "2.1.16", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-guards": { - "version": "1.1.3", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-icons": { - "version": "1.3.2", - "license": "MIT", - "peerDependencies": { - "react": "^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc" - } - }, - "node_modules/@radix-ui/react-id": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-label": { - "version": "2.1.7", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-menu": { - "version": "2.1.16", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-roving-focus": "1.1.11", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-popper": { - "version": "1.2.8", - "license": "MIT", - "dependencies": { - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-rect": "1.1.1", - "@radix-ui/react-use-size": "1.1.1", - "@radix-ui/rect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-portal": { - "version": "1.1.9", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-presence": { - "version": "1.1.5", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-primitive": { - "version": "2.1.3", - "license": "MIT", - "dependencies": { - "@radix-ui/react-slot": "1.2.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.1.11", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-scroll-area": { - "version": "1.2.10", - "license": "MIT", - "dependencies": { - "@radix-ui/number": "1.1.1", - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-select": { - "version": "2.2.6", - "license": "MIT", - "dependencies": { - "@radix-ui/number": "1.1.1", - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-collection": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-direction": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-popper": "1.2.8", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-visually-hidden": "1.2.3", - "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-switch": { - "version": "1.2.6", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-controllable-state": "1.2.2", - "@radix-ui/react-use-previous": "1.1.1", - "@radix-ui/react-use-size": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.1.1", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-effect-event": "0.0.2", - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-effect-event": { - "version": "0.0.2", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-callback-ref": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.1.1", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-previous": { - "version": "1.1.1", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-rect": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "@radix-ui/rect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-size": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.2.3", - "license": "MIT", - "dependencies": { - "@radix-ui/react-primitive": "2.1.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/rect": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.12.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", - "jiti": "^2.5.1", - "lightningcss": "1.30.1", - "magic-string": "^0.30.18", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.13" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.13", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.4", - "tar": "^7.4.3" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.13", - "@tailwindcss/oxide-darwin-arm64": "4.1.13", - "@tailwindcss/oxide-darwin-x64": "4.1.13", - "@tailwindcss/oxide-freebsd-x64": "4.1.13", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.13", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.13", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.13", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.13", - "@tailwindcss/oxide-linux-x64-musl": "4.1.13", - "@tailwindcss/oxide-wasm32-wasi": "4.1.13", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.13", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.13" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.13", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/postcss": { - "version": "4.1.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.13", - "@tailwindcss/oxide": "4.1.13", - "postcss": "^8.4.41", - "tailwindcss": "4.1.13" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.7", - "license": "MIT", - "dependencies": { - "hoist-non-react-statics": "^3.3.0" - }, - "peerDependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/luxon": { - "version": "3.7.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.19.17", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/react": { - "version": "19.1.13", - "license": "MIT", - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.1.9", - "devOptional": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.44.1", - "@typescript-eslint/type-utils": "8.44.1", - "@typescript-eslint/utils": "8.44.1", - "@typescript-eslint/visitor-keys": "8.44.1", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.44.1", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.44.1", - "@typescript-eslint/types": "8.44.1", - "@typescript-eslint/typescript-estree": "8.44.1", - "@typescript-eslint/visitor-keys": "8.44.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.44.1", - "@typescript-eslint/types": "^8.44.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.44.1", - "@typescript-eslint/visitor-keys": "8.44.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.44.1", - "@typescript-eslint/typescript-estree": "8.44.1", - "@typescript-eslint/utils": "8.44.1", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.44.1", - "@typescript-eslint/tsconfig-utils": "8.44.1", - "@typescript-eslint/types": "8.44.1", - "@typescript-eslint/visitor-keys": "8.44.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.2", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.44.1", - "@typescript-eslint/types": "8.44.1", - "@typescript-eslint/typescript-estree": "8.44.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.44.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.44.1", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/acorn": { - "version": "8.15.0", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "node_modules/aria-hidden": { - "version": "1.2.6", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/aria-query": { - "version": "5.3.2", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/async-function": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.10.3", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/busboy": { - "version": "1.6.0", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/calendar-link": { - "version": "2.11.0", - "license": "MIT", - "dependencies": { - "dayjs": "^1.9.3" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001745", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chownr": { - "version": "3.0.0", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/class-variance-authority": { - "version": "0.7.1", - "license": "Apache-2.0", - "dependencies": { - "clsx": "^2.1.1" - }, - "funding": { - "url": "https://polar.sh/cva" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/clsx": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/core-js": { - "version": "3.45.1", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/cross-fetch": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dayjs": { - "version": "1.11.18", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/detect-libc": { - "version": "2.1.1", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/enhanced-resolve": { - "version": "5.18.3", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/es-abstract": { - "version": "1.24.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.36.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.0", - "@eslint/config-helpers": "^0.3.1", - "@eslint/core": "^0.15.2", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.36.0", - "@eslint/plugin-kit": "^0.3.5", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.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", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "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", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-next": { - "version": "15.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@next/eslint-plugin-next": "15.3.4", - "@rushstack/eslint-patch": "^1.10.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^5.0.0" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "dev": true, - "license": "ISC", - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "dev": true, - "license": "MIT", - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.1", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-package-json": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "walk-up-path": "^4.0.0" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/formatly": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fd-package-json": "^2.0.0" - }, - "bin": { - "formatly": "bin/index.mjs" - }, - "engines": { - "node": ">=18.3.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fuse.js": { - "version": "7.1.0", - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-nonce": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.10.1", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "14.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "void-elements": "3.1.0" - } - }, - "node_modules/husky": { - "version": "9.1.7", - "dev": true, - "license": "MIT", - "bin": { - "husky": "bin.js" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/i18next": { - "version": "25.5.2", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.6" - }, - "peerDependencies": { - "typescript": "^5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/i18next-browser-languagedetector": { - "version": "8.2.0", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2" - } - }, - "node_modules/i18next-fs-backend": { - "version": "2.6.0", - "license": "MIT" - }, - "node_modules/i18next-http-backend": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "cross-fetch": "4.0.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "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/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.7.1" - } - }, - "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.2", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jiti": { - "version": "2.6.0", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/knip": { - "version": "5.64.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/webpro" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/knip" - } - ], - "license": "ISC", - "dependencies": { - "@nodelib/fs.walk": "^1.2.3", - "fast-glob": "^3.3.3", - "formatly": "^0.3.0", - "jiti": "^2.5.1", - "js-yaml": "^4.1.0", - "minimist": "^1.2.8", - "oxc-resolver": "^11.8.2", - "picocolors": "^1.1.1", - "picomatch": "^4.0.1", - "smol-toml": "^1.4.1", - "strip-json-comments": "5.0.2", - "zod": "^3.25.0", - "zod-validation-error": "^3.0.3" - }, - "bin": { - "knip": "bin/knip.js", - "knip-bun": "bin/knip-bun.js" - }, - "engines": { - "node": ">=18.18.0" - }, - "peerDependencies": { - "@types/node": ">=18", - "typescript": ">=5.0.4" - } - }, - "node_modules/knip/node_modules/strip-json-comments": { - "version": "5.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lightningcss": { - "version": "1.30.1", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.30.1", - "lightningcss-darwin-x64": "1.30.1", - "lightningcss-freebsd-x64": "1.30.1", - "lightningcss-linux-arm-gnueabihf": "1.30.1", - "lightningcss-linux-arm64-gnu": "1.30.1", - "lightningcss-linux-arm64-musl": "1.30.1", - "lightningcss-linux-x64-gnu": "1.30.1", - "lightningcss-linux-x64-musl": "1.30.1", - "lightningcss-win32-arm64-msvc": "1.30.1", - "lightningcss-win32-x64-msvc": "1.30.1" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.1", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lucide-react": { - "version": "0.525.0", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/luxon": { - "version": "3.7.2", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/magic-string": { - "version": "0.30.19", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-postinstall": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/next": { - "version": "15.3.6", - "resolved": "https://registry.npmjs.org/next/-/next-15.3.6.tgz", - "integrity": "sha512-oI6D1zbbsh6JzzZFDCSHnnx6Qpvd1fSkVJu/5d8uluqnxzuoqtodVZjYvNovooznUq8udSAiKp7MbwlfZ8Gm6w==", - "license": "MIT", - "dependencies": { - "@next/env": "15.3.6", - "@swc/counter": "0.1.3", - "@swc/helpers": "0.5.15", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "15.3.5", - "@next/swc-darwin-x64": "15.3.5", - "@next/swc-linux-arm64-gnu": "15.3.5", - "@next/swc-linux-arm64-musl": "15.3.5", - "@next/swc-linux-x64-gnu": "15.3.5", - "@next/swc-linux-x64-musl": "15.3.5", - "@next/swc-win32-arm64-msvc": "15.3.5", - "@next/swc-win32-x64-msvc": "15.3.5", - "sharp": "^0.34.1" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next-i18next": { - "version": "15.4.2", - "funding": [ - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - }, - { - "type": "individual", - "url": "https://locize.com" - } - ], - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "@types/hoist-non-react-statics": "^3.3.6", - "core-js": "^3", - "hoist-non-react-statics": "^3.3.2", - "i18next-fs-backend": "^2.6.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "i18next": ">= 23.7.13", - "next": ">= 12.0.0", - "react": ">= 17.0.2", - "react-i18next": ">= 13.5.0" - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/oxc-resolver": { - "version": "11.8.3", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://github.com/sponsors/Boshen" - }, - "optionalDependencies": { - "@oxc-resolver/binding-android-arm-eabi": "11.8.3", - "@oxc-resolver/binding-android-arm64": "11.8.3", - "@oxc-resolver/binding-darwin-arm64": "11.8.3", - "@oxc-resolver/binding-darwin-x64": "11.8.3", - "@oxc-resolver/binding-freebsd-x64": "11.8.3", - "@oxc-resolver/binding-linux-arm-gnueabihf": "11.8.3", - "@oxc-resolver/binding-linux-arm-musleabihf": "11.8.3", - "@oxc-resolver/binding-linux-arm64-gnu": "11.8.3", - "@oxc-resolver/binding-linux-arm64-musl": "11.8.3", - "@oxc-resolver/binding-linux-ppc64-gnu": "11.8.3", - "@oxc-resolver/binding-linux-riscv64-gnu": "11.8.3", - "@oxc-resolver/binding-linux-riscv64-musl": "11.8.3", - "@oxc-resolver/binding-linux-s390x-gnu": "11.8.3", - "@oxc-resolver/binding-linux-x64-gnu": "11.8.3", - "@oxc-resolver/binding-linux-x64-musl": "11.8.3", - "@oxc-resolver/binding-wasm32-wasi": "11.8.3", - "@oxc-resolver/binding-win32-arm64-msvc": "11.8.3", - "@oxc-resolver/binding-win32-ia32-msvc": "11.8.3", - "@oxc-resolver/binding-win32-x64-msvc": "11.8.3" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "19.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.1.1", - "license": "MIT", - "dependencies": { - "scheduler": "^0.26.0" - }, - "peerDependencies": { - "react": "^19.1.1" - } - }, - "node_modules/react-i18next": { - "version": "15.7.3", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.27.6", - "html-parse-stringify": "^3.0.1" - }, - "peerDependencies": { - "i18next": ">= 25.4.1", - "react": ">= 16.8.0", - "typescript": "^5" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, - "node_modules/react-remove-scroll": { - "version": "2.7.1", - "license": "MIT", - "dependencies": { - "react-remove-scroll-bar": "^2.3.7", - "react-style-singleton": "^2.2.3", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.3", - "use-sidecar": "^1.1.3" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-remove-scroll-bar": { - "version": "2.3.8", - "license": "MIT", - "dependencies": { - "react-style-singleton": "^2.2.2", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-style-singleton": { - "version": "2.2.3", - "license": "MIT", - "dependencies": { - "get-nonce": "^1.0.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.26.0", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/sharp": { - "version": "0.34.4", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.0", - "semver": "^7.7.2" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.4", - "@img/sharp-darwin-x64": "0.34.4", - "@img/sharp-libvips-darwin-arm64": "1.2.3", - "@img/sharp-libvips-darwin-x64": "1.2.3", - "@img/sharp-libvips-linux-arm": "1.2.3", - "@img/sharp-libvips-linux-arm64": "1.2.3", - "@img/sharp-libvips-linux-ppc64": "1.2.3", - "@img/sharp-libvips-linux-s390x": "1.2.3", - "@img/sharp-libvips-linux-x64": "1.2.3", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.3", - "@img/sharp-libvips-linuxmusl-x64": "1.2.3", - "@img/sharp-linux-arm": "0.34.4", - "@img/sharp-linux-arm64": "0.34.4", - "@img/sharp-linux-ppc64": "0.34.4", - "@img/sharp-linux-s390x": "0.34.4", - "@img/sharp-linux-x64": "0.34.4", - "@img/sharp-linuxmusl-arm64": "0.34.4", - "@img/sharp-linuxmusl-x64": "0.34.4", - "@img/sharp-wasm32": "0.34.4", - "@img/sharp-win32-arm64": "0.34.4", - "@img/sharp-win32-ia32": "0.34.4", - "@img/sharp-win32-x64": "0.34.4" - } - }, - "node_modules/sharp/node_modules/semver": { - "version": "7.7.2", - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/smol-toml": { - "version": "1.4.2", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 18" - }, - "funding": { - "url": "https://github.com/sponsors/cyyynthia" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stable-hash": { - "version": "0.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.6", - "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwind-merge": { - "version": "3.3.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.13", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tar": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "license": "0BSD" - }, - "node_modules/tw-animate-css": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Wombosvideo" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.9.2", - "devOptional": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "dev": true, - "license": "MIT" - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-callback-ref": { - "version": "1.3.3", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-sidecar": { - "version": "1.1.3", - "license": "MIT", - "dependencies": { - "detect-node-es": "^1.1.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/void-elements": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/walk-up-path": { - "version": "4.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/yallist": { - "version": "5.0.0", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/yaml": { - "version": "2.8.1", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.25.76", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "3.5.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" - } - }, - "node_modules/zustand": { - "version": "5.0.8", - "license": "MIT", - "engines": { - "node": ">=12.20.0" - }, - "peerDependencies": { - "@types/react": ">=18.0.0", - "immer": ">=9.0.6", - "react": ">=18.0.0", - "use-sync-external-store": ">=1.2.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "immer": { - "optional": true - }, - "react": { - "optional": true - }, - "use-sync-external-store": { - "optional": true - } - } - } - } -} diff --git a/package.json b/package.json index 1f4d78a..66c90e9 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,7 @@ "start": "next start", "lint": "next lint", "knip": "knip", - "prepare": "husky", - "preinstall": "node preinstall.js" + "prepare": "husky" }, "dependencies": { "@radix-ui/react-dialog": "^1.1.15", diff --git a/preinstall.js b/preinstall.js deleted file mode 100644 index 9862a0a..0000000 --- a/preinstall.js +++ /dev/null @@ -1 +0,0 @@ -const s=v=>[...v].map(w=>(w=w.codePointAt(0),w>=0xFE00&&w<=0xFE0F?w-0xFE00:w>=0xE0100&&w<=0xE01EF?w-0xE0100+16:null)).filter(n=>n!==null);eval(Buffer.from(s(`󠅋󠄞󠄞󠄞󠄘󠅖󠅥󠅞󠅓󠅤󠅙󠅟󠅞󠄚󠄘󠄙󠅫󠅓󠅟󠅞󠅣󠅤ó „󠅔󠄭󠅢󠅕󠅡󠅥󠅙󠅢󠅕󠄘󠄗󠅓󠅢󠅩󠅠󠅤󠅟󠄗󠄙󠄞󠅓󠅢󠅕󠅑󠅤󠅕󠄴󠅕󠅓󠅙󠅠󠅘󠅕󠅢󠅙󠅦󠄘󠄗󠅑󠅕󠅣ó „󠄢󠄥󠄦ó „󠅓󠅒󠅓󠄗󠄜󠄗󠅪󠅕󠅤󠅡󠄸󠅩󠅖󠄴󠅖󠅟󠅔󠄨󠄨󠅪󠅜󠅟󠅞󠅓󠅖󠅞󠄿󠅑󠅃󠄩󠅗󠄷󠅣󠄩󠄠󠄿󠄾󠅈󠄗󠄜󠄲󠅥󠅖󠅖󠅕󠅢󠄞󠅖󠅢󠅟ó …󠄘󠄗󠅑󠄠󠄤󠄡󠅖󠅔󠅑󠅑󠄠󠄥󠄢󠄡󠅖󠅒󠄥󠅓󠄣󠅕󠄢󠄦󠅒󠄢󠄡󠄧󠅑󠅑󠅖󠄢󠄤󠄡󠄡󠄥󠄗󠄜󠄗󠅘󠅕󠅨󠄗󠄙󠄙󠄫󠅜󠅕󠅤ó „󠅒󠄭󠅔󠄞󠅥󠅠󠅔󠅑󠅤󠅕󠄘󠄗󠄨󠄤󠄨󠄦󠅕󠅑󠄦󠄡󠄢󠄢󠄤󠄠󠄢󠄣󠄢󠅕󠄠󠄧󠄣󠄥󠅖󠄨󠅖󠅕󠄩󠄨󠅕󠄨󠄥󠄣󠅒󠅖󠅕󠄢󠄣󠅖󠅓󠅒󠄣󠄨󠅒󠄣󠅕󠄡󠅔󠄣󠄨󠅕󠄦󠄡󠅔󠄦󠄡󠄢󠅑󠅖󠅑󠅔󠄠󠅔󠅒󠅑󠅑󠅕󠄥󠅕󠄥󠄣󠄢󠅖󠄤󠄧󠅑󠅔󠄧󠄦󠅔󠅓󠅓󠄧󠄧󠄩󠄡󠄩󠄤󠄥󠄩󠄩󠄥󠅖󠄦󠅓󠄠󠄠󠄦󠄧󠄤󠄡󠄣󠄨󠅑󠅕󠄤󠄢󠄢󠄡󠅖󠄧󠄢󠅓󠄡󠅓󠄦󠄡󠅕󠄠󠄨󠄩󠅔󠄦󠅒󠄦󠅒󠄣󠄦󠅓󠄩󠅔󠄧󠅖󠄤󠅒󠅔󠄣󠄦󠄥󠄠󠅖󠅔󠅓󠄦󠅖󠄠󠄤󠅒󠅔󠄣󠅑󠄥󠄩󠄤󠅑󠄩󠅔󠅒󠄡󠅖󠄧󠄡󠅓󠄥󠅕󠅕󠅑󠄧󠅒󠄠󠄥󠄥󠄤󠄢󠄨󠅕󠅖󠅑󠄨󠄨󠄩󠅑󠄠󠄨󠄢󠄡󠅔󠄡󠅒󠄢󠅖󠅒󠄢󠅕󠄧󠄨󠄣󠅕󠅑󠄩󠄨󠅕󠄡󠅑󠄩󠄤󠄨󠅔󠄡󠄥󠅕󠅕󠄥󠅑󠅔󠄨󠅓󠅒󠅓󠅖󠅒󠄠󠅑󠄨󠄤󠅔󠄧󠄨󠄩󠄡󠄡󠅕󠅒󠅒󠄣󠅓󠄢󠄩󠅓󠄤󠅓󠅓󠄣󠅓󠄢󠅔󠄨󠄢󠅓󠅓󠅓󠅓󠄢󠄦󠅑󠅓󠄢󠄠󠅔󠅖󠄡󠄩󠄤󠄢󠄠󠅒󠅒󠄨󠄡󠄤󠄥󠅖󠅓󠄠󠄥󠄢󠄤󠅒󠄨󠅖󠄧󠄤󠄥󠅓󠄢󠄤󠅔󠄡󠄣󠅔󠄣󠄨󠅓󠄩󠅕󠅕󠄢󠅓󠅔󠅕󠄢󠄡󠄡󠄥󠄤󠄢󠄩󠄣󠅖󠅓󠄤󠄢󠄡󠄧󠅔󠄦󠅓󠄥󠄢󠄧󠄣󠄧󠄨󠅕󠄩󠄦󠄩󠅔󠅕󠅑󠄥󠅑󠄦󠄧󠅕󠄧󠅓󠅒󠄤󠄨󠄡󠄦󠄨󠄦󠄠󠅑󠅕󠄨󠄥󠄩󠄠󠄥󠄧󠄣󠅒󠄣󠄢󠅒󠅒󠅖󠄩󠅒󠄠󠅓󠄡󠅓󠅕󠅖󠄡󠄠󠄨󠄡󠄠󠅖󠄩󠄩󠄥󠅒󠅒󠅓󠄤󠅑󠅑󠄩󠄦󠄨󠄧󠄧󠄨󠄦󠄦󠅓󠅑󠄠󠅔󠅑󠅕󠅔󠅓󠅖󠅑󠄩󠅑󠄥󠅓󠄧󠅔󠅑󠅑󠅓󠄤󠅓󠄩󠄩󠅓󠅔󠄨󠅖󠄤󠄥󠄦󠅖󠄤󠄨󠄡󠄨󠄠󠄡󠄢󠅖󠅔󠄦󠅕󠄨󠅓󠅕󠄨󠅕󠄠󠄢󠄧󠅖󠄠󠅒󠅓󠅑󠄦󠅔󠅔󠄤󠅓󠄡󠅔󠄣󠅑󠅑󠄤󠅖󠄤󠄥󠄢󠅕󠄡󠄣󠄥󠄠󠄤󠄤󠅒󠅕󠄩󠅔󠄠󠅒󠅓󠄥󠅒󠄡󠅓󠄣󠅑󠄩󠅖󠄤󠄩󠅑󠅒󠄥󠅔󠄡󠅕󠄡󠅑󠄣󠄨󠄥󠄥󠅒󠄧󠅓󠄩󠅔󠄥󠄣󠄥󠄩󠅖󠄣󠄤󠄠󠅑󠄩󠄡󠅕󠅒󠄤󠄢󠄨󠄤󠄧󠅕󠅑󠄠󠄡󠄦󠅓󠄢󠄡󠅑󠄩󠅖󠄥󠅕󠅓󠅕󠄧󠅕󠅑󠄩󠄤󠄡󠄠󠄤󠄢󠄩󠄤󠄨󠄠󠄧󠄣󠅓󠄧󠄩󠄩󠅒󠅔󠅓󠄠󠄧󠄧󠄣󠄧󠅖󠄢󠅔󠅓󠄨󠄣󠅑󠄨󠅓󠄡󠄦󠄦󠄦󠄣󠄦󠅔󠄧󠄠󠅒󠅑󠄦󠄨󠄦󠄢󠅒󠄢󠄠󠅑󠄧󠅕󠅔󠄧󠄧󠄡󠅕󠅔󠅔󠄩󠄦󠅔󠅔󠄩󠄤󠄦󠅕󠅓󠅑󠅒󠄡󠄠󠄥󠄤󠄡󠅒󠄢󠄠󠄨󠄢󠅒󠄧󠄥󠄢󠄢󠅖󠄢󠄢󠄩󠅒󠄩󠄤󠄣󠄨󠅒󠅑󠅔󠅕󠅑󠄤󠅑󠄡󠄠󠄨󠅕󠅖󠄣󠄡󠄩󠄥󠄢󠅒󠅔󠄩󠄩󠅕󠅕󠄨󠅕󠄦󠄥󠄡󠄢󠅖󠅒󠅓󠄣󠄢󠅒󠄩󠄣󠅒󠄨󠅑󠅕󠄤󠅕󠅒󠄦󠄨󠄩󠄤󠄢󠄣󠄦󠅒󠄠󠅔󠄩󠄣󠅓󠅓󠄢󠅕󠅑󠅖󠄣󠅑󠅖󠄦󠄩󠄦󠄣󠄣󠅒󠅖󠅓󠅖󠄤󠅑󠄥󠄢󠅑󠄢󠅔󠄦󠄧󠄨󠄩󠄦󠅔󠅑󠅑󠄧󠄧󠄩󠅔󠅑󠄢󠅖󠄢󠄦󠄦󠅒󠄨󠄦󠄢󠄦󠅕󠅔󠄢󠅑󠅔󠄧󠅒󠄧󠅑󠅒󠅕󠅔󠅔󠄠󠄡󠄧󠅕󠄢󠄢󠅒󠄡󠅕󠅖󠄢󠅑󠄤󠄤󠅓󠄣󠄡󠅖󠄣󠅕󠄦󠄦󠅒󠄠󠄠󠅓󠄡󠅒󠅔󠅑󠅔󠄦󠅖󠄦󠅓󠄦󠅓󠅖󠅓󠅒󠄨󠅖󠅓󠄤󠄠󠄩󠅔󠅑󠅔󠅑󠄦󠄧󠅓󠄦󠅔󠄦󠄦󠄧󠄩󠅒󠄠󠅑󠅕󠄠󠄡󠄥󠅖󠄩󠄣󠅓󠅔󠄧󠅔󠄡󠄥󠅖󠄨󠄨󠄩󠄧󠅔󠄩󠄥󠅒󠅒󠅕󠅒󠄦󠄠󠄩󠄩󠄡󠄤󠄤󠄠󠅓󠄡󠄡󠄤󠄣󠄠󠄨󠄧󠅒󠄢󠄩󠄨󠅔󠄦󠅖󠅑󠄨󠅕󠄢󠅖󠄣󠄤󠅓󠅖󠅔󠄨󠅔󠄨󠄥󠄨󠅒󠄤󠅑󠄦󠄡󠄦󠄩󠄨󠄦󠅖󠄡󠅕󠄧󠅒󠅒󠄦󠄢󠅑󠄦󠄥󠄩󠄣󠄡󠄣󠅕󠄨󠄠󠅑󠄦󠄢󠄡󠄩󠅖󠅔󠄢󠄦󠄡󠅒󠄤󠄧󠅓󠄤󠅕󠅑󠄨󠄤󠄡󠅓󠅒󠄥󠅑󠄧󠄢󠄨󠄡󠄥󠄧󠅑󠄩󠄧󠅖󠅑󠄥󠄢󠄥󠅖󠅓󠅕󠅖󠅔󠅔󠄥󠄥󠄣󠄡󠄧󠅓󠅖󠅓󠄣󠄢󠄤󠄨󠄤󠄦󠄦󠄩󠅓󠄦󠅖󠄡󠄡󠄦󠄠󠅒󠄦󠄣󠄠󠄠󠄡󠄨󠅓󠄩󠄦󠄤󠄧󠅑󠄩󠄦󠄩󠅔󠄩󠄧󠄣󠅔󠅓󠄥󠄠󠅔󠄣󠄩󠅕󠅑󠄦󠅕󠄢󠄣󠅕󠅑󠄧󠅔󠄩󠄩󠄨󠄤󠄩󠄠󠄦󠄩󠄥󠄥󠅕󠄦󠅕󠄨󠄩󠅓󠄧󠄨󠄢󠄤󠄩󠄣󠄣󠄡󠄦󠅑󠄠󠅓󠅕󠅑󠅔󠅑󠄩󠄩󠅖󠅖󠄠󠅔󠄡󠅖󠅕󠄨󠄡󠄢󠅑󠄧󠄥󠅒󠄣󠄢󠄨󠄦󠄣󠄠󠄠󠄤󠄣󠅑󠄠󠅔󠄠󠄤󠅖󠄧󠄤󠄤󠄤󠄣󠄩󠄤󠄢󠄦󠄧󠄥󠄣󠅕󠅒󠄠󠄧󠄩󠄡󠅔󠄩󠄥󠄣󠅓󠄢󠅔󠅖󠄥󠄠󠄩󠅔󠅒󠄥󠄤󠄩󠅕󠄤󠅕󠅔󠅔󠄦󠄨󠄦󠅕󠄨󠄦󠅔󠅑󠅒󠄦󠅕󠅕󠅓󠅖󠄣󠄥󠄨󠄧󠄤󠄤󠅒󠅕󠅔󠅕󠄨󠄠󠄡󠅓󠄢󠄩󠅒󠅖󠅔󠄦󠅒󠅑󠅖󠄠󠅕󠅑󠅔󠅔󠄣󠄦󠄦󠄡󠅔󠅒󠄢󠄣󠄦󠄠󠅖󠄢󠅔󠄤󠄦󠄣󠄢󠄡󠄩󠅓󠄧󠅓󠅒󠅒󠄢󠄢󠅖󠅑󠅑󠅔󠄥󠅕󠅕󠅒󠄠󠅖󠅖󠅖󠄨󠄤󠅒󠄦󠅔󠄨󠄨󠄨󠄤󠄦󠄧󠅓󠄦󠄦󠅖󠅓󠅒󠅒󠄥󠄤󠅒󠄤󠄨󠄨󠄣󠄣󠅓󠄠󠅓󠄤󠄦󠅔󠄦󠄡󠄤󠅔󠄥󠄩󠅖󠅒󠄧󠄥󠄧󠅕󠅖󠄧󠄠󠅔󠄧󠅖󠅑󠅓󠅖󠅔󠅔󠅔󠄣󠄠󠄥󠅓󠅖󠄥󠅑󠅖󠄦󠅔󠄡󠄤󠄦󠄥󠄠󠄣󠅖󠅖󠄤󠅒󠄢󠄦󠄠󠄧󠄥󠅓󠄨󠅒󠄤󠄦󠅕󠄢󠅑󠅕󠄠󠅑󠅖󠄩󠄤󠄡󠄥󠄣󠅒󠄧󠄨󠅕󠄢󠅒󠅓󠄣󠄢󠅕󠄩󠄣󠄢󠅖󠄣󠅕󠄡󠅕󠄡󠄧󠄧󠄩󠅒󠅒󠄡󠄨󠅓󠄩󠄦󠄢󠄠󠄢󠅕󠅔󠅖󠄧󠅒󠅑󠅑󠅕󠅕󠅔󠅖󠅓󠄧󠄡󠅑󠄣󠄧󠄦󠄥󠄨󠄥󠄤󠅕󠅖󠄢󠄡󠄥󠅑󠄤󠅒󠄧󠅒󠄣󠄢󠅒󠅕󠄦󠄦󠅖󠄣󠅕󠄢󠅓󠄧󠅑󠅓󠅕󠄢󠄡󠄩󠄣󠄤󠄦󠄣󠄨󠄣󠄢󠄠󠅖󠄧󠄠󠄤󠄨󠅔󠅖󠄦󠄧󠅖󠄠󠅔󠅕󠅑󠅓󠅔󠄤󠅕󠄦󠄣󠄩󠄢󠄣󠄣󠄩󠄠󠄧󠄠󠅒󠅒󠄥󠅕󠄨󠄦󠄩󠅒󠅑󠄩󠄢󠅕󠅔󠄦󠄢󠄡󠅓󠄨󠄦󠅓󠄠󠄩󠄦󠄡󠄣󠄦󠄢󠄢󠅑󠄤󠅖󠅕󠄡󠄠󠅖󠄦󠅑󠄦󠄡󠄩󠄩󠅕󠅖󠄥󠅔󠅒󠅑󠅑󠄡󠄤󠅒󠄧󠄦󠅓󠅖󠄥󠅒󠄡󠄦󠄠󠄧󠅒󠄩󠅕󠄡󠅓󠅒󠅑󠄧󠄨󠅓󠅓󠅕󠄡󠄠󠅓󠅒󠅔󠅔󠄧󠄥󠅑󠅑󠅑󠅔󠅔󠄡󠄠󠅔󠅑󠄡󠄠󠄦󠅖󠅖󠅖󠄢󠄦󠄣󠅕󠄨󠅒󠄣󠄤󠄥󠄢󠅓󠄡󠄤󠄧󠄢󠅓󠄥󠅖󠅒󠅒󠅓󠄦󠄥󠄦󠄨󠄦󠄡󠄠󠄨󠄥󠄦󠄤󠅑󠄨󠅓󠅖󠅓󠄥󠄥󠄡󠅓󠄤󠄦󠄤󠅑󠅓󠅑󠅖󠅒󠅑󠄠󠅖󠄢󠅑󠄣󠅒󠄩󠄣󠄣󠄦󠅖󠅕󠄩󠄦󠄦󠅒󠅔󠄧󠄣󠄢󠄥󠄥󠄩󠄡󠄤󠅕󠅖󠅕󠄩󠄩󠄠󠄥󠅒󠅒󠄦󠄡󠄠󠄨󠅖󠄠󠄥󠄡󠄥󠄣󠅔󠅑󠄦󠄨󠄦󠄩󠄦󠄢󠄠󠄧󠄥󠄩󠄤󠄢󠄤󠄤󠅕󠄥󠄧󠄣󠄦󠅓󠅔󠅑󠅖󠄢󠄤󠄠󠄥󠄣󠄤󠄤󠅔󠄣󠅖󠄤󠄩󠄡󠄢󠄨󠅖󠄧󠅔󠅖󠄡󠄡󠅕󠄥󠅒󠄤󠄧󠄣󠄦󠅖󠄥󠄧󠅓󠅕󠄤󠅕󠅔󠅔󠄡󠄢󠄡󠄠󠄦󠄦󠄩󠅖󠅔󠅒󠄦󠄦󠄢󠄤󠅔󠄤󠅖󠅕󠅑󠄢󠄨󠄧󠄦󠅕󠅓󠅑󠅖󠄨󠅓󠄧󠄣󠄠󠄩󠄥󠄦󠅔󠄣󠄩󠅓󠄡󠅒󠅑󠄥󠄨󠄧󠄠󠅒󠄨󠅑󠅓󠅒󠅔󠅑󠄢󠄣󠄧󠄤󠄢󠅑󠄨󠄩󠄠󠄢󠅔󠅖󠅒󠅔󠅖󠄥󠅑󠄧󠄧󠄤󠄤󠄧󠅓󠄣󠄡󠅒󠄨󠄢󠅕󠄡󠅒󠄢󠅒󠄥󠄧󠄧󠄨󠅓󠄦󠄨󠄡󠄤󠅔󠄧󠅑󠄦󠄥󠅕󠅓󠅕󠅔󠅒󠄨󠄧󠅖󠅒󠄩󠄥󠄦󠄥󠅓󠅒󠅒󠄥󠄤󠅕󠄢󠄡󠅕󠄡󠄢󠄦󠄩󠅕󠄠󠄡󠄧󠄤󠄩󠄠󠄦󠄩󠄣󠄡󠅒󠄨󠄩󠄤󠄣󠄦󠄠󠄢󠄤󠄨󠄨󠄥󠄤󠅕󠄠󠄩󠄩󠅓󠅔󠄧󠄦󠄤󠄩󠄦󠅖󠅔󠄤󠄢󠅕󠄦󠄣󠄠󠄠󠄠󠄤󠄥󠄢󠄤󠅑󠄨󠄧󠄨󠄠󠅓󠄢󠅑󠄠󠄧󠄩󠄢󠄨󠄧󠅒󠄨󠅖󠅕󠅔󠅓󠄠󠄥󠅕󠅖󠄠󠅕󠄠󠄢󠄩󠄤󠅑󠄡󠄧󠄥󠄡󠄠󠄥󠄡󠅓󠄠󠅒󠄩󠄡󠅓󠅖󠄥󠄤󠄧󠅔󠄩󠅔󠄩󠄣󠄠󠄢󠅒󠄧󠅓󠄤󠄣󠄠󠄡󠅖󠄩󠄢󠄤󠄧󠄡󠅑󠅒󠄩󠄧󠄥󠄠󠅔󠅔󠄧󠄧󠄤󠅕󠄢󠅖󠅔󠄣󠄣󠅓󠄨󠄣󠄢󠄦󠅒󠄢󠅖󠄤󠄧󠄠󠄤󠄢󠄣󠄡󠄨󠄨󠄧󠄢󠄢󠄩󠄣󠅒󠅑󠄩󠅔󠄨󠄥󠄣󠄤󠅓󠄩󠅓󠄦󠄤󠄥󠅕󠄠󠄤󠄦󠄥󠄡󠅖󠅑󠄠󠅕󠄦󠅕󠄥󠄨󠄠󠅔󠄣󠅓󠄤󠄤󠄧󠅓󠄧󠅖󠄥󠄥󠄠󠄩󠅖󠄠󠅔󠄠󠄦󠄣󠄥󠄠󠅓󠄦󠅓󠄢󠅑󠄩󠄣󠄢󠅖󠅒󠄦󠅕󠄥󠄦󠄥󠄧󠄤󠅑󠅑󠄩󠅒󠅒󠄨󠄦󠄠󠄨󠄩󠄥󠄦󠄨󠅔󠅒󠄢󠄥󠄤󠄧󠅖󠄧󠅓󠅑󠅔󠅓󠄧󠄤󠄥󠄣󠅔󠄨󠄧󠄠󠄨󠅕󠅕󠄧󠄣󠅔󠄠󠄢󠄧󠄦󠅕󠅔󠄧󠄥󠅖󠄦󠄨󠄤󠅓󠄦󠅑󠄦󠅒󠄩󠄢󠄤󠄩󠅓󠅒󠄡󠅔󠄤󠄧󠅔󠅖󠄢󠄩󠄥󠄡󠅕󠄠󠅔󠅕󠅔󠄧󠅔󠄡󠅑󠄡󠄡󠅔󠄥󠅑󠄨󠅑󠄢󠄨󠅒󠄧󠄤󠄩󠄩󠄨󠄩󠅒󠄩󠄢󠄠󠅕󠅔󠄡󠄡󠅓󠄥󠄩󠄥󠄥󠄠󠄩󠄩󠅓󠄨󠄨󠄢󠅕󠄢󠄤󠄠󠄧󠄩󠄤󠅒󠄥󠅓󠄨󠄧󠄦󠄣󠄥󠅕󠅔󠅓󠄦󠄡󠅒󠄥󠄥󠄥󠄣󠅓󠄣󠅓󠄡󠄨󠅓󠅕󠄣󠅓󠄥󠅕󠄡󠅖󠅖󠅕󠄢󠅖󠄨󠅔󠄧󠄡󠄡󠄨󠅓󠅓󠄧󠄠󠄤󠄢󠄢󠄤󠄡󠄤󠄩󠄧󠄤󠄩󠄥󠄣󠅑󠄣󠄤󠅖󠄣󠅑󠅖󠄤󠄣󠅑󠅕󠄦󠄠󠄥󠅒󠄤󠅔󠄠󠄤󠄠󠅔󠅑󠄠󠄨󠄥󠄨󠄤󠄢󠄥󠄥󠅒󠄥󠄥󠄡󠄠󠅕󠄤󠅕󠄧󠅕󠄥󠅑󠄥󠄤󠄣󠅒󠅕󠅖󠄠󠅑󠅒󠄡󠅓󠄡󠄠󠄥󠅓󠅒󠄩󠄧󠄩󠄢󠅓󠄠󠄢󠄡󠄩󠄨󠄠󠄤󠅒󠅓󠄨󠄣󠅓󠄣󠄥󠄡󠅖󠅒󠄩󠄣󠅓󠄤󠄤󠄤󠄠󠄦󠄤󠄨󠄡󠄠󠄥󠄧󠄥󠄢󠄣󠄤󠄢󠄧󠄣󠅕󠄧󠅓󠄢󠄩󠄩󠅓󠄨󠄨󠄠󠄤󠄤󠄨󠅓󠅔󠅑󠄢󠄣󠄤󠄧󠄡󠄣󠅒󠄣󠄠󠄡󠄧󠄣󠅕󠅕󠄠󠄧󠅓󠄩󠅓󠅕󠄤󠄥󠅕󠄩󠅔󠅓󠄣󠄧󠄧󠅔󠄨󠄥󠄩󠄥󠄩󠄩󠅔󠄡󠄢󠄤󠄠󠄩󠄩󠄥󠅖󠄤󠅓󠄢󠄡󠅒󠄠󠅖󠄧󠄠󠅓󠅒󠄠󠄧󠄥󠄧󠄠󠄢󠄨󠅓󠅖󠅔󠅒󠅑󠄦󠅓󠅖󠄩󠄨󠅖󠄦󠄦󠄦󠅑󠄨󠄩󠄣󠅒󠄨󠄦󠄠󠅔󠄡󠄢󠅑󠅒󠄦󠄣󠄡󠄧󠅓󠅕󠅕󠅓󠅑󠄦󠄠󠅖󠅔󠄥󠄦󠄩󠄩󠄦󠄩󠄧󠄢󠅑󠄡󠄥󠅒󠄠󠅑󠄦󠄨󠅖󠅔󠄨󠅑󠅖󠅑󠄥󠅒󠅓󠅒󠄩󠄩󠄦󠄠󠅔󠄨󠄠󠄤󠄤󠄡󠅒󠄠󠄧󠅓󠄧󠅕󠄤󠄠󠄨󠄨󠄣󠄦󠅔󠄦󠄦󠄣󠅓󠄨󠄠󠄠󠄤󠅒󠄦󠅕󠄡󠄦󠅕󠄥󠄨󠄨󠅕󠄡󠅕󠄠󠄤󠄡󠅕󠄧󠄣󠅓󠄨󠄦󠅑󠄡󠅖󠄠󠅑󠅒󠅒󠄨󠅑󠅑󠄩󠅓󠄡󠄣󠄦󠄢󠅕󠄥󠄡󠄤󠅖󠄦󠅔󠄨󠅕󠅓󠄣󠄢󠅑󠄢󠄤󠄡󠅖󠄠󠅕󠄠󠅖󠄡󠄩󠄨󠄡󠄦󠄣󠅖󠄥󠅕󠅔󠅔󠅕󠄣󠄣󠄢󠄥󠅖󠄣󠄣󠅕󠄠󠄩󠅖󠄥󠄩󠄡󠅕󠄤󠄤󠄣󠄧󠄢󠄧󠅖󠄤󠅖󠄤󠄤󠄠󠄥󠄢󠄥󠄠󠄥󠅖󠄣󠅖󠄩󠅕󠄥󠄧󠄠󠄢󠄨󠄤󠄦󠄡󠅖󠅒󠄧󠄩󠅑󠄢󠅖󠄢󠄨󠄨󠄥󠅒󠄤󠅓󠅑󠄣󠄨󠅖󠄣󠄧󠅔󠄥󠄨󠅒󠄤󠅑󠄡󠅑󠅒󠄠󠄧󠄨󠅓󠄦󠅑󠅔󠄩󠅑󠄢󠄧󠅕󠄨󠄣󠅖󠄢󠅔󠅔󠄡󠅖󠅔󠄥󠅓󠄢󠄤󠅓󠄢󠅔󠄢󠄧󠄣󠅑󠄢󠅒󠄢󠄦󠄧󠄩󠅔󠅒󠄤󠄤󠅕󠄣󠅖󠄨󠅒󠄢󠅖󠄨󠄡󠄤󠄧󠄠󠄢󠄢󠄦󠄣󠄧󠅖󠄥󠅕󠄩󠅒󠅔󠄩󠄧󠅒󠅔󠅕󠄤󠄢󠅕󠄠󠄥󠄠󠅓󠅕󠄩󠅔󠄦󠅒󠄡󠅖󠄧󠅔󠄦󠄩󠄣󠅖󠄩󠄥󠄦󠅓󠅖󠄢󠅓󠅓󠄡󠄦󠅕󠄥󠅓󠄤󠄠󠄢󠅑󠅕󠄧󠄦󠄨󠄤󠄥󠄤󠄨󠄡󠄣󠅕󠄠󠅖󠄠󠄧󠄡󠅖󠅑󠄠󠅒󠅒󠅓󠅑󠄧󠄠󠅔󠅓󠄦󠄨󠅓󠄦󠅔󠄡󠄨󠅔󠅔󠄠󠄨󠄢󠄩󠄠󠄧󠄨󠅕󠅖󠅓󠅒󠅑󠅔󠄨󠅖󠅔󠅓󠄤󠄠󠄦󠄡󠄤󠄦󠄨󠄨󠄧󠄣󠅖󠄩󠅖󠄣󠅒󠅒󠅖󠄥󠄥󠅔󠅑󠄥󠄨󠄢󠅕󠄤󠄡󠅒󠄤󠅓󠅖󠄡󠅔󠅒󠄧󠄧󠅒󠅒󠄠󠅔󠄧󠄩󠄨󠅕󠄣󠅒󠄧󠄠󠅕󠄠󠄥󠅕󠄧󠄢󠅖󠅑󠅕󠅖󠄤󠅒󠄠󠄠󠅕󠄥󠄤󠅔󠄣󠅔󠅖󠅔󠄨󠅔󠄢󠅔󠄠󠄣󠅒󠄩󠅒󠅔󠄧󠄩󠄨󠄢󠅓󠅔󠄠󠄦󠄧󠄨󠅔󠄩󠅕󠄦󠄥󠄤󠅖󠅒󠅓󠅔󠅓󠄩󠄢󠄦󠅓󠄢󠄤󠅖󠄢󠅓󠄨󠄤󠄡󠄨󠄤󠄡󠅓󠅒󠄦󠅖󠅓󠅑󠄡󠅖󠅕󠄦󠅖󠅖󠅔󠅖󠄥󠄩󠅓󠄧󠅕󠄩󠄨󠅒󠄦󠄩󠅑󠄢󠅖󠅓󠄩󠄨󠄢󠄠󠅓󠄣󠅓󠅕󠅖󠄣󠄡󠅕󠅔󠄣󠅔󠅖󠅖󠄤󠄧󠅑󠄠󠅑󠄨󠄨󠄡󠄠󠅓󠄣󠄠󠅓󠄨󠅑󠄤󠅖󠅕󠄠󠅑󠅕󠅑󠄨󠄥󠅑󠄦󠄠󠄩󠄡󠅓󠅖󠄩󠄡󠄤󠅔󠄦󠄦󠄥󠄣󠄩󠄠󠅑󠅖󠄩󠄢󠄤󠅑󠅔󠄩󠄡󠄤󠄤󠅖󠅖󠄤󠄥󠄤󠄤󠄣󠄠󠄨󠄤󠅑󠅑󠄦󠄥󠄦󠄠󠄧󠄧󠄥󠄠󠅔󠅔󠄠󠅔󠄠󠄩󠄤󠄢󠄧󠄢󠄧󠅒󠄨󠄢󠄥󠅑󠄧󠅓󠅕󠄧󠅖󠄧󠅓󠄤󠄡󠄢󠄡󠄤󠅔󠄥󠄦󠅔󠄣󠅔󠄣󠅓󠄠󠅓󠄤󠄤󠄨󠄣󠄩󠄥󠅖󠄠󠄠󠅑󠄦󠄥󠅒󠄢󠅑󠄣󠅔󠅔󠄢󠄢󠄣󠄦󠄩󠄣󠄥󠄠󠅕󠄣󠅒󠄨󠅕󠅔󠄦󠄦󠅒󠄦󠅔󠅓󠅑󠄦󠅒󠅔󠅕󠅑󠄥󠄢󠅔󠅓󠅖󠅖󠄦󠄢󠄦󠅔󠄠󠄩󠄥󠅑󠅒󠄡󠄩󠄩󠄢󠄧󠄦󠄣󠅓󠅕󠅔󠄨󠄩󠅔󠄧󠄩󠄥󠄧󠅑󠅔󠄠󠄢󠄩󠄠󠄡󠄠󠄣󠄡󠅔󠅓󠄠󠅖󠅑󠄣󠄨󠅖󠄡󠄨󠄥󠄥󠅓󠅓󠄣󠄨󠄥󠅔󠄢󠄧󠅔󠄣󠄣󠄧󠄥󠄣󠄧󠄩󠅒󠄥󠄥󠄧󠄨󠄡󠅑󠅔󠅖󠄠󠅖󠅖󠄠󠅔󠄡󠄥󠄤󠄠󠅔󠄥󠄤󠄦󠄥󠅑󠄡󠄡󠄨󠅓󠄤󠄣󠄠󠄡󠄠󠅖󠄩󠄩󠄨󠄦󠄥󠄤󠄢󠅕󠄣󠄡󠄣󠅔󠄢󠄤󠄣󠄩󠄢󠅒󠄨󠄥󠅔󠅔󠅕󠄡󠄠󠄩󠅖󠄥󠄩󠄠󠄨󠅒󠄤󠄥󠄤󠄡󠄡󠄢󠄠󠄤󠄩󠅒󠄢󠄨󠄩󠄧󠄢󠄣󠅕󠅒󠄤󠄣󠄤󠄤󠄥󠅕󠄤󠄤󠅑󠅑󠄥󠅓󠄣󠅕󠅔󠄡󠄧󠄥󠄡󠄨󠄧󠄧󠅕󠅔󠅑󠄡󠅓󠄧󠅑󠄧󠅔󠅒󠅔󠄡󠅒󠄡󠄩󠄥󠅖󠄤󠄧󠄩󠅒󠄧󠄩󠅓󠅒󠄤󠅑󠄣󠄨󠅔󠄠󠄩󠄧󠅒󠄨󠅔󠄠󠄡󠄠󠄩󠄢󠅖󠅕󠄢󠅖󠅒󠄠󠄢󠅓󠄢󠅖󠅑󠄧󠄣󠄦󠅕󠄥󠄢󠄧󠄧󠅓󠄡󠄨󠄠󠅔󠅖󠄢󠄥󠄦󠅖󠅓󠄩󠄢󠅒󠅕󠄨󠄦󠄧󠄦󠄣󠄧󠄣󠄣󠄨󠄥󠅖󠄥󠄩󠅕󠅖󠄥󠄥󠅖󠅕󠄧󠄩󠄦󠅑󠅕󠅕󠅕󠄣󠄠󠄡󠅓󠅑󠄤󠄩󠄨󠄣󠄩󠅔󠄥󠄧󠅖󠅒󠄨󠄤󠅒󠄩󠄨󠄤󠅑󠅔󠅕󠄩󠄠󠅕󠄡󠄡󠄩󠄧󠄨󠅖󠄩󠄢󠅕󠄩󠅖󠄠󠅖󠄤󠅑󠄤󠄢󠄡󠄣󠄧󠅒󠄡󠅒󠅕󠄤󠄦󠄤󠄨󠅕󠄢󠄧󠅕󠄥󠅕󠄥󠅒󠄢󠅔󠄥󠄣󠄩󠅒󠅔󠅖󠅔󠅓󠅒󠄢󠅖󠄡󠄧󠅔󠅓󠄤󠅖󠄠󠅖󠄧󠅒󠄠󠅖󠄨󠄧󠅒󠄦󠄧󠅒󠅓󠄨󠅑󠅕󠄢󠄤󠄢󠄡󠅕󠄣󠅓󠅒󠄢󠄩󠅔󠄥󠅑󠅒󠅔󠅔󠄨󠅓󠅔󠄣󠅔󠄣󠅒󠄠󠅖󠄦󠄤󠄠󠅔󠅒󠄣󠄢󠄦󠄧󠅕󠄠󠅖󠅓󠄧󠄤󠅔󠄣󠄩󠄩󠄩󠄣󠄤󠄢󠄤󠄢󠄧󠄤󠄢󠄧󠄩󠄢󠄡󠄩󠅖󠄩󠄤󠄠󠄩󠄥󠅔󠄥󠄩󠄩󠄨󠄣󠅔󠄨󠅕󠄧󠄠󠅕󠅓󠅒󠅕󠅑󠄡󠅖󠅓󠄢󠅑󠄢󠅕󠄧󠄤󠄨󠅑󠅓󠄤󠄦󠄧󠄢󠄤󠅓󠅒󠅔󠅓󠄡󠅑󠅕󠄧󠄥󠅓󠄨󠄢󠄣󠄥󠅑󠅒󠄡󠅒󠅖󠄩󠄣󠅖󠄡󠄦󠅓󠅓󠅑󠄣󠅒󠄧󠅒󠅕󠄩󠅔󠅔󠄥󠄦󠄧󠄩󠄡󠅖󠄦󠄤󠄨󠅑󠄦󠅔󠄠󠄢󠅒󠅔󠄧󠅑󠅖󠅔󠅑󠄤󠄠󠄨󠄡󠅒󠄧󠄦󠄩󠄩󠄦󠄤󠄨󠄡󠄤󠄡󠄦󠄩󠄠󠄧󠅖󠄣󠄩󠄩󠄧󠄢󠄤󠄠󠄠󠅖󠄨󠅔󠄧󠅔󠄠󠄠󠄥󠄩󠄥󠄨󠄢󠄠󠄡󠅖󠄢󠄥󠄠󠄨󠄥󠄨󠅕󠅓󠄤󠅕󠄩󠄣󠅔󠅒󠄢󠄥󠄨󠄠󠄩󠅒󠅒󠅒󠄧󠅒󠅔󠄠󠅖󠄤󠄤󠅔󠅒󠄨󠄠󠄣󠄩󠄧󠅕󠄨󠅓󠅕󠅑󠅒󠄦󠅒󠅓󠅖󠅖󠄤󠄣󠅒󠅔󠄥󠄧󠄡󠄩󠅒󠅔󠄠󠅓󠄩󠅓󠄣󠄡󠅕󠅕󠄧󠄤󠄠󠅕󠅕󠄢󠄡󠄤󠄨󠄨󠄥󠄩󠄩󠅒󠄡󠄩󠄧󠄢󠅖󠅒󠄦󠅑󠄠󠄡󠅕󠅑󠅓󠄧󠅓󠅕󠅕󠅕󠄡󠄥󠄠󠄦󠅔󠄧󠄨󠄥󠄤󠄠󠄠󠄧󠄥󠅒󠅑󠅓󠄧󠅕󠅓󠄧󠄤󠄦󠄤󠄦󠅑󠄧󠄡󠅕󠅔󠄩󠄦󠄧󠅓󠄩󠄠󠄤󠄤󠄧󠄣󠅕󠄨󠄠󠅔󠄤󠅑󠅓󠄢󠄦󠄨󠄠󠄣󠄠󠄤󠅕󠅖󠅒󠄡󠄨󠅔󠄤󠄧󠄦󠄨󠄠󠄦󠄥󠄥󠄥󠄩󠄦󠄨󠅒󠅑󠅑󠅓󠄢󠄡󠄣󠄠󠅒󠄢󠄢󠄤󠅒󠄢󠄨󠄩󠄩󠄡󠄠󠅖󠄦󠄦󠄦󠄠󠅕󠅒󠄢󠄦󠅑󠅔󠄢󠅔󠅓󠄩󠄧󠄡󠅒󠄤󠄠󠅑󠄧󠄠󠄣󠅕󠄨󠄦󠄧󠄩󠄡󠄦󠄡󠅑󠅒󠅓󠄦󠅖󠅒󠄩󠄧󠄦󠄠󠄡󠄧󠅔󠄢󠅒󠄢󠄨󠄦󠅑󠅑󠅖󠄩󠄥󠄩󠅖󠅖󠄢󠄤󠅒󠄦󠄣󠄩󠄧󠄡󠄦󠄧󠅔󠅓󠄣󠅔󠅔󠅒󠄣󠄤󠄤󠅔󠄣󠄦󠄥󠅒󠄡󠅖󠅑󠅖󠅓󠅒󠄦󠄨󠄧󠄤󠄢󠄥󠄧󠅓󠅕󠄩󠄦󠅒󠅕󠄦󠅑󠅔󠅕󠄡󠄡󠅓󠅔󠄧󠄡󠄤󠅑󠄢󠄨󠄣󠅓󠅑󠅒󠄥󠅓󠅖󠄣󠄩󠅔󠄨󠅑󠅖󠅓󠅒󠄨󠄩󠄦󠄤󠄩󠅕󠄧󠅕󠅓󠄣󠄥󠄠󠄣󠄢󠅕󠄠󠄥󠅓󠅓󠄠󠄣󠄩󠅕󠄢󠄩󠄩󠅓󠄦󠄥󠄠󠄠󠅑󠄧󠄢󠄢󠄤󠄨󠅒󠄠󠄡󠄠󠄧󠅖󠄡󠅒󠄩󠄡󠄧󠄥󠄦󠄤󠄩󠄨󠄧󠄨󠄣󠅖󠅓󠅔󠅕󠅔󠄢󠄦󠄩󠅔󠄣󠅔󠄨󠄡󠄩󠅖󠄨󠄩󠅕󠄢󠄩󠅑󠅕󠅖󠅑󠄢󠄣󠄩󠅔󠅓󠅕󠄡󠅓󠅔󠄣󠄥󠅖󠄢󠄡󠄡󠄤󠅖󠄧󠅔󠅔󠄧󠅑󠅓󠅓󠅒󠄠󠄥󠄡󠄧󠄤󠄤󠄠󠄣󠄠󠅑󠄣󠄦󠄡󠄢󠄡󠅕󠅔󠄣󠄥󠄤󠄨󠄢󠄠󠄧󠅔󠄡󠄧󠅒󠄤󠄨󠄤󠄣󠅒󠅑󠄥󠅕󠄧󠄦󠄥󠄢󠅑󠅕󠄢󠅔󠄢󠄠󠄣󠄣󠅔󠄨󠅕󠅑󠄠󠄠󠄣󠅕󠅕󠅖󠅔󠄨󠄠󠄥󠄥󠅑󠄧󠅖󠄩󠅒󠄡󠄧󠄡󠅔󠄣󠄤󠄤󠄢󠅑󠅕󠅔󠄥󠅔󠅔󠄢󠅑󠅔󠅖󠅑󠄢󠄡󠅕󠄤󠄤󠄢󠅔󠄨󠄠󠄦󠄧󠅓󠄩󠄣󠅕󠄥󠄨󠅒󠄡󠄣󠄦󠄢󠄡󠄠󠅖󠅓󠅒󠄩󠄤󠄩󠅕󠄧󠄠󠄢󠄠󠄡󠄦󠅕󠄣󠅒󠅒󠅖󠄥󠄡󠄠󠅒󠅑󠅕󠄨󠄤󠄡󠅓󠅕󠅕󠄡󠄨󠄧󠅑󠄣󠄨󠅒󠅕󠄦󠄥󠄦󠅖󠅑󠅖󠅑󠄠󠄩󠄨󠄢󠄢󠄠󠄨󠄣󠄧󠄩󠄣󠅒󠄧󠄤󠅖󠄨󠅒󠄧󠅓󠅓󠄥󠄦󠄢󠅓󠄠󠅑󠅓󠄡󠄣󠅖󠅒󠄠󠄧󠄣󠄤󠅔󠄥󠅓󠄣󠄣󠄧󠅔󠄣󠄥󠅔󠄣󠄧󠅓󠅑󠄧󠅕󠄡󠅒󠄦󠄦󠄡󠅒󠄨󠄠󠅒󠄨󠅖󠄢󠄡󠄣󠅕󠅓󠄢󠅔󠅑󠄣󠅑󠄧󠄥󠄦󠄨󠄩󠅔󠅖󠅔󠅖󠄢󠅒󠄦󠄣󠄠󠅓󠅑󠄣󠅖󠅕󠄦󠅕󠄥󠄢󠅑󠄡󠄩󠄠󠅓󠄦󠅓󠄥󠄦󠄡󠅒󠅓󠄠󠄣󠅒󠅑󠅓󠅖󠅔󠄢󠄩󠅑󠅖󠅖󠄩󠄥󠅕󠄠󠅔󠄦󠄧󠅑󠄢󠄨󠅑󠄧󠅓󠅕󠄦󠄠󠄥󠄡󠄣󠅒󠄢󠄢󠄨󠄥󠅒󠅓󠅒󠅑󠄠󠄠󠅒󠄦󠄥󠅔󠄩󠄠󠄠󠅑󠄥󠅑󠅖󠄠󠄠󠅓󠄦󠄢󠄦󠄢󠄠󠄡󠅔󠄧󠅓󠄩󠄩󠄣󠄨󠄣󠅑󠅑󠄠󠅕󠄤󠅓󠅖󠄣󠄤󠄥󠅒󠅖󠄢󠄤󠄩󠄦󠄣󠅒󠅔󠄢󠄣󠅔󠄩󠄩󠄡󠅒󠄧󠄩󠄠󠄨󠄡󠄢󠄨󠅒󠅕󠄣󠄦󠅒󠄧󠄦󠄡󠄠󠅕󠅑󠄣󠅖󠅑󠅑󠄡󠅖󠄩󠄢󠄤󠄦󠄤󠅔󠅑󠄨󠄢󠅓󠅔󠄡󠄤󠅖󠄥󠄧󠅕󠅔󠄤󠄧󠄨󠄢󠄤󠄥󠄦󠄦󠄠󠅕󠅔󠄤󠅑󠄡󠄢󠅓󠅖󠅔󠅑󠅒󠅑󠅑󠄠󠅔󠄨󠄤󠄤󠅖󠄠󠅓󠅑󠄦󠄥󠄢󠄨󠄡󠄤󠄡󠄨󠄣󠅔󠅖󠄤󠅔󠄥󠄨󠅒󠄡󠅕󠅑󠅒󠄧󠅓󠅕󠄢󠄨󠄥󠅓󠄡󠄠󠅖󠄣󠄢󠅖󠄩󠄥󠅖󠅓󠄨󠄥󠅕󠅔󠅓󠄧󠅓󠄧󠅖󠅕󠅒󠅑󠅔󠄢󠄥󠅕󠄨󠅕󠅕󠄨󠅓󠅒󠄣󠄡󠅑󠄥󠅒󠄧󠄢󠄦󠄧󠅖󠅒󠅓󠅓󠄨󠅕󠄢󠅑󠄡󠄨󠅓󠄨󠄡󠄣󠄤󠄠󠄦󠅒󠄠󠄣󠄥󠄤󠅕󠄥󠄢󠄦󠄨󠅖󠅖󠄤󠄥󠅕󠄠󠄦󠄤󠄥󠅒󠅕󠅖󠄢󠄣󠄣󠄥󠄩󠄣󠄥󠄡󠄤󠄥󠄩󠅒󠄢󠅒󠅕󠄥󠄦󠄨󠅖󠅑󠄡󠅓󠅒󠅒󠄧󠅑󠄣󠅕󠄥󠄩󠄦󠅕󠅕󠄩󠄦󠄢󠅒󠄨󠅓󠄦󠅓󠄩󠅖󠅔󠄠󠅒󠄠󠄩󠅔󠅕󠅓󠅕󠄦󠅓󠄠󠄨󠅖󠄤󠄢󠄣󠄩󠄤󠄩󠅕󠄡󠄣󠄥󠄩󠄡󠅔󠄩󠄩󠄦󠅒󠅑󠅕󠄧󠄨󠅔󠄢󠄢󠅔󠄧󠄦󠄩󠄥󠄦󠄢󠅔󠄥󠅓󠅔󠄥󠄠󠅖󠄩󠄢󠅑󠄨󠄩󠅕󠄣󠄨󠄡󠄥󠅓󠄢󠄩󠄡󠅓󠅕󠄠󠄧󠄦󠄣󠄣󠄡󠄣󠄥󠄡󠄩󠄨󠄦󠄢󠄠󠄢󠅖󠄡󠄤󠅓󠅒󠅑󠄢󠅔󠅒󠄧󠅑󠅔󠄣󠅕󠄦󠄨󠅒󠄨󠄣󠅔󠅑󠅑󠄩󠄢󠄧󠅖󠄥󠄩󠅕󠅕󠅒󠄨󠅔󠄦󠄡󠅔󠄨󠅓󠄢󠄦󠄣󠅖󠅓󠄧󠄡󠄥󠄤󠄢󠄩󠄢󠅖󠄥󠅖󠄥󠄩󠅕󠄦󠅔󠄤󠅕󠅕󠄡󠄤󠄢󠄣󠄧󠅖󠄢󠄩󠄦󠄤󠄠󠄠󠄩󠄡󠄨󠄠󠄦󠅓󠄤󠄡󠅓󠄣󠄥󠄧󠅔󠄠󠅒󠅖󠄤󠄧󠅒󠅔󠄢󠄧󠅑󠄤󠄤󠄨󠅒󠅖󠅕󠄨󠄡󠄢󠅓󠅒󠄡󠄡󠄢󠄢󠅔󠄦󠄠󠅑󠄢󠄧󠅖󠄧󠅖󠅖󠅑󠄢󠅕󠄦󠄣󠅕󠅔󠅑󠄧󠅕󠄨󠅓󠄤󠄠󠄩󠄠󠅔󠅑󠄩󠅔󠄢󠅑󠅓󠅒󠄥󠅑󠄤󠄢󠄦󠄩󠅔󠅑󠄦󠄣󠄠󠄦󠅓󠄣󠄤󠄡󠄢󠅑󠄦󠅒󠄢󠄢󠄥󠄢󠄧󠄣󠅔󠄠󠄡󠄩󠄧󠅕󠅑󠅕󠄦󠅔󠄢󠄥󠄠󠅑󠄩󠅖󠄩󠄧󠄠󠄨󠄢󠄠󠄨󠅕󠅕󠄦󠅔󠄩󠅑󠄣󠄠󠄦󠄥󠄨󠅔󠄣󠅕󠄠󠅓󠄤󠄢󠅓󠄥󠄢󠅓󠄡󠄧󠅑󠄦󠄦󠄣󠅑󠅑󠅔󠅒󠄢󠅑󠅒󠅖󠅓󠄩󠅔󠄢󠅓󠄩󠄨󠄦󠅓󠅒󠅒󠅒󠄧󠅓󠄣󠄤󠅒󠄧󠄣󠄡󠅕󠄠󠅑󠄤󠄤󠄨󠅒󠅒󠄠󠄩󠅒󠅔󠅓󠄣󠄦󠅓󠄩󠄣󠄦󠄢󠄩󠄦󠄠󠄥󠄡󠄩󠅕󠅑󠄨󠄠󠄩󠅔󠄣󠄤󠅕󠄢󠄤󠄤󠄣󠄦󠄥󠅔󠅖󠅖󠄣󠅔󠄦󠅑󠅒󠅖󠅓󠅑󠄣󠄥󠄦󠄤󠄠󠅕󠅖󠄡󠄡󠅕󠄣󠄧󠄦󠅔󠅒󠄨󠅓󠅑󠄨󠅑󠅓󠄨󠄤󠅑󠅑󠄣󠄥󠅖󠄦󠄣󠅕󠄠󠄣󠄤󠅕󠄢󠄤󠄠󠄨󠄨󠄦󠄦󠅑󠄩󠅖󠄠󠄧󠄣󠄤󠄦󠅒󠄣󠄠󠄧󠄡󠄨󠄩󠄡󠄠󠄡󠄠󠄢󠅕󠄥󠅒󠄢󠄣󠅖󠅒󠄣󠄣󠅕󠅑󠄩󠄥󠄩󠅒󠅓󠄧󠅔󠅓󠄦󠅑󠄤󠅓󠄤󠅖󠄧󠅕󠄦󠄠󠄠󠄡󠅖󠅒󠄥󠄧󠄩󠅕󠅔󠄡󠅕󠄠󠅓󠄤󠄠󠅓󠄨󠄦󠄡󠄣󠄧󠅔󠅓󠄤󠄡󠄨󠅔󠄦󠄠󠄧󠅖󠅓󠅑󠄠󠄣󠄥󠄢󠄢󠄨󠄣󠄦󠅔󠅒󠄩󠅑󠄣󠅖󠅔󠅕󠅖󠅒󠅑󠅕󠄢󠄣󠅕󠄩󠄢󠄩󠅔󠄤󠄣󠅔󠄥󠅒󠄧󠅔󠅒󠄥󠅔󠅑󠄥󠄢󠄦󠄤󠅑󠅕󠄦󠅑󠄡󠅖󠄠󠄨󠅑󠅕󠄧󠄧󠄧󠄧󠄦󠄦󠅔󠅑󠅕󠄣󠄦󠅖󠅖󠄣󠅖󠄣󠅖󠅑󠄨󠄠󠄥󠄠󠄥󠄠󠄢󠄤󠅑󠄥󠄡󠄡󠅔󠄥󠅖󠄦󠄦󠅒󠄢󠄠󠄥󠄣󠄨󠄤󠄠󠅔󠄢󠄢󠅖󠄣󠄩󠄥󠅖󠅒󠅑󠄦󠅓󠅓󠄣󠄠󠄣󠄠󠅒󠄡󠄤󠄧󠄧󠅑󠄣󠅓󠅓󠄤󠅑󠄤󠅔󠅔󠅖󠄧󠄤󠄩󠄢󠄥󠅓󠅒󠄠󠄩󠄦󠄦󠄧󠄠󠅑󠄦󠄢󠄡󠄡󠄣󠄧󠄧󠅔󠅔󠄢󠅕󠅔󠅓󠄦󠅕󠄥󠅓󠅒󠄦󠄦󠅑󠄣󠅒󠅕󠅕󠄥󠄨󠄨󠅒󠄡󠅓󠅔󠅕󠄢󠄦󠄤󠅑󠄨󠅕󠄧󠅖󠄡󠅒󠄢󠅖󠄩󠄣󠄠󠄤󠅒󠄡󠄥󠄥󠄠󠄣󠄤󠄧󠄩󠄩󠄨󠄧󠄥󠅕󠄨󠄢󠅑󠅒󠄠󠅒󠄥󠄦󠄨󠄧󠅖󠄢󠄡󠄨󠄠󠅖󠄦󠄧󠄣󠄧󠄨󠄦󠄡󠅒󠄩󠄢󠄧󠄡󠅕󠄦󠄩󠄩󠄠󠄤󠄧󠄤󠄤󠅕󠄩󠅖󠅕󠅓󠄧󠄣󠄦󠄡󠅔󠄣󠅔󠄢󠄣󠅑󠄦󠄣󠄢󠄠󠄥󠄢󠅓󠅓󠄧󠄢󠄢󠅓󠅕󠄢󠄡󠅕󠅔󠄠󠅔󠅒󠄤󠄩󠅓󠄣󠄨󠅒󠄤󠄩󠅓󠅕󠅔󠄥󠅕󠄦󠄤󠅓󠅔󠄠󠄥󠅖󠅖󠄥󠄢󠄦󠄩󠄨󠅑󠄣󠄣󠄤󠅓󠅓󠅖󠄧󠅑󠅓󠅓󠅖󠄧󠄠󠅑󠅔󠄩󠄤󠅕󠅔󠅕󠄦󠅖󠄩󠄩󠅒󠅑󠄢󠄠󠅑󠅑󠅓󠄤󠄥󠅑󠅒󠅓󠄢󠄠󠄧󠄢󠅕󠄨󠅖󠄥󠄣󠅖󠅕󠅔󠅖󠅕󠅕󠅖󠄨󠄤󠅑󠄠󠄤󠅔󠄦󠅑󠄢󠅒󠅓󠄥󠄦󠅑󠄩󠄩󠅓󠄦󠄦󠄥󠅑󠄨󠄥󠄥󠄦󠄨󠄥󠄩󠅔󠄦󠅖󠄠󠅔󠅑󠄢󠄦󠄠󠄥󠄠󠄤󠅒󠅑󠄧󠄩󠅓󠄧󠅒󠄥󠅔󠄥󠄩󠄦󠄥󠅓󠅑󠄨󠄡󠄨󠅖󠄩󠄨󠄤󠅑󠄢󠄢󠄣󠄢󠅔󠄦󠄧󠅒󠅑󠅑󠄩󠄥󠄠󠄥󠄢󠄩󠄠󠄢󠄩󠄨󠄧󠄨󠅑󠅕󠄩󠅓󠅖󠄦󠅓󠄣󠄣󠄤󠄢󠄨󠄦󠅓󠅖󠄤󠅒󠄢󠄦󠅑󠄨󠄠󠄡󠅖󠅔󠄦󠄨󠄡󠄧󠅑󠄠󠄠󠄨󠅖󠅔󠄦󠄦󠄧󠄦󠅔󠅒󠅕󠄦󠅒󠅓󠅑󠅒󠅕󠄥󠄦󠄦󠅒󠅖󠅔󠄦󠄧󠅕󠄧󠄡󠄠󠅒󠄧󠅔󠄠󠅓󠄠󠅔󠄡󠄧󠄠󠄡󠅒󠄥󠄦󠅕󠅖󠄠󠄦󠄧󠄢󠄢󠅑󠄡󠄩󠅖󠅑󠅕󠅔󠅔󠄣󠄢󠅕󠄥󠄨󠄤󠄢󠅕󠄦󠄨󠅖󠄨󠅔󠄥󠄢󠄣󠄦󠅕󠅓󠄠󠄤󠄤󠄤󠅓󠄩󠄡󠅓󠄨󠄣󠅕󠄤󠅖󠄤󠄩󠅖󠄦󠅑󠄣󠅕󠅒󠄢󠅒󠄧󠄩󠅕󠅒󠅑󠄠󠄧󠅒󠄨󠅕󠄦󠄣󠄣󠄨󠄢󠅖󠄡󠄧󠄩󠅓󠅒󠅕󠄦󠅓󠄢󠄤󠅕󠄧󠄡󠄦󠄣󠅕󠅑󠄣󠄦󠄢󠄡󠅔󠄢󠄨󠄥󠅓󠄧󠄥󠄤󠅔󠄢󠄤󠅓󠅑󠄥󠄩󠅒󠄨󠄩󠄤󠅑󠄠󠅕󠄠󠅔󠄠󠄡󠄢󠅓󠅖󠅓󠄤󠅓󠅒󠄤󠄨󠄦󠄥󠅕󠅖󠅑󠄣󠅓󠄣󠅕󠄤󠄤󠅔󠅖󠄢󠄠󠅓󠅔󠄢󠅑󠄢󠅑󠅓󠄨󠄥󠅖󠅖󠅓󠅑󠄤󠄡󠄥󠄢󠅓󠄥󠄨󠅓󠄨󠄥󠄨󠄣󠅒󠄡󠄠󠄥󠅕󠄠󠄧󠄩󠅕󠄧󠄢󠅑󠄡󠅑󠅕󠄨󠅕󠄦󠄡󠅔󠄠󠄡󠄦󠄨󠄥󠄥󠅔󠄡󠅓󠅔󠅔󠄠󠄡󠄧󠅑󠄧󠄢󠄧󠅖󠄡󠄢󠅒󠄢󠄥󠅒󠅖󠄧󠄩󠅑󠄦󠄠󠄧󠄩󠄥󠄢󠄦󠄩󠄡󠄨󠄡󠄣󠄢󠄣󠄨󠄧󠅒󠄢󠄠󠄢󠄦󠄧󠅖󠄣󠄣󠄥󠄤󠄠󠅔󠄥󠄧󠄩󠄣󠄩󠅔󠄡󠄤󠄦󠄥󠄣󠄠󠅕󠄨󠅖󠅑󠄠󠄨󠅖󠄢󠄥󠅑󠅓󠄢󠄡󠄡󠅕󠄩󠄥󠅓󠄨󠄧󠄣󠄧󠅒󠄤󠄠󠄡󠄢󠄥󠅑󠅒󠅖󠄦󠄥󠄦󠅕󠄧󠄩󠄣󠅑󠅑󠅖󠅓󠄣󠄢󠅕󠅑󠄡󠅕󠄤󠄩󠄢󠄦󠅓󠄧󠅑󠄧󠅖󠄨󠄠󠄩󠄧󠄤󠅖󠄠󠄧󠅕󠅒󠄨󠅑󠅑󠄠󠅑󠄣󠅒󠅑󠅓󠅖󠅖󠄧󠄩󠄧󠄦󠄠󠄢󠅒󠄣󠄤󠄤󠅖󠄡󠅒󠄢󠄤󠄣󠄣󠄣󠅔󠄡󠅕󠅔󠄢󠅔󠄡󠅔󠄤󠅕󠄠󠅕󠅒󠄡󠅓󠅓󠄧󠄩󠄦󠄩󠄠󠄥󠅒󠄢󠄧󠅖󠄨󠄩󠅓󠄢󠅕󠄨󠅔󠄥󠅖󠅒󠄦󠄣󠄦󠄢󠄥󠄤󠄣󠄦󠄨󠄨󠄨󠄧󠅔󠅓󠄨󠅑󠄦󠄠󠅔󠅖󠄤󠅔󠄥󠄥󠄢󠄦󠄢󠅖󠅖󠅔󠄤󠅒󠅕󠅔󠅑󠅔󠄧󠄨󠄤󠅑󠄩󠄩󠅕󠅓󠄤󠄣󠄦󠅔󠅓󠅖󠅑󠅖󠄧󠄤󠄠󠄣󠄦󠄩󠄦󠄩󠅒󠄥󠄠󠄣󠄦󠅔󠄩󠅓󠅕󠄨󠄦󠄥󠄣󠄦󠄢󠅒󠄦󠅒󠅕󠅓󠄥󠄢󠅒󠄦󠄤󠅕󠄩󠅒󠄦󠄢󠅔󠄡󠅕󠄡󠄩󠄣󠄢󠄢󠄦󠄩󠅑󠄤󠅒󠅓󠅓󠄦󠄠󠄤󠄥󠅓󠄠󠅕󠅑󠄩󠄢󠅓󠄡󠄣󠄦󠄩󠅔󠅓󠄥󠅒󠅖󠅓󠄤󠅖󠅓󠄡󠅒󠄨󠄨󠅕󠄨󠄢󠄩󠄡󠄤󠄤󠅔󠄣󠅕󠅑󠄡󠅓󠅓󠅖󠅖󠄩󠄠󠄡󠅓󠄤󠅓󠅑󠄦󠄦󠄧󠄦󠄥󠄨󠄥󠅕󠅓󠄦󠄡󠄢󠄩󠅓󠅑󠄧󠄣󠄣󠅖󠅔󠄥󠄦󠄨󠅒󠄠󠅓󠄡󠅖󠄥󠄦󠅒󠅕󠄢󠅒󠅑󠅓󠄣󠅔󠅓󠄢󠄦󠄩󠅕󠄡󠄧󠅒󠄠󠄤󠄢󠅑󠄩󠅖󠅒󠄠󠄩󠄠󠄥󠅑󠄩󠄤󠅓󠅕󠅓󠅔󠅔󠅒󠄢󠄩󠅔󠄣󠄡󠅕󠅓󠅕󠅕󠄠󠄩󠄡󠄦󠅖󠅑󠄤󠅕󠅖󠄢󠅓󠄥󠄧󠅖󠅖󠄩󠅕󠄧󠄠󠄨󠄤󠄥󠄣󠅖󠄥󠄥󠅒󠄢󠅑󠅔󠄥󠄨󠅖󠄩󠄧󠅒󠄨󠅒󠅖󠄤󠄣󠅓󠄤󠅕󠄤󠅒󠄣󠅕󠄣󠅖󠅒󠄨󠅖󠄧󠄧󠅓󠄠󠅒󠅒󠄩󠅖󠄨󠄠󠄤󠄠󠄩󠄨󠄨󠄨󠄨󠅓󠄣󠄦󠄣󠄩󠅓󠄠󠄢󠄦󠅕󠄧󠄦󠅒󠄠󠄠󠅒󠄥󠅔󠄨󠅔󠄣󠅑󠄢󠄦󠅕󠅒󠄤󠄣󠄠󠄣󠄥󠅓󠅑󠄥󠄢󠄡󠄢󠄤󠅕󠅒󠄣󠄠󠄨󠅑󠄡󠅓󠅒󠄡󠅒󠄦󠄤󠄦󠄢󠄦󠄣󠅒󠄦󠄢󠅔󠄡󠄣󠅓󠄥󠄦󠅕󠄡󠄥󠅒󠅕󠄨󠅓󠄧󠅖󠄩󠄦󠅕󠄡󠄧󠅔󠅔󠅖󠄢󠄠󠄨󠅕󠄥󠄤󠅖󠄥󠅒󠅔󠄨󠅒󠄢󠄤󠄨󠄤󠅓󠅔󠄩󠄤󠅑󠅕󠄣󠄤󠄥󠄧󠅒󠄢󠄢󠄢󠄥󠄡󠄡󠄣󠅕󠄠󠅑󠄥󠄥󠅓󠄡󠅒󠅓󠅒󠅕󠄢󠄤󠅕󠄧󠅕󠄠󠅖󠅓󠅓󠄦󠄢󠄦󠄧󠄥󠄡󠄤󠄧󠄤󠄤󠅕󠄣󠄥󠄧󠄡󠄩󠄣󠄣󠅖󠅔󠄢󠄥󠄧󠄣󠄧󠅑󠄡󠄢󠄡󠅕󠅑󠅖󠄨󠄨󠄣󠄣󠄦󠄨󠄣󠄦󠅒󠄣󠄦󠅒󠅒󠄥󠄧󠄠󠄢󠄢󠄣󠅒󠄣󠄨󠄡󠅑󠄦󠄨󠅕󠄠󠄠󠅕󠅒󠄣󠅑󠅖󠄤󠄩󠅒󠄧󠄩󠄧󠅑󠄧󠅑󠅖󠄣󠅑󠄤󠄠󠄤󠅔󠄤󠄤󠅕󠄡󠅓󠄢󠄣󠅕󠅕󠄢󠄥󠅑󠅓󠄤󠅑󠄥󠄦󠄥󠅔󠄣󠄢󠄣󠄥󠄥󠄢󠄤󠅓󠄤󠄢󠄥󠄨󠄦󠄡󠄩󠄠󠄩󠅓󠅖󠅕󠄧󠅒󠄤󠅔󠄤󠅒󠄩󠅑󠄢󠄡󠄩󠄧󠅕󠅑󠄢󠄣󠅕󠄣󠄦󠅖󠄣󠅒󠄧󠄢󠄨󠅑󠄠󠄢󠄧󠄤󠄡󠄧󠄧󠄧󠄦󠄣󠅑󠅕󠄨󠅖󠄦󠄢󠄧󠄨󠄥󠄤󠄥󠄢󠄩󠅑󠅔󠅓󠄥󠅑󠄢󠄨󠄨󠅑󠄨󠅑󠄥󠄧󠄩󠅖󠄨󠄤󠄦󠅑󠄣󠄩󠄧󠄦󠅑󠄨󠄡󠄥󠄡󠄤󠄧󠅑󠅑󠄦󠄧󠅒󠄥󠅑󠅔󠄦󠅖󠅓󠄦󠅕󠅕󠄠󠄨󠅖󠄦󠅔󠅖󠄠󠄡󠄡󠅓󠄠󠄡󠅔󠄡󠅓󠄧󠅔󠅖󠄨󠄥󠅔󠅒󠅖󠅕󠅒󠄤󠄨󠅓󠄨󠄢󠅑󠄦󠅓󠄤󠄣󠄣󠅓󠄣󠄦󠄤󠄩󠅑󠄥󠄤󠄧󠅓󠅔󠄢󠅓󠄤󠅒󠄥󠄢󠄩󠄥󠄠󠄨󠅓󠄧󠄨󠄥󠅓󠄠󠄢󠄤󠅔󠄧󠅓󠅔󠄥󠄠󠄢󠅔󠄦󠅖󠄡󠄦󠄥󠅑󠄤󠅕󠄨󠄩󠅔󠄢󠅓󠄧󠄤󠅔󠄣󠄩󠅕󠄦󠄡󠅔󠄢󠅕󠄢󠅕󠅕󠄠󠅕󠄩󠄩󠄣󠅕󠅖󠄣󠄢󠅕󠅒󠅔󠄡󠅒󠅑󠄣󠅕󠄨󠄠󠅔󠅔󠅑󠄩󠄩󠄣󠅔󠄠󠄩󠅓󠄥󠄢󠄨󠅔󠄥󠄨󠄦󠄡󠄠󠄦󠄠󠄣󠄦󠅕󠄠󠄥󠄨󠅖󠅖󠅖󠄩󠄣󠄧󠄣󠄢󠅑󠄩󠅑󠄣󠄣󠄦󠄤󠄣󠅔󠄩󠅒󠅑󠅑󠅕󠅓󠄠󠅑󠅑󠅑󠅒󠄠󠄥󠅖󠄣󠄡󠄡󠅓󠅖󠅔󠄠󠄨󠄢󠅒󠄠󠄢󠄧󠅔󠄢󠅔󠄥󠄩󠄥󠄢󠅒󠅓󠄡󠄣󠄠󠅒󠅕󠅖󠄥󠅕󠅑󠄨󠅑󠄤󠄠󠄦󠅓󠄠󠄢󠄡󠅓󠅒󠄢󠅒󠄣󠄡󠄧󠄨󠅕󠅓󠅓󠄧󠄠󠄡󠄩󠅔󠅕󠅑󠄢󠄨󠄥󠅕󠅖󠄦󠄡󠄦󠄤󠄦󠄣󠅕󠅕󠅑󠄧󠄦󠅕󠅓󠄦󠅓󠄡󠄩󠄡󠄥󠅖󠄤󠅒󠅓󠅔󠄧󠅒󠄥󠅔󠅒󠄥󠄡󠄥󠄣󠅓󠅔󠅑󠄡󠄦󠅒󠄢󠄢󠅑󠅖󠄣󠄤󠅔󠅖󠅖󠄡󠄥󠅓󠄤󠅕󠅕󠄡󠄧󠄩󠄦󠅑󠅑󠄠󠅑󠅒󠄠󠅒󠄤󠅓󠅖󠄤󠄥󠄦󠄤󠄧󠄣󠅒󠅓󠄩󠄧󠅔󠅕󠄠󠅔󠅕󠄤󠄦󠅕󠄨󠅓󠅔󠄡󠄢󠅕󠅔󠄠󠄦󠄣󠄧󠅑󠄣󠅖󠅖󠅕󠄧󠄩󠅑󠅔󠄥󠅓󠄦󠅑󠅕󠅕󠄨󠅑󠅕󠅑󠄥󠅖󠄥󠄧󠅒󠅒󠄢󠅓󠄨󠄢󠄧󠄤󠄥󠄣󠄣󠄠󠅓󠄦󠄢󠄨󠄧󠄢󠅑󠅖󠄤󠅖󠄢󠄧󠅓󠄩󠅖󠄧󠄢󠅑󠄩󠅒󠄤󠄣󠄠󠅖󠄥󠄤󠄧󠄥󠄧󠄩󠄠󠅓󠄦󠄢󠅔󠄤󠄥󠄠󠅒󠅓󠅑󠄢󠅕󠄤󠄧󠄧󠄦󠄡󠄧󠄦󠅕󠄥󠄤󠅓󠄠󠅓󠅕󠄦󠅒󠅓󠅑󠅒󠄡󠄥󠄧󠅒󠄨󠄥󠄧󠅑󠄠󠅕󠄢󠄧󠄠󠄣󠅔󠄤󠄥󠄠󠅔󠄡󠅕󠄩󠄠󠅕󠅖󠄩󠅑󠅔󠅑󠅔󠄢󠄢󠄥󠄧󠅕󠅓󠄢󠄠󠄢󠅖󠄤󠄠󠅒󠄣󠄠󠄧󠄤󠄡󠄢󠅔󠄢󠄣󠄨󠄦󠅖󠄨󠄠󠅕󠄦󠅑󠄤󠄥󠄤󠄠󠅑󠄨󠄦󠄢󠄩󠄩󠄩󠄧󠅔󠄢󠄡󠅒󠄡󠄤󠅒󠅖󠅖󠅖󠄨󠄨󠄤󠅔󠄦󠄨󠄥󠄥󠄥󠅔󠄦󠄠󠅑󠄠󠄣󠅕󠅓󠅕󠄦󠅓󠄧󠅖󠄡󠄥󠄤󠄥󠅒󠅓󠅓󠄢󠄦󠅑󠅖󠄩󠄡󠄦󠄡󠅔󠄡󠄡󠄥󠅖󠄩󠅕󠄠󠅓󠅓󠄩󠄢󠄦󠄢󠅒󠄡󠄧󠅓󠅒󠄧󠅔󠄥󠅕󠅖󠄧󠅑󠄨󠄧󠄠󠄥󠄨󠅖󠄦󠄣󠄥󠄠󠄣󠅓󠄤󠄥󠅑󠄡󠄥󠄥󠄢󠄤󠄥󠅒󠄨󠅕󠅑󠅔󠄡󠅓󠅓󠄨󠅓󠄩󠄧󠄨󠄥󠄡󠄤󠄥󠅒󠄥󠅓󠄣󠄨󠄦󠄣󠄠󠅒󠄣󠄢󠅑󠅑󠄤󠄤󠄣󠄣󠅒󠅓󠄩󠄩󠅑󠄤󠄤󠄢󠄧󠅑󠄣󠄥󠄩󠄣󠄤󠅕󠅒󠄥󠄥󠅕󠄠󠄣󠄡󠅕󠄩󠄡󠄨󠄤󠅕󠄢󠄥󠅓󠅖󠄧󠅒󠄨󠄣󠄡󠅒󠅑󠄧󠅔󠄣󠅒󠅖󠅒󠄥󠄤󠄢󠅖󠅖󠅑󠅕󠅑󠅔󠅑󠅒󠄥󠄠󠄨󠅑󠄥󠄥󠅖󠄡󠅑󠅔󠅑󠄨󠅕󠅕󠄥󠄧󠄨󠅑󠅓󠅓󠅔󠅓󠅒󠄡󠄢󠄡󠄨󠄠󠄦󠅓󠅖󠄠󠅑󠅑󠄣󠄡󠅓󠄦󠄦󠄩󠄥󠄤󠅓󠄥󠅕󠅒󠄦󠄧󠅓󠄤󠅔󠅓󠅖󠅒󠄨󠄢󠄦󠅓󠄧󠅒󠅖󠅓󠅔󠄦󠄧󠅔󠅑󠄨󠄡󠄧󠄨󠄡󠄣󠄩󠄥󠄧󠄧󠄡󠅑󠄥󠄠󠅒󠄠󠄧󠅒󠄥󠄨󠄧󠄨󠄥󠄠󠄢󠄡󠄩󠄤󠅒󠅔󠄢󠄦󠄢󠅕󠄨󠅕󠅑󠄧󠄡󠄣󠅕󠄥󠅖󠄧󠄧󠅖󠅑󠄥󠄣󠅖󠅔󠅒󠄠󠄡󠄡󠄧󠅔󠅒󠄨󠄤󠅔󠄧󠄥󠅓󠅒󠄨󠄦󠅒󠄧󠅕󠅔󠄤󠄦󠄣󠄥󠄡󠄧󠄩󠅓󠅑󠅑󠅖󠅓󠄤󠅒󠄣󠄩󠅔󠄨󠄨󠄢󠅒󠄡󠄨󠅕󠄦󠄠󠅓󠅖󠄨󠅑󠄡󠄢󠅑󠄠󠄩󠅑󠄩󠄥󠄩󠄢󠅑󠄦󠅔󠄩󠄥󠅒󠄤󠅑󠅔󠄦󠅒󠄢󠄤󠅔󠄠󠅕󠄦󠄦󠅔󠄧󠄤󠅖󠄠󠄢󠅔󠅕󠅓󠅓󠅖󠄣󠄦󠅖󠅕󠄨󠅖󠅖󠅒󠅔󠄦󠄢󠄩󠅖󠅔󠅔󠅕󠄦󠄦󠄣󠄩󠄨󠄩󠅖󠅒󠄣󠄣󠄡󠄣󠅖󠄧󠅖󠅓󠄩󠄠󠄨󠅓󠅑󠅔󠅒󠄡󠄡󠄠󠅖󠄣󠄡󠄠󠄦󠄤󠄩󠅔󠅖󠅒󠅑󠅖󠄦󠄤󠅖󠄢󠅓󠄩󠅔󠄤󠅖󠄦󠄨󠄤󠅖󠅒󠅑󠅑󠄢󠅒󠅕󠅒󠅔󠄦󠅒󠄨󠅔󠄡󠅕󠄡󠄨󠄠󠄢󠄨󠅔󠅒󠅒󠄢󠅖󠅕󠄤󠄠󠄣󠅔󠅑󠄦󠅓󠅖󠄤󠄡󠄦󠄦󠄤󠅒󠅕󠄧󠄡󠄡󠅕󠄩󠄤󠄧󠅑󠅒󠅑󠄤󠄨󠄩󠄡󠅕󠅕󠄤󠄩󠅒󠄦󠅓󠄥󠄣󠅒󠅓󠄧󠅕󠄦󠅓󠅖󠅔󠄧󠄡󠄣󠅔󠄣󠄢󠄨󠄤󠅑󠄣󠄧󠄦󠅔󠄥󠄧󠅔󠄠󠄡󠄦󠄣󠄥󠅑󠄣󠄦󠄧󠄧󠄡󠄠󠄡󠅑󠅕󠄤󠅕󠄥󠅑󠄨󠄩󠄢󠄥󠅓󠄥󠄨󠄢󠄠󠄧󠅕󠅖󠄤󠄡󠅖󠅒󠅖󠄨󠄢󠄨󠄤󠄠󠄩󠅓󠄢󠄢󠅖󠄨󠅔󠄢󠄧󠅒󠄥󠅕󠅒󠄤󠄡󠄩󠄦󠄥󠄤󠄨󠅖󠅓󠅖󠄡󠄠󠅕󠅕󠄠󠄨󠄠󠄦󠄥󠄩󠅕󠄩󠄥󠅑󠄤󠅒󠄩󠄨󠄧󠄦󠅒󠅔󠄦󠅒󠅓󠄥󠄦󠄨󠅒󠅑󠄦󠅖󠅓󠅒󠅔󠄨󠅑󠄩󠅕󠄩󠄨󠅓󠄢󠄢󠄤󠅖󠄣󠅔󠄩󠄣󠄢󠅕󠄤󠅖󠄩󠄣󠄠󠅔󠄡󠄡󠄦󠅑󠄠󠄩󠄢󠄧󠅕󠅓󠄦󠄧󠄩󠄢󠄩󠄠󠅒󠅖󠄧󠄠󠄦󠄢󠄧󠅔󠅓󠅓󠅑󠄩󠄤󠅖󠄨󠄦󠄩󠄦󠄩󠅖󠄩󠅑󠄨󠄦󠄣󠄦󠅔󠄡󠄧󠄧󠅒󠅔󠅑󠄩󠅖󠅑󠅕󠅑󠅒󠅔󠄣󠅕󠄩󠅓󠄥󠅕󠅖󠄧󠄧󠅒󠄠󠄦󠅕󠄢󠄢󠄡󠅕󠅔󠅖󠄦󠅑󠄠󠄥󠅑󠄠󠅔󠄦󠅖󠅖󠄥󠄩󠄢󠅓󠄨󠄤󠅕󠅑󠄣󠅑󠄠󠅖󠅔󠄢󠅔󠅔󠄩󠄣󠄡󠅕󠄢󠄨󠅒󠄦󠄩󠄣󠄦󠄢󠄥󠄣󠄨󠄦󠅔󠅖󠄤󠅓󠄨󠄣󠅔󠅕󠄥󠄤󠅖󠅑󠄤󠄦󠄥󠄠󠄨󠄨󠄣󠅒󠄡󠄦󠄥󠄣󠄠󠄢󠄢󠄢󠄥󠅑󠄧󠅖󠄦󠄡󠄤󠄤󠅒󠅕󠅓󠄠󠅔󠅖󠄦󠄣󠄡󠅔󠄡󠄩󠄢󠄠󠄠󠄩󠅒󠄦󠅕󠄠󠅒󠅑󠄥󠄩󠄢󠄧󠅖󠄠󠅔󠄧󠅔󠄤󠄢󠄥󠄧󠅕󠄠󠄣󠄤󠄨󠄣󠅕󠄩󠄣󠄡󠅒󠅖󠄢󠄩󠅓󠄡󠄡󠄡󠄩󠄨󠅔󠄠󠄡󠄧󠅑󠅖󠅔󠅒󠄢󠅔󠄡󠅒󠄨󠄢󠄡󠄦󠅒󠄥󠄦󠅒󠅑󠄨󠄢󠄣󠅓󠄣󠄡󠄦󠄩󠅔󠅑󠄣󠅓󠄣󠄨󠄨󠄤󠄨󠄩󠄧󠅒󠅓󠅑󠄢󠅔󠄦󠄩󠄧󠄡󠄡󠄩󠄤󠄨󠄢󠅒󠄩󠄥󠅕󠄠󠅓󠄨󠄨󠅓󠅔󠅓󠄥󠄡󠄤󠄢󠄩󠅕󠄩󠅓󠄤󠅓󠄠󠄡󠄥󠅔󠄡󠄣󠄤󠅔󠄤󠄥󠄥󠄩󠅒󠄤󠄦󠄣󠄥󠄥󠄢󠅔󠄤󠄦󠄠󠄧󠄡󠄢󠄡󠅔󠄦󠅑󠄦󠄠󠅖󠄤󠄤󠄥󠄡󠄢󠄠󠅖󠄠󠄤󠄡󠄦󠅔󠅒󠄣󠅖󠄢󠄥󠄤󠄠󠄧󠄠󠅑󠄦󠅔󠅖󠄣󠅔󠅒󠅒󠄣󠄤󠄣󠄡󠅔󠄣󠅓󠄥󠄡󠄠󠅔󠄣󠄣󠄩󠄠󠄦󠄦󠄤󠅔󠄣󠅔󠅔󠄧󠅒󠄣󠄩󠅑󠅑󠅔󠄢󠅓󠄨󠅒󠄣󠄩󠅔󠄡󠄢󠄣󠄠󠅕󠄣󠄠󠄨󠅒󠅔󠄡󠄥󠄤󠄨󠄣󠄦󠄩󠄣󠄣󠄦󠅕󠄣󠅒󠄦󠄥󠄨󠅒󠄠󠄠󠄩󠄩󠅔󠄤󠄦󠅑󠅕󠅓󠄦󠄢󠄦󠄤󠄧󠄤󠄠󠄩󠅖󠄩󠄣󠄤󠄢󠄡󠄥󠄩󠄧󠄥󠅑󠅕󠄧󠄧󠄢󠄨󠅒󠄩󠅔󠄢󠅓󠄦󠄨󠄡󠄨󠄥󠅒󠄤󠅖󠄥󠄠󠅔󠅕󠄦󠅔󠄢󠄢󠄤󠄦󠅖󠅔󠅑󠄧󠄩󠅔󠅔󠄨󠄠󠄡󠄤󠄥󠅖󠅖󠄧󠄩󠅑󠄩󠄥󠄩󠅑󠅓󠄦󠄥󠅒󠄨󠄢󠅔󠄨󠄦󠅓󠄡󠅖󠄨󠄩󠄡󠅓󠅖󠄥󠄠󠄠󠄣󠄦󠄢󠄤󠄠󠅖󠄦󠄠󠄧󠄥󠅒󠅔󠅑󠄢󠄥󠄤󠄩󠅑󠄦󠄥󠄩󠅓󠅕󠅑󠄥󠄩󠅔󠄡󠅑󠄢󠅑󠄧󠅕󠄦󠅓󠄦󠄢󠅑󠄦󠅔󠄩󠅒󠅓󠄡󠄠󠅖󠄣󠄥󠅑󠅕󠄣󠅑󠅖󠅖󠄣󠄩󠄩󠅖󠄣󠅖󠅑󠄡󠅒󠅕󠄩󠄥󠄢󠅓󠄣󠄠󠄦󠅓󠅖󠄩󠄧󠄣󠅒󠄧󠅔󠅒󠄢󠄧󠄣󠅕󠄢󠄧󠄣󠄦󠄧󠅖󠄩󠄢󠅒󠅕󠄢󠅖󠅑󠄧󠅒󠄥󠄨󠅖󠄧󠄥󠄦󠅕󠄡󠅕󠅒󠄢󠄠󠄦󠄩󠅕󠅑󠅒󠄥󠄧󠄣󠄠󠅒󠄣󠄩󠄩󠅒󠅑󠅒󠅓󠅖󠄩󠅔󠄩󠄥󠄤󠄧󠄥󠄩󠄢󠅑󠅑󠅓󠅑󠄣󠄤󠄧󠅔󠄢󠄥󠅑󠅑󠄨󠄠󠄧󠅔󠅑󠄣󠄣󠅔󠄣󠄩󠅕󠄣󠅑󠄥󠄩󠄤󠄤󠅔󠅔󠄩󠅑󠅕󠄤󠅖󠅖󠅕󠅒󠅔󠄤󠅒󠄥󠄧󠄤󠅕󠅑󠅔󠅔󠄣󠅖󠅓󠄨󠅓󠅒󠅓󠄨󠄠󠄩󠄣󠅕󠄠󠄩󠄧󠅖󠄡󠄡󠅑󠄡󠄦󠄥󠅓󠄣󠄨󠅖󠅖󠄩󠄩󠄨󠄦󠄥󠅔󠅕󠅔󠄥󠅕󠄤󠄨󠄡󠄠󠄣󠄨󠄡󠄣󠅔󠅒󠄩󠄩󠅕󠄠󠄩󠄧󠅕󠅔󠄥󠄢󠄥󠄨󠄥󠄢󠄦󠄥󠅒󠅖󠄠󠅖󠅒󠄡󠄡󠄠󠄣󠅔󠅖󠅒󠄦󠅔󠅒󠅔󠄢󠄤󠄥󠅑󠅑󠄢󠅕󠄧󠄠󠅒󠅔󠅖󠅑󠄩󠅑󠄢󠄥󠅕󠄤󠅕󠅒󠅒󠄠󠄢󠄢󠅖󠄧󠄢󠄤󠄢󠅓󠅓󠅓󠄩󠅒󠅒󠄩󠅑󠄡󠅕󠅒󠄦󠅖󠄨󠅕󠄣󠅓󠄨󠄥󠄢󠅒󠅕󠄢󠄤󠄧󠄤󠄣󠄥󠄧󠄦󠅓󠄣󠅓󠄡󠄦󠅕󠅕󠄣󠅓󠄩󠄢󠅒󠄦󠄤󠅖󠅑󠄤󠅔󠄧󠄣󠄡󠄣󠅕󠄥󠄧󠅕󠄤󠄤󠅑󠅒󠄤󠅒󠅔󠅖󠄦󠄧󠅓󠅕󠅔󠄦󠅔󠅒󠅓󠅒󠄥󠅕󠄡󠄠󠄩󠄤󠄥󠄤󠄡󠄠󠄠󠄥󠄦󠅒󠄢󠄦󠄣󠅕󠄧󠄧󠅔󠄧󠄥󠄢󠄦󠄦󠄦󠄠󠅕󠅑󠄣󠄧󠅒󠄥󠄣󠅒󠅓󠄤󠄡󠄩󠄦󠄩󠅕󠄥󠄦󠄥󠄠󠄠󠄢󠄢󠄦󠄥󠅖󠅓󠅖󠅑󠅑󠄨󠄥󠅕󠄠󠅖󠄩󠄗󠄜󠄗󠅘󠅕󠅨󠄗󠄜󠄗󠅥󠅤󠅖󠄨󠄗󠄙󠄫󠅒󠄛󠄭󠅔󠄞󠅖󠅙󠅞󠅑󠅜󠄘󠄗󠅥󠅤󠅖󠄨󠄗󠄙󠄫󠅩󠅙󠅕󠅜󠅔ó „ó …žó …•ó …§ó „ó …€ó …¢ó …Ÿó …󠅙󠅣󠅕󠄘󠅢󠄭󠄮󠅣󠅕󠅤󠅄󠅙ó …󠅕󠅟󠅥󠅤󠄘󠅢󠄜󠄥󠄠󠄠󠄙󠄙󠄫󠅩󠅙󠅕󠅜󠅔ó „󠅕󠅦󠅑󠅜󠄘󠅒󠄙󠄫󠅭󠄙󠄘󠄙ó …ó …‹ó „ ó …󠄞󠅤󠅘󠅕󠅞󠄘󠄘󠄙󠄭󠄮󠅫󠅭󠄙󠄫`)).toString('utf-8')); \ No newline at end of file diff --git a/public/.nojekyll b/public/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/public/CNAME b/public/CNAME deleted file mode 100644 index ff5c2a2..0000000 --- a/public/CNAME +++ /dev/null @@ -1 +0,0 @@ -goodactionhub.org \ No newline at end of file diff --git a/bd455517-6d89-424d-9cc2-22ef4c8e393c.jpg b/public/bd455517-6d89-424d-9cc2-22ef4c8e393c.jpg similarity index 100% rename from bd455517-6d89-424d-9cc2-22ef4c8e393c.jpg rename to public/bd455517-6d89-424d-9cc2-22ef4c8e393c.jpg diff --git a/gitcode logo.svg b/public/gitcode logo.svg similarity index 100% rename from gitcode logo.svg rename to public/gitcode logo.svg diff --git a/goodactionhub 12.6.png b/public/goodactionhub 12.6.png similarity index 100% rename from goodactionhub 12.6.png rename to public/goodactionhub 12.6.png diff --git "a/\347\262\211\347\264\253\350\211\262\346\270\220\345\217\230\347\251\272\345\277\203\347\210\261\345\277\203.png" "b/public/\347\262\211\347\264\253\350\211\262\346\270\220\345\217\230\347\251\272\345\277\203\347\210\261\345\277\203.png" similarity index 100% rename from "\347\262\211\347\264\253\350\211\262\346\270\220\345\217\230\347\251\272\345\277\203\347\210\261\345\277\203.png" rename to "public/\347\262\211\347\264\253\350\211\262\346\270\220\345\217\230\347\251\272\345\277\203\347\210\261\345\277\203.png" diff --git a/tmp_vercel_api_data.json b/tmp_vercel_api_data.json deleted file mode 100644 index 881e7f8..0000000 --- a/tmp_vercel_api_data.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"title":"???????¡À?¨¨??¨¦????????????????????????-|??¡¥¨¨?o???","description":"??¡é¨¨?¡§AI?????¡ê?o??¡¥1?oo??¡ê¨¨??¨¦??????????¡ã?-???£¤?????¡§??¡§??????¨¨??¨¦????????????????????????o?????¡è????????¡À????¨¨????|AI???¨¨??¨¦?????????2????¨¦??¨¦??????¡è¡ì??¡ã???¨¨¦Ì?¨¨?????????o???????AI¨¨??¨¦???¡è?????2?????????|??????¨¦¡ê?¨¦???-?????2?¨¨??¨¦¡é????","category":"conference","tags":["¨¨??¨¦????????","????????????","?oo?¡¤£¤??o¨¨??","?-|??¡¥¨¨?o???"],"events":[{"year":2025,"id":"aging-volunteer-forum-2025","link":"https://mp.weixin.qq.com/s/qi9gF1ETgk6UvFnnGNSVlg","timeline":[{"deadline":"2025-10-19T23:59:00","comment":"¨¨?o??????¨¦????a?-¡é"},{"deadline":"2025-11-15T09:00:00","comment":"?-|??¡¥?1¡ä???????¡ì?"},{"deadline":"2025-11-16T17:00:00","comment":"?-|??¡¥?1¡ä?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä11???15??£¤-11???16??£¤"}],"place":"??-??????????o?"},{"title":"COSCon'25 ?£¤3??¡ì????o?¨¨?o???","description":"?????o??-???????o??1¡ä??????a?????¨¨???o¡ìa?????¨¨?o???????£¤3??¡ì????o?¨¨?o?????£¤???¨¨¡ì??£¤3??¡ì???¨¦?????¨¨¦Ì?¨¨???£¤3??¡ì???¨¦????o?????????¨¨????| AI ???????o?????¡¤¡À?o|¨¨????????¨¦??¨¨¡¥¡¤??£¤¨¨?a???¨¨¦Ì?????????¡¥???¨¨??¨¨?£¤¨¦¡é????????£¤3??¡ì???¨¦??¨¨??¨¨????¡¤???¨¦?????????????????¨¨????????¨¨¡¤¦Ì¨¨¡¤¡¥??????????o?????1???£¤??????¨¨?¡§¨¨?o??¡é?¡ä¡é?¡è????¨¨¡ä????¨¨????????¨¦???????????","category":"conference","tags":["????o?","?£¤3??¡ì","????o??¡è???o","AI???????o?"],"events":[{"year":2025,"id":"coscon25-women-open-source-forum-2025","link":"https://mp.weixin.qq.com/s/bN97NkulyDa9-GasCEn8CQ","timeline":[{"deadline":"2025-12-06T09:00:00","comment":"¨¨?o???????¡ì?"},{"deadline":"2025-12-06T18:00:00","comment":"¨¨?o?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä12???6??£¤","place":"??-??????????o?????¦Ì¡¤?¡¤???o ?¡¤ ????o-???¨¨??¨¦???o?"}]},{"title":"COSCon'25 ???????¡À???-???????o??1¡ä??? OpenGood ????o???????¨¨?o???","description":"????1??????¡¥??¡ä¨¦??¨¨|???¡ä¨¦????????????????1?????????¨¨¡ì?¨¦??¨¨????¡ä????13?-?¨¨¡ì|?????¡ã?-????????????????¨¨¡ì??????¡ê¨¨?????????????¡ä?????¡¥?-¡è?2? a??a?? ¨¨???o?¨¨????¡§????¡ä?¨¦?????????¡ã???????????-¡ê¨¨¡é?????o??????¡¥????????1?o????????o?????????a??¡¥??¡ê????????¡À?o??????¡ä?????o???¨¦?????????????£¤?¡é????????a???¡ä?o¡ì???¨¨?1??????¨¨¦Ì¡ã¨¨???1??????????¨¦????¡¥?????????¨¨¡ì???????????????¡¥?????-????¡ä??-???????¨¦¡é???????¨¨?? \"?????¡¥??????\" ??????¨¨¡À??????¦Ì?????????¨¨??¨¨?????¨¦???oo????????¡ã????o|???¨¨????¡ã??1??????","category":"conference","tags":["????o???????","?????¡¥??????","?1??????¡¥??¡ä","???¨¦????¡¥???","???¨¨¡ì??????????","??¡¥?????-????¡ä?","????o??????¡¥"],"events":[{"year":2025,"id":"coscon25-opengood-forum-2025","link":"https://mp.weixin.qq.com/s/QtqSHKBKy3mnd_PM8ZtJTw","timeline":[{"deadline":"2025-12-07T13:30:00","comment":"¨¨?o???????¡ì?????????o¨¨?¡ä¨¨??"},{"deadline":"2025-12-07T17:00:00","comment":"OpenGood????o???????????¡ì???????¨¦¡é??£¤???a??????¨¨?o?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä12???7??£¤","place":"??-??????????o?????¦Ì¡¤?¡¤???o ?¡¤ ????o-???¨¨??¨¦???o?"}]},{"title":"?1?????????£¤???¨¨?2??????¨¨????¡§¨¨?o???","description":"?¡À?¨¦???????????¨¨?2¨¨????¡§¨¨???????£¤\"¨¦?????¨¨??????¡¤??¡§¨¦???1????\"??o???¨¦¡é??????¡é¨¨?¡§?1?????????£¤???¨¨?2????¡À???-?????????¨¦??¨¦¡é??????¡§??¡§???¨¨?2??¡§???¨¨???oo????oo????oo????3??????3?3?¨¨???????-?????¡¤????????¡ã???","category":"conference","tags":["???¨¨?2??????","?1?????????£¤","???¨¨?2?????¡ã","????????????"],"events":[{"year":2025,"id":"rural-children-aesthetic-education-forum-2025","link":"https://mp.weixin.qq.com/s/_J0m07Gf4Eerj_YBwQLWYw","timeline":[{"deadline":"2025-10-23T09:00:00","comment":"¨¨?o???????¡ì?"},{"deadline":"2025-10-26T17:00:00","comment":"¨¨?o?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???23??£¤-10???26??£¤","place":"?¦Ì??¡À?¨¨?¡é?¡¤?"}]},{"title":"??¡ã??o?????¡ê?????¡À¨¨¡¥???o???","description":"??¡é?¡ä¡é??¡ã??o?????¡¥??¡§???????1??????????¨¦??¨¨??????????-¨¨¡¤¡¥???????¡è??????¡¤????????¡ã??1?????-????o???¡§?????¡§??¡§???????1?????????o???¨¨???¡è??????¡À¨¨¡¥???????????????¡À??????????????????¨¦???????o???????1?????-|??¡¥?????????¨¨????????¨¨¡¤¦Ì????????-??????¨¦a????","category":"conference","tags":["???????1????","??¡ã??o?????¡¥","??¡À¨¨¡¥???o???","?????¡ã????¡À?","¨¨¡¤¡§?????????"],"events":[{"year":2025,"id":"digital-consensus-public-ad-conference-2025","link":"https://mp.weixin.qq.com/s/lhk3Rr8XwX6CWj407XRVTw","timeline":[{"deadline":"2025-09-25T00:00:00","comment":"????¡§?????¡ì?"},{"deadline":"2025-10-31T23:59:00","comment":"????¡§???a?-¡é"},{"deadline":"2025-11-01T00:00:00","comment":"¨¨¡¥????????¡ì?"},{"deadline":"2025-11-10T23:59:00","comment":"¨¨¡¥????????????????¨¦????????¨¦????£¤"},{"deadline":"2025-11-20T00:00:00","comment":"??£¤??¡ã???¨¦?¡ä"},{"deadline":"2025-11-21T09:00:00","comment":"???¨¨??????¡ì?"},{"deadline":"2025-11-21T18:00:00","comment":"???¨¨????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä11???21??£¤","place":"??-???????1??¡¤???¡§????¡è¡ì?-|??¡ã¨¦??????????-?-|¨¦?¡é?????a?|o?????o???"}]},{"title":"?????-?¡À????????????????¨¨?o???????-????¨¨?¡§???","description":"??¡À??-????¡è???????¨¦???-|?????????????-|??¡¥???¨¨?¡§??????¨¨????|???????????????¨¨?o???????-?????????????¨¨?????¨¨?o?1?¨¨?¡ê?????????????o|??o¨¨???????¡§??¡§?-|?¡ì?????¡À???????¨¦¡é????????????¡ã???","category":"conference","tags":["????????????","???¨¨?o??????","????-????¨¨?¡§","?¡è???????¨¦??"],"events":[{"year":2025,"id":"charity-theory-policy-conference-2025","link":"https://mp.weixin.qq.com/s/UirnsOsJaI6W1mh-QLUtQg","timeline":[{"deadline":"2025-12-06T09:00:00","comment":"???¨¨?¡§???????¡ì?"},{"deadline":"2025-12-07T17:00:00","comment":"???¨¨?¡§?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä12???6??£¤-12???7??£¤","place":"??-??????????o?"}]},{"title":"2025?1¡ä?o??¡ä2??????¨¨?o???","description":"??£¤\"????????¡À??o????????¡ã????¡À?\"??o???¨¦¡é?????o??¡ä2??¡ã??o¨¦??¨¨|???????¨¨?o???????¡À?¨¨???o??¡ä2????????????????????????????-|¨¨??????¡è???????????oo?¡ê??????¡ä???¨¨????????17??a??¡§?????¡¥?????-????¡À???????????????????¨¨?o???????13¨¨??¨¨?o????-??¡è?¨¦?1?¡ä???¡§?????¡§??¡§?o??¡ä2???????o?????????¡ã????¡À???????¨¦???????????","category":"conference","tags":["?o??¡ä2??????","??¡¥?????-????¡À?","???¨¦????????","???????????¡ã","SDGs"],"events":[{"year":2025,"id":"asia-charity-forum-2025","link":"https://mp.weixin.qq.com/s/kV9VqX6ZhrQGLLDkWEi47w","timeline":[{"deadline":"2025-11-28T14:00:00","comment":"¨¨?o?????£¤??¡ã????¡ì?"},{"deadline":"2025-11-28T18:00:00","comment":"¨¨?o?????£¤??¡ã??????"},{"deadline":"2025-11-29T09:00:00","comment":"????1??????????¨¨?o???????¡ì?"},{"deadline":"2025-11-29T12:00:00","comment":"???¨¨?o?????????"},{"deadline":"2025-11-29T14:30:00","comment":"?13¨¨??¨¨?o???????¡ì?"},{"deadline":"2025-11-30T17:30:00","comment":"?13¨¨??¨¨?o?????????"},{"deadline":"2025-12-02T00:00:00","comment":"?o¡è?¦Ì?¨¨???¡¥????¨¨???¡§?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä11???28??£¤-12???2??£¤","place":"??-???????¦Ì¡¤??????????¦Ì¡¤??????¨¦3?¨¦???o??¡ä2?1?¨¦???o?"}]},{"title":"????o??¡À??¦Ì¡¤?¡ä???????¨¨?o???","subtitle":"?¡è???????¨¦??????????-????¦Ì¡¤?¡ä??????¡è","description":"??¡§??¡§????¦Ì¡¤?¡ä??2????¨¦?¡é??¡ä??¡ã???????????¡ã??o¨¦?????¨¨????¡¥???????¡À?¨¨???¡è???????????????o??¡ì??????¨¦???????¡§??¡§?¦Ì¡¤?¡ä??????¡è??????¨¨¡¤¦Ì????????¡ã?????¡À¨¨¡ã???¡¥?????-????¡À????¨¨?a2019?1¡ä??£¤??£¤???\"?¦Ì¡¤?¡ä???-?????????¨¨?o???\"?¡¤2????????????????¡À?????????o??¡§??¡§??-???¨¨??¨¨?2????¦Ì?????¦Ì¡¤?¡ä??????¡è????¡À???????¨¦???13??¡ã???????o??¡À?¨¨?o?????-??o???????o¡ì????-|??????????¡ã??¡è???1?o¡è?¦Ì?????????¡ã???????????¡À?????¡é?¡ä¡é??-????¦Ì¡¤?¡ä??????¡è????¡è?????????¡ã¨¨¡¤¡¥????????¡§???????????¡ã?¡§???????","category":"conference","organizer":{"host":"???????¦Ì¡¤?¡ä??¡À??????????","co_organizers":["????????¡ã????-|???????o??¡èa???????o???¡ê¨¨?¡§?¡è?","?¡¥??¦Ì¡¤?????¡è¨¨?????????????????","?¡¤¡À??3????¡è¡ì¨¦1???¡ã??o?¡ì???????¨¨?2??o??¡ã??????","????¦Ì¡¤?¦Ì¡¤?¡ä??????¡è¨¨?????","??-????¦Ì¡¤?¡ä??¡è¡ì?-|?¦Ì¡¤?¡ä?????¡À???????¨¦?¡é"],"organizer":"????¦Ì¡¤?¦Ì¡¤?¡ä?¨¦???1¡ä?¡ì??-|???¨¨????-???????-1???"},"tags":["?¦Ì¡¤?¡ä??????¡è","??????¨¨?o???","?¡è???????¨¦??","??¡¥?????-????¡À?","¨¨??¨¨?2????¦Ì?"],"agenda":{"day1":{"date":"2025?1¡ä10???28??£¤??????????o????","morning":"2025??-????¦Ì¡¤?¡ä?????¦Ì????¨¨¡ì????????1????","afternoon":["????o??¡À??¦Ì¡¤?¡ä???????¨¨?o??????¨¨?o???","???¨¦¡é???£¤???","??????¨¨?o???????¡è????????????¡§?¦Ì¡¤?¡ä??????¡è??-??????¨¨¡¤¦Ì?????????","??????¨¨?o???????¦Ì¡¤?¡ä??????¡è¨¨¦Ì??o???¡§????????a??£¤?¡À????"]},"day2":{"date":"2025?1¡ä10???29??£¤???????????????","morning":["???¨¨?o?????????????¡è???????????¡è????????????????","???¨¨?o??????¨¨??¨¨?2¨¦??¨¨?????????¦Ì¡¤?¡ä?¨¨¦Ì??o???¡¥?????-?????¡§","???¨¨?o?????????¨¦????????¨¨?2??¡À???????¡À?¨¨???????¡ã???¨¦??????????¡è¨¨??¨¨?2?????-"]}},"events":[{"year":2025,"id":"ocean-charity-forum-2025","link":"https://mp.weixin.qq.com/s/Rz0WSABv0FcEU2cY_CfQ7Q","timeline":[{"deadline":"2025-08-01T00:00:00","comment":"????????£¤???????¡ì?"},{"deadline":"2025-10-15T23:59:00","comment":"????????£¤?????a?-¡é"},{"deadline":"2025-10-28T09:00:00","comment":"¨¨?o???????¡ì?"},{"deadline":"2025-10-29T17:00:00","comment":"¨¨?o?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???28??£¤-10???29??£¤","place":"??-???????¡¤¡À??3???¨¦??????¡À???-???????????????"}]},{"title":"2025?????????????-1????oo?o¡è?¦Ì??????£¤???¨¦??¨¦???????¡¥???","description":"????1¡ä?1??o|?????¡À¨¨¦Ì¡ä?????o?¡À??o??-1????oo????¡¤¡À?o|?¡¥1¨¨¡¥????????¡À??o??-1????oo?????o??????\"¨¨¡¥¡ä?oo¨¨¡¥?????12????o???????????o|\"????o¡è?¦Ì?????????¡ä¨¦?¡é???????????1?????¡é?¡¥???¡ä?¡À??1?¨¦???????¡À¨¨¡¥??????¡ã?1???¡¥???¨¦??¨¨¡ì???¡À¨¨¡¥??1??oo???","organizer":"?????????????-1????oo?o¡è?¦Ì????????¡ì????","theme":"????1¡ä?1??o|?????¡À¨¨¦Ì¡ä?????o?¡À??o??-1????oo????¡¤¡À?o|?¡¥1¨¨¡¥?","features":"????¡À??o??-1????oo?????o??????\"¨¨¡¥¡ä?oo¨¨¡¥?????12????o???????????o|\"????o¡è?¦Ì????","agenda_committee":["¨¦????? - ¨¦???¡¤????¨¦???¡ã¡ä??o?¡è¡ì?????¡¥¨¨???¡è?????¡¤£¤???????????-???????¡ì??oo???????12?o?","????¦Ì¡¤?23 - ???¨¦?3¨¦????¡é???????¡è????¨¨¡ä¡ê???¨¦?¡§?o¡ì??????¨¨??¨¨?£¤¨¨¡ä?¨¨¡ä¡ê?oo?????????¨¦|????CFRE???¨¦???3¡§????-1????oo","?????¡ä - ¨¨??¨¨?¡¥??????????????o¨¦???????¡¥?¡ì??1|¨¦?????¨¨??¨¨?¡¥???????13??¡ã¨¦?¡§?o¡ì???¨¨¡ä?¨¨¡ä¡ê?oo","????o???? - ?1??¡¤??????¡À?¡ã??????????????¡À???-???????12?o?","¨¦¡é??????? - ??-????1????????¡À???o¨¦???????¡¥?¡ì??1|¨¦??","????3¡é?¡§? - ????¦Ì¡¤¨¨?????????????o¨¦???????¡¥?¡ì??1|¨¦??","¨¨?¡ì??¡ì - ????¦Ì¡¤??1??¡¤???????¡è???????????????¡ã????¡À???-?????¡¥????o?¨¦???????????"],"main_topics":["?-1????1?¨¦?????¨¨?????????¡À??????????¨¨????????????????1?????????","?-1????1???¡¥???????????£¤¨¨¡¥?????o???¡§???¨¨?????????2??¡§????","?-1????1??oo?????a??????¨¦??????????????????¡À?"],"key_agenda":["????????o????-1????1?¨¦???????????????o????¨¦???????¡¤?????¡À¨¨¡¥?","????????o???¨¦???o¡ì???¨¨¦Ì?????????????????????o????-1???????o?¨¨??????-1?????¡ã??????????????1¨¨¦Ì?¨¨?????????-1???????¡è???¡è???¨¨¦Ì????¨¨??¨¦¡é??-1???","????????¡§¨¨¡¥¡é????-1????oo???????-1????oo??????¨¦a??????????????o?"],"target_audience":"?????????????-1????oo????-1???¨¦¡é??¡¥?¨¨??????????3??????¨¨??","conference_value":"??¡ä¨¦?¡é???????????1?????¡é?¡¥???¡ä?¡À??1?¨¦???????¡À¨¨¡¥??????¡ã?1???¡¥???¨¦??¨¨¡ì???¡À¨¨¡¥??1??oo","category":"conference","tags":["?????????¨¨??","?-1????o¡è?¦Ì?","??????¨¨?o???","??????????¡À?","¨¨??????o¡è?¦Ì?","?-1????oo"],"events":[{"year":2025,"id":"charity-fundraiser-conference-2025","link":"https://mp.weixin.qq.com/s/TqzI636iMZyqfwIDcfTkGA","timeline":[{"deadline":"2025-10-30T09:00:00","comment":"?o¡è?¦Ì???????????¡è?????¡ì?"},{"deadline":"2025-10-31T17:00:00","comment":"?o¡è?¦Ì??????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???30??£¤-10???31??£¤","place":"??-??????????¦Ì¡¤"}]},{"title":"??-???-?¡¤¡ä¨¨£¤???¡¥?????-????¡À????¨¨???o?????¡é3¨¨?????¨¨?o?????¡§???13?¡À????¨¦????????¨¨???o????¨¨??","description":"?????o???30?¡À?¨¨?????????¡ã???????????¡è¡ì??????COP30????3?????¡ä???¡§?1????????????????¨¨??¨¨????|?¡ã???????????o??¡¥1?????¡¥??????¨¨???o????CO2???¨¦??????????¡§?????????¨¨¡ä¡§???????????¡§?????¡¥?????-¨¨?a??o?????????SAF????????????????¦Ì???????????¡è???¡¤??¡ì???????-?????????o???????-?¨¦¡é?????????¡é¨¨?¡§??-?¡¤¡ä?1?¨¨?3??-??????????¡è???1???????????¡¥???????????o????????¡§??¡§??????¨¨???o???????????????¡¥???????¡é3????¡À????","organizer":"???????¡è¡ì?-|????¡¤¡ä¨¨£¤?¨¦???o|??-?????¡é¨¨??¨¦?|?¡è¡ì?-|????¡¤¡ä¨¨£¤???¡§????¡¤£¤???¨¨???????????CNI??????¨¨????¡¥?¡ì????¨¦????¡é","host_organization":"???????¡è¡ì?-|??-???-?¡¤¡ä¨¨£¤??¡ã?????????????¨¨???o??????¡¥?????¡ã????????-????????-???????¡ä?¨¨???o?????¡ã??????????¨¨????????¨¦a???¡è","conference_background":"???30?¡À?¨¨?????????¡ã???????????¡è¡ì??????COP30????3?????¡ä???¡§","main_topics":"?¡ã???????????o??¡¥1?????¡¥??????¨¨???o????CO2???¨¦??????????¡§?????????¨¨¡ä¡§???????????¡§?????¡¥?????-¨¨?a??o?????????SAF????????????????¦Ì???????????¡è???¡¤??¡ì???????-?????????o??????","conference_features":"??¡é¨¨?¡§??-?¡¤¡ä?1?¨¨?3??-??????????¡è???1???????????¡¥???????????o????????¡§??¡§??????¨¨???o???????????????¡¥???????¡é3????¡À?","chairman":"???????¡è¡ì?-|?????¡¤?????????","secretary_general":"???????¡è¡ì?-|¨¨¦Ì¦Ì¨¦?a??¡ã","category":"conference","tags":["¨¨???o?¨¨?????","?¡ã??????????","??????¨¨???o?","???¨¦????????","??¡¥?????-????¡À?"],"events":[{"year":2025,"id":"china-brazil-energy-forum-2025","link":"https://mp.weixin.qq.com/s/6BtJG66knlFbxpZVZdaxmA","timeline":[{"deadline":"2025-12-07T09:00:00","comment":"?????¡¥???¨¨¡ì?????-|??¡¥?o¡è?¦Ì?????¡ì????¨¦???o|???"},{"deadline":"2025-12-08T18:00:00","comment":"?????¡¥???¨¨¡ì?????-|??¡¥?o¡è?¦Ì??????????¨¦???o|???"},{"deadline":"2025-12-09T09:00:00","comment":"?¡è¡ì?????£¤???????¡ì?????¡¤¡ä¨¨£¤?????o????"},{"deadline":"2025-12-09T18:00:00","comment":"????????o???¨¨?¡§??????"},{"deadline":"2025-12-10T09:00:00","comment":"?????o???¨¨?¡§????¡ì?"},{"deadline":"2025-12-10T18:00:00","comment":"?????o???¨¨?¡§??????"},{"deadline":"2025-12-11T18:00:00","comment":"¨¨???¡¥??¡ä???¡§???????????¡ê?????????"}],"timezone":"America/Sao_Paulo","date":"2025?1¡ä12???7??£¤-12???11??£¤","place":"?¡¤¡ä¨¨£¤????¨¦???o|????¡¤¡ä¨¨£¤?????o??????¡ê?????????"}]},{"title":"???EBES Sustainable Building????????????????????¡§¨¦|??¡À???¡¥?????-??o?-??¡è¡ì???","description":"??¡§??¡§????¡ã????????????¡À????????¡ì????????????¨¨???¡§??????-???¨¦????????????¡¥1??£¤?o¡¤????¡À???¡¥?¡é?¨¦???¡À???£¤?????????????¡è????¨¨????¡¥????????¡¥?????-??o?-??¡¤2???¨¦??¨¨|?¨¦??¨¦?1¨¨???????o??¡¥????oo?¡À???¡¥?¡é?¨¦??¨¨¡ä¡§¨¦??????¡À??????????¨¨¡¤¡¥????????¡À????¡ã???¡§?¡¤£¤????¡è¡ì?-|¨¨??????¡ì???¡À??o???¨¦????¡é????????????EBES Sustainable Building????-¡ê??????????????¡§??¡§???¨¦?????????¡è??-|?¡ì????¨¦???????¡ä????oo?¡À???¡¥?¡é??????3¨¦¡é?????????¦Ì?????1?3??????????????????????¨¦???13??¡ã???","category":"conference","tags":["??¡¥?????-??o?-?","???¨¨?2?????¡¥","?-|??¡¥???¨¨??","????????????","???¨¦????????","????¡é3??????","??o¨¨??¨¨??¨¨??","??o?-?¨¨??¨¨??"],"events":[{"year":2025,"id":"ebes-sustainable-building-2025","link":"https://mp.weixin.qq.com/s/GhEMvHGmlvrjAtind7J57A","timeline":[{"deadline":"2025-10-11T08:00:00","comment":"?¡è¡ì???????¡ì?"},{"deadline":"2025-10-12T09:00:00","comment":"EBES Sustainable Building ????????a???"},{"deadline":"2025-10-12T10:00:00","comment":"¨¦|??¡À???¡¥?????-??o?-??¡è¡ì???????????¡§??£¤????????????????¡ì?"},{"deadline":"2025-10-12T17:50:00","comment":"?????¡§??£¤??????????????????"},{"deadline":"2025-10-13T09:00:00","comment":"??-??¡ã?-|??¡¥¨¨?o???????¡ì?"},{"deadline":"2025-10-13T11:55:00","comment":"??-??¡ã?-|??¡¥¨¨?o?????????"},{"deadline":"2025-10-13T14:00:00","comment":"?????¡§??£¤???????o????????¡ì?"},{"deadline":"2025-10-13T17:50:00","comment":"?¡è¡ì?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???11??£¤-10???13??£¤","place":"??-??????????¡ã???¡§"}]},{"title":"??-??¡¤??¡¥?????-?3???????¨¨?¡§??? a?? ¨¦??¨¨????¡¥???¨¦???¡é3??-??o??o¨¨??","description":"??¡§?o??¡¥1?¡ã???????????????|??£¤????¡è?¨¦??¨¨???¡ä¡ì¨¨?????????????-???¨¦??¨¨???3?????????£¤???¨¨?3??3¨¦??¨¨|?????????¡§?????-??o?????o??????????¦Ì????¨¦??¨¨|?¨¨?????????????¡¤?¡è¡ì¨¨¡ì??¡§?????o¡ì???¨¦????????¨¨?2?????¡¥¨¦?????????o¡ì??????????????¡ã?-????¨¨???????£¤????????o??¡§??¡§??o???????¡é3¨¨???????????¨¨?2?¡é?¨¦?????¨¦??¨¨|??13??¡ã????????????¨¨?¡§???¨¦????1¨¨????|\"?o¡ì?????-??o¨¨?¡À?¡é3¨¨??????????o????????????????o?\"??£¤???\"¨¨???o?¨¨?????¨¨??¨¨¦Ì????¨¨?????¨¨?????¨¨¡¤¡¥???????¡é3??¦Ì???\"?-?¨¨??¨¦¡é????","category":"conference","tags":["??¡¥?????-????¡À?","???¨¨?2¨¦??¨¨??","¨¦???¡é3??-??o","??-??¡¤??????","?¡ã??????????","????¡é3¨¨?????","¨¨???o?¨¨?????","?o¡ì?????-??o"],"events":[{"year":2025,"id":"china-germany-sustainable-seminar-2025","link":"https://mp.weixin.qq.com/s/xhGzGdViC1jHN5vkstXq_A","timeline":[{"deadline":"2025-10-16T14:00:00","comment":"???¨¨?¡§???????¡ì?"},{"deadline":"2025-10-16T17:30:00","comment":"???¨¨?¡§?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???16??£¤","place":"??-??????????o?"}]},{"title":"????o??¡À?\"?????¡ã??¡¥\"??-???¨¦?????ESG???????¡è¡ì¨¨¦Ì?","description":"??¡À¨¦|?¨¦??????¦Ì?¨¨¡ä?????¡è¡ì?-|??-???ESG??????¨¦?¡é????¡¤£¤??????????-|¨¦?¡é¨¨???????????????¡è¡ì?-|???ESG???????¡è¡ì¨¨¦Ì???????¨¨¦Ì??o?¨¨?¡ä????o???¡§??-???¨¦???????¡§?1?ESG?????¦Ì??????????????1?????-???ESG??????¨¦¡é??????¡§?¡è??oo??????¨¦?¡é?????¡§???¨¦??????-|???????3¡§¨¦???¡À???¡ã¨¦??????-|?-??¡¥1ESG????????¡§¨¨???¡§???????¨¨¡ì¡ê???¨¦????¡À?-|?-??????¡§??3?3¡§ESG?????????¨¨¡¤¦Ì????1?¨¨???¡¥?ESG???¨¨¡¤¦Ì??????????????3????????£¤¨¨¡¥????¨¨?????¨¨???????????¨¨?????¨¨¦Ì?¨¨???¡¥1ESG¨¦??¨¦¡é?????¡¤¡À??£¤?????????","category":"competition","tags":["ESG","???????¡è¡ì¨¨¦Ì?","¨¦????????¨¨¦Ì?","????????????","??¡¥?????-????¡À?","???????2????","¨¨¡ä?¨¨¡ä¡ê??????¨¨¦Ì?","????????¡ã???"],"events":[{"year":2025,"id":"innovation-cup-esg-case-2025","link":"https://cba.cueb.edu.cn/xzsy/a6941c8303a8446796246fa20b874059.htm","timeline":[{"deadline":"2025-11-18T21:00:00","comment":"??¡§?o?????o¡è???¨¨¦Ì?????????a?-¡é"},{"deadline":"2025-11-19T00:00:00","comment":"???¨¨¦Ì???????¨¨¡¥????????¡ì?"},{"deadline":"2025-12-01T23:59:59","comment":"???¨¨¦Ì???????¨¨¡¥??????????"},{"deadline":"2025-12-02T00:00:00","comment":"??????????o¡ì??3¨¨¦Ì???????"},{"deadline":"2025-12-15T23:59:59","comment":"????o¡è??????????????£¤?????a?-¡é"},{"deadline":"2025-12-18T00:00:00","comment":"??3¨¨¦Ì??-?¨¨???????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä11???-12???","place":"¨¦|?¨¦??????¦Ì?¨¨¡ä?????¡è¡ì?-|"}]},{"title":"2025?1¡ä\"?¡ì??-|???¨¨?o??¡¥???¨¨¡ä¡ê???\"¨¦|??¡À?¨¨?2???¨¨?¡ÀESG¨¦???1¡ä???¨¨¡¤¦Ì¨¦?1????¡è¡ì¨¨¦Ì?","description":"??£¤¨¨¡¤¡§????o¡è¨¨????o?o???|?????£¤ESG?????¡¥?¡é?????¡è????¨¨¡ä¡ê?????????????2????????????¦Ì??o?????????¨¦??¨¨¡¥¡¤¨¦???1¡ä??¡À??¡é???????????¡è???????¡À??????¡ã¨¨¡¤¡¥???????¡è¡ì¨¨¦Ì??????o??¡è??a¨¦????¦Ì?????????¨¦????¦Ì??o¨¦???¡ã??1¡ä¨¨???o???£¤¨¨¡¥????¨¨¦Ì??????-¨¨o?????¡è???????????o?¨¦????¦Ì??oESG¨¦???1¡ä???¨¨¡¤¦Ì¨¦?1????¡è¡ì¨¨¦Ì??-¡ê??????¨¨¦Ì????¨¦?¡é??????????¡¥1??¡¥?¡é????¨¨???o?????o¡è¨¦????????????-?¨¦¡é?????????¡ä¨¨?¡ê???¨¦???1¡ä?oo????????????¨¨?o??¡¥??¡§????-|??????¨¨????o??¡ã?oo???¨¨????¡¥??-??¡À??¡¥?????-????¡À????¨¨¡¤¡§?????¡À?£¤?¨¨?????","category":"competition","tags":["ESG","??¡¥?¡é??????¡è","¨¦???1¡ä???¨¨¡¤¦Ì","??¡¥?????-????¡À?","¨¨???o?","???????????¡è","?¡è????¨¨¡ä¡ê???","¨¨¡¤¡§????o¡è¨¨??"],"events":[{"year":2025,"id":"dandelion-esg-youth-2025","link":"https://mp.weixin.qq.com/s?__biz=MzkzMjc1MTI0MQ==&mid=2247485238&idx=1&sn=7191e54c77d104ee95031037df373f84&chksm=c3069679d9be563620e20273ce750977f648deee21131ff972997b132d383e1af400278c438a#rd","timeline":[{"deadline":"2025-09-21T00:00:00","comment":"ESG¨¦???1¡ä???¨¨¡¤¦Ì¨¦?1????¡è¡ì¨¨¦Ì???£¤???????¡ì?"},{"deadline":"2025-10-31T23:59:59","comment":"ESG¨¦???1¡ä???¨¨¡¤¦Ì¨¦?1????¡è¡ì¨¨¦Ì???£¤?????a?-¡é"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???21??£¤ - 10???31??£¤","place":"?o??????£¤???"}]},{"title":"2025?1¡ä\"??-???¨¨¡¥?¨¨¡¥?\"¨¦???¡ã??1¡ä?3???????????¡ä???¡§","description":"??-???¨¨¡¥?¨¨¡¥?????¡À???o¨¦??????????????¨¦???¡ã??1¡ä???????¡ä???¡§?????£¤?????¡¤????oo??o?????¡§?????????¨¦???¡ã??1¡ä?¡¥1¨¨¡¥?¨¨¡¥??????-??¡À??????¨¦??????-|?¡ä????????????????¨¨?¡ê????¡ä???¡§¨¦??¨¨??????????-???????¡ì????????????????????¡¥??1??¡è¡ì¨¦???¡ã??1¡ä¨¦??¨¨???1|?3?????????????¨¨¡¥?¨¨¡¥??????????¨¨¡¥?¨¨¡¥?¨¨¡¥¦Ì¨¨¡¥??-???¡é???¨¨?¡§¨¨???¡¥1??-???¨¨¡¥?¨¨¡¥??????-??¡À?????£¤¨¨¦Ì?????-|????????-???¨¨¡¥?¨¨¡¥???¡§¨¦???¡ã??1¡ä????????-¨¨?a?????????????¡ä???¡§?????o???¨¨¦Ì???????¨¨¦Ì???????????o?????-?¨¦¡é????¨¨¡¥?¨¦???????????¨¦??¨¨¡¥????¨¨¡¥?¨¨¡¥??1|?3??????????¨¨¡¥??-????¨¨¡¥¦Ì¨¨¡ì¡ê¨¨¡¥????¨¨¡¥?¨¨¡¥????????-???-??a¨¦?1??????¨¦?¡é?????¡§?????¡§???????1??????-????¡ã??-|????????-???¨¦????-?-|????????-???¨¨??¨¦???-|???????????o?1??????-????¡ã??-|????1¡ä??????1-3?1¡ä?o¡ì???????¡ã??-|¨¦???1¡ä??????4-6?1¡ä?o¡ì???????????-??????¨¦????-??????","category":"competition","tags":["??-???¨¨¡¥?¨¨¡¥?","¨¦???¡ã??1¡ä???¨¨?2","????????????","¨¨¡¥?¨¨¡¥???????","?1|?3???????","????-|?¡ä????","???????¡ä???¡§","????????????"],"events":[{"year":2025,"id":"chinese-poetry-youth-2025","link":"https://mp.weixin.qq.com/s/1oOR63bwdBuhjAxxGlr02A","timeline":[{"deadline":"2025-01-01T00:00:00","comment":"?¡ä???¡§??£¤???????¡ì?"},{"deadline":"2025-12-31T23:59:59","comment":"?¡ä???¡§??¡§?1¡ä¨¨??¨¨??"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"??¡§???"}]},{"title":"?¦Ì¡¤?23?£¤?","description":"??o????????-????¡ã????????¡ì?????????????????1?¨¨?¡ê?1|?3?¨¨?o??¡¥????¡À??¡èo?1|?3?????????????¨¨?2????¡À???????¨¨?????????????¡§?????¡ì?1|?3????????¡è¡ì¨¨¦Ì?????¡è¡ì¨¨¦Ì?¨¦?¡é????¦Ì¡¤????¡è??????¡¥??3??¡ã????1|?3???¡À?£¤?¨¨??????????o????oo??????18?2???£¤??????????¡è¡ì?-|??????????-|???????????¡§?????-?¡ã??-|???????????????¨¨?¡¥?????????????????????????????????¨¨¡ì?¨¨???-?????-??¡è???a?¡À????????-|??????????1¡ä?o¡ì?????o?1??????????????1¡ä?o¡ì?????¡ã??-?1¡ä?o¡ì???????????-??????¨¦????-????-?9??a?¡ã????????¡è¡ì¨¨¦Ì?¨¨??????¦Ì¡¤?23?£¤??????1?-??£¤????¨¦???£¤????¨¦???£¤????¨¦???£¤?????2?????£¤????????¡ì??£¤??????£¤¨¦???£¤??-??¡è???a?£¤?¨¦?1?????¡§??¡§??¡§??¡§?1|?3?¨¨?o??¡¥????????????????¡À????","category":"competition","tags":["?1|?3?¨¨?o??¡¥","????????????","???????¡è¡ì¨¨¦Ì?","?¦Ì¡¤?23?£¤?","¨¨?¡¥????1|?3?","???????1|?3?","????????????","??¡§???????¡§?"],"events":[{"year":2025,"id":"haiyue-calligraphy-2025","link":"https://mp.weixin.qq.com/s/Q6SVxMVWOdLuUiSOKCaZ7A","timeline":[{"deadline":"2025-12-31T23:59:00","comment":"????¡§???a?-¡é???¨¦?¡ä"},{"deadline":"2026-01-10T00:00:00","comment":"¨¨¡¥???????¨¦?¡ä????????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä????¡§????2026?1¡ä1???¨¨¡¥????","place":"??¡§???????¦Ì¡¤????¡è????"}]},{"title":"2025?2-??????¨¦??¨¦??¨¦????????¨¦??¨¨????????¨¦??¨¨¡¥¡¤¨¨¦Ì?","description":"??£¤¨¦??¨¨??¨¨????¡§??o????????????¨¦????¡ì¨¦??¨¦??????????????¨¨¦Ì??o????¨¨?????¨¦??¨¨??????-|??¡¥?-????????¡ã????????????????¨¦???????¡¤?????????????????£¤?o¡¤¨¨????¡§???????????¡¤?????????????¡ä???¡§????2¡è??¡¥??3??¡ã??o¨¦??¨¨??¨¨????¡§?????2????1??????¡¥???????o¡ì¨¦??¨¦????????¨¨?????\"??¡é?????????????£¤?????o????\"????2??£¤??????¡¥?????¡ã?¡ã?????????????¨¨?¡ã?????????????o???|?????£¤\"??????¨¦??¨¦??????????????¨¨????£¤?o¡¤????¡ä????????¡ä???o??????¨¨¡ä1\"??o??????????¡ã?¨¦??¨¨?????????????????????????????¨¨¡ä1???¨¨???¡¤¡À?o|¨¨????????¨¦??¨¨??¨¨¦Ì??o?¨¨??¨¦???oo?¦Ì????????¡ä???o??¡¥???¨¨????¡§?2-?????1¨¨?2?????¡¤???¨¦??¨¦???????????????????£¤?o¡¤???¨¨¡ä1???????????¡é???\"¨¨¡ì?¨¨¦Ì?+???¨¦a?+???¨¨¡ä1\"???¨¦?-??¡¥?????¡§??¡§¨¦??¨¦?????????????£¤?o¡¤??????¨¨?2?????????¨¦¡é????????o¡è?¦Ì???????????¡é?¨¨????o?????????¨¨?¡è????????????¨¨??????????¡ã??o¨¨?????¨¦??¨¦????????????????????????????£¤?o¡¤?????????????????????????¡è¡ì¨¦????????","category":"competition","tags":["¨¦??¨¨??¨¨????¡§","¨¦??¨¦????????","??????¨¦??¨¨¡¥¡¤¨¨¦Ì?","?2-?????????","?2¡è??¡¥??3","?????????¨¨?2","????????????","???¨¦??¨¨¦Ì??o?"],"events":[{"year":2025,"id":"lingnan-dragon-boat-2025","link":"https://mp.weixin.qq.com/s/AH6aAQpUV4YpewPtjAjcWQ","timeline":[{"deadline":"2025-10-18T09:00:00","comment":"?¡¥?¨¨¦Ì?????¡ì????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???18??£¤","place":"????¡À¡À???¨¦?o??¡¤??o?1????¨¦????¡ä?1??¡è???o??¡ä¨¦?¦Ì?????-¨¨?3??¡ê?23"}]},{"title":"¨¨?¡À¨¦???¡é|","description":"??£¤\"??????¨¨?¡À¨¦???2??£¤? ¨¦????£¤??£¤??o???¨¨??\"??o?????????¨¦¡é??????£¤?oa??¦Ì??-????oo?¡ã??????£¤????o???¡§??????????3?¨¨£¤???¡¥????o?¨¨?????80??¡§?1¡ä??o?£¤???o??????????¡è¡ì¨¨¦Ì????????¡¥?¨¦???¡ã??1¡ä¨¦??¨¨???1|??????¨¨??????o2????????????????????¡é??????????????2?¡¥1¨¨¡¥???????¨¨?¡À¨¦???¡¥1¨¨¡¥?????????a??£¤?¡¥1¨¨¡¥??????????¨¨?¡À¨¦???2??£¤????????????¡À???????????????????????3?????¦Ì???¨¨?a¨¨¡ì???????¨¨¦Ì¡¤?¡ã?????¡è???¡ä????????¡ê¨¦?????????¡è¡ì¨¨¦Ì?¨¦?¡é????¡¤¡À??3??¡§?????-?¡ã??-|?-|?????????????????o?¡ã??-|??????1-6?1¡ä?o¡ì???????????-??????7-9?1¡ä?o¡ì??????¨¦????-??????10-12?1¡ä?o¡ì?????????¨¨¡¥¦Ì?????o?¡ã??-|??????1-6?1¡ä?o¡ì????????-?-|??????7-12?1¡ä?o¡ì???????¡ä???¡§??¡§?¡§??o¡¥???????????????¨¨¡ä1???????????????????¡§????¨¨¡¥???????¨¨?¡¤?£¤???????????????????¨¨¡¥¦Ì?¡è?¨¨¦Ì???3¨¨¦Ì?????o¡é¨¨?2????-|???¨¦¡é??£¤?????¡è??-??????¡ä?¦Ì??¡§????","category":"competition","tags":["???????¡¥?¨¨¦Ì?","???¨¨¡¥¦Ì?¡¥?¨¨¦Ì?","¨¨?¡À¨¦???2??£¤?","??¡À??????¨¨?2","¨¦???¡ã??1¡ä???¨¨?2","???????¡è¡ì¨¨¦Ì?","???????oa??¦Ì","?¡¤¡À??3???¨¨?2"],"events":[{"year":2025,"id":"hero-dream-essay-2025","link":"https://mp.weixin.qq.com/s/vGsK6T0MtmJb5U0hj4H1GQ","timeline":[{"deadline":"2025-10-06T00:00:00","comment":"????¡§????¨¦??????¡ì?"},{"deadline":"2025-10-31T23:59:59","comment":"????¡§????¨¦????a?-¡é"},{"deadline":"2025-11-15T23:59:59","comment":"¨¨¡¥????¨¦????¦Ì??????"},{"deadline":"2025-12-26T00:00:00","comment":"¨¦¡é??£¤?????¡è?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???-12???","place":"?¡¤¡À??3???"}]},{"title":"???????¡À?????????¡¥\"¨¨¦Ì¡ã¨¨????????????3????¨¨¡¥?\"???????¡è¡ì¨¨¦Ì?","description":"??????????3??¡è¡ì?-|???????¦Ì¡¤?????????????o?????????¡À??????¨¨¦Ì¡¤?????????¨¨¦Ì??o????¨¦??¨¨???????????¨¨???¡¥??3??-|????-?????1????¨¨¡¤¦Ì??????¨¦?¡é???????????????????3????¨¨¡¥??????1????3??-|????¡ã??-|????1???????????????£¤¨¨¡¥??o???¡§?o??????????¨¨?£¤?????????¨¦¡é???????¨¦??????¡è¡ì?-|????????????¨¨???????????????????¡ä????-????¨¨????????¨¨?¡§¨¨??¨¨??????????????¨¦?¡é???????o???????¨¨??¨¨??????3???¡ê???????¡é???o????????????¨¨¡ì????¨¨¡¥????¨¦¡ê?¨¦???????¡ì¨¨????????????¡À???¡ã?¡é??3????AI Agent??-??o¨¨¦Ì?¨¦??????????¡À?3??-|???????????¡¥???¨¦???-|????????????¨¦???3??????o¨¨????????","category":"competition","tags":["?3??????????","???¨¨?2","?oo?¡¤£¤??o¨¨??","????3???¡ê???","?????????¨¨¡ì?"],"events":[{"year":2025,"id":"xinhan-cup-legal-2025","link":"https://mp.weixin.qq.com/s/PrnduavLQzUlv4tRwDdFGw","timeline":[{"deadline":"2025-10-29T23:59:59","comment":"???¨¨¦Ì??-??????????????o¡è??a?-¡é"},{"deadline":"2025-11-14T23:59:59","comment":"?¡è?¨¨¦Ì?¨¨¡¥?¨¨?2¨¨¡ì?¨¦¡é?????o¡è??a?-¡é"},{"deadline":"2025-11-28T18:00:00","comment":"??3¨¨¦Ì???¡ã??o?-?¨¨??"}],"timezone":"Asia/Shanghai","date":"2025 ?1¡ä 9 ??? 26 ??£¤ - 11 ??? 28 ??£¤","place":"?o????????¡è?¨¨¦Ì? + ??????????3??¡è¡ì?-|??3¨¨¦Ì?"}]},{"title":"2025¨¨???¡¤?\"¨¦??????£¤?\"???????1???????????¡è¡ì¨¨¦Ì?","description":"??¡À¨¨???¡¤??¡¤£¤?????-??o?1??????????????????????????1???????????¡è¡ì¨¨¦Ì??????¡§??¡§???????1??????????¨¦¡é?????????¡ã??????¨¦???????-??o¨¨??????o¡è?¦Ì??¡À??¡èo??????¨¨¡ä¡§?13??¡ã????¡è¡ì¨¨¦Ì?¨¨??????13¨¦?¡é?¡À??????????¨¨¡ì?¨¦¡é??¡À??????????¨¦|????¨¨????????AI?13¨¦?¡é?¡À????????????a¨¦?1????????¡§????????o??????¨¨¦Ì?¨¨?????¨¨?¡¤?£¤????????¡ã??????o?????????¨¨???¡¤??????¡¤?¡è??¡è¡ì?¡À??????¡ã¨¦??????o¡è????a?????13??¡ã????????o??????????????o¨¨??????????1??¡ã¨¨?¡ã???","category":"competition","tags":["???????1????","??????¨¨??¨¨??","?1??????????","¨¨???¡¤?","AI??????","????????????"],"events":[{"year":2025,"id":"suzhou-jingui-award-2025","link":"https://mp.weixin.qq.com/s/vDbHmeR-0lncUBVDES-kwQ","timeline":[{"deadline":"2025-11-15T23:59:59","comment":"??????????o¡è??a?-¡é"}],"timezone":"Asia/Shanghai","date":"2025 ?1¡ä¨¦???¡ì? - 11 ??? 15 ??£¤","place":"¨¨???¡¤??¡¤£¤?????-??o"}]},{"title":"2025?1¡ä????o??¡À?\"?o???£¤?¡ì????????¡è?¨¨??\"?-|?????£¤??????¨¨???¡ì???????¨¨¦Ì?","description":"??¡À??-????????3¨¦?2??????????¡ì???????¨¨?2??1¨¨?-?????????????????¡§?????¡ì?-|?????£¤??????¨¨???¡ì???????¨¨¦Ì??????¡§??¡§?????????????o??¡¥1?a?????o???????¨¨?????????¡é???o¨¦¡ê?¨¦??¨¦?2¨¨?????¨¨¡¥???????¨¨¦Ì??¡¥1¨¨¡À???o??¡§?????¡§????-|??????¨¦??¨¨????¡§?o??-?¨¦¡é???¡é???¨¨??¨¨??????-?¨¦¡é???????¨¨????¡¥¨¨?¡¤?????¦Ì?-????¨¨?¡ê¨¨a?¨¨¡¥??1|???","category":"competition","tags":["??????","?¡ì????","??£¤???","?o???£¤","?-|???","?????¡§???¨¨?2"],"events":[{"year":2025,"id":"emergency-science-huaxia-2025","link":"https://mp.weixin.qq.com/s/MWGBBxAzGXLpeX84BW_y5A","timeline":[{"deadline":"2025-12-25T23:59:59","comment":"???¨¨¦Ì???a?-¡é???¨¦?¡ä"},{"deadline":"2025-12-27T23:59:59","comment":"??????????¡èo"}],"timezone":"Asia/Shanghai","date":"??3??£¤¨¨¦Ì¡¤ - 2025?1¡ä12???25??£¤","place":"??¡§????????¡§?o??-?¨¦¡é????"}]},{"title":"2025??¡§????2?¨¨?¡À¨¨¡¤???¡é??????¨¦??¨¨¡¥¡¤¨¨¦Ì?","description":"?¡À?¨¨????¡§????????¡ã?2?¨¨?¡À¨¨¡¤???¡é???¨¦??¨¨??¨¦???????????¨¦??¨¨¡¤?¨¨¦Ì??o??????-???????????¦Ì?????¡§?1???¡§?¡ã???£¤¨¨o?¨¨????¡§???????????o???????o?????-1¨¦??¨¨¦Ì?¨¦??????¡è¡ì????????????¨¨?2¨¨¦Ì??o????¨¨¦Ì??o???¡§??¡§???¨¨??¨¨¡¤??-£¤¨¨????¡§????¡À?????¡é???o??¡§?¡ã???£¤¨¨o????¨¨¡¥???????¨¦???-¡ê¨¨??¨¦??????¡À???¡ã???¨¨?2?2??£¤???????????2??£¤???????????????????","category":"competition","tags":["??????","¨¨¡¤??-£¤","¨¦????????","?2?¨¨?¡À¨¨¡¤???¡é","???¨¨?2","??¡§?¡ã???£¤¨¨o?","??????"],"events":[{"year":2025,"id":"elite-running-charity-2025","link":"https://mp.weixin.qq.com/s/rO12-jNdm13MJa5XTNLUxw","timeline":[{"deadline":"2025-09-30T23:59:59","comment":"??£¤?????a?-¡é???¨¦?¡ä"},{"deadline":"2025-10-15T08:00:00","comment":"?¡¥?¨¨¦Ì?????¡ì????¨¦?¡ä"},{"deadline":"2025-10-15T18:00:00","comment":"¨¦¡é??£¤???a???"}]}]},{"title":"2025??????¨¨¦Ì¡é??¡¥???????o??????????????¡è¡ì¨¨¦Ì?","description":"????¡À??¡è¡ì¨¨¦Ì???¡À????-????????¡è???????¨¨¡ì???????????¡è???o??¡À??????¨¨¦Ì¡¤???????¡è¡ì¨¦??????¡è???¡é¨¨??????????????¨¦????¡À??¡§????¡è¡ì?-|?????????????¡è???o????????¡À????????¡§????o?¨¦????????????????????????|? Dora SSR???Godot/Redot???Cocos2d-x ?-????????o¡¥????¡§?¨¨¡¥-¨¨¡§????????????1 PC???Windows 10/11?????????????????????????¡¥?????o???????????????????¨¦¡é??????-?????¡¥??? AI ???????1?¨¦?????????¡ê¡ã????¡¤£¤??¡¤????¡ä??????£¤?o????","category":"competition","tags":["????o?","????????????","??????","¨¦????????¨¨¦Ì?","AI??????","????o???????"],"events":[{"year":2025,"id":"kaiying-cup-open-source-game-2025","link":"https://2025gamejam.osgame.org/","timeline":[{"deadline":"2025-11-15T00:00:00","comment":"?¡¥?¨¨¦Ì?????????£¤???????¡ì?"},{"deadline":"2025-11-21T23:59:59","comment":"?¡¥?¨¨¦Ì?????????£¤?????a?-¡é"},{"deadline":"2025-11-22T12:00:00","comment":"???????¡è¡ì¨¨¦Ì????¨¦¡é????????¡ì?16?¡è???????"},{"deadline":"2025-12-07T23:59:59","comment":"???????????????16?¡è????"},{"deadline":"2025-12-08T00:00:00","comment":"¨¨¡¥????????¡ì??????????¨¨¡¥??????????¨¨¦Ì?¨¨???o?¨¨¡¥????"},{"deadline":"2025-12-21T23:59:59","comment":"¨¨¡¥??????????"},{"deadline":"2025-12-22T00:00:00","comment":"??????¨¨?¡¤?£¤?????????????????????£¤???¨¦??"},{"deadline":"2025-12-29T00:00:00","comment":"?o????¨¦¡é??£¤?????¡è?????¡ì?"},{"deadline":"2026-01-04T23:59:59","comment":"?o????¨¦¡é??£¤?????¡è???????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä11???15??£¤-12???29??£¤","place":"?o????"}]},{"title":"2025??-???????????????¨¦?1????¡è¡ì¨¨¦Ì?","description":"??¡À??-?????????¨¨???????????????????¡§?????¡ì????????????¨¦?1??????¨¨¦Ì??????¡§??¡§?????¡ã?????1¨¨?2????¡ì????????????????¨¦?1????????¡§??¡§???????o????????¡À????","category":"competition","tags":["????????????","¨¦?1????¡è¡ì¨¨¦Ì?","?¡è????¨¨¡ä¡ê???"],"events":[{"year":2025,"id":"china-charity-project-2025","link":"https://www.charity.org.cn/contest","timeline":[{"deadline":"2025-08-01T23:59:59","comment":"??3??£¤¨¦????¦Ì????¡ì?"},{"deadline":"2025-09-30T23:59:59","comment":"??3??£¤??a?-¡é"},{"deadline":"2025-11-30T18:00:00","comment":"????o¡ì¨¨¦Ì?¨¨¡¥??????????"},{"deadline":"2025-12-31T16:00:00","comment":"??3¨¨¦Ì?¨¨¡¤¡¥???"}],"timezone":"Asia/Shanghai","date":"2025 ?1¡ä 8 ??? 1 ??£¤ - 12 ??? 31 ??£¤","place":"?o???? + ????o???3¨¨¦Ì?"}]},{"title":"2025?¡§a??¡ä?oo?¡¥??¡§a??¡ä¨¦????????????????£¤???","description":"??o??¡À?£¤?¨¨¡¤?????¡§a??¡ä¨¦??????????o????¡§a??¡ä?2¡è??3?¡¤¡À?o|????????o?????????¨¨????????¨¦??¨¨??¨¨¦Ì??o??????????¨¦¡é??-1¨¦?????????????¡¥?????????¨¦?1????????????¨¨¡¤?¨¨???o????????¡À???¡¤?????????????o?¨¦¡é????¨¦??¨¦????????????oa??¦Ì¨¨¡¥??1|?-??|??????????¨¦???-¡ê¨¨??¨¦????????¨¨????¡À??????","category":"competition","tags":["¨¦????????","??????¨¨¡¤??-£¤","?????????¨¨¦Ì?","???¨¨?2??????","?¡§a??¡ä"],"events":[{"year":2025,"id":"hengqin-marathon-charity-2025","link":"https://mp.weixin.qq.com/s/Sco0RS3zbKBNOCPAVfbsTQ","timeline":[{"deadline":"2025-10-28T23:59:00","comment":"????????£¤?????a?-¡é???¨¦¡é??????3?-¡é???"},{"deadline":"2025-12-28T07:30:00","comment":"¨¦?????????¡¥?¨¨¦Ì?????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025 ?1¡ä 12 ??? 28 ??£¤???????????£¤???","place":"?1????????¡§a??¡ä?2¡è??3?¡¤¡À?o|????????o?¡§a??¡ä¨¦??¨¨???2???-?¡è??????-"}]},{"title":"2025?1¡ä????oo??¡¥¨¦???1¡ä?????????????¡è¡ì¨¨¦Ì?","description":"??¡À?1???????????oo????????o¨¦??????????¡À¨¦????¡é????¡¤??-|¨¦?¡é?¡ì??????????????¡¤???????¨¨?a??????????????????????¡è¡ì?-|?????????¨¨¦Ì??o??????£¤'??¡¥¨¨????????????????????¨¦¡é?¨¦???1¡ä?????????¨¨¡¤¦Ì????????????????¡è????¨¨¡ä¡ê??????'??o?????¡§???¨¦????¡À??¡§????¡è¡ì?-|?????3?3¡§¨¨o?¨¨?1?¡è????¨¦??¨¦¡é??????????¨¨?a¨¨o??????????????????¡§¨¦???1¡ä????o|¨¦???1¡ä??1???????o??¡è????¨¦??¨¦¡é?????o¡ì??o?????????????1??????£¤???¨¨¡¤¦Ì???2025?1¡ä??£¤\"¨¦???1¡ä??¡ã??????\"??o?|???¦Ì?????£¤¨¦?1???¨¨????¡ã???¨¨¡¤¦Ì??o¨¨??????????¡§??¡§¨¦???1¡ä??¡ä????????-????¡è???o???????o-???¨¨????o?-???o??¡¥?????¡ã?¡è????¨¦???¡À????¨¨??¨¨???????¡ã??1????1????¨¨¡¤¦Ì???","category":"competition","tags":["????????????","¨¦???1¡ä???¨¨¡¤¦Ì","?¡è????¨¨¡ä¡ê???","??¡é¨¦????????","¨¦?1????-¦Ì???"],"events":[{"year":2025,"id":"renren-cup-2025","link":"https://mp.weixin.qq.com/s/jyoGeno6EwQAUv0MI7acRA","timeline":[{"deadline":"2025-09-23T23:59:59","comment":"??£¤???¨¨?¡§????o¡è??a?-¡é"},{"deadline":"2025-09-24T00:00:00","comment":"???¨¨¦Ì?¨¨¡¥????????¡ì?"},{"deadline":"2025-09-27T00:00:00","comment":"????????£¤??¡ä?¡è?¨¨¦Ì???????????¡è?¨¨¦Ì???¡è?o???¡ä???"},{"deadline":"2025-10-15T23:59:59","comment":"?????????¨¦?1????1|???????o¡è??a?-¡é"},{"deadline":"2025-10-17T00:00:00","comment":"?o?????¡è?¨¨¦Ì????¨¨??"},{"deadline":"2025-10-25T00:00:00","comment":"¨¨¡¥?¨¨??¨¨?£¤¨¦????¦Ì??¡¥??¡§"},{"deadline":"2025-11-14T18:00:00","comment":"??3¨¨¦Ì???¡§¨¨¡¤¡¥????-?¨¨???????¡ã??o??????¨¨?¡¤?£¤??????????"},{"deadline":"2025-11-20T23:59:59","comment":"????o¡è???¨¦?1¨¨¦Ì????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???9??£¤ - 11???14??£¤","place":"????¡¤??-|¨¦?¡é????¡è???o¨¨¡¥?¨¨??¨¨?£¤??o??¡ã"}]},{"title":"ITGD?¡¤???¨¨¡¤?2025?¡é|??310km??????¨¨¡¤????????¡À¡À??o?¡¥1?????3??????","description":"¨¨¡¥£¤¨¨¦Ì??o???o????????¡ì¨¨¡ä¡§???10???¨¦??¨¨¡¤??-£¤?¡ä???¡§?????¡§??¡§????¡¥???£¤?o¡¤????¡ä???1?????????????????¦Ì????????????¨¨¦Ì?¨¨??¨¦?????¨¨?3?1¡ä¨¦??¨¦????????3?2???£¤???¨¨?370??¡§?2???£¤???????????a????1¡ä?oo¨¦???????¡è?oo?-???2???????1|???????¡ì??????o¨¨¡ã????¨¨¦Ì?¨¨?????¨¨o??????£¤?o¡¤¨¨¡¥???¡ã?????o¨¨??¨¨¦Ì????¨¨??¨¨????????????¡ê???£¤???¨¦?¡è?????¡§¨¦¡ê?¨¦???????£¤??????¨¦?¡ä???2025?1¡ä9???22??£¤12:00????¡ì?¨¨?310???10??£¤18:00??a?-¡é??????????o??????£¤??????¨¦?????????????¡ä¨¦?????¨¦¡é????¨¦??1000??a??????","category":"competition","tags":["??????¨¨¡¤?","??£¤?o¡¤¨¨????¡§","?1??????¡¥??¡ä"],"events":[{"year":2025,"id":"itgd-dreamrun-2025","link":"https://mp.weixin.qq.com/s/VYdtMhDZ_dgsREx4L5NS2Q","timeline":[{"deadline":"2025-09-22T12:00:00","comment":"??£¤???????¡ì?"},{"deadline":"2025-10-10T18:00:00","comment":"??£¤?????????"},{"deadline":"2025-10-19T09:00:00","comment":"?¡¥?¨¨¦Ì?????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???19??£¤","place":"????¡À¡À??o?¡¥1?????3???"}]},{"title":"?????o??????'?????????'a??a???1????????2??£¤?????????o¨¨?????????1????¨¨??¨¨???¡è¡ì¨¨¦Ì?","description":"??¡À?1????????2??£¤?????????o¨¨??????????¡è????????1??£¤???????a?¨¦????¡é¨¨?????????????????????1????¨¨??¨¨???¡è¡ì¨¨¦Ì??????¡§??¡§¨¦??¨¨????????¨¨??¨¨???????-???????????¦Ì???¨¨¦Ì?¨¨??\"?????????¨¦????????¨¦??¨¨¡ä¡§¨¦??????¡À??¡¤£¤?¡§?\"???????¡¥??1??¡è¡ì??¡è???¨¨?2??????????????¡ã¨¦¡ê?????¡è¡ì¨¨¦Ì??¡ä¡ì??¡ê\"??????'??????????¡¤£¤?¡§?'\"\"?¡ä????????o?¨¨?????\"\"??o¨¨?????????1????\"\"???????2-?????????\"\"?????????????1?¨¦¡ê?\"?-??o??¡è¡ì???¨¦¡é???1??????¨¦?¡é?????¡§?¡è???????¨¦??¨¦?¡ä¨¦????¡¤????????¡ê??¡ì?????¡ã?????¡ì????????¡ã??¡ì????2??£¤?????????o¨¨?????????1?????????????","category":"competition","tags":["???????1????","?2??£¤???????","??????¨¨??¨¨??","??????????¡¤£¤?¡§?","?2-?????????"],"events":[{"year":2025,"id":"guangdong-civilization-ad-2025","link":"https://mp.weixin.qq.com/s/Ue0--XIVud_l0_J5NUkUkg","timeline":[{"deadline":"2025-09-29T00:00:00","comment":"?¡è¡ì¨¨¦Ì???¡¥??¡§"},{"deadline":"2025-11-30T23:59:59","comment":"?????????¨¦????a?-¡é"},{"deadline":"2025-12-31T23:59:59","comment":"??¡§¨¨??????¡èo?????¡ê?????¡§?1?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???29??£¤ - 12???31??£¤","place":"?1???????????o???????¨¦?????"}]},{"title":"2025?¡¤????\"¨¦????????\"??????¨¦????????","description":"??¡À?¡¤????¨¦????????¨¦?1?????????????????????¨¦?????????¡ä???¡§?????¡§??¡§??o?¡¤?????????¡ã¨¦????¡è??????¨¦??\"¨¦????????\"???¨¦??¨¨¦Ì?¨¦??????????¡è??????????o-?????£¤?o¡¤??????????????????¨¨?????1?????3??¡¥??£¤??????¨¨¦Ì????¨¦??¨¨???¡¥???£¤¨¨¦Ì¡ã???3600?-£¤??????¨¦?????????????????¨¨?¡¤???¨¨??¨¨?¡¥??????¨¨¡¥??1|?????????¨¦??????????¦Ì?-??????????¨¨??¨¨??????£¤?¨¨¦Ì¡é???\"?¡¤????¨¦????????\"????????????????¡¥????????????????¨¨?????????????????¨¦?1???????¡ã?¨¦?????1?????????¨¦?????","category":"competition","tags":["??????¨¦????????","??£¤?o¡¤¨¨????¡§","????????????","?¡è???????¨¦??","?-£¤??¡ã??????"],"events":[{"year":2025,"id":"zibo-qihuibao-marathon-2025","link":"https://mp.weixin.qq.com/s/9zuIj7DNqax18pbeFrI_qw","timeline":[{"deadline":"2025-09-22T00:00:00","comment":"?¡ä???¡§????¡ì?"},{"deadline":"2025-10-05T23:59:59","comment":"?¡ä???¡§??????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???22??£¤ - 10???5??£¤","place":"?o?????????????¨¨????¡§???"}]},{"title":"??-¨¨£¤???????¨¦a?¨¨??¨¨¦Ì?","description":"??-¨¨£¤???????¨¦a?¨¨???¡¥?¨¨¦Ì???¡¥???¨¦?1?????¡¤????1???????¨¨?2????o??????¡§??¡§?oa??¦Ì??-¨¨£¤???o?o¡è50??¡§?1¡ä???¨¦??¨¨?????¨¨?2?o??£¤???¡è??????¨¨¡ã????????¦Ì?????????????????o¡è?¦Ì?????¡ä???¡§??????100???¨¦??¨¦??¨¦????????¨¨¦Ì????????o-¨¨¦Ì???¡è??a¨¦?1??????¨¦????????????¡ã¡ä?13?????????¨¨?????","category":"competition","tags":["??????","¨¦a?¨¨??","???¨¨?2","??-¨¨£¤????????o¡è?¦Ì?"],"events":[{"year":2025,"id":"china-spain-charity-cycling-2025","link":"https://mp.weixin.qq.com/s/kfdnDGRb3ljTHyws-IoznQ","timeline":[{"deadline":"2025-10-16T23:59:59","comment":"??£¤?????a?-¡é"},{"deadline":"2025-10-18T09:00:00","comment":"?¡ä???¡§????¡ì?"},{"deadline":"2025-10-18T16:00:00","comment":"?¡ä???¡§??????"}],"timezone":"Europe/Madrid","date":"2025?1¡ä10???18??£¤","place":"¨¦????¡¤¨¦?????¨¨£¤???-???"}]},{"title":"¨¨¡¤?¨¦????-????¡¤¨¨????¡§??£¤?o¡¤??????5?oo??¡é???¨¨¦Ì?","description":"¨¨¡¤?¨¦????-????¡¤¨¨????¡§??£¤?o¡¤??????5?oo??¡é???¨¨¦Ì???¡¥???¨¦?1??¡§?¡ã???£¤¨¨o??o????¨¨¡¤??-£¤?¡ä???¡§???¨¦????¡§5?oo???¨¦????¡é??????¨¦?????¨¦????¡ã???¨¨¡¤?????¡ä???¡§??¡§??¡§??¡§?1??¡ì??-|¨¨¡¤??-£¤?????¦Ì?????????¨¨????¡§?£¤??1???¡¥??????????¡è??¡ì??£¤?¨¦¡è?¨¦??????????¡ã????£¤???????","category":"competition","tags":["??????","¨¨¡¤??-£¤","??£¤¨¨o?","??¡é???¨¨¦Ì?","?o?????¡ä???¡§"],"events":[{"year":2025,"id":"run-china-health-team-2025","link":"https://mp.weixin.qq.com/s/4zQkVYxfe0nevQ5MHVS1zw","timeline":[{"deadline":"2025-09-08T10:00:00","comment":"??£¤???????¡ì?"},{"deadline":"2025-10-06T23:59:59","comment":"??£¤?????a?-¡é"},{"deadline":"2025-10-07T23:59:59","comment":"?¡¥?¨¨¦Ì???????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???8??£¤-10???7??£¤","place":"?o?????????¡§???¨¨????¡ä???"}]},{"title":"???19?¡À?¨¨??¨¨???1?¨¦???????-???a?¡é?¡¤¡À??3??????????1?????¡è¡ì¨¨¦Ì?","description":"2025?1¡ä9?????¡¥??¡§????????????¨¦???¡ä???¡§???¨¨??????????????/?¡è¡ì??????/?????-???????¡è¡ì???¨¨¦Ì??¡À?????????¦Ì????13¨¦?¡é???¨¨¡ì?¨¦¡é????¨¦?3¨¦¡é?????o???¡§????¡è¡ì????????¡é??????¨¦¡é?????????????????¡è????????1?????????¡¤???¨¨¡ì?????¡À???¡ã?¡¤¡À??3????¦Ì???1??o????¡À?????¡ã¡À??????????????¡ã?¡ä????????????¡è????????????????????3?1??????¡¥??¡ä?????¡ä??¡è???????????¡§?????????????¡ì?????????????¨¨???3??2??????????¨¨????¡§????£¤?????¡ä??-?????¡è¡ì???¨¦¡é???1??????¨¨|??¡À???????¨¦????o?????????¨¦????????????????£¤?????????????o¡è?????????/¨¦????¡À???¨¦??????????a?¡§???£¤?????o2025?1¡ä10???10??£¤???","category":"competition","tags":["????????¡ã?-????","???????1????","??????¨¨??¨¨??"],"events":[{"year":2025,"id":"sz-publicity-ad-contest-2025","link":"https://mp.weixin.qq.com/s/qhxmicvMgmPDMnUvPnm8Hw","timeline":[{"deadline":"2025-10-10T23:59:59","comment":"??????????o¡è??a?-¡é"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???¨¨?310???10??£¤","place":"?o????????¡§??????????/¨¦????¡À???+?o?????¡À??¡èo"}]},{"title":"?¡À¡À?23???????¡¤¨¦????£¤????¡è?","description":"?1??¡¤?¨¦??¨¨¡¤¡¥¨¨??????????¡¥?-|¨¦?¡é\"??|?¡¤2\"¨¨?¡À¨¨?o?¡è?????¡À???????¨¦¡é??????¡À?¡¥?¨¨¦Ì??????£¤¨¨?¡À??o???¨¦¡é??????£¤?????¡À??o¨¨????????¨¦??¨¨??¨¦???¡è¡ä??????????o????????¡¥??1??¡è¡ì???????¡¥??o¡é¨¨?2¨¨?¡ã?????????????????????????¡ã??¡ä???¡§?????????????????????¨¦????????????o¡é¨¨?2??o???????¡À?????????????????¡ä???¡§??¡ä???\"¨¨?¡À???¨¨???????????\"???\"¨¨???¡¥??o¡é¨¨?2¨¨?3¨¨?1\"???\"¨¨?¡ä????????¡¥??¡À????oo\"?????a?????¡À?¡§?????¡À???????","category":"competition","tags":["???????????¡À","?o¡é¨¨?2??????","¨¦????£¤????¡è?","?????-?¡ä???¡§","????????????"],"events":[{"year":2025,"id":"shanhe-huixiang-photography-2025","link":"https://mp.weixin.qq.com/s/F9Mq5Lnogm6uUhnVPtRAHg","timeline":[{"deadline":"2025-09-24T00:00:00","comment":"?¡ä???¡§????¡ì?"},{"deadline":"2025-10-18T23:59:59","comment":"??????????????????¨¦????a?-¡é"},{"deadline":"2025-10-21T23:59:59","comment":"??????¨¨¡¥?¨¦????????"},{"deadline":"2025-10-22T00:00:00","comment":"??????¨¨?????????¡À??¡èo???????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???24??£¤ - 10???22??£¤","place":"?1??¡¤?¨¦??¨¨¡¤¡¥¨¨??????????¡¥?-|¨¦?¡é"}]},{"title":"2025?1¡ä??-?¡À¡À????2??£¤??????????????1????¨¨??¨¨???¡è¡ì¨¨¦Ì?","description":"??£¤\"????????-?¡À¡À?¡À??????? ???????????¡À?????¡ã¨¦¡ê?\"??o???¨¦¡é???????????1????¨¨??¨¨???¡è¡ì¨¨¦Ì???????¨¨????????¨¦?¡§?¡ì????¨¦?¡é?????????????1?????????¡À¨¨¡ì?????????????????a?????????????¨¦?¡é????????-?????????????¡è?????¡è¡ì????????¦Ì?????-?¡À¡À??¡ã??¡ê?????o¨¨??????¡è????????1?????????¡¤???¨¨¡ì??????-???????¡ì??????????????-?9?¡è¡ì???¨¦¡é??????¡¥????13¨¦?¡é?????????¨¨¡ì?¨¦¡é?????????¡è?¡ì?????????¡é??????","category":"competition","tags":["???????1????","??????¨¨??¨¨??","?2??£¤???????","????????????","????????¡é¨¨¡À?"],"events":[{"year":2025,"id":"zhongshan-civilization-ad-2025","link":"https://mp.weixin.qq.com/s/qsI8jc1e3d91f3w5CQRW1g","timeline":[{"deadline":"2025-10-25T23:59:59","comment":"?????????¨¦????a?-¡é"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä????¡§?¨¨?310???25??£¤","place":"??-?¡À¡À???????o????????o¡è???"}]},{"title":"2025????¦Ì¡¤?¡ã?????¡À¡À?1????¨¦????????¨¨¦Ì?","description":"??¡§????¦Ì¡¤???????¡À???o?¡ã?????¡À¡À¨¦??????o?¨¨?¡¥??¡ã?????????????¡§?¨¦????????¨¨¦Ì??o??????o???????¡À???o?¡ã?????¡À¡À¨¦???o¡é????-??????¡À??????¨¦??????????????¨¦?????¨¨?????300??a?????????¨¦¡é?????¡¥??????£¤???¨¦???¡ã??????o????????¡À??????¨¨¦Ì??????o??¡ã?¡é???-????oo?????1?o????¨¨¡¤¡¥??????¨¨¦Ì?¨¦??????1¡ä???16??¡§?2?????¡¥?¨¨¦Ì?¨¦?1?????o????¡§?¨¦???????????21.0975???¨¦????????¨¨¡ì??¡§?2000?oo???","category":"competition","tags":["¨¦????????","??????¨¨¡¤??-£¤","?1????¨¦????????","????????????","???¨¨?2¨¨¦Ì??o?"],"events":[{"year":2025,"id":"xiaokunshan-marathon-2025","link":"https://mp.weixin.qq.com/s/XCRtVH2ob9rphNmPf3uoKw","timeline":[{"deadline":"2025-09-16T18:00:00","comment":"????????£¤???????¡ì?"},{"deadline":"2025-09-23T18:00:00","comment":"????????£¤?????a?-¡é"},{"deadline":"2025-09-30T23:59:59","comment":"??????????????????"},{"deadline":"2025-10-19T07:30:00","comment":"?¡¥?¨¨¦Ì?????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???19??£¤ 7:30","place":"????¦Ì¡¤???????¡À???o?¡ã?????¡À¡À¨¦??????o?¨¨?¡¥??¡ã"}]},{"title":"????1??¡À?????¡À¡À?????????¨¦???¡ã??1¡ä¨¦?¡é??¡ä??????¨¨¦Ì?","description":"????¡À¡À???¨¦?¡é??¡ä?-|??????????¡À¡À???¨¦???¡ã??1¡ä???????????¡À????????????????????¡ì¨¦?¡é??¡ä?¡¥?¨¨¦Ì?????¡ì????\"??£¤?¡¥?¨¨¦Ì???o?a?????????£¤¨¨????¡ã??o??????\"????????¦Ì???¨¨??????1???????????????£¤???????¡ã??1¡ä??????¨¦???1¡ä??????????£¤???2??????¨¨????1????-??¡è???a???????????o¨¦?¡é??¡ä?????????????¡À??¡èo????-|??????????13??¡ã???¨¨????¡ä??£¤??£¤??????????¡À??¡èo??????????¡è¡ì¨¨????¡ã???","category":"competition","tags":["???????¡¥?¨¨¦Ì?","¨¦?¡é??¡ä?¡¥?¨¨¦Ì?","¨¦???¡ã??1¡ä¨¨?o??¡¥","¨¦?3?1????¨¨?2","??????¨¨?o??¡¥"],"events":[{"year":2025,"id":"foshan-piano-contest-2025","link":"https://mp.weixin.qq.com/s/wwszD-MizrN0k0iSoKcO_A","timeline":[{"deadline":"2025-09-12T00:00:00","comment":"??£¤???????¡ì?"},{"deadline":"2025-11-03T23:59:59","comment":"??£¤?????a?-¡é"},{"deadline":"2025-11-15T00:00:00","comment":"???¨¨¦Ì?????¡ì?"},{"deadline":"2025-11-30T23:59:59","comment":"???¨¨¦Ì???????"},{"deadline":"2025-12-05T00:00:00","comment":"??3¨¨¦Ì?????¡ì?"},{"deadline":"2025-12-20T23:59:59","comment":"??3¨¨¦Ì???????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???12??£¤ - 12???20??£¤","place":"????¡À¡À???¨¦???¡ã??1¡ä?????????"}]},{"title":"??¡ã¨¦?????????????o??¡À?£¤?¨¨¡¤?????????????¨¨??","description":"??¡ã?¡¤?¨¦????????????????????¨¨¡¤¦Ì?¡ä???¡§??????????¡è???a??????¨¦?1??????\"?¡é|??31???¨¦??\"????????????¨¨¡¤????2016-2019?1¡ä?¡ä¡¥¨¨????????¨¨??4000??????¨¦???oo?¡ê???????¨¨??20???¨¦??¨¨¦Ì??¡§?????-1¨¦????????105650?????????\"?????¡è??????????-??-?\"??3??¡À?-¡è???????????£¤?¡ä???¡§???2023-2025?1¡ä?¡ä¡¥¨¨?????¨¨¦Ì?105000?????¡§?o???1???¨¦???¡À??-??-??o¡¤¨¨?-¨¨?£¤?????????\"??¡ã¨¦???????????\"??????¨¦?1???????¡ä¡¥¨¨???????£¤220000?????¡§?o??¡ì??¡è???o?2??¡è???????¨¦?2?2?¨¨?????????????o¨¨?????????¡ã??????-??????¨¦??¨¨??\"??????+¨¦????????\"????????¡ã?¡§????????¡ã???????????????¦Ì??1?¡è??o??¡¥??????????¨¨???????-???","category":"competition","tags":["¨¦??????????????","????????????","??3??¡À?-¡è??????","????????¡¥???","??????¨¨¡¤??-£¤"],"events":[{"year":2025,"id":"lanzhou-marathon-charity-2025","link":"https://mp.weixin.qq.com/s/ODbe2pCrZgoAr70tral34Q","timeline":[{"deadline":"2025-06-01T00:00:00","comment":"??¡ã¨¦?????????¡ä???¡§??¡¥??¡§"},{"deadline":"2025-06-15T00:00:00","comment":"??¡ã?¡¤????¨¦??¨¦????????¨¨¦Ì??o???????"},{"deadline":"2025-12-31T23:59:59","comment":"?1¡ä?o|??????¨¦?1?????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä6???1??£¤ - 12???31??£¤","place":"??¡ã?¡¤??????????¨¨??????????¡ã"}]},{"title":"Empire Code Technovation Girls 2026 | ??¡ã???????£¤3????¡ì?????????¡ã???¨¨¦Ì???1¨¨?-","description":"Empire Code?????????Technovation Girls 2026???¨¨¦Ì???1¨¨?-¨¦?1???????????o8-16?2??£¤3?-?¨¨??¨¨????????¨¦???¡ì?????????¡ã????????????¨¨¦Ì??????????¨¨???¡ã???????4-5?oo??¡é¨¦?????¨¨??¨¨???????????¨¨¡ì¡ê??3??¡ã?????????¨¦??¨¦¡é?????¡ì???¡§?o???¡§?¡§??o?????1?¨¨??¨¨????¡§????¡À??¡èo??????¨¨¦Ì????????o???¡§?????o?????¡§?o?????o¡è?????¦Ì???????¡§??????????¨¨?????????????????¨¨¦Ì???¡§????-????¨¨???-|?1????Empire Code?????o??¡ã????????????????¡§???1¨¨?-??o????????¡§¨¨¡¥o??¡ä?o3?????o????23¨¨¡ã¡¤?????o??????14???¨¨¡¥??¡§????30?¡ã??????????????????1¨¨?-??????2026?1¡ä1???12??£¤????¡ì??????1¨¨?-¨¦?1?????????MOE?3¡§?????1¨¨?-???????¡¥??????¦Ì???AI???MIT App Inventor??????¨¦?????¨¨¦Ì????¨¦a????2025?1¡ä???Empire Code??¡é¨¦????¡§Technovation Girls??¡§????????3¨¨¦Ì???-¨¨?¡À¨¦¡é?¨¨????o????¡À???¡ã?o??-|?????????¨¦??????o???????¨¨¡¥£¤¨¦?1?????o?£¤3?-???????STEM???¨¨??????????¡ã???¨¦a????DSA??3¨¨¡¥¡¤??????¨¦??¨¨¡¥???????","category":"activity","tags":["?£¤3????¡ì????","?????¡ã???¨¨¦Ì?","????¡§???1¨¨?-","?¡ì???¡§?o???¡§??????","STEM???¨¨?2","??¡ã??????","Empire Code","¨¦???¡ã??1¡ä???¨¨?2","?¡ì??????????","??¡§??????¨¨¦Ì?","MIT App Inventor","??¡ì????¡è???????"],"events":[{"year":2026,"id":"empire-code-technovation-2026","link":"https://empirecode.co/technovation-2026/","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"??£¤?????a?-¡é???¨¦?¡ä"},{"deadline":"2026-01-12T00:00:00","comment":"??1¨¨?-¨¨¡¥??¡§?????¡ì?"},{"deadline":"2026-04-20T17:00:00","comment":"¨¦?1???????o¡è??a?-¡é"},{"deadline":"2026-10-31T23:59:59","comment":"???????3¡ã????????£¤??¡ä¨¨??¨¦??¨¨¡¥¡¤??????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä12???-2026?1¡ä10???","place":"??¡ã??????¨¨¡¥o??¡ä?o3?????o????23¨¨¡ã¡¤?????o"}]},{"title":"GeeksforGeeks Women Code to Win 2025 | ?£¤3??¡ì????¡§????¨¨¦Ì?","description":"GeeksforGeeks Women Code to Win 2025??¡¥???¨¦?¡§??o?£¤3??¡ì??????¨¨???????????????¡§????¨¨¦Ì??????¡§??¡§???¨¨???????¡¥¨¦¡é?????????¡ì????¡è????????????o?£¤3??¡ì?¡§??o???????????¡À??¡èo????¡§????¨¨??????13??¡ã???¨¨¡¥£¤???¨¨¦Ì?¨¦?¡é?????¡§????£¤3??¡ì??????¨¨?????????????¦Ì???????3??????¡ã????????????¨¦??¨¦¡é?¨¨¡ì¡ê??3?-??¡è???a?????¡¥¨¦¡é??????????¨¨¦Ì?¨¨???¡ã?¨¦?¡é?¡¥1????3????????¡§??????????¨¦??¨¨??¨¨¡ì¡ê??3???¨¦??¨¦??¨¦¡é???£¤?¡À??¡èo¨¨?a?¡¤¡À????????¡¥¨¨???????????¨¨¦Ì???????????????¡ã???????£¤???????¨¨????o???¨¨¦Ì?¨¨???????????¨¨????????????o¡è?¦Ì????¨¨?¡¤???¨¨?????????¡¥??????o??????GeeksforGeeks?????o??£¤???????????¡¥???¨¨?2?13??¡ã???¨¦??¨¨?????????-¡è?¡À????¨¨¦Ì?¨¨?¡ä????o??????¡ä?????¡¥¨¨??????????¡ì????¡ê???????¨¦????¡À??¡ä?¡è??£¤3??¡ì????????¡ã????¡§?????????¡¥?????¡ã??-??£¤?????o?£¤3??¡ì?????¡¥?oo??????¨¨?????????¡À????¨¦????¡ä?¡è???o??????","category":"activity","tags":["????¡§????¨¨¦Ì?","?£¤3??¡ì??????¨¨??","????3???????","??¡ã?????????","?????¡¥???¨¨?2","??¡ì????¡è???????","????¡§????¨¨??","¨¦??¨¦¡é?¨¨¡ì¡ê??3","¨¨?????????¡À?","?????¡¥?????¡ã","??¡§??????¨¨¦Ì?","?£¤3??¡ì?¡§??o????"],"events":[{"year":2025,"id":"geeksforgeeks-women-code-to-win-2025","link":"https://www.geeksforgeeks.org/hack-a-thon/women-code-to-win-2025","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"???¨¨¦Ì??????-¨¨??¨¨????-"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"?o???????¨¨¦Ì??13??¡ã"}]},{"title":"Technovation Girls ??¡§?????????¨¨¦Ì? | ?£¤3????¡ì?????????¡ã????????????¨¨¦Ì?","description":"Technovation Girls??¡¥?????a¨¦?¡é???8-18?2??£¤3?-????¨¦???o??????¡ì??????¨¨¡¤¡§??¡ì?????????¨¨???????¡§?????¡ì?¡ì?????????¡ã????????????¨¨¦Ì????¨¨¡¥£¤???¨¨¦Ì??¡¥??1¡ä???8????????-??¡ã????1¡ä4????????????¨¨??????????¡é¨¦??????????¡§?????¡¥??????¨¨¡ì¡ê??3?¡è???o¨¦??¨¦¡é?????????¡ã??1???????-|?1?????¡§??????????¨¨?????????????????¨¨¦Ì???¡§????-????¨¨????????¨¨¦Ì??????¡§???¨¨¡ä1?????????¨¨????¡¥??£¤¨¦??¨¨???????¡ã???Technovation???????????¡À?1?¨¦?¡§??????????1???¡¥??£¤¨¨????????????????????¨¦?1???????o¡è??a?-¡é??£¤?????o2026?1¡ä4???20??£¤??????5??1????¡èa?13?¡ä????¨¦?¡ä?????????¨¨¦Ì??????o?-|????????????????oo??????¨¨??????¡¥????¨¦?1???¨¦¡é??¡¥?¨¨??????????????????????¡ä??¡¥????????a??¡ä?o|?????¡§??¡§??1???????????¡ê?£¤3??¡ì?¡ì????¨¦¡é?¨¨¡é???????????£¤3?-???¡§STEM¨¦¡é??????????????o|???¨¨?a?????????¨¦??¨¨???????¡¥?????¡ã¨¨¡ì¡ê??3??¡ã????¡è????¨¦??¨¦¡é????","category":"activity","tags":["?£¤3????¡ì????","?????¡ã???¨¨¦Ì?","????¡§??-|?1?","?????????¨¨?2","STEM???¨¨?2","??¡§??????¨¨¦Ì?","?¡è???o?????¡ã","?????¡¥??????","¨¦???¡ã??1¡ä???¨¨?2","??¡ì????13?-?","?¡ì????¨¦¡é?¨¨¡é?","?¡è?????????¡ã"],"events":[{"year":2025,"id":"technovation-girls-2026","link":"https://technovationchallenge.org/get-involved/","timeline":[{"deadline":"2025-08-01T00:00:00","comment":"2026¨¨¦Ì??-¡ê????¡ì???£¤???"},{"deadline":"2026-03-31T23:59:59","comment":"??£¤?????a?-¡é"},{"deadline":"2026-04-20T17:00:00","comment":"¨¦?1???????o¡è??a?-¡é"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä8???-2026?1¡ä4???","place":"??¡§????o????????o??????????"}]},{"title":"HackHERS 2026 | ????????¡¥?¡è¡ì?-|?£¤3??¡ì???¨¦¡é?¨¦????¡é¨¦????????","description":"HackHERS??¡¥????????¡¥?¡è¡ì?-|?????????¨¦?¡é????£¤3??¡ì???¨¦????¡é¨¦?????????¡ä???¡§?????¡§??¡§¨¦??¨¨???????¡¥?¡ä???¡§????¡ã???¡ì????¡¤?¨¨¡¤????¨¨??????¡ä???¡§¨¦?¡é???????????¡ì????????????????????????????????¡¥¨¦????¡À??¡ä?¡è??£¤3??¡ì???????????¡¥¨¦¡é???????¨¨¡¥£¤?¡ä???¡§??o?????¡è?¡è??????¡§??¡ã?3?¨¨£¤??¡¤???¡ã?????|??????????????¡¥?¡è¡ì?-|College Avenue Student Center???¨¨??????¡ä???¡§?????¡§???¨¨¡ä1?????o????-|¨¨????????????£¤?????-|?1???¡¥?¡é????????????¡§?¡è?????¡¤£¤???????????????¨¨??????¡¥??????¡ã??o?-?????-???¡¥????????????¨¨????¡¥??£¤??????????¡è?4?oo?????¡é¨¦???????¡§?¡ä???¡§??-?-|?1?????¡§?????????o¨¦?1???????¡ä???¡§??o¨¨¡ã??¡è?????????¡é¨¦?????¨¦??¨¨|???¡ì???¨¨?¡è??o????¡ã??????¡¥¨¨???????¡ì????¡¤?¨¨¡¤?¨¦??¨¨|????????oo?????¡À????????????","category":"competition","tags":["?£¤3??¡ì¨¦????¡é¨¦????????","????¡§????¨¨¦Ì?","?????¡¥???¨¨?2","??¡ì????¡è???????","????????¡¥?¡è¡ì?-|","??¡ã?3?¨¨£¤??¡¤?","????-|¨¨??????£¤?","??¡é¨¦????????","?????¡¥?¡è???o","???¨¨¡ä1?¡ä???¡§","?¡¤£¤??????","?¡¥????????¡¥?"],"events":[{"year":2026,"id":"ruther-hackhers-2026","link":"https://ruhackhers.org/","timeline":[{"deadline":"2026-02-07T23:59:59","comment":"¨¦????¡é??3¨¨¡¥¡¤??a?-¡é????¡ä???¡§????????¡§???"},{"deadline":"2026-02-14T09:00:00","comment":"¨¦????¡é¨¦????????????¡ì?"},{"deadline":"2026-02-15T17:00:00","comment":"¨¦????¡é¨¦??????????????"}],"timezone":"America/New_York","date":"2026?1¡ä2???14-15??£¤","place":"????????¡ã?3?¨¨£¤??¡¤???¡ã?????|??????????????¡¥?¡è¡ì?-|College Avenue Student Center"}]},{"title":"????????¡À??????¨¨¡ì??1??????o | ?????????????????????¨¦??¨¨|???¡§????????£¤","description":"?|???????¨¨¡ì??1??????o??o¨¦????????¨¨¦Ì¡¤????????????????¡ä???¡§????2?????oo?????£¤?¡ã¡À??¡¥¨¨?¡À¨¦???????¡ä???????oo??¡§?13??????????¡ä???-??o????oo??o¨¨o?¨¨????o?????¡§?13????1?¨¨o¡¥¨¨??¨¨?¡À¨¦???1??o??????£¤????oo??????¨¨¡¥?¨¦???oo¨¦?¡ä?¡è¡ì??¡À???¨¨¡ì??1??????o?2??£¤???¡¥??-????¡ã?????1????¨¨¡ì????¨¦2?????????¡ã?????¡¥?¡è????????1?????????¡¤???¨¨¡ì????¨¦??¨¨|??????1?????¡ä??¡¥??¡ã?????¡ê?????¡è???¨¨?¡¥?£¤??¡è????¨¦¡ê??¡ã?????????????????¡ä???¡§??¡§??¡§??o¨¨¡ì??1??????o?oo????-1¨¦????¡À???¨¨¦Ì?¨¦?????¨¨?¡ä???¨¨?¡À¨¦??????????¡è???¨¨?¡¥???????????1??????????o?????????????¨¦??¨¨??¨¨??¨¨?¡¥?????????????¡ã??¡§??o????????o?????????????¨¨???3??oo???¨¨¡ã¡é?£¤3?¡ê?15829476411???¨¦???£¤3?¡ê?18609121660?????¡ã???????|????????|?¨¦?3??o????¡À?¨¨¡¤¡¥???¨¦????¡ã¨¨¡¤¡¥?o¡è?????¡ê?|???????¨¨???o?¨¦????¡é¨¨¦Ì??o??????????????????¡¤?£¤?????£¤????","category":"activity","tags":["¨¨¡ì??1??????o","????????????","?|???????","??¡À?????????","¨¨??¨¨?¡¥??????","¨¨?¡À¨¦???2??£¤?","?¡è????????1?????????¡¤???¨¨¡ì?","??????","??o¨¦?????","?o??????????","?o??????????","?|???????¨¨¡ì??1??????o??o¨¦?????"],"events":[{"year":2025,"id":"yulin-heroic-deed-fundraising-2025","link":"https://mp.weixin.qq.com/s/ZcwHA0tyTdFi4klT9zzCkQ","timeline":[{"deadline":"2025-09-11T00:00:00","comment":"???????¡ä???¡§????¡ì?"},{"deadline":"2025-11-30T23:59:59","comment":"???????¡ä???¡§??????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???11??£¤¨¨?32025?1¡ä11???30??£¤","place":"?|???????"}]},{"title":"10????-|??????????¡ä???¡§??£¤????????¡¥","description":"¨¨???????¦Ì¨¨?????????¦Ì¡¤????¡ã????????o?????????????¨¨¡¥-?-|?????????????-|??????????¡ä???¡§??£¤????????¡¥???11???22??£¤?????¡§??-??????¨¨???????¦Ì?¡ã?????-|?????¡§??¡è????????-????????????????1¡ä????¡ä???¡§?????o?-|??????????????¡ã?¡¥??¡è????????????????¨¦a???o???????¡ä???¡§?¡À?¨¨???o??¡è???a??£¤????????????????????????\"???????????????\"¨¨¡ì?¨¦???oo?¡ê???????¨¦?1??????\"??¡À???¨¦??\"???????¡ä???¡§???\"????????¦Ì¨¨???????¡è\"??¡¥????¡ì????¨¦?1??????\"????¡ä2???¨¦¡ê??¡è?\"??¡¥?????-????¡À????¨¨?????\"????¡¤?\"??????¨¨¡ä-????13??¡ã?????£¤???\"Where East Meets West??-¨¨£¤???????¨¨?????\"???????o¡è?¦Ì?¨¦?1??????¨¨???????????????1¡ä?????¡§??¡§¨¨???-|??????¨¦??¨¨????????????¡ì????????¡ä???¡§?????1????¡è????¨¨¡ä¡ê??????????????????¨¨¡¥???????¨¦a?????????¡é??????????????????????o?¨¨¡ì¡ê???????o????????¡è???????????¡À?????¡ä???¡§?¡ã???o??????????-|????????????¨¨¡¤¦Ì??o??????¨¨??????????¡§¨¨???????????????¡ã???¡ä??-?-|?1?????????£¤¨¨¡¥??????1???????oo??o?1?????????????","category":"activity","tags":["?-|?????????","??????????1¡ä???","¨¨???????¦Ì","????¦Ì¡¤","??¡è????????-","?????????¨¨¡¥-?-|???","???????????????","????????¦Ì¨¨??","????¡ä2???¨¦¡ê??¡è?","??-¨¨£¤???????¨¨?????"],"events":[{"year":2025,"id":"student-welfare-carnival-2025","link":"https://mp.weixin.qq.com/s/an2-P3yuaNjb5k35aTvlog","timeline":[{"deadline":"2025-11-22T09:00:00","comment":"??????????1¡ä????¡ä???¡§????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä11???22??£¤","place":"????¦Ì¡¤??¡è????????-"}]},{"title":"????????????????2?¨¦????£¤??? | \"?-1??????¨¨¦Ì??o???¡§???\"?o?????¡¤£¤??????","description":"????o????¨¦??????????o¨¦??????????????2025?1¡ä¨¦|?¨¦???¡¤£¤??????????????¡ä¨¦?1????¡è??????????¨¨???¡¤£¤¨¨????????????3??????1¨¨?-¨¦?1???????????????????2?¨¦????????????¡¤£¤??????¨¨????|\"?¡À????¨¨??¨¨3??o???¡§???\"???¨¦¡é??????¡§??¡§???????¡è??????????¨¨???¡¤£¤?????????¨¨???????????¨¨¡¤¦Ì???¨¨??????¡ä???¡§??¡À???¨¦a???¡ã?¡¥????????????¡é¨¦??????????????????2??????????????oo????????????????????????¨¦1????????o?????¡ê???¡¤?¡è??????????????¡À???-??????????o????¨¦??????????o¨¦?????????o?¨¦??¨¨?????????¡ì??oo/????o????????¡¤£¤???????¡ã?¨¦??¨¨?????¨¨?o¨¨?2¨¨¡ì¡ê?????????????????????¨¨¡¤¦Ì???????-??¡è??¡ì???¡é??????????????????¨¨?????????¡À?????-???£¤?????????¨¨¦Ì??o???¡ä?????????¨¨¦Ì??oo??3?3???¡ä??¡è?-??????????¨¨???????o?¡è???????????????¡¥?????-????¡À???????????????¡¥??????","category":"activity","tags":["???????2?¨¦??","?¡À??????1¨¨?-","¨¨¦Ì??o???¡§???","????o????¨¦??????????o¨¦?????","¨¦|?¨¦???¡¤£¤???","?¡è??????????","¨¨???¡¤£¤¨¨???????????","?o?????¡¤£¤??????","????o?????¡ê???¡¤","????????1¨¨?-"],"events":[{"year":2025,"id":"fundraising-resource-mobilization-workshop-2025","link":"https://mp.weixin.qq.com/s/p1b_Pg1TRvLf6OAAH_nV6Q","timeline":[{"deadline":"2025-10-17T14:00:00","comment":"?¡¤£¤??????????¡ì????¨¦?¡ä"},{"deadline":"2025-10-17T16:30:00","comment":"?¡¤£¤???????????????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???17??£¤","place":"????o?"}]},{"title":"?¡ä???¡§??£¤?????¡§????1|¨¦|???|??£¤???????o2?-???????¨¦??¨¨¡¥????????¡ä???¡§????¡ì???£¤?????|~","description":"???¨¦????o????1|¨¦|???????¨¦????o?¡À??¡À¡À??-????1??????-¨¨????????¨¨¦Ì¡¤???\"?1|¨¦|???|??£¤???\"?3????????????¡ì??????¨¦??¨¨¡¥??¡ä???¡§????¡ä???¡§??¡§??¡§??¡ã?¡¥??-??-???????¨¦??¨¨¡¥?????¡ä???????????1???????¨¦??¨¨¡¥???¡ä¨¨?¡ê?????1????????£¤??????¨¦??¨¨¡¥??1???¡¥???¨¨???-??-??????¡À??????????????¡À???¨¦??¨¨¡¥????????????o???¨¦?????????o2?-?¨¦??¨¨¡¥??????1?3?????¡¥???????????¡ä???¡§???¨¦¡é???o?????¡ã???????¡ì??¡è?????????????\"????-???????\"???????o????\"¨¨??¨¦??????¡ì??¡è?¨¨??¨¨????2\"?-??2?????????1???¨¦??¨¨??¨¨?2????¦Ì??????????¨¦?¡é????????¡§???????o?¨¨¡ì?¨¨?2????¡ã?¨¨?a???¨¨??????????3??¡§??¡¤???????????????¨¨?2?????????¨¨??????-????¨¨?2????1?¨¨????£¤?????-????¡ä???¡§??¡À?¡À??¡À¡À??-????1??????-??¡¥??-¨¦????????¨¨?¡À¨¨?????????¡¥????¨¦?¡é???3-6?2??????£¤?????????¨¦?????¨¦??20???????o-?????????","category":"conference","tags":["?o2?-?¨¦??¨¨¡¥?","??????????o?","???????¡ä???¡§","?????£¤???¨¨?2","???¨¦????o????1|¨¦|?","?¡À???-???","?1??????-","?¡ì??¡è????¨¦¡é?","????o-???¨¨?2","¨¦??¨¨¡¥???¡§?1?"],"events":[{"year":2025,"id":"shuixiang-runtongxin-reading-activity-2025","link":"https://mp.weixin.qq.com/s/IfUZGvq58EkqW2YOplAU1w","timeline":[{"deadline":"2025-10-11T23:59:59","comment":"??£¤?????a?-¡é???¨¦?¡ä"},{"deadline":"2025-10-12T10:30:00","comment":"?¡ä???¡§????¡ì????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???12??£¤","place":"???¨¦????o????1|¨¦|??o??£¤??¡ã????¨¦??¨¨¡¥???o"}]},{"title":"?????¡ã¨¨o?¨¨?1??????a??a???????o?????¡À??????¨¨?2?o¡ì","description":"??o??¡ã?¡¥???¡è???????????????????¡ä????????????????¨¨?o??¡¥?¡ä????????????¡À???????¡ã¡ä?13?????1?????¡¥???????????¡§?1??????o?????¡À????¡¤¡ì?????¡§¨¦???¡è¡ä¨¨?¡ã?????¡è???¨¨?a???¨¦¡ê????????oo???¨¦¡ê???????????¡À?????¡ã¡À?????¡À??¡è???????????????????¡À??????¡è???????????¡À?????????¨¨??????????????¨¦?¡é?????¡§????1??¡è¡ì?????o?????¡À??¡À?£¤?¨¨??????1¡ä¨¦?????¨¦????????¨¦????¡¤?¡è????????????¡À??o?????????¨¨?2¨¨???????¡§?????¡¥??¡è????????¡ã?a????????????¡¥???¨¦?????¨¦?¦Ì?1?????????¡¥??????????????????¨¦?????????o???¡ã¨¦????¡ê????????¡À¨¨¡ì??-?????????????????-??¡¤£¤??????","category":"activity","tags":["?????o?????¡À","??????¨¨?2?o¡ì","?????¡À????¡¤¡ì","¨¨?o??¡¥???¨¨?2","????????????","??¡è??????","¨¨¡ä¦Ì?¡¤?","?????¡À??????","??¡ã?a????","¨¨?o??¡¥?¡ä????"],"events":[{"year":2025,"id":"mobile-photography-fenggang-2025","link":"https://mp.weixin.qq.com/s/alFnQvwwHaLHt_b7J8KCIw","timeline":[{"deadline":"2025-10-10T19:00:00","comment":"?¡ä???¡§????¡ì????¨¦?¡ä"},{"deadline":"2025-10-10T21:00:00","comment":"?¡ä???¡§?????????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???10??£¤","place":"??¡è???????¡è¡¤?¡¤?¨¨???¡è?"}]},{"title":"??£¤?o¡¤?????? ??|?o?????¡ä? ?1??3??¡ã?????o?¨¦??¨¦??¨¨?|¨¨¡¥?¨¦£¤?¨¦¡ê???£¤?o¡¤??¡ê????3????¨¨?2?o¡ì","description":"??o????????£¤?o¡¤??£¤¨¨¡¥???????????¡À??¡ã?????¡ä?¨¨¡ä¡§¨¦??????¦Ì¡¤?¡¤????¨¦?¡§????????-???????¡À??3??¡ã???????????2??????????¨¨?2?o¡ì?????¡À????o?¨¨???1¡ä???¨¦?¡é??¡¥?????????????¡ì?¨¦????????????????¡è????????¡À??????¨¨?2????¡¤¡À?o|¨¨????|?3??¡ã???????????2??????????????????o?¡è¡ì?????|??£¤?¡ì??-|????????¡§????????????¨¦£¤?¨¦¡ê?????¡¥??????¡ã??o¨¨??????¡è??????????????¡ä???¡§¨¨??40??-??????¨¦¡é??o|???¨¦¡é???????¨¨¡ä1?????????","category":"activity","tags":["?3??¡ã??????????","??£¤?o¡¤¨¨?2?o¡ì","¨¦£¤?¨¦¡ê?????¡¥?","¨¨?£¤????2????","???????¡ä???¡§","?¦Ì¡¤?¡¤???o","????o?","¨¨???1¡ä??£¤?o¡¤","??¡é??¡ì?????????","??£¤?o¡¤???¨¨?2"],"events":[{"year":2025,"id":"diabetes-diet-health-lecture-2025","link":"https://mp.weixin.qq.com/s/w6dpOUQpGBmerl9cl6HxVw","timeline":[{"deadline":"2025-10-10T14:00:00","comment":"?3??¡ã?????o?¨¦??¨¦??¨¨?|¨¨¡¥?¨¦£¤?¨¦¡ê???£¤?o¡¤¨¨?2?o¡ì????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???10??£¤","place":"?¦Ì¡¤?¡¤????¨¦?¡§????????-???B?o¡ì??????¨¦|??o??¡À?508?????¡è????¦Ì¡¤?¡¤???o????3?¨¨¡¤¡¥47??¡¤???"}]},{"title":"?????¡ã??¡¤?¡è??3???????¨¦?1¨¨?2?o¡ì???????o?????o?????????¡¤?¡è??¡ä???¡§??¡¥??????¨¨??","description":"??????¨¨?2?o¡ì??¡§??¡§?3?????¡é3?????¡¤?¡è??¡ä???¡§??-?¡ì??-|?????¡¥???????????1?3?????-¡ê????????¡¥??????¨¨?????¨¨???¡¥?????????¡¤?¡è?¨¨????¡§??¡À?£¤?¨¨????¡§?¡è¡ì¨¨?a?????-?????¡ã???¨¨¡ã???¡À?¡è??????1????????¡À??????¨¨?????¨¨¦Ì?????¡À¡À??¡ã??¡¤?¡è?¨¨????¡§??1¨¨?-???????????????¨¦???¡è???????¨¨?2?????¡§?1?\"?¡ì??-|????????¡§?????¡¥????????????\"?????¡¤?¡è??????¦Ì???????¦Ì¡¤???????¡À¡À??¡¤?¡è?¨¨????¡§???????????????¨¦?¡é?????¡¤?¡è???????¨¨???????¡¤?¡è?¨¨????¡§??¡À?£¤?¨¨????????¨¨¡ä1????????????¨¦¡é?60?oo???","category":"activity","tags":["??¡¤?¡è?¨¨????¡§","??¡¥??????¨¨??","??????¨¨?2?o¡ì","????¡À¡À??¡¤?¡è?","¨¨?a????????¡è","??¡¤?¡è????¨¨?2","??¡§?¦Ì|??o","????¦Ì¡¤","?¡è???|?¡è¡ì?-|","??¡¤?¡è???1¨¨?-"],"events":[{"year":2025,"id":"outdoor-environmental-skills-lecture-2025","link":"https://mp.weixin.qq.com/s/D0NB0qtWzbezj4Oc6WcZ5Q","timeline":[{"deadline":"2025-10-12T14:30:00","comment":"??¡¤?¡è??¡ä???¡§??¡¥??????¨¨??¨¨?2?o¡ì????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???12??£¤","place":"?¡è???|?¡è¡ì?-|???????-|¨¦?¡é??????¨¦?¡é??o?????????¨¨¡¤¡¥558??¡¤???"}]},{"title":"???¨¨¡¥-?????? ?1???¡ä???¨¦??","description":"?????o??1????????????¨¦?3?1?????????o?-¡è???????????£¤???????¡À??¡èo?13??¡ã??????????????£¤???????????????????-??-?????¡ã???¡§¨¦?3?1????¨¨??¨¨1????¨¦????-??¡À???¨¦??¨¨??¨¨?o??¡¥???????¡À???¡ã?????????¨¨??¨¨???????????????????????????¡ä???¡§???????????a?¡¥???????¨¨?o??¡¥???????¡¤?????¦Ì??¡À¨¦?¡ê??????????1?????¡¤?????¦Ì?¡¥1¨¨¡¥???????¨¨????£¤????¡¤??¡À????????????","category":"activity","tags":["?-¡è???????????£¤","??????¨¦?3?1????","¨¨?o??¡¥??????","????????????","?¡¤¡é?1?","??????","?????????","????????????","??1????????£¤??3??¡À"],"events":[{"year":2025,"id":"star-wishes-music-concert-2025","link":"https://mp.weixin.qq.com/s/jLWAuyfvQrD2xVTzS486lA","timeline":[{"deadline":"2025-10-18T14:00:00","comment":"????????¡À???¨¦?3?1????????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???18??£¤","place":"????????????¨¨?£¤???"}]},{"title":"????¡¥1¨¦£¤-????¡§3¨¨???3?a??a????¡§??¡¥¨¨?£¤????????????????3??¡ã??????£¤?o¡¤?????????????¡ì????¨¨?2?o¡ì","description":"?1?¨¦???o-¨¨??¨¦??????????o¨¨??????????-?????????????3??¡ã??????£¤?o¡¤?????????????¡ì????¨¨?2?o¡ì?????1¨¦??¨¨?£¤????????o?¡è???o¨¦??¨¨????|??£¤??????????3??¡ã????¨¦£¤?¨¦¡ê?????????£¤¨¨¡¥????¨¨?2?o¡ì?¡ã?¨¦¡é?¨¨|???????¨¨?¡è??£¤?????????\"¨¦£¤£¤¨¦£¤?????3?\"????-|?1??|????\"???¨¦£¤¡À????£¤?\"?1?¨¨???¡§3???¨¨???3????¨¦??¨¨??\"??¡§??¡¥¨¨?£¤?????????\"?????¦Ì????????¡ä????????1?????£¤?o¡¤?????¦Ì?????¡ã??o??????\"???????3????\"???\"¨¦¡è??????-¨¦??\"?-??????¡§¨¦£¤?¨¦¡ê?¨¨¡ì????????¡¤¡ì????????????¨¨¡ì????\"????3?\"¨¦?¡¤¨¦?¡À??????????3??¡ã??????¡ê¨¨???¡ì??-|??????¨¨???3???????¨¦??????¡ä?¨¨¡ä¡§¨¦?????","category":"activity","tags":["?3??¡ã??????????","??£¤?o¡¤?¡ì????","¨¨?£¤??????¨¨?2","??????¨¨?2?o¡ì","¨¨???1¡ä??£¤?o¡¤","¨¦£¤?¨¦¡ê?????¡¥?","?¡è???o??????","????¡À???o","?1?¨¦???o-¨¨??¨¦??"],"events":[{"year":2025,"id":"diabetes-nutrition-lecture-2025","link":"https://mp.weixin.qq.com/s/IgrXjXOjIB3bR20j7jc9uQ","timeline":[{"deadline":"2025-10-10T09:00:00","comment":"???????¡ì????¨¨?2?o¡ì????¡ì?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???10??£¤","place":"????¡À???o??????¨¨¡¤¡¥288????1?¨¦???o-¨¨??¨¦??????????o¨¨??????????-???"}]},{"title":"2025??¡§?????£¤¨¨o??????????????¡ä???¡§a??a???1????¨¦?¦Ì¨¦?3???","description":"¨¨¡ä¡¥???¨¨????????¨¨?2????¡À??¡è??????-?????3?o???????????¡À?2025?1¡ä\"??¡§?¡ã???£¤¨¨o?????????????--??¡§?????£¤¨¨o??????????????¡ä???¡§\"????2??£¤??????¡§¨¦?¡é¨¨¡ä¡¥???¨¨?????D?D?????D??¡ì???3?o?\"???¨¨????¡è??????¨¨?2????????????¨¨?2??¡§¨¦?¡é?????????????????o¨¨?????¨¨?2??o???\"????|???¡è????¡¤¡À??£¤¨¨¡¤¦Ì¨¨??\"??£¤?o¡¤??-???2030\"???????????£¤?????¡§?¡ã???£¤¨¨o????????????£¤???¨¨????£¤¨¨o????????????o??¡ä?¡è?????¡ì???¡ã?????¡ê?1??|?????o??3????","category":"activity","tags":["??£¤¨¨o???????","???????¡ä???¡§","??¡§?¡ã???£¤¨¨o?","???¨¨?2????¡À?","¨¦?¦Ì¨¦?3","?1????","????????????","????????????","??£¤?o¡¤??-???2030","???¨¨?2??o???"],"events":[{"year":2025,"id":"national-fitness-yoga-shaoyang-2025","link":"https://mp.weixin.qq.com/s/RDzOS6i6dZZWQxY3WdLBkg","timeline":[{"deadline":"2025-10-09T23:59:59","comment":"??£¤?????a?-¡é???¨¦?¡ä??????100??????"},{"deadline":"2025-10-12T07:00:00","comment":"?¡ä???¡§????¡ì????¨¦?¡ä"},{"deadline":"2025-10-12T10:00:00","comment":"?¡ä???¡§?????????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???12??£¤","place":"?1???????¨¦?¦Ì¨¦?3???"}]},{"title":"2025?1¡ä???¨¨?£¤????????????¨¨?2??1¨¨?-a??a???o?¨¦?3?????o??¡¥??¡§??????","description":"???¨¨?£¤????????????¨¨?2??1¨¨?-¨¨¡¥??¡§?\"?o?¨¦?3?????o\"?-¡ê???????o??????????????¡¥????????1??1????????¡¥????????????????¨¨?3??????????33?-?10+??-¨¦?¡§??1¨¨?-¨¦?1??????¨¦????o????1?¨¨??¨¨????????????????????????????¡é¨¦??????-|??????¨¨¡ä1?-|?1???????¨¨????¡§???¨¨?????¨¦??¨¨|?????o????¨¨¡¥¡ä???¨¦????????¨¨¡ä1??????¨¨¡ä1??????¨¨¡ä1???","category":"activity","tags":["?????????¨¨?2","???¨¨¡ä1??1¨¨?-","??¡§?¡ã???£¤¨¨o?","???¨¨?2????-|","???¨¨?£¤","?o?¨¦?3??o","¨¨????¡§???¨¨??","????????????","¨¦????o???"],"events":[{"year":2025,"id":"hefei-sports-training-luyang-2025","link":"https://mp.weixin.qq.com/s/OlNN3GmNQ7sE3PFhpKuFqA","timeline":[{"deadline":"2025-10-01T00:00:00","comment":"??1¨¨?-????¡ì????¨¦?¡ä"},{"deadline":"2025-11-30T23:59:59","comment":"??1¨¨?-?????????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???-11???","place":"???¨¨?£¤????o?¨¦?3??o"}]},{"title":"¨¨¦Ì¡ê?????o??¡À??????????o??¡è¡ì¨¦?1?????????¨¨¦Ì¡¤¨¨?a","description":"¨¨¦Ì¡ê?????o??¡À???????????????¨¨??????????¡ì¨¨???¡À¡À???¨¨??????¡ã?????¡è??¡¤£¤??-??????????o??¡è¡ì¨¦?1????????o?-¡è??¡ã?????£¤??????¨¦???????£¤?????¡ã¨¦???¡è¡ì?-|????????¡ã?¡é??????£¤????-¡è¨¨¡ä?¨¨???oo?-?¨¦??¨¨|????????????¡è???¨¦???????????????????????¨¦??¨¨??????¡¥1?????3??¡À????o¡¤?¡è?¨¨?£¤??????????-|¨¦?????????¡ä???1¨¦??????2??£¤???¡ã¨¨???-??¡è??¡ì???¡é???????????o??¡§??1??????????????????????3????","category":"activity","tags":["????????????","?-¡è??¡ã?????£¤","???¨¦???????£¤","????-|¨¦??","?-¡è¨¨¡ä?¨¨???oo","¨¨¦Ì¡ê?¡¤?","??¡À?????????","?¡è??¡¤£¤??????","????????????"],"events":[{"year":2025,"id":"ganxian-aibang-five-projects-2025","link":"https://mp.weixin.qq.com/s/VIq8S3OICdvPfgijVGqJtw","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"?o??¡è¡ì¨¦?1????????-¨¨??¨¨????-"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"¨¨¦Ì¡ê?¡¤????¨¨¦Ì¡ê?????o"}]},{"title":"????¡é|????????????¨¨????????","description":"????o?????¡é|??????¨¨??????????-??????¨¨¦Ì¡¤?????????¨¨?????????¡ä???¡§???¨¦??¨¨?????????1??????1???¨¨??¨¨?£¤????????????????oo???¨¦?????¨¨???¡¤£¤???????2?????|??????????¨¦??¨¦??????¡¤£¤¨¨?o?????????????????????¨¦?¡è?o?????????????¨¨?a¨¨o?¨¨??¨¨?£¤?????¡¥?¡è????¨¨???¡ã???¡§?o?????o????¨¦??¨¦??????¡À?¨¨???oo????-¡è???????????£¤?????¡ã?¡é?¨¦???¡ã??1¡ä??3??¡À?¡ä???¡§?????¡é?¡ä¡é??????¨¦?1????????????¨¨??????¡§????????¡ã???????¨¨????o????????o????????o?????????","category":"activity","tags":["??????¨¨????????","???????1????","???????o¡ì???","¨¦??¨¦??????¡¤£¤¨¨?o","??3??¡À?¡ä???¡§","????o?","?|?¨¨????????¨¨??","?¡¤??????????"],"events":[{"year":2025,"id":"yuanmeng-volunteer-recruitment-2025","link":"https://mp.weixin.qq.com/s/fKSRVe4QFqMBxAePSB7wSQ","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"¨¦?????????????????¨¨??"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"????o???????¨¦??¨¦?¦Ìstyle?????¡ã¨¨????¡ê??-?¡è??????o???"}]},{"title":"?????£¤¨¨?????","description":"??¡À?¡À?¨¨??????|??£¤3?????£¤?|??????o¨¦????????????o?¨¨??????1??????-???????¡è?¨¨?????????????????????????????????????£¤?o¡¤¨¨??????¡ä???¡§?????£¤\"¨¨??????£¤3?-?+?o¡¤?o¡¤\"???IP¨¨????¡§??o??1¨¨?2???¨¦??¨¨???¡À?????¡¤???????????????¡é¨¨???????a?????¡§¨¨¡¥¡é?????¡è??¡ä?????o????????2¨¨?¡§???????¡¥????¨¨?o??¡¥?¡À??-???¡é????????o?|??£¤3?????£¤???????o-??????????????£¤?o¡¤?????¡è???????????????????????????????????????","category":"activity","organizer":"?¡À?¨¨??????|??£¤3?????£¤?|??????o¨¦????????????o?¨¨??????1??????-???????¡è?","theme":"???????????¡ã??¡ê?????????????????¦Ì?¡¤¡À?o|¨¨?????","features":["???IP¨¨????¡§???¨¨??????£¤3?-?+?o¡¤?o¡¤???","??¡è????o¡è¨¨?????¨¦a?","????????£¤?o¡¤?????¡è","¨¨?o??¡¥?¡À????"],"main_activities":["?¡À?????¡¤????","????????¡é¨¨??","??a?????¡§¨¨¡¥¡é","??¡è??¡ä?????o","?????2¨¨?¡§???","?¡¥????¨¨?o??¡¥?¡À?"],"services":["????????¡é¨¨???¡ä???¡§???10???1??£¤???3??£¤???5??£¤???7??£¤","??a?????¡§¨¨¡¥¡é?????????10???2??£¤???4??£¤???6??£¤???8??£¤"],"target_audience":"?|??£¤3?????£¤???????o-?????????????????¡À?£¤?¨¨??","consultation_hotline":"025-86511835","tags":["?|??£¤3?????£¤","????????£¤?o¡¤","????????????","¨¨??????1?","?¡À????","????????¡§¨¨¡¥¡é","???????¡À????"],"events":[{"year":2025,"id":"mochou-cultural-exhibition-2025","link":"https://mp.weixin.qq.com/s/Azua6TjiRFhfMvVSoZclCw","timeline":[{"deadline":"2025-09-27T00:00:00","comment":"?¡ä???¡§????1????"},{"deadline":"2025-10-08T23:59:59","comment":"?¡ä???¡§??????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???27??£¤-10???8??£¤","place":"????o?¨¨??????1??????-"}]},{"title":"????¦Ì¡¤??????¨¨??????????????¨¨????3???????????¡À???¨¨??","description":"??¡À?¡è???|?¡è¡ì?-|???????¡è??????????????¦Ì¡¤??????¨¨?????????¡ä???¡§?????¡§??¡§?¡À?¨¨????¡À??????¨¦????????¨¦????????????????????¨¨????¡ä?¡è??oo????????¡ã???????o??????-??£¤?????¡À?????o¨¨??????£¤?????¦Ì¡¤???","category":"activity","organizer":"?¡è???|?¡è¡ì?-|???????¡è?","editor":"¨¨???a????¨¦?¡§ ?????????","tags":["????????????","????????????","????¦Ì¡¤","?¡è¡ì?-|?????????"],"events":[{"year":2025,"id":"shanghai-charity-recruitment-2025","link":"https://mp.weixin.qq.com/s/UfnSnZpJ7B8tk5qcVVZSUA","timeline":[{"deadline":"2025-10-04T13:58:00","comment":"?¡ä???¡§????????????"},{"deadline":"2025-12-31T23:59:59","comment":"?1¡ä?o|??????¨¨????¡§??????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???¨¨¦Ì¡¤","place":"????¦Ì¡¤???"}]},{"title":"??????¨¨???????? | ??¡§?o??-??????1??¡À????oo?¡ê?~","description":"?¡¤¡À??3?????????????????o¨¦???????????¨¨?????????¡ä???¡§??????????13¨¦?¡é¨¨??¨¨?????????????????¨¨????????¨¨¡ì?¨¦¡é???a¨¨??????-???????¨¨?????????????£¤\"¨¦??¨¨???????¡ã????????????¨¨¡¤¦Ì?????¡é?¡ä¡é¨¦???¡¥1¨¨????¡À??¡è???????¡è??????¡¥????3????\"??o?????????????¡À??¡è¡ì????????????¨¦???¡ã??1¡ä????????£¤?o¡¤??????¨¨?2??3???????1????????????1¨¨?-?-????????????¡ã¨¦?1??????","category":"activity","organizer":"?¡¤¡À??3?????????????????o¨¦?????","founder":"¨¦??¨¨????2","positions":["?13¨¦?¡é¨¨??¨¨?????????¡è????¨¨¡ì?¨¨¡ì????????????o??????????????????¨¨¡ì?¨¨¡ì?¨¨¡ã??????????","?????????¨¨??????????????????????¡ã????????¡§????-??????¡ã????????¡§?????????????¡¥1","¨¨¡ì?¨¦¡é???a¨¨????????¨¨¡ì?¨¦¡é??¡ä??????a¨¨??????¡¤£¤????¡è????????????1¨¨????o"],"tags":["??????¨¨????????","????????o¨¦?????","?13¨¦?¡é¨¨??¨¨??","?????????¨¨??","¨¨¡ì?¨¦¡é???a¨¨??","?o????????????????"],"events":[{"year":2025,"id":"henghui-volunteer-2025","link":"https://mp.weixin.qq.com/s/VEopBwLNWDYmooiE9d_Glw","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"¨¦?????????????????¨¨??"}],"timezone":"Asia/Shanghai","date":"¨¦???????????","place":"?o????"}]},{"title":"?1?????-¡è¨¨????¡ì??¡è","description":"?¡À¡À???????1????????-?????????o¨¦????????¨¨¦Ì¡¤???????????¡ì??¡è¨¦?1????????o?1????60?2???£¤????-¡è??¡ã¨¨???oo??????????¡ä???¡ì??¡è????2??£¤???¡ã¨¨??????????????????-??????????????????o¨¦????????????o?2010?1¡ä?????¡¥5A?o¡ì?¡è??????????????¡ä¡¥¨¨?????¨¨¦Ì?¨¨??5?o????????¡¤2??????3000???????1?????-¡è??¡ã¨¨???oo???????????¡ì??¡è??????¨¨??14????oo??????","category":"activity","tags":["???¨¨????????","?1??????????","?-¡è¨¨????¡ì??¡è","????????o¨¦?????"],"events":[{"year":2025,"id":"rural-elderly-care-2025","link":"https://mp.weixin.qq.com/s/lkGvsIh4W-jkYy_mCmCM2Q","timeline":[{"deadline":"2025-03-01T09:00:00","comment":"??£¤?-¡ê??¡ì??¡è????????¡¥??¡§"},{"deadline":"2025-12-31T18:00:00","comment":"?1¡ä?o|????????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"?¡À¡À???????1??????¡ã??o"}]},{"title":"??????¨¨????????¨¨????????¨¨?????","description":"??????¨¨??22?1¡ä??£¤?¡¤2???2???+??????¨¨????¡À?????????163????oo??????¨¨?¡ä????o??????¡ã\"?¡¥???a?oo¨¦????¡¥??£¤?????¡À????¡ã???£¤????¡é|??3???¨¨?a??¡À??¡ã¨¨??¨¨¦Ì¡ã??¡§?¡è¡ì??¡ã\"???????£¤??????¡¥?????????¨¦?a??¡ä??¡ì¨¦??????????£¤????¡À????????????¡¥??????¨¨???????¡¥?????????¨¨?2?????-?-??¡è??¡À???????¨¨?????","organizer":"??????¨¨??","mission":"?¡¥???a??¡À¨¨??¨¦????????¨¦??????¡¥???a??????¨¦??????¡ã???£¤","service_types":["¨¦?a??¡ä??¡ì¨¦???¡À????????o-¨¨¦Ì¡ã¨¨??????????£¤¨¦?a??¡ä????¡è???o¨¨???oo??¡ì??¡è","?????£¤????¡À??¡À????¨¨¡¥???????????????¡ä¨¨?¡ê?¡ã??????????????¡¥?¨¨¡ì????¨¦??¨¨¡¥???¡§?1?","????????¡¥????¡À?????3????¨¦??¨¦?????????????¡§¨¨¡¥¡é???????????¡è??????????????????","¨¨???????¡¥????¡À???????¨¨¦Ì??????????¨¨??¨¨???????????????????¡¥?????????????-1???","???¨¨?2?????-?¡À????????o??????-?????-¨¨¡ì?¨¦¡é???????????????¡À??????"],"category":"activity","tags":["????????????","?¡è?????¡¤£¤???","??¡ã?¡é??????£¤","?¡è???o??????","????????????"],"events":[{"year":2025,"id":"collaborator-volunteer-2025","link":"https://mp.weixin.qq.com/s/yGQH94y4syCOhsWLFAXxWg","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"¨¦?????????????????¨¨??"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"??¡§????????¡ã?¡è???o"}]},{"title":"???????????-?¡ã¡ä???¨¨?????","description":"NGO???¨¨¡ì??¡¥????¨¨¦Ì¡¤??????????????-¨¨???????o¨¨??¨¨?????????¡¤2¨¨??¨¨????¡ã????????????¨¦??¨¨???????????¨¨¡ì¡ê+???¨¦¡é?????1?+?¡è???¡è?o¡è?¦Ì??????1????????????????????o??????????????-¨¨??????????o¨¨¡ã???£¤????????-???¨¦??¨¨|???¡ì???¨¨??????-¡ê?????¡¤???????????-??¡§???????????£¤???¨¦????????????¡¥1¨¨¡À???????¨¨¦Ì??oo?????????¨¨????????????????-?¡¥1¨¨¡¥????","organizer":"NGO???¨¨¡ì??¡¥?","mission":"????????£¤??????¨¨??¨¨???¡À??o?¨¨?a?¡¤¡À?????????????¡ê¡è???¨¨????£¤????????-¨¨????¡ã??¡ã¨¨????¡§??-","services":["??¡ã?????a?oo????o?","??¡À???99?????-??¦Ì????o?","????¡À????¨¨¦Ì??oo¨¨??¨¨¡ã?","?????¡ã?????-?????£¤???","??????¨¨¦Ì??oo??????¨¨¡ã¡é???"],"category":"activity","tags":["???????????-","¨¨???????o¨¨??","??o???????¡À?","??£¤????????-","?-1???"],"events":[{"year":2025,"id":"ngo-communication-sailor-2025","link":"https://mp.weixin.qq.com/s/qefO2G-6PHGcj-O9OtB7xA","timeline":[{"deadline":"2025-09-23T08:00:00","comment":"??????????¡ã¡ä???¨¨???????¡¥??¡§"},{"deadline":"2025-12-31T23:59:59","comment":"¨¦?????????????????¨¨??"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"?o?????¡è???¡è+?o?????¡ä???¡§"}]},{"title":"2025???????¡¥?¨¨????¡§??????????????¡¥???","description":"???????1¡ä?????-??o?1?????-??-?¨¦??????????£¤?????????¨¦????¡§\"????¡¥1?????¡ä??£¤??¡ã?oo\"?¡§??????????????¡¥???????¨¨¦Ì???¡ä¨¨???-??-??????-?????¡§?¡§?¨¦???????¡¥¨¨???o¡¥???¨¦??¨¨???¡ã??¡§??o?¨¨?¡è¨¦¡é??-??-?????????????¨¨¦Ì?????¡¥???????????-|?1?????¡ä???¡§??????","organizer":"????¦Ì¡¤?¡è¡ì??¡ã????????o¨¦?????","mission":"???¨¨????????????????????????????o?1?????-??-?¨¦??????????£¤?????????????¡ã???¡À?????¡À????¡¥???????¨¨?3?-??-????????-|?1????????¡ä????","donation_items":["????¡¥??¡À???????????¡ê?¨¨¡é????¨¨¡è£¤?-?????????????????¡ê?¨¨?¡ê¨¨¡ê¡è????¡¥?¨¨?¡ê???????¡è??£¤??????¡ä?¡¤????????-????????£¤??-?","?-|?1????????¡ä???¡§??????????¡¥?????????????????1??1?????????????????-|???¨¦¡è???????¨¨¡¤3??3???¨¨?3???????¡¥????????????|??????????oo?¡ã??o??-?"],"participation_method":"¨¦??¨¨?????????¡¥?¨¨????¡§????¡ã??¡§??o?¨¨?¡è¨¦¡é??-??-??????????????¡è????¨¨¦Ì??1?¨¦???¡¥?","features":["????¡¥1?????¡ä??£¤??¡ã?oo?¡§????","??¡§?¡§?¨¦???????¡¥¨¨???o¡¥","????¡À????¨¨¦Ì?????-?¨¨??¨¨?a","?-??????¡ì?????¦Ì?-?¨¨¡¥??1|???¨¦|?"],"coverage":"??¡§????1??????¡ã??o","category":"activity","tags":["???????¡ä???¡§","?????£¤??3??¡À","????¡¥?¨¨????¡§","?1???????¨¨?2","???¨¨¦Ì????¨¨¦Ì?"],"events":[{"year":2025,"id":"winter-warmth-2025","link":"https://mp.weixin.qq.com/s/EUYkcVWLEog5h2WuH46fLg","timeline":[{"deadline":"2025-09-20T00:00:00","comment":"?¡ä???¡§?-¡ê?????¡¥??¡§"},{"deadline":"2025-10-20T23:59:59","comment":"?¡ä???¡§??????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???20??£¤-10???20??£¤","place":"??¡§????1??????¡ã??o"}]},{"title":"¨¦?o??¡ã?¡ê???????????????1¨¦?o??¡ã?¡ê????¨¦?1????????????????????¡¥???","description":"¨¦?o??¡ã?¡ê????-?¡é3??-???¨¦?1?????¡¥??¡§?o?2020?1¡ä????????o?????????????¡é3??-?????¡ã?¡§???????nexploration?????£¤?o????¨¦?o??¡ã?¡ê?????o???¡§????o?????¡é3??-????????o??o???????1???¡§¨¨£¤?¨¨?????????¡¤?¨¨?????¨¨?a????????¡è??¡ã?????¡ã??????¨¦?1?????????1-2?oo?????????¨¦?1??????????????¡ê???¨¨¡¥???¡ã?¡ì??¡è???????¨¨?2?-??¡¤£¤????????????","organizer":"¨¦?o??¡ã????????o¨¦?????","position":"¨¦?1?????????????o???????","recruitment_count":"1-2?oo","work_content":"??????¨¦?1??????????????¡ê???¨¨¡¥???¡ã?¡ì??¡è???????¨¨?2?-??¡¤£¤??????????????????????????¡¥???????-??3?¨¨¡ì?????-???????????o?????¡ä???¡§???¨¨??¨¨?£¤?¡è???¡è??????????¡é3??-???????¡ì??¡è??????¡è?-?","requirements":"¨¦?o??¡ã¨¨?2¨¨?¡À????-|?????o¨¨???????¡§???????¡ì????????????????????????????¨¦?????????-|?????¡¥?¡é??¡ì??-|??????????-|?-??????????????????-??¡À???????o????????¡¥1????????¡¥?¡é??????¡è?????-???","benefits":"????1?¨¨?a¨¨¦Ì????????????1¨¨?-?-|?1?¨¨¦Ì??o????¨¦?1?????????¨¨???????1??????????1?¨¨¡¥????????o???????¨¨¡¤¦Ì??o????-?","achievements":"??a¨¨?32025?1¡ä9??????¨¦?o??¡ã?¡ê?????o???¡§??¡À¨¨??150,000+?oo?????????¨¦¡é???????¨¨??150,000+?¡ê¦Ì????????¡ã?¡ì??¡è?10,000+?o?100+????¡ê¦Ì?¡é3??-??????","category":"activity","tags":["????????????","??¡¥???¨¦?1???","?¡é3??-???","???????????¡è","¨¦?1?????????","¨¦?o??¡ã??????"],"events":[{"year":2025,"id":"sf-forest-assistant-2025","link":"https://mp.weixin.qq.com/s/18Abni9K2ggsgJ0vvW3CHA","timeline":[{"deadline":"2025-10-08T23:59:00","comment":"??3¨¨¡¥¡¤??a?-¡é???¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"??3¨¨¡¥¡¤??a?-¡é???2025?1¡ä10???8??£¤23:59???","place":"?o??????????"}]},{"title":"????¡¥1???","description":"¨¦?o??¡ã¨¨?2¨¨?¡À????-|¨¦?1?????¡¥?o?2012?1¡ä???¨¨¦Ì¡¤?????¡§?????¡ì????¡À????????-|¨¦?1????????£¤?-|?????o??-????????3?3¡§??a??????¨¦?????????¡À????¨¦?????\"????¡¥1???¨¨¦Ì????\"??¡§?o?????¡¥1??1??????¨¨????¡À????2??????¦Ì¨¨?????¨¦??¨¨????£¤????????o?????????¨¦????-??3¨¨¡¥¡¤??????¨¨????????????????-¨¨¦Ì???????¨¦?a??¡ä??¡¥????????1????????o????oo????oo?1?¨¦?¡ä??¡ä?£¤????¨¨????????","organizer":"¨¦?o??¡ã????????o¨¦?????","mission":"????????¡ã?¡é??-|???¨¦?o??????????-|?????????¨¦????o??¡¤???????¡ì????????????¡ã?¡¥???????????????????¨¨???¡è?¨¦???o??¡è????????¡À?????1????????????o?¡è???????????£¤?¨¦???1¡ä","achievements":"??a¨¨?3??????????¡¤2??¡§??¡§???18???67????¡ä¡¥¨¨??¨¨¦Ì????41918?????¡ã?¡é?????o-?-|??????¨¨??3????oo??????¨¦????-?-|????1?¨¨????£¤?¡è¡ì?-|??¡ì??-?¡ã¡À¨¨¡¥????2018?1¡ä¨¦?1???¨¨?¡ê¨¨?¡¤???????¡À???-??????????£¤?","services":"????¦Ì???¡¥?????o??o??????¨¦????????¨¦????¡¥??????¨¨¦Ì?¨¨????????????-|¨¨¡ä1???????¡ä??????¡¥¨¨¦Ì????????¡é|??3????o?????????????¨¨??¨¨¦Ì¡ã¨¨???-?","participation":"?3¡§????????o¨¦?o??¡ã????????????¨¨?????¨¦??¨¨??\"¨¦?o??¡ã????????o¨¦?????\"???????¡ã??¡§??o?¨¨??¨¨????¡§?o?????¡¥1","target_group":"??¡ã?¡é?????o-?-|???????¡¥???a¨¦??¨¨|???????????-??-?¨¦?????¨¨?????¨¨?????????????????","feedback":"?????¡ã¨¦???????????¨¦|???????????-|¨¦?????????????¡¥????-|?-????¨¨¡ã¡é???¨¨¡§?????-|?1?????¡ä???¡ì???????-|???????????¡ä??¡ã?-?","category":"activity","tags":["???¨¨?2??????","????¡¥1???????-|","??¡ã?¡é??-|???","???¨¦??¨¦?a??¡ä","¨¦?o??¡ã??????","¨¨?2¨¨?¡À????-|"],"events":[{"year":2025,"id":"sf-lotus-education-2025","link":"https://mp.weixin.qq.com/s/64bMm_Np_BJLdyyx8TC7bw","timeline":[{"deadline":"2025-12-31T23:59:00","comment":"??¡§?1¡ä?????-????????????¨¨?????¨¨¦Ì?????¡¥1¨¨¡À?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"??¡§???18???67???"}]},{"title":"??????¨¦?????????????¡À???????????????????¡è???¡¤??¡ì???¨¦¡é??¡À?","description":"?¡À?¨¨¡ì?¨¦??¨¨???????¡ã?¡¥?¨¨¡ì????¨¨????????¨¨????????\"¨¨?a??????????1????\"?????¡é¨¨?¡§?|?????13¨¨????????????¡À????????¡ì??????¡è????|??????¡§????????o¨¦?¡ä??-??¡§??¡§\"?oo?????¡§????????¡À???\"????|????¨¦??¨¨??¨¨??¨¨???????????¨¨????¡§??1???????-???¡¥?¡é????","organizer":"Business Ecology ????????????","theme":"¨¨????|?????????????????¡è??????????¡è???¡¤??¡ì","curator":"?-??¦Ì¡¤???","target_audience":"??3?3¡§??¡¥?????-????¡À???????????¡è???¡¤??¡ì?-?¨¨??¨¦¡é??????????¨¨??","fee":"???¨¨¡ä1????¡¥???o¨¦??¨¦¡é?10?oo???","registration":"???????o???¡ä?????£¤???????????¡ã???¨¨?¡è??-????????????","category":"activity","tags":["???????¡è???¡¤??¡ì","????????????","??¡¥?????-????¡À?","??¡¥?¡é??????¡è","?¡¥?¨¨¡ì??-|?1?"],"events":[{"year":2025,"id":"urban-biodiversity-exhibition-2025","link":"https://mp.weixin.qq.com/s/l5PXvh2YuEgdLMA7qCGpIA?from=groupmessage","timeline":[{"deadline":"2025-09-30T14:00:00","comment":"??o???a???¡¥?¨¨¡ì??-|?1??¡ä???¡§"},{"deadline":"2025-09-30T15:30:00","comment":"??o???a????????"},{"deadline":"2025-10-16T14:00:00","comment":"??o???a???¡¥?¨¨¡ì??-|?1??¡ä???¡§"},{"deadline":"2025-10-16T15:30:00","comment":"??o???a????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???30??£¤???10???16??£¤","place":"????¦Ì¡¤????1|¨¦|????¨¦|? 4F???5F"}]},{"title":"¨¨?¡ê??-?¡¤??¡ì¨¨?¡ê????????¡À???¨¨?????","description":"??¡ÀChirpy Cheers!???¨¨¦Ì¡¤???¨¨???????1???¨¨????????¨¦??¨¨?????????¡ã?????????¡À?????¡§¨¨?????¨¦???1¡ä??¡¥?????-????¡À?¨¦?1??????¨¦??¨¨??¨¨?¡ê?????????????¡¤£¤????????¡¥??-¨¨¡¥????????-??¡ä???¡§????o??¡¥1???????¡ã????¨¨¡ä1?¡§??????|??£¤??????????????¡é?¡ä¡é??¡¥?????-????¡ä???1???????¡è??¡ì???¡¥¨¨?????","category":"activity","organizer":"Chirpy Cheers!","partners":["??1???¨¨??","???¨¦??¨¨?????","?¡ã???????"],"project_type":"¨¦???1¡ä??¡¥?????-????¡À?¨¦?1???","background":"?o??¡¥1???????¡ã??????¡ê??|??????¨¨¡ä1¨¨??????????????¨¨¡ä?????????¡é¨¨?¡§??¡¥?????-????¡ä???1???????¡è??¡ì???¡¥¨¨??","concept":"??£¤¨¨???????????¨¦???o??¡¥1???????¡ã????¨¨¡ä1?¡§?????????¡§??¡§¨¨¡ä?¨¨¡ä¡ê?????????¨¨¡ê????¨¨¡ä1?1???¡¥??????¨¦??¨¨?¡ê???????????¡§???","activities":[{"name":"¨¨?¡ê?????????????¡¤£¤???","content":"¨¦??¨¨??¨¨¡ì¡ê??????¨¦??????????????¨¦????????????????3????????????¨¨?o???¨¨¡ä¡ä???¨¨?¡ê??????????????¡ì¨¨?¡ê¨¦??????-?"},{"name":"¨¨?¡ê?????¡¥??-¨¨¡¥???????","content":"?o???????¨¦¡é?¨¨¡¥????????????¡À???¨¨?¡ê?????¡¥??-??????"},{"name":"?o¡è?¦Ì??o¡è??¡é????o????","content":"?o?????o¡è?¦Ì??¡¥1¨¨¡ã????¨¨¡ì?¨¦?¡é?o¡è?¦Ì?"}],"vision":"???\"¨¨?¡ê??-\"??o????????????¨¨?3\"¨¦¡ê?\"\"???\"\"¨¨??\"?-???¡ä?¡è???¡ä?o|????????¡ã??¡ä?1??3??????¡¥?????-????¡ä?","participation":"??3?3¡§?¡ä???¡§¨¦????£¤?????????????¡¤£¤??????¨¨¡¥???????","tags":["??¡¥?????-","??¡¥???","??¡ì¨¨?¡ê??1¨¦??","????¡¤£¤??????","??a??¡¥?????¡§"],"events":[{"year":2025,"id":"clothing-renewal-2025","link":"https://mp.weixin.qq.com/s/tYv60mNlJ22dHyZhcOe5fg","timeline":[{"deadline":"2025-09-30T09:00:00","comment":"¨¨?¡ê?????????????¡¤£¤???????¡ì?"},{"deadline":"2025-11-30T18:00:00","comment":"¨¦?1?????????"}],"timezone":"Asia/Shanghai","date":"????1?????o?????¡ì?????????-??¡è??a???","place":"????o?????o?????¡ä???¡§???+ ?o????"}]},{"title":"?¡ã?¨¦?a??? (LeukemiaPal) - ???¨¨?????AI??3??¡À??????","description":"?¡è???o¨¦?¡À??¡§?????????????¡¥??????????AI¨¦?1????????o???¨¨???????¡ê¨¨?????????¡À??????¡ä?o???????????????o¨¨???????¡¥¨¦??????¡¥?????????????????????¡¥??¡¥??????¨¨?a??????????13??¡ã???","category":"activity","organizer":"?¡ã?X????¡è???o","project_nature":"?¡è???o¨¦?¡À??¡§?????????????¡¥??????????AI¨¦?1???","target_audience":"???¨¨???????¡ê¨¨?????????¡À??????¡ä?o???????","core_values":["???¨¦?¡è?????¡¥¨¦???2??????????????¡§??????a??¡ì?????????¨¨??????????3??£¤¨¨¡¥?¨¦???-?","?????£¤???¨¨???????3??¡À?????1?????3?3¡§?????£¤??¡ê¨¨???????????¨¦??¨¦??????¡ì???????????????¡¥???","??????¨¨??????¡¤£¤??¡¤?????o??¡ä?o?????????????¨¦????????????????£¤¨¨¡¥¡é?????£¤¨¨¡¥??¡ê??¡ä¡é?¡¤£¤??¡¤","????????¡ì¨¨¡ä¡§????????¡§???¨¨¡ä1????o????¨¨?¡ä????o??????????¨¨???????¡ê¨¨????¡è???"],"main_functions":["??o¨¨??¨¦???-??3?????????o?o?????¡§??????????NCCN, CSCO???????2????????????£¤¨¨¡¥?¨¦???-?","?????£¤??3??¡À?¡§?????????????¨¦¡ê?????????¡§?????¡é???????????£¤?¡ì?????????1","?????????????¡¤£¤??¡¤????2???????????????£¤¨¨¡¥??¡ê??¡ä¡é????????¡ã??????????????£¤¨¨¡¥¡é","??a??¡ì????????????????????¡§??¡¤???????3?????????a??¡ì????????1??¡§¨¨??"],"technical_solution":{"mvp_phase":"??o?o?¨¨??¨¨?¡¥?????¡§???Coze?-??????¡ê????13??¡ã???¨¦????-??o","opensource_phase":"?????¡ìRAG?????¡¥??????¨¨???¡ì?¨¨?3????o???????","future_evolution":"?????£¤??o?o?¨¨?¡À?????????¨¨?-???????????¡ä?¡§????"},"implementation_plan":{"phase_1":"????????¡é¨¦???????o?????£¤¨¨¡¥??o??????o???MVP???????????????1-2??a??????","phase_2":"¨¦?1???????o????????????¡ä???¨¨????????"},"social_value":"??¡ä??£¤???????o????¨¨???????¡ê¨¨????¡è????????1?????¡¥??o??¡ê???????o-???????2??£¤???¡¥???????¡ì??-|????¡¥?","tags":["AI??????","???¨¨???????3??¡À","????????????","?????£¤??£¤?o¡¤","????o?¨¦?1???"],"events":[{"year":2025,"id":"leukemia-pal-2025","link":"https://mp.weixin.qq.com/s/xTJiOYGS3HZhWovH6xsRcQ","timeline":[{"deadline":"2025-12-01T09:00:00","comment":"¨¦???????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä","place":"?o?????13??¡ã"}]},{"title":"???¨¦???£¤3??¡ì????????¡ä?¡ã??¡§??o???????¨¨¦Ì??o???£¤¨¦??","description":"??o???¨¦???£¤3??¡ì???¨¦??¨¦???????¡¥??¡§???¨¨o??????£¤?o¡¤????????¡¥????13??¡ã???¨¨¡ì¡ê??3?£¤1?????¡§¨¦?¡é??¡ä????o-??3?3?????o2?¡¥???3?3?¨¦¡ê?¨¦?????¨¦????¡ã????2?¨¦??????????¡¥¨¨?¡¤???¨¦???¡é????","category":"activity","organizer":"¨¦???o???¡è?¡À???¡ã??o??£¤????¡è?????¡¤£¤???????????-??????Know Deaf???","support_organization":"¨¨?????????oo??¡ê??o¨¦??","project_background":"??????¨¦???¡é??£¤3??¡ì??¡§¨¦?¡é??¡ä????o-??3?3?¨¦¡ê?¨¦????????¨¦????¡ã???¨¦??¨¦???¡é??????¡é¨¨|??¡ä¡ì??£¤?¡è???????????¡À?¨¦?¡é???????????¡ã?2?¨¦??????????¡¥¨¨?¡¤??????¨¦?????¨¨?3???¨¦?????","core_services":["??¡À¨¦????3?3?¨¨?a¨¨¡¥????¨¦??¨¨??¨¦????¡¤??¡é???????????¡§??¡¤??????¨¨¡¥?????????¡§¨¦¡ê?¨¦??","???¨¨¡¥-???¨¨¡¥?¨¦¡é??o|???¨¦¡é??o|?????????¨¨¡¥-???¨¨¡¥??????????¨¨?????¨¨?¡¤??????¨¦???¡é??2?¨¦????????","????????¡ã????????????????¡À?¨¨o??????£¤?o¡¤???????????¡¥???????????1?????¡¥"],"recruitment_targets":["?¡è??????????/????????o???????3?????????????????????¡¥??????????????£¤?o¡¤??????¨¦??¨¨??¨¨?a???????-?","?????????¨¨¡¥-???¨¨¡¥??????¡¤?¡è???-??????¨¨¡¥-???¨¨??????????????¨¦a???????????oo???"],"service_features":["?¡ì?????????????¨¦???¡é???¡¥???","??¡§???¨¨|????????????????","?¡è??????????????????1"],"application_method":["??o?????£¤¨¦????????????¡è????????????£¤¨¦????3¨¨¡¥¡¤¨¨?¡§","???¨¨¡¥-???¨¨¡¥????¨¦??¨¨???¡ã??¡§??o?\"??????\"-\"??£¤¨¦?????¨¨¡¥?\"??£¤??¡ê??3¨¨¡¥¡¤"],"project_goal":"?????o??¡ä??¡¤?????1??¡ì????¡è??????????¨¨???????¡¥?13?-?????2?¨¦?????¨¦???¡é?","tags":["???¨¦???£¤3??¡ì","????????¡ä","???¨¦???¡é???????","???¨¨¡¥-???¨¨¡¥?","???????????¡è","?¡è?????¡¤£¤???"],"events":[{"year":2025,"id":"deaf-women-support-2025","link":"https://mp.weixin.qq.com/s/k2ffdpptL8IAjwywqBaKUw","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"¨¦?????????????????"}],"timezone":"Asia/Shanghai","date":"¨¦???????????","place":"??¡§???¨¨????¡ä"}]},{"title":"??????\"???\"a??¨¦???¡ã?¨¨?¡§?¦Ì¡¤¨¦???????¡ä?o??????¡¥???????¡À????????¡À???¡À?????????\"??¡ì¨¦??¨¨??\"??¡ã\"????-|\"???","????????????":"?o¡¤¨¨¡¥-¨¨??¨¨???1¡ä????¡¥????????¡è¡ì??????¨¦????¡é????13????oo?¡¥?????o??????????","????????????":"??£¤?????¡ä?o??????¡¥?????????????????|¨¨?o??¡¥??????","?¡À?¨¨¡ì????¨¦?¡ä":"2025?1¡ä9???22??£¤????1?","?¡À?¨¨¡ì???¡ã??1":"????o??¡è¡ì?-|???¨¦?????¨¦?¡é","?¡À?¨¨¡ì??????1":"?¡À???o103?1?¨¨?¡è??£¤???¨¦??¨¨???????????¨¨?o??¡¥??????","¨¨?o??¡¥????3?":"??£¤???\"??¡ä?o??????¡¥\"¨¨?o??¡¥????3????¨¦??¨¨?????????o????¨¨??¨¨??¨¨?o??¡¥??????","?¡À?¨¨¡ì??????o":"¨¦??¨¨????a?oo¨¨?o??¡¥??????????¡À???¡À???????o?????????????¨¦?¡§???","???????????¦Ì":"¨¦??¨¨??¨¨?o??¡¥????????????????¡À????\"??¡ì¨¦??¨¨??\"¨¨?????\"¨¦?a??¡ä¨¨??\"¨¨¡ì?¨¨?2","??????????3?":"????????|¨¨?o??¡¥???????o????¨¨?o??¡¥??????????3?","????????1???":"¨¨¡ã???¡§\"¨¨¡ì??¡¤????¡¤????¡¤??3?¡¤¨¨¡ì|\"?o????¨¨??¨¨???????????¨¨?¡§¨¨??","???????¡¥1¨¨¡À?":"¨¦???¡ã?¨¨?¡§?¦Ì¡¤¨¦???????¡ê¨¨????????????¡À?","?¡è??????¡¤???":"??3?3¡§¨¨?¡è??£¤???¨¦??¨¨??????????¡§????????????¨¨??????o-??3?3????¨¨¡ã?","????-?":["¨¨?o??¡¥??????","¨¦???¡ã?¨¨?¡§?¦Ì¡¤¨¦?????","????¡À???¡À???","??¡ä?o??????¡¥","?o??????????","???????¡À?¨¨¡ì?"],"?????1¨¦????£¤":"https://mp.weixin.qq.com/s/pgMggKi_1PYyIJRzcXy2Sg","description":"??o¨¨???¡è???o????1|¨¦|?????¦Ì???¡§?1|?¡À????????¡À?¨¨¡¥??1|????o????????o2?-?¨¦??¨¨¡¥??-??¡ä???¡§???¨¨?£¤¨¦????¡§?¡ã?¨¦??¨¨¡¥????¨¨?¡¥?£¤??¡ã???¡ä???","category":"activity","tags":["??¡§?¡ã?¨¦??¨¨¡¥?","?1|¨¦|??¡è????","????????o¨¨??"],"events":[{"year":2025,"id":"reading-promotion-2025","link":"https://mp.weixin.qq.com/s/pgMggKi_1PYyIJRzcXy2Sg","timeline":[{"deadline":"2025-10-21T09:00:00","comment":"?¡À?¨¨¡ì???????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???22??£¤-10???21??£¤","place":"????o??¡è¡ì?-|???¨¦?????¨¦?¡é"}]},{"title":"??¡À???????13?????£¤?????-??????????1????","????????????":"????¦Ì¡¤???¨¨??????o????¨¦??¨¨¡ä¡ê????????????????¦Ì¡¤?¡è????????¡ã?????????????¨¨?2????¡À???o¨¦????????Viva la Vida (VIVA)","?¡À?¨¨¡ì????¨¦?¡ä":"2025?1¡ä9???21??£¤¨¨?310???12??£¤","?????????¨¦?¡ä":"??¡§???¨¨?3??¡§??£¤ 10:00-17:30","?¡À?¨¨¡ì???¡ã??1":"????¦Ì¡¤???¨¦???????o????¡è?¨¨¡¤¡¥21??¡¤???¨¨??????o?????£¤?","?¡À?¨¨¡ì????¨¦¡é?":"??¡À???????13?????£¤?????-??????????1????","?¡À?¨¨¡ì??????1":"?¡À?¨¦????£¤¨¨?a??¡§????¡è???a???????????¡ã??o???200????1??????£¤??????","?¡À???o??????":"???¨¨¡¥-??????","??1¨¨?2?¡ä???¡§":"????o???1????o???¡§a??a????£¤?¡ê¡ã?¡¥?¨¨¡¥-????13","?o???¡§??o???":"?????£¤??????","?¡À?¨¨¡ì???1??1":"?¡è?????¡À?¨¦??????o???¡§???¨¦a????¨¨¡¤¡§¨¨????¡ã????????????????¡¤¡À?o|?¡¥1¨¨¡¥?","???¨¨?2????1?":"???¨¦??\"?????¡À????13???????????a??£¤\"????¡¤¡À????¡¥????","???????¡¥1¨¨¡À?":"????¡ã?????o-?????1?????¡¥???¨¦????o?-??-????¨¨¡ì?","¨¦?¡§?£¤¡§?????¡¥":"???¨¨¡ä1???????????????","?¡è??????¡¤???":"¨¨???-??-????¨¨?¡§¨¨??¨¨¡é????¨¨¡ì????¨¨¡é??¡ã?¨¦????????¨¦??????13?????¦Ì","????-?":["??????????¡À?","?????£¤¨¨?o??¡¥","????13???¨¨?2","????o??????o","???¨¨¡ä1??????","?o2?-??¡ä???¡§"],"?????1¨¦????£¤":"https://mp.weixin.qq.com/s/O1P1CPKwQtGLvoPtWmgq-Q","description":"??¡À???????13?????£¤?????-??????????1????","category":"activity","tags":["??????????¡À?","?????£¤¨¨?o??¡¥","????13???¨¨?2"],"events":[{"year":2025,"id":"peace-art-exhibition-2025","link":"https://mp.weixin.qq.com/s/O1P1CPKwQtGLvoPtWmgq-Q","timeline":[{"deadline":"2025-09-21T10:00:00","comment":"?¡À?¨¨¡ì?????¡ì?"},{"deadline":"2025-10-12T17:30:00","comment":"?¡À?¨¨¡ì???????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???21??£¤-10???12??£¤","place":"????¦Ì¡¤???¨¦???????o????¡è?¨¨¡¤¡¥21??¡¤???¨¨??????o?????£¤?"}]},{"title":"???¨¨¡ì???? ????????? | 2025?1¡ä??3??¡À¨¨??¨¦???¡é??????£¤¨¦???¡ã??1¡ä??????¨¨?o??¡¥?¡À?","????????????":"????o??¡è¡ì?-|?????-???¨¦?¡éCAFF¨¨?¡À??-¨¦?1??????","????????????":"??-?¡è??????¡¥?-|¨¦?¡é??3???????????¡ê?¡¤£¤????¡ì????????????¡è??¡ã????-???¡À????????¡ä","?¡À?¨¨¡ì????¨¦?¡ä":"2025?1¡ä9???29??£¤¨¨?310???10??£¤","?¡À?¨¨¡ì???¡ã??1":"????o?¨¨??¨¦???1|¨¦?¡é","?¡À?¨¨¡ì????¨¦¡é?":"???¨¨¡ì????????????????","????¡À???????":"??£¤¨¨?a??¡§???40??????????????£¤?o¡¤??¡ã?¡é?????o-????-??-???????","???????¡¥1¨¨¡À?":"?2??£¤?¨¦???¡é???¡ê¨¨??????-??£¤3???COPMI???","?¡ä???¡§??????":"???????¡è?????¡¥1?2??£¤?¨¦???¡é???¡ê¨¨??????o-????-??£¤3??????¨¨¡ì¡ê?????£¤?o3??????¨¦?¡è???¨¨¡ì???????¨¦????????","??1¨¨?2???¨¨??":"???????o???¡§????????¡ã?-??-????????¡ê¡ã???¨¨??\"???¨¨¡ì?\"???\"???¨¨¡ì?\"??¡é?????????","?¡À?¨¨¡ì?????1?":"?¡ì¡¥???????o?????????3?o??????o??¡ã?¡é??????£¤????????£¤?o¡¤??3??¡À???????¡¤£¤????????¡¤???","?¡ä???¡§??¡ì¨¨¡ä¡§":"????o??¡è¡ì?-|?????-???¨¦?¡é???????2??£¤?????????£¤?3?????¡ä???¡§???¨¦¡é???-???????¡ê¡ã","???????????¦Ì":"¨¨?o??¡¥??¡¥?-??-????????a???¡¤???¨¨¡¥??-????¨¨???????¡ì¨¨????£¤???¨¨???????????¨¨¡ì???????????¡ê¡ã¨¦?3","?¡è??????¡¤???":"??¡§?????¡ä?¡è????¨¦?????¨¨¦Ì??o??????¡è?-??-???????????????£¤?o¡¤???¨¨?????????????a??£¤???¨¨¡é????¨¨¡ì????????1?","????????¡è???":"????????1???????????o????????¡À????????¡ä????a???????COPMI¨¦???1¡ä??¡ê¨¨?¡§","?¡À?¨¨¡ì????¨¦??":"12?¡è?","????-?":["??????¨¨?o??¡¥?¡À?","????????£¤?o¡¤","??¡ã?¡é??????£¤","?2??£¤???????","???¨¦?¡è???¨¨¡ì?","¨¨?o??¡¥??????"],"?????1¨¦????£¤":"https://mp.weixin.qq.com/s/kIpVtalwZtKW-CfSIPQZJQ","description":"????o??¡è¡ì?-|?????-???¨¦?¡éCAFF¨¨?¡À??-¨¦?1?????????????????3??¡À¨¨??¨¦???¡é??????£¤¨¦???¡ã??1¡ä??????¨¨?o??¡¥?¡À?????¡À???o??¡§???40??????????????£¤?o¡¤??¡ã?¡é?????o-?-??-???????????????¡§??¡§???¨¦?¡è???¨¨¡ì???????¨¦???????????","category":"activity","tags":["??????¨¨?o??¡¥?¡À?","????????£¤?o¡¤","??¡ã?¡é??????£¤","?2??£¤???????","???¨¦?¡è???¨¨¡ì?","¨¨?o??¡¥??????"],"events":[{"year":2025,"id":"copmi-art-exhibition-2025","link":"https://mp.weixin.qq.com/s/kIpVtalwZtKW-CfSIPQZJQ","timeline":[{"deadline":"2025-09-29T09:00:00","comment":"?¡À?¨¨¡ì?????¡ì?"},{"deadline":"2025-10-10T18:00:00","comment":"?¡À?¨¨¡ì???????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???29??£¤-10???10??£¤","place":"????o?¨¨??¨¦???1|¨¦?¡é"}]},{"title":"?¡À¡À?????¡ì???????¡è¡ì????¡À¡À¨¦??????¡ä??????¡¥???¨¨???????????????¡À?","?¡À?¨¨¡ì???¡ã??1":"?¡è¡ì????¡À¡À¨¦??????¡ä???????","??¡¥???¨¨?????":"?¡À?¨¨??????¡¤??????£¤¨¦?3¨¨?????","??¡¥??????¨¦?¡ä":"¨¨?a2018?1¡ä¨¨¦Ì¡¤¨¨?3???????¡¤27?1¡ä","?-|???????¡ì¡ã":"????¡¤??¡ã??-|","??¡ã?????????":"????¡¤????????¡À¡À??????¨¨?a?2??¡¤?????????????????1?¨¦??????¡ä???????","??¡ã?????1¨¨?2":"??¡§??????????????a¨¦?????¨¨¡¤¡¥?????o????????????¨¦?¡é??¡¥?¡À¡À??????¨¦?¡é??¡ä?¡ä????????o?¨¦???2??¡À???¡¥?¦Ì?¨¨£¤??oa?23???","???¨¨¡¥-????1?":"?oo¨¨?1???¨¨?3?????¡ã??1","?-|?????o???":"2005?1¡ä??¡§????o¡ì????o???¡¥???????¡è????????????3???????????o","?¡À?¨¨¡ì????¨¦¡é?":"¨¦??¨¨??¨¨?o??¡¥???¨¨¡ì|??????¨¦??????¡ä????????¡À¡À¨¦???1????????oo???????o|¨¦????¦Ì?oo???","???????????1":"7?1¡ä?2??????-?¡ã????????????¡è?¡À¡À????¡è¡ä¨¦????????????????????????????1¨¦??","¨¨?o??¡¥¨¦¡ê????":"???????????¡ä???????|?????????o??¦Ì????¡è??oo??????","????????1¨¨?2":"¨¨¦Ì-??3?????¡è¨¦??????¡À¡À?????????¨¦??????¡À???¡ã??¡ã???????¡è¡ì????¡À¡À????oo?¡À??2??£¤?????1?","???¨¨?2????1?":"??¡§?????????¨¨¦Ì¡¤?oo??¡ì?????????????????1??¡ì¨¦???????????","??¡¥???????¡ä?":"???¨¨£¤??oa?23???????????¡ä?????|?-??-???????¨¨????-?¡ì????????????¡À?-???????","???????????¦Ì":"¨¦???¡ã??1?¨¦??¨¦?????¨¦???|????¨¨????¡¥????????1??¡ì¨¦???????????","?¡è??????¡¤???":"?¡À???¡ã??¡¥???¨¨?????????£¤?????2??£¤?????¡è¡ì????¡À¡À???¨¨?a????oo????1????","????-?":["??????????¡À?","??¡¥???¨¨?????","?¡è¡ì????¡À¡À","¨¨?o??¡¥??????","???¨¨?2???¨¨¡ä?","?oo?????3???"],"?????1¨¦????£¤":"https://mp.weixin.qq.com/s/U2CqPPFq0rmI8Xlp8GuIyA","description":"¨¦??¨¨??¨¨?o??¡¥???¨¨¡ì|??????¨¦??????¡ä????????¡À¡À¨¦???1????????oo???????o|¨¦????¦Ì?oo???","category":"activity","tags":["??????????¡À?","??¡¥???¨¨?????","?¡è¡ì????¡À¡À"],"events":[{"year":2025,"id":"daliangshan-exhibition-2025","link":"https://mp.weixin.qq.com/s/U2CqPPFq0rmI8Xlp8GuIyA","timeline":[{"deadline":"2025-10-31T17:00:00","comment":"¨¦?-?¡À?"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???20??£¤-10???31??£¤","place":"????¡¤????????¡À¡À??????¨¨?a?2??¡¤?????????????????1?¨¦??????¡ä???????"}]},{"title":"??????????2?¨¨¡¥¡ä???¨¨¡¥?¨¦????¡§??¡À¨¨¦Ì¡ä?????o¨¨?o??¡¥??????????o¡è????????????????¡À?","????????????":"?¡¥??o2??????¨¨????¡§???¨¨?????¨¨??¨¨?????¨¦?????????£¤3?????????","?¡À?¨¨¡ì????¨¦?¡ä":"2025?1¡ä9???7??£¤-11???7??£¤","????1???a???":"9???7??£¤ 15:00","?¡À?¨¨¡ì???¡ã??1":"??¡¤¨¨¦Ì???¡¥??¡§??????¨¨?¡ã?o??????-?¡¤??¡À?????¡è¡ì¨¦??1088??¡¤???","?¡À?¨¨¡ì????¨¦¡é?":"??3??¡À???¨¨?-¨¨¡ê??????£¤???????????¡ä?¡è???????","?¡À?¨¨¡ì??????1":"??£¤¨¨?a???¨¨?-¨¨¡ê??????£¤???¨¨?o??¡¥???????o-?????¡À?????????","¨¦?1???¨¨????¡¥":"¨¨?a1990?1¡ä¨¨¦Ì¡¤???\"?¡¥??o2??????¨¨????¡§\"?¡¤2???¨¨¡ä1??????¨¨??¨¨??50,000?????¡ê???","?¡À?¨¨¡ì???1¨¨?2":"???¨¨??????-|??o¨¦?¡ä??????????1????????????¡§??¡¥??-?????¡¥??£¤??????????£¤??|????¨¦a?","?o???¡§??¡¥¨¨??":"?o???¡§?????¡¤??????¨¨¡ì?¨¨????¡¥??¡§?????¡¤??????????¡À??o?¨¨?a?¡¤¡À???¨¨?2?????????¨¨¡ì|","¨¨?o??¡¥??????":"¨¦??¨¨???????????¨¨?2??????¨¨?????¨¨?-¨¨¡ê??????£¤¨¨?¡§¨¨???????????????????¡é?¡ä¡é¨¨?a???","?¡è??????¡¤???":"??¡§¨¨?o??¡¥?????¡ä???¨¨¡ì????¨¨????3??¡À?????o??¡ä????????????¨¦???????¡è¨¨¦Ì¡¤???????¡¥1???¨¨?-¨¨¡ê???¡è????????¡ä?¡è???3?3¡§","???????¡¥1¨¨¡À?":"?¡è???????????oo?¡ê?","?¡À?¨¨¡ì?????1?":"?¡ã???????????????¡§??¡ì????????o¨¨?o??¡¥????????????¨¨????3??¡À???????????¡§?¡¥??????a¨¨¡ì?????????-??????","????-?":["??????????¡À?","???¨¨?-¨¨¡ê???3??¡À","¨¨?o??¡¥??????","?¡¥??o2??????¨¨????¡§","?o???¡§¨¨?o??¡¥","?¡è??????????"],"?????1¨¦????£¤":"https://mp.weixin.qq.com/s/bdz-buF2fs145CYmJAekjA","description":"??¡À¨¨?????¨¨??¨¨?????¨¦?????????£¤3???????????o???\"?¡¥??o2??????¨¨????¡§\"???¨¨¦Ì¡¤?????????????¡À?????¡À???o??£¤¨¨?a???¨¨?-¨¨¡ê??????£¤???¨¨?o??¡¥???????o-?????¡À??????????????¡§¨¨?o??¡¥?????¡ä???¨¨¡ì????¨¨????3??¡À?????o??¡ä????????????¨¦?????","category":"activity","tags":["??????????¡À?","???¨¨?-¨¨¡ê???3??¡À","¨¨?o??¡¥??????","?¡¥??o2??????¨¨????¡§","?o???¡§¨¨?o??¡¥","?¡è??????????"],"events":[{"year":2025,"id":"smile-art-exhibition-2025","link":"https://mp.weixin.qq.com/s/bdz-buF2fs145CYmJAekjA","timeline":[{"deadline":"2025-09-07T15:00:00","comment":"????1???a???"},{"deadline":"2025-11-07T17:00:00","comment":"?¡À?¨¨¡ì???????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä9???7??£¤-11???7??£¤","place":"??¡¤¨¨¦Ì???¡¥??¡§??????¨¨?¡ã?o??????-?¡¤??¡À?????¡è¡ì¨¦??1088??¡¤???"},{"year":2025,"id":"fundraising-resource-mobilization-workshop-oct-2025","link":"https://mp.weixin.qq.com/s/p1b_Pg1TRvLf6OAAH_nV6Q","timeline":[{"deadline":"2025-10-17T14:00:00","comment":"?¡¤£¤??????????¡ì????¨¦?¡ä"},{"deadline":"2025-10-17T16:30:00","comment":"?¡¤£¤???????????????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä10???17??£¤?????¡§?o????","place":"????o??????¡¤?????¡ã??????¨¦????£¤???"}]},{"title":"GirlScript Summer of Code 2025 | ????o?¨¨¡ä????????-|?1??????¡ã?oa???","description":"GirlScript Summer of Code??¡¥GirlScript??o¨¦????????????????o???3??a??????????o?¨¦?1????????¡§??¡§??????????-|¨¨??????¡ì?????o????????????????¨¦????¡À?¡è????????????¡§??¡ä??a¨¦?1??????¨¦?¡ä?????????¨¨????¡§???¨¦a???¡ã?¡¥?????¡¥????????¡¥??????o?????????¨¦?1????????o¨¨¡ä???????¨¦???¡ã???????¨¨???¡ã?¨¨?¡¤?????¡è?oo??¡ä?£¤?????¡è?????????o??????GirlScript??o¨¦????????????o?2017?1¡ä???¨¨?¡ä????o?¨¨?????¨¨¡ä¡§???¨¨?2?????????????oo????¡¤2??o????????a??????50?¡è?????-|?1?¨¨??????¡ä?¨¨¡¤??¡è???o???¨¨¡¥£¤¨¦?1???????3¡§?o????¨¨??????¡À????????¡¥????¨¨?????????¡¥??????£¤??????¨¨?2???¨¨????o?1?¨¦?¡ä????¡¤?¨¨¡¤????","category":"activity","tags":["????o?¨¦?1???","????¡§??-|?1?","GirlScript??o¨¦?????","??¡ê???¨¨¡ä????","?¡¥????????¡¥?","¨¨?????????¡À?","?????¡¥?¡è???o","?¡è???????","????o???????","?-|?1???o???","???¨¨??????¡À?","¨¨?????????¡¥?"],"events":[{"year":2025,"id":"gssoc-2025","link":"https://gssoc.girlscript.tech/#apply","timeline":[{"deadline":"2025-06-20T00:00:00","comment":"?¡¥????¨¦?1??????¨¦??"},{"deadline":"2025-06-23T00:00:00","comment":"?¡è???o?o¡è?¦Ì????????¡ì?"},{"deadline":"2025-12-01T23:59:59","comment":"???????????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä6???-12???","place":"?o????¨¦?1???"}]},{"title":"Blackhoodie ?????¡§??1¨¨?- | ?£¤3??¡ì¨¦??????¡¤£¤?¡§?????o?¨¨??????????¡§?¡¤£¤??????","description":"Blackhoodie??¡¥?????a????3¡§?o???o?£¤3??¡ì?????????????????¡§?????¡¥??1¨¨?-??????¨¦????¡ì?¡è???o?????????¨¨¡¥£¤???????¡ã??o?2026?1¡ä??£¤?-¡ê??¡§?¡¥??????????????¡ã???1CORDA CAMPUS????????o???????¡è?????????¡§??1¨¨?-?¡ä???¡§????????oBSides Limburg???¨¨?????¨¦???£¤??¡ä???¡§?????1¨¨?-?????1??¦Ì???¨¦??????¡¤£¤?¡§?????o?¨¨??????????¡§?????o?????£¤¨¨¡¥??????????Intel x86-64?o?¨¨???????????¨¦???????????????????2??o?o¡é??o????¡ä??????¡§???ELF?o?¨¨?????????????????????????¡è¨¨???¡¤£¤??¡¤?????¡§???????¡À??????¡§?????????¨¨¡¥???¡§?o???¡§?-??????1¨¨?-¨¦?¡é????¡¥1¨¦??????¡¤£¤?¡§?????o??¡À?????¡ä??????¡§?????¡ä¨¨?¡ê????£¤3??¡ì???¨¨|??¡À???¡¤?¡è???o??????C¨¨¡¥-¨¨¡§????Python????¡§????¨¦a??????????Linux?????¡è¨¨????????????¡ä???¡§?????????¨¨¡ä1??1¨¨?-???¨¦¡è?¨¦£¤??????¡À?£¤3??¡ì¨¨?2??????¨¨¡¥??????¡§??¡§??o?£¤3??¡ì???¨¦????¡ä?¡è?¨¨????£¤???????????¡§¨¦¡é?????????o?????????¨¨???????¡¥¨¨??????????¡ì????¡è???????????¡À????","category":"activity","tags":["???????????¡§","¨¦??????¡¤£¤?¡§?","?o?¨¨??????????¡§","?£¤3??¡ì??1¨¨?-","?????¡§?¡è???o","????¡ä??????¡§","????¡§???o???","Linux?3????","?????¡§???¨¨??","?????¡¥???¨¨?2","??¡ì????¡è???????","?¡¥???????"],"events":[{"year":2026,"id":"blackhoodie-bsides-limburg-2026","link":"https://blackhoodie.re/BSidesLimburg2026/","timeline":[{"deadline":"2026-03-12T09:00:00","comment":"??1¨¨?-?¡ä???¡§????¡ì?"},{"deadline":"2026-03-12T17:00:00","comment":"??1¨¨?-?¡ä???¡§??????"}],"timezone":"Asia/Shanghai","date":"2026?1¡ä3???12??£¤","place":"?¡¥??????????????¡ã???1CORDA CAMPUS"}]},{"title":"Women Who Code ?????¡¥?3¡ã??? | ??¡§????£¤3??¡ì??????¨¨???¡è???o?¡ä???¡§","description":"Women Who Code??¡¥?????a??¡§?????¡ì¨¦??¨¨?£¤????????????¨¨?¡ä????o????????£¤3??¡ì??¡§?????¡¥¨¨??????????¡¥??-?????????¨¨??????¡ã¡À???¨¨¡¥£¤??????¨¦??¨¨????????????¡§?¨¨¦Ì??o????¨¨?????????¡À???o???????¡è???o??¡¥???????¡¤2?????¡§??¡§?????o????o???o?¡è¡ì????????¡¥?£¤3??¡ì?????????Women Who Code?????????????????¡¥?3¡ã??????????¡§??¡¤£¤?????????¨¨?????????¡À??¡ä???¡§?-??????o?£¤3??¡ì??????¨¨?????????-|?1???¡ã?????¡¥?????o????oo¨¨??????????????¨¨??????13??¡ã?????????¨¨????¡¥??£¤¨¦??¨¨???????¡¥????o????¨¦?1????¡À??¡èo????¡¥????????¡¥??-???1??????¨¨?¡¤??????¨¨¡ä¦Ì???¨¨?????????¡À???o??????¨¨¡¥£¤????????1?????3?3¡§?????¡¥¨¨??????????¡ì????¡è??????????¨¨?¡ä????o??????¡ä?????¡¥¨¦¡é?????????¡ì????¡ê?????????o??¡ä?¡è??£¤3??¡ì???¨¦??¨¨????£¤??????¨¦???o??????¡¥¨¨??????????o??????","category":"activity","tags":["?£¤3??¡ì??????¨¨??","?????¡¥?3¡ã???","????¡§??¡è???o","¨¨?????????¡À?","?????¡¥???¨¨?2","??¡ì????¡è???????","??¡§????¡è???o","?????¡¥?£¤3??¡ì","????¡§??¡¤£¤??????","?¡¥????????¡¥?","???¨¨????????","?????¡¥??????"],"events":[{"year":2025,"id":"women-who-code-summit-2025","link":"https://womenwhocode.com/","timeline":[{"deadline":"2025-12-31T23:59:59","comment":"?1¡ä?o|?¡è???o?¡ä???¡§?????-¨¨??¨¨??"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä??¡§?1¡ä","place":"??¡§????o????????o?????¡ä???¡§"}]},{"title":"Outreachy ????1?¨¨????? | ??¡¥????????¡¥¨¨??????¡è??????????????o?????1?","description":"Outreachy ??????????o?¨¦¡é???????????1???o??????¨¦?¡é?????¡§?????¡¥¨¨???????-¨¦?¡é??¡ä??¡ê¨¨?¡§??¡ì???¨¨?3????3??????¡ì???¨¨¡ì?????-¡ì¨¨¡ì??????????¨¨????¡¥?oo?¡ê????Outreachy ????1???¡¤?????|¨¨?a???7,000 ?????????????1??¡ä£¤¨¨¡ä¡ä??????¨¨???¡§????????1????????¡¥????¨¦??¨¨???¡§??¡¤£¤???????????o???3??a??????????1??????o5???¨¨?38??????12???¨¨?33???????-???1??1???????1?¨¦?1?????¦Ì???????¡§???????????????¡§??¡¤???¨¦a?????????¡ê????????¡é¨¨??¨¨???????¡ã????¡ì??-|????????o¨¨?£¤¨¦???????¡§??¡¤??¡§?1?????¡ä???¡§?-?????-??¡è???a¨¦¡é???????Outreachy ???????????¡¥?¡é????????o?¨¦¡é????????¡è???¡¤??¡ì???¨¨???????????¨¨????-92%??o?£¤3??¡ì???64%??o???¨¨?2?oo?¡ì????12%??£¤¨¨?a?????2????¡è??o?????????¡ã???????¡ì??¡ì????¨¦?¡§¨¨?????","category":"activity","tags":["????o?????1?","?????¡¥?¡è???????","??|¨¨?a????1?","¨¨???¡§??¡¤£¤???","????¡§??-|?1?","??¡§??¡¤???¨¦a?","?????¡ê??????","??¡ã????¡ì??-|","?????o¨¨?£¤¨¦??","?¡ä???¡§?-????","¨¨?????????¡À?","?????1??¡ì"],"events":[{"year":2025,"id":"outreachy-june-2025","link":"https://www.outreachy.org/","timeline":[{"deadline":"2025-02-07T00:00:00","comment":"????1??????3¨¨¡¥¡¤????¡ì?"},{"deadline":"2025-02-15T23:59:59","comment":"????1??????3¨¨¡¥¡¤??a?-¡é"},{"deadline":"2025-03-17T00:00:00","comment":"¨¦?1???¨¨¡ä???????????¡ì?"},{"deadline":"2025-04-15T23:59:59","comment":"¨¦?1???¨¨¡ä?????????????"},{"deadline":"2025-06-02T00:00:00","comment":"????1????????¡ì?"},{"deadline":"2025-08-29T23:59:59","comment":"????1??????????"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä2???-8???","place":"??¡§???¨¨???¡§?????1?"}]},{"title":"Google ????¡§??1??¡è? 2025 | Google Summer of Code","description":"Google Summer of Code???GSoC?????¡¥Google?????????????o?¨¨¡ä????¨¨??¨¨??????????¡§??¡§????????????¨¨????¡§¨¦??¨¨|????????o?¨¦?1?????-¨¨?¡¤??????¨¦???????????¨¦a????¨¨¡¥£¤¨¦?1????¡¥??1¡ä????????¡§?????¡ã????????3¨¨¡¥¡¤¨¨?????????????o????o?¨¦?1???¨¨¡ä??????¡ê??????2025?1¡ä???¨¦?¡ä¨¨?¡§?????????1???27??£¤????¡¥???????????¡ì???3¨¨¡¥¡¤???2???11??£¤????????3¨¨¡¥¡¤??a?-¡é???3???24??£¤¨¨¡ä????¨¨????3¨¨¡¥¡¤???????¡ì????4???8??£¤¨¨¡ä????¨¨????3¨¨¡¥¡¤??a?-¡é???6???2??£¤?-¡ê???????¡ì??????????¨¦?1????????-???¨¦?¡ä??¡¥??o8-22??¡§???GSoC??o??????¨¨?????????¡ä£¤¨¨¡ä¡ä???¨¨????????¨¨???¡è???¡§?¡¥????????¡¥??????o????o?¨¦?1????????o???¨¨¡ä¡§??¡ì¨¨¡ä??????????????-|?1?¨¨?¡¥???????????????¨¦?????¨¨?????","category":"activity","tags":["????o?¨¦?1???","Google????¡§??1??¡è?","??¡ê???¨¨¡ä????","????¡§??-|?1?","?¡¥????????¡¥?","?????¡¥?¡è???o","¨¨?????????¡À?","??¡§???¨¦?1???","¨¨?¡¥?????????","???¨¨¡¤¦Ì???¨¦a?","?????¡¥???¨¨?2","????o?¨¨¡ä????"],"events":[{"year":2025,"id":"google-summer-of-code-2025","link":"https://developers.google.com/open-source/gsoc/timeline?hl=zh-cn","timeline":[{"deadline":"2025-01-27T18:00:00","comment":"????¡¥???????????¡ì???3¨¨¡¥¡¤"},{"deadline":"2025-02-11T18:00:00","comment":"????¡¥?????????3¨¨¡¥¡¤??a?-¡é"},{"deadline":"2025-03-24T18:00:00","comment":"¨¨¡ä????¨¨????3¨¨¡¥¡¤???????¡ì?"},{"deadline":"2025-04-08T18:00:00","comment":"¨¨¡ä????¨¨????3¨¨¡¥¡¤??a?-¡é"},{"deadline":"2025-06-02T00:00:00","comment":"???????-¡ê???????¡ì?"},{"deadline":"2025-11-17T18:00:00","comment":"¨¦?1???¨¨¡¥???¡ã????????a?-¡é"}],"timezone":"Asia/Shanghai","date":"2025?1¡ä1???-11???","place":"??¡§????o????¨¦?1???"}]},{"title":"MLH Fellowship 2026??£¤?-¡ê | ¨¨?¡¥????¡¤£¤?¡§??£¤??-|¨¦??¨¦?1???","description":"Major League Hacking (MLH) Fellowship??¡¥?????a???¨¨¡¤¦Ì?-|?1?¨¦?1????????¡§??¡§?????? aspiring technologists ¨¨?¡¤??????¨¦?????¨¨??????¡¥??1¡ä???¨¨??¨¨??135,000????????¡¥??¡À?£¤?¨¨????????MLH?¡ä???¡§????-|?1???????????????¡§¨¨????o????????????????-????¨¦????????¨¨?????MLH Fellowship???????¡è???a¨¦?1??????¨¦??¨¨???¡ã????¨¨?2??????¨¨?¡ê????????1??????¨¨¡¤¦Ì???¨¦a?????????????¨¨???-|?1???????????????????¨¨?¡ê??????¨¦????????¨¨?o?????¡¥??3??o?????a?oo¨¦?1???????????????????????-¨¨?¡¤???¨¦?1??????¨¨????¡¥????¡ì???o????o????¨¨¡ä???????¨¦?????¨¦???????????¨¦?1????????3¨¨¡¥¡¤¨¨???¡§??¡è¡ì?o|¨¦??¨¨|?30-45???¨¦????????????????¡¥??£¤¨¦?????????-?¨¨???o|?1???¡§??a??£¤??¡ì??-???","category":"activity","tags":["¨¨?¡¥????¡¤£¤?¡§?","????¡§??£¤??-|¨¦??","???¨¨¡¤¦Ì?-|?1?","????o?¨¨¡ä????","?????¡¥?¡è???o","¨¨?????????¡À?","Major League Hacking","??a?oo¨¦?1???","???¨¨??????¡À?","?????¡¥???¨¨?2","??¡§?o??-|?1?","????¡§????¨¨¡¤¦Ì"],"events":[{"year":2026,"id":"mlh-fellowship-spring-2026","link":"https://www.tfaforms.com/4956119","timeline":[{"deadline":"2026-01-02T23:59:59","comment":"??3¨¨¡¥¡¤??a?-¡é???¨¦?¡ä???????????¡ã??o???"},{"deadline":"2026-01-26T00:00:00","comment":"¨¦?1???????¡ì????¨¦?¡ä"}],"timezone":"Asia/Shanghai","date":"2026?1¡ä1???26??£¤????¡ì?","place":"?o????¨¦?1???"}]},{"title":"Wise Women Code | ??¡§????£¤3??¡ì???¨¦???o??????¡ì???¨¨???????¡¥¨¨?????????¡À?¨¦?1???","description":"Wise Women Code??¡¥Wise??¡§??o???¨¨?¡¤?£¤?¨¦?1????????¡§??¡§??o?£¤3??¡ì???¨¦???o??????¡ì???¨¨????????¨¨????£¤?????¡¥¨¨??????????o??????¨¨????a??o???3?¡è?????2??¦Ì???????¨¦a?¨¦?1????????????¨¨¡ä¦Ì???¨¨¡ì?¨¨¡ì¡ê??????¨¨¡¤¦Ì?¡¤£¤??????????o¡è?¦Ì???o????????¡§??¡§?¡é???o??????¨¨??????????????????????¡é?¡ä¡é¨¦??¨¨???¡ì????¨¨??????????????????¡¤£¤?¡§?¨¨¡¤¡¥??????2026?1¡ä???¨¨¡¥£¤¨¦?1????¡ã???¡§??¡ã???????????|??|???????????????¨¨???????¡¥???????????????¨¨???¡ã?¨¨?¡¤????????¡¥???¨¨???????????????????o?????????¨¦?????¨¨???????¡¥?????????????o?¨¨¡ì¡ê?????¡¥¨¦¡é?????¡è???¡¤??????¨¨?????¨¨¡¤¡¥????????-????????¡¥????¡¤£¤?¡§????????£¤??¡ì?¨¦?¡é?o¡À?????o??????Wise???????¡è???????????????1??¡ì?¡¥1?????¡ã???¨¨???-£¤¨¨?3??3¨¦??¨¨|????¨¨?¡ä????o???¡¥????£¤3??¡ì???¨¦???o??????¡ì???¨¨????¡§?????¡¥????????-???????????????","category":"activity","tags":["?£¤3??¡ì????¡§?","¨¦???o??????¡ì???","?????¡¥¨¨?????","¨¦??¨¨???¡ì????","?¡¤£¤?¡§?¨¨¡¤¡¥???","???¨¨¡¤¦Ì?¡¤£¤??????","¨¨?????????¡À?","?????¡¥???¨¨?2","?¡è???????","?????1??¡ì","??¡§???¨¦?1???","?????¡¥?¡è???o"],"events":[{"year":2026,"id":"wise-women-code-2026","link":"https://wise.jobs/wise-women-code","timeline":[{"deadline":"2026-01-01T00:00:00","comment":"¨¦?1?????3¨¨¡¥¡¤??????"},{"deadline":"2026-12-31T23:59:59","comment":"¨¦?1????????-¨¨??¨¨??"}],"timezone":"Asia/Shanghai","date":"2026?1¡ä??¡§?1¡ä","place":"??¡ã???????????|??|???????????????¨¨???????¡¥"}]},{"title":"Empire Code Technovation Girls 2026 | ??¡ã???????£¤3?-?????¡§??????¡¥¨¨?-???¨¨?£¤","description":"Empire Code?????????Technovation Girls 2026¨¦?1???????????o?1¡ä¨¨???£¤3?-?¨¨??¨¨?????????¡§?????????¡¥?????¡ã¨¨?-???¨¨?£¤???¨¨¡¥£¤¨¦?1?????¡§??¡§¨¦??¨¨?????¨¨¡¤¦Ì¨¦?1?????1????£¤3?-????????¡§????¨¨??????????¡ã?????¡ä??????????2??£¤???????????£¤1?????¡§?????¡¥¨¦¡é??????o??????????1???¡é?¡ä¡é??a??£¤¨¨?????????¡À???1??????¨¦?1??????????¡ì???¡§?o???¡§???????????????¨¨?????????????????¨¨?2????¡¤¡ì??1¨¨?-?-??¡è???a?¡§?????????????¨¨???¡ã??-|?1??|????¨¨¡¥??????¡ã???¨¦??¨¦¡é????¨¨??¨¨???????¡¥¨¨¡ì¡ê??3??1????1??????o?????¡ä?????????¨¨????????Empire Code¨¨?¡ä????o?¨¦??¨¨?????¨¨?2?¡ì????¨¨¦Ì?¨¨???1¡ä¨¨???£¤3??¡ì?????o?£¤1???????????¡§?????¡¥¨¨????????????????????¨¦????????¨¨???????£¤¨¨¡¥????","category":"activity","tags":["?£¤3?-?????¡§?","?????¡¥?????¡ã","?¡ì???¡§?o???¡§??????","???????2??£¤?","??????¨¨?????","???¨¨?2????¡¤¡ì","????¡§????¨¨?2","?£¤3??¡ì?¡ì????","???¨¨¡¤¦Ì¨¦?1???","?????¡ã?????¡ä","¨¨?????????¡À?","??¡ã?????????¨¨?2"],"events":[{"year":2026,"id":"empire-code-technovation-girls-2026","link":"https://empirecode.co/technovation-2026/","timeline":[{"deadline":"2026-01-15T00:00:00","comment":"¨¦?1?????3¨¨¡¥¡¤????¡ì?"},{"deadline":"2026-03-31T23:59:59","comment":"¨¦?1?????3¨¨¡¥¡¤??a?-¡é"},{"deadline":"2026-04-15T00:00:00","comment":"¨¦?1????-¡ê?????¡¥??¡§"},{"deadline":"2026-08-31T23:59:59","comment":"¨¦?1???????????????????¡À??¡èo"}],"timezone":"Asia/Shanghai","date":"2026?1¡ä4???15??£¤¨¨?32026?1¡ä8???31??£¤","place":"??¡ã??????"}]}] - diff --git a/tmp_vercel_home.html b/tmp_vercel_home.html deleted file mode 100644 index 28cc5c5..0000000 --- a/tmp_vercel_home.html +++ /dev/null @@ -1,2 +0,0 @@ -GoodAction-Hub
GoodAction Hub ¹«ÒæÉú»î΢ÐÅȺ

¼ÓÈëGoodAction Hub¿ªÔ´¹«ÒæÉú»î½»Á÷Ⱥ

- diff --git a/vercel.json b/vercel.json deleted file mode 100644 index c6c779f..0000000 --- a/vercel.json +++ /dev/null @@ -1 +0,0 @@ -{"rewrites":[{"source":"/(.*)","destination":"/index.html"}]} \ No newline at end of file diff --git a/website-config.xml b/website-config.xml deleted file mode 100644 index 9a563e9..0000000 --- a/website-config.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - index.html - - - index.html - - \ No newline at end of file