From c6ec669b364bf1ddc69633f7befef8bee23bbd3e Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Tue, 23 Jan 2024 10:51:23 -0800 Subject: [PATCH 1/2] pnpm monorepo migration complete --- .github/dependabot.yml | 11 + .gitignore | 25 +- .vscode/settings.json | 3 + DELETE_ME.md | 19 + biome.json | 18 + package.json | 92 +- .../astro-ghostcms/.env.demo | 0 LICENSE => packages/astro-ghostcms/LICENSE | 0 packages/astro-ghostcms/README.md | 113 + index.ts => packages/astro-ghostcms/index.ts | 10 +- packages/astro-ghostcms/package.json | 90 + .../astro-ghostcms/src}/api/functions.ts | 0 .../astro-ghostcms/src}/api/index.ts | 0 .../src}/api/tryghost-content-api.d.ts | 0 .../src}/api/tryghost-content-api.js | 0 .../src/default-routes/404}/404.astro | 2 +- .../src/default-routes/404}/404.css | 1 - .../src/default-routes}/rss.xml.js | 2 +- .../astro-ghostcms/src}/integrations/index.ts | 0 .../src}/integrations/robots-txt.ts | 2 +- .../src}/integrations/sitemap.ts | 2 +- .../astro-ghostcms/src/schemas/index.ts | 7 +- packages/astro-ghostcms/src/schemas/robots.ts | 37 + .../astro-ghostcms/src/schemas/sitemap.ts | 12 + .../src}/theme/components/AuthorCard.astro | 0 .../src}/theme/components/AuthorList.astro | 0 .../src}/theme/components/FeatureImage.astro | 0 .../src}/theme/components/Footer.astro | 0 .../src}/theme/components/Header.astro | 0 .../src}/theme/components/HeroContent.astro | 0 .../src}/theme/components/MainLayout.astro | 0 .../src}/theme/components/Page.astro | 0 .../src}/theme/components/Paginator.astro | 0 .../src}/theme/components/Post.astro | 0 .../src}/theme/components/PostFooter.astro | 0 .../src}/theme/components/PostHero.astro | 0 .../src}/theme/components/PostPreview.astro | 0 .../theme/components/PostPreviewList.astro | 0 .../src}/theme/components/TagCard.astro | 0 .../src}/theme/layouts/default.astro | 2 +- .../src}/theme/routes/[slug].astro | 0 .../theme/routes/archives/[...page].astro | 0 .../src}/theme/routes/author/[slug].astro | 0 .../src}/theme/routes/authors.astro | 0 .../src}/theme/routes/index.astro | 0 .../src}/theme/routes/tag/[slug].astro | 0 .../src}/theme/routes/tags.astro | 0 .../astro-ghostcms/src}/theme/styles/app.scss | 0 .../src}/theme/styles/reset.scss | 0 .../src}/theme/styles/variables.scss | 0 .../astro-ghostcms/src}/theme/utils/index.ts | 0 .../astro-ghostcms/src/virtual/index.ts | 3 +- .../astro-ghostcms/src/virtual}/virtual.d.ts | 0 packages/astro-ghostcms/tsconfig.json | 6 + playground/.gitignore | 21 + playground/.vscode/extensions.json | 4 + playground/.vscode/launch.json | 11 + playground/LICENSE | 21 + playground/README.md | 7 + playground/astro.config.mjs | 8 + playground/package.json | 21 + playground/public/favicon.svg | 9 + playground/src/env.d.ts | 9 + playground/tsconfig.json | 4 + pnpm-lock.yaml | 6303 +++++++++++++++++ pnpm-workspace.yaml | 4 + src/utils/schemas.ts | 47 - 67 files changed, 6762 insertions(+), 164 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .vscode/settings.json create mode 100644 DELETE_ME.md create mode 100644 biome.json rename .env.demo => packages/astro-ghostcms/.env.demo (100%) rename LICENSE => packages/astro-ghostcms/LICENSE (100%) create mode 100644 packages/astro-ghostcms/README.md rename index.ts => packages/astro-ghostcms/index.ts (95%) create mode 100644 packages/astro-ghostcms/package.json rename {src => packages/astro-ghostcms/src}/api/functions.ts (100%) rename {src => packages/astro-ghostcms/src}/api/index.ts (100%) rename {src => packages/astro-ghostcms/src}/api/tryghost-content-api.d.ts (100%) rename {src => packages/astro-ghostcms/src}/api/tryghost-content-api.js (100%) rename {src/theme/routes => packages/astro-ghostcms/src/default-routes/404}/404.astro (90%) rename {src/theme/styles => packages/astro-ghostcms/src/default-routes/404}/404.css (98%) rename {src/theme/routes => packages/astro-ghostcms/src/default-routes}/rss.xml.js (90%) rename {src => packages/astro-ghostcms/src}/integrations/index.ts (100%) rename {src => packages/astro-ghostcms/src}/integrations/robots-txt.ts (92%) rename {src => packages/astro-ghostcms/src}/integrations/sitemap.ts (90%) rename src/utils/UserConfigSchema.ts => packages/astro-ghostcms/src/schemas/index.ts (84%) create mode 100644 packages/astro-ghostcms/src/schemas/robots.ts create mode 100644 packages/astro-ghostcms/src/schemas/sitemap.ts rename {src => packages/astro-ghostcms/src}/theme/components/AuthorCard.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/AuthorList.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/FeatureImage.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/Footer.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/Header.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/HeroContent.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/MainLayout.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/Page.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/Paginator.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/Post.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/PostFooter.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/PostHero.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/PostPreview.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/PostPreviewList.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/components/TagCard.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/layouts/default.astro (98%) rename {src => packages/astro-ghostcms/src}/theme/routes/[slug].astro (100%) rename {src => packages/astro-ghostcms/src}/theme/routes/archives/[...page].astro (100%) rename {src => packages/astro-ghostcms/src}/theme/routes/author/[slug].astro (100%) rename {src => packages/astro-ghostcms/src}/theme/routes/authors.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/routes/index.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/routes/tag/[slug].astro (100%) rename {src => packages/astro-ghostcms/src}/theme/routes/tags.astro (100%) rename {src => packages/astro-ghostcms/src}/theme/styles/app.scss (100%) rename {src => packages/astro-ghostcms/src}/theme/styles/reset.scss (100%) rename {src => packages/astro-ghostcms/src}/theme/styles/variables.scss (100%) rename {src => packages/astro-ghostcms/src}/theme/utils/index.ts (100%) rename src/utils/virtual-imports.ts => packages/astro-ghostcms/src/virtual/index.ts (96%) rename {src/utils => packages/astro-ghostcms/src/virtual}/virtual.d.ts (100%) create mode 100644 packages/astro-ghostcms/tsconfig.json create mode 100644 playground/.gitignore create mode 100644 playground/.vscode/extensions.json create mode 100644 playground/.vscode/launch.json create mode 100644 playground/LICENSE create mode 100644 playground/README.md create mode 100644 playground/astro.config.mjs create mode 100644 playground/package.json create mode 100644 playground/public/favicon.svg create mode 100644 playground/src/env.d.ts create mode 100644 playground/tsconfig.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml delete mode 100644 src/utils/schemas.ts diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..3a3cce57 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "npm" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" diff --git a/.gitignore b/.gitignore index 92068a14..b512c09d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1 @@ -# build output -dist -.vercel -# generated types -.astro/ -# dependencies -node_modules/ -.snowpack/ - -# logs -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# environment variables -.env -.env.production - -# macOS-specific files -.DS_Store - -# editor -.idea -package-lock.json \ No newline at end of file +node_modules \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..4f375904 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.defaultFormatter": "biomejs.biome" +} diff --git a/DELETE_ME.md b/DELETE_ME.md new file mode 100644 index 00000000..cd67c9ad --- /dev/null +++ b/DELETE_ME.md @@ -0,0 +1,19 @@ +## Checklist + +- [ ] Update all `TODO:` +- [ ] Update all `package-name` occurences +- [ ] Add a LICENSE.md at the root +- [ ] Have gh cli installed +- [ ] Work on the integration logic +- [ ] Work on docs + - [ ] JSDoc + - [ ] Package README +- [ ] Format/lint (`pnpm lint:fix`) +- [ ] Setup GitHub repository +- [ ] Release (see below) +- [ ] Share! + +To create a release: +- [ ] `pnpm run changeset` +- [ ] Commit and push +- [ ] `pnpm release` diff --git a/biome.json b/biome.json new file mode 100644 index 00000000..4e0f2b89 --- /dev/null +++ b/biome.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.5.2/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "suspicious": { + "noExplicitAny": "warn" + } + } + }, + "files": { + "ignore": ["dist", ".astro"] + } +} diff --git a/package.json b/package.json index 6d52dca9..f72417dc 100644 --- a/package.json +++ b/package.json @@ -1,79 +1,17 @@ { - "name": "@matthiesenxyz/astro-ghostcms", - "description": "Astro GhostCMS integration to allow easier importing of GhostCMS Content", - "version": "2.1.8", - "author": "MatthiesenXYZ (https://matthiesen.xyz)", - "type": "module", - "license": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/MatthiesenXYZ/astro-ghostcms.git" - }, - "bugs": { - "url": "https://github.com/MatthiesenXYZ/astro-ghostcms/issues", - "email": "issues@astro-ghostcms.xyz" - }, - "homepage": "https://astro-ghostcms.xyz/", - "exports": { - ".": "./index.ts", - "./api": "./src/api/index.ts", - "./index.astro": "./src/theme/routes/index.astro", - "./404.astro": "./src/theme/routes/404.astro", - "./[slug].astro": "./src/theme/routes/[slug].astro", - "./tags.astro": "./src/theme/routes/tags.astro", - "./authors.astro": "./src/theme/routes/authors.astro", - "./tag/[slug].astro": "./src/theme/routes/tag/[slug].astro", - "./author/[slug].astro": "./src/theme/routes/author/[slug].astro", - "./archives/[...page].astro": "./src/theme/routes/archives/[...page].astro", - "./rss.xml.js": "./src/theme/routes/rss.xml.js" - }, - "main": "index.ts", - "types": "src/api/tryghost-content-api.d.ts", - "files": [ - "src", - "index.ts" - ], - "keywords": [ - "astro-component", - "astro-integration", - "withastro", - "astro", - "blog", - "content", - "integration", - "ghost", - "ghostcms", - "ghostcms-theme", - "ghost-theme", - "astro-theme" - ], - "scripts": { - "dev": "astro dev", - "build": "astro build", - "typecheck": "astro check && tsc --noEmit", - "preview": "astro preview", - "format": "prettier --write .", - "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint ." - }, - "dependencies": { - "@astrojs/check": "^0.3.4", - "@astrojs/rss": "^4.0.2", - "@astrojs/sitemap": "^3.0.5", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", - "astro": "^4.2.1", - "astro-font": "^0.0.72", - "astro-robots-txt": "^1.0.0", - "axios": "^1.6.5", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-astro": "^0.29.1", - "prettier": "^3.2.4", - "prettier-plugin-astro": "^0.12.3", - "sass": "^1.70.0", - "tiny-invariant": "^1.3.1", - "typescript": "^5.3.3", - "vite": "^4.5.2", - "zod-validation-error": "^3.0.0" - } + "name": "root", + "private": true, + "packageManager": "pnpm@8.14.1", + "engines": { + "node": ">=18.19.0" + }, + "scripts": { + "playground:dev": "pnpm --filter playground dev", + "lint": "biome check .", + "lint:fix": "biome check --apply ." + }, + "devDependencies": { + "@biomejs/biome": "1.5.2", + "@changesets/cli": "^2.27.1" + } } diff --git a/.env.demo b/packages/astro-ghostcms/.env.demo similarity index 100% rename from .env.demo rename to packages/astro-ghostcms/.env.demo diff --git a/LICENSE b/packages/astro-ghostcms/LICENSE similarity index 100% rename from LICENSE rename to packages/astro-ghostcms/LICENSE diff --git a/packages/astro-ghostcms/README.md b/packages/astro-ghostcms/README.md new file mode 100644 index 00000000..17a02378 --- /dev/null +++ b/packages/astro-ghostcms/README.md @@ -0,0 +1,113 @@ + + +# Welcome to Astro-GhostCMS + +*Ghost is a trademark of [The Ghost Foundation](https://ghost.org/trademark/). This project is not directly related to or provided by The Ghost Foundation and is intended to help create a easier method to utilize their provided JavaScript tools to link a Headless GhostCMS install in to your Astro project.* + +- [Live Demo](https://demo.astro-ghostcms.xyz/) of the Astro-GhostCMS integration in action! +- [Live Demo - Unlighthouse Test](https://test.demo.astro-ghostcms.xyz) for a Automatically updated Lighthouse test from every deploy! +- [Live Demo's Repo](https://github.com/MatthiesenXYZ/astro-ghostcms-demo) for an example of how the setup looks. +- [Ghost.org](https://ghost.org) Get your own Ghost[^1] Install + +*Need help but don't have Github? Email us at [issues@astro-ghostcms.xyz](mailto:issues@astroghostcms.xyz) to create an issue here on github!* + +Astro minimum Version: **Astro v4.0** + +This Integration is 2 parts. Firstly, there is the API portion that uses the `@tryghost/content-api`[^1] to create the link between astro and GhostCMS. From there we move to the Second Part, which is a theme pre-programmed to pull ALL of its data from GhostCMS[^1] iteself instead of storing any data locally outside of Build. + +- *This package contains a independent copy of the tryghost content-api.js[^1] that is used to establish the connection so this package dose not depend on `@tryghost/content-api` package.[^1]* +- If you are looking for a more Customizable option please check [astro-ghostcms-basetheme](https://github.com/MatthiesenXYZ/astro-ghostcms-basetheme) +- This project is not setup for SSR in Integration mode. As such is will most likely not function properly in that mode. You will need to build your own project around the API or customize the *basetheme* linked above. + +## Astro Integration Mode + +In this mode, the addon will not be just an API, but will be a full Route takeover, there is plans to add more themes in time, but for now there is only the base Casper theme based on Ghost's main Theme. + +### Astro Add Installation + +```sh +# For fresh Install +npm create astro@latest +# Create Empty Install with standard typescript +# Then Delete entire `pages` folder under `/src/` +npx astro add @matthiesenxyz/astro-ghostcms +``` +#### Dont forget to set your environment Variables! + +You must also create 2 environment variables in a `.env` file with the following: + +```env +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz +``` +## Manual Installation + +``` +npm i @matthiesenxyz/astro-ghostcms +``` + +Then set your astro.config.ts to look like this: + +```ts +import { defineConfig } from "astro/config"; +import sitemap from "@astrojs/sitemap"; //optional but recommended +import GhostCMS from '@matthiesenxyz/astro-ghostcms'; + +// https://astro.build/config +export default defineConfig({ + site: "https://YOUR-DOMAIN-HERE.com" + integrations: [sitemap(), GhostCMS()], +}); +``` + +#### Dont forget to set your environment Variables! + +You must also create 2 environment variables in a `.env` file with the following: + +```env +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz +``` + +**When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!** + +#### Created Routes + +The routes are the same as a standard Ghost Blog so you can migrate to Astro easily. + +| Route | Content | +| --------------------- | ----------------------------------------- | +| `/` | Homepage with recents/features Blog Posts | +| `/404` | 404 Page | +| `/[slug]` | Post or Page | +| `/author/[slug]` | Author page with related posts | +| `/authors` | All the authors | +| `/tag[slug]` | Tag page with related posts | +| `/tags` | All the tags | +| `/archives/[...page]` | All the posts, paginated | +| `/rss.xml` | All the posts, in a FEED | + + +## Manual Function Mode (DIY MODE) + +In this mode the integration will not deploy routes at all. you will have to build your own website to utilize the exported functions listed below. + +``` +npm i @matthiesenxyz/astro-ghostcms +``` + +You must also create 2 environment variables in a `.env` file with the following: + +```env +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz +``` + +**When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!** + +For more information and to see the docs please check our website: [Astro-GhostCMS.xyz](https://astro-ghostcms.xyz) + +# Foot Notes & Credits + +[^1]: Ghost.org, Ghost.io, Ghost are all trademarks of [The Ghost Foundation](https://ghost.org/). This project is Open Source and not directly related to or provided by The Ghost Foundation and is intended to help create a easier method to utilize their provided JavaScript tools to link a Headless GhostCMS install in to your Astro project. + diff --git a/index.ts b/packages/astro-ghostcms/index.ts similarity index 95% rename from index.ts rename to packages/astro-ghostcms/index.ts index 9bfca339..b37564b1 100644 --- a/index.ts +++ b/packages/astro-ghostcms/index.ts @@ -1,10 +1,10 @@ import type { AstroIntegration } from "astro"; import type { SafeParseError, SafeParseSuccess } from "astro/zod"; -import { UserConfigSchema, type UserConfig } from "./src/utils/UserConfigSchema"; +import { UserConfigSchema, type UserConfig } from "./src/schemas"; import { ghostSitemap, ghostRobots } from "./src/integrations"; import { loadEnv } from 'vite'; import { fromZodError } from "zod-validation-error"; -import { viteGhostCMS } from "./src/utils/virtual-imports"; +import { viteGhostCMS } from "./src/virtual"; /** INTERNAL CONSTANTS */ const IC = { @@ -17,9 +17,9 @@ const IC = { /** SET ENV GRABBER PREFIXES */ PREFIXES: 'CONTENT_API', /** INTERNAL STRING */ - KEY_MISSING:"CONTENT_API_KEY Missing from .env", + KEY_MISSING:"CONTENT_API_KEY Missing from .env/environment variables", /** INTERNAL STRING */ - URL_MISSING:"CONTENT_API_URL Missing from .env", + URL_MISSING:"CONTENT_API_URL Missing from .env/environment variables", /** INTERNAL STRING */ IT:"Injecting Theme: ", /** INTERNAL STRING */ @@ -104,7 +104,7 @@ export default function GhostCMS(options: UserConfig): AstroIntegration { injectRoute({ pattern: '/404', - entrypoint: `${entry}/404.astro` + entrypoint: `${IC.PKG}/404.astro` }); injectRoute({ diff --git a/packages/astro-ghostcms/package.json b/packages/astro-ghostcms/package.json new file mode 100644 index 00000000..93429aa3 --- /dev/null +++ b/packages/astro-ghostcms/package.json @@ -0,0 +1,90 @@ +{ + "name": "@matthiesenxyz/astro-ghostcms", + "description": "Astro GhostCMS integration to allow easier importing of GhostCMS Content", + "version": "2.1.8", + "homepage": "https://astro-ghostcms.xyz/", + "type": "module", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "author": { + "email": "adam@matthiesen.xyz", + "name": "Adam Matthiesen - MatthiesenXYZ", + "url": "https://matthiesen.xyz" + }, + "keywords": [ + "astro-component", + "astro-integration", + "withastro", + "astro", + "blog", + "content", + "integration", + "ghost", + "ghostcms", + "ghostcms-theme", + "ghost-theme", + "astro-theme" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/MatthiesenXYZ/astro-ghostcms.git" + }, + "bugs": { + "url": "https://github.com/MatthiesenXYZ/astro-ghostcms/issues", + "email": "issues@astro-ghostcms.xyz" + }, + "main": "index.ts", + "types": "src/api/tryghost-content-api.d.ts", + "files": [ + "src", + "index.ts" + ], + "exports": { + ".": "./index.ts", + "./api": "./src/api/index.ts", + "./404.astro": "./src/default-routes/404/404.astro", + "./rss.xml.js": "./src/default-routes/rss.xml.js", + "./index.astro": "./src/theme/routes/index.astro", + "./[slug].astro": "./src/theme/routes/[slug].astro", + "./tags.astro": "./src/theme/routes/tags.astro", + "./authors.astro": "./src/theme/routes/authors.astro", + "./tag/[slug].astro": "./src/theme/routes/tag/[slug].astro", + "./author/[slug].astro": "./src/theme/routes/author/[slug].astro", + "./archives/[...page].astro": "./src/theme/routes/archives/[...page].astro" + }, + "scripts": { + "dev": "astro dev", + "build": "astro build", + "typecheck": "astro check && tsc --noEmit", + "preview": "astro preview", + "format": "prettier --write .", + "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint ." + }, + "peerDependencies": { + "astro": "^4.2.1" + }, + "dependencies": { + "@astrojs/check": "^0.3.4", + "@astrojs/rss": "^4.0.2", + "@astrojs/sitemap": "^3.0.5", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", + "@types/node": "^20.11.5", + "astro-font": "^0.0.72", + "astro-robots-txt": "^1.0.0", + "axios": "^1.6.5", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-astro": "^0.29.1", + "prettier": "^3.2.4", + "prettier-plugin-astro": "^0.12.3", + "sass": "^1.70.0", + "tiny-invariant": "^1.3.1", + "typescript": "^5.3.3", + "vite": "^4.5.2", + "zod-validation-error": "^3.0.0" + } +} diff --git a/src/api/functions.ts b/packages/astro-ghostcms/src/api/functions.ts similarity index 100% rename from src/api/functions.ts rename to packages/astro-ghostcms/src/api/functions.ts diff --git a/src/api/index.ts b/packages/astro-ghostcms/src/api/index.ts similarity index 100% rename from src/api/index.ts rename to packages/astro-ghostcms/src/api/index.ts diff --git a/src/api/tryghost-content-api.d.ts b/packages/astro-ghostcms/src/api/tryghost-content-api.d.ts similarity index 100% rename from src/api/tryghost-content-api.d.ts rename to packages/astro-ghostcms/src/api/tryghost-content-api.d.ts diff --git a/src/api/tryghost-content-api.js b/packages/astro-ghostcms/src/api/tryghost-content-api.js similarity index 100% rename from src/api/tryghost-content-api.js rename to packages/astro-ghostcms/src/api/tryghost-content-api.js diff --git a/src/theme/routes/404.astro b/packages/astro-ghostcms/src/default-routes/404/404.astro similarity index 90% rename from src/theme/routes/404.astro rename to packages/astro-ghostcms/src/default-routes/404/404.astro index b6631e4f..e06ec950 100644 --- a/src/theme/routes/404.astro +++ b/packages/astro-ghostcms/src/default-routes/404/404.astro @@ -1,5 +1,5 @@ --- -import '../styles/404.css' +import './404.css'; --- diff --git a/src/theme/styles/404.css b/packages/astro-ghostcms/src/default-routes/404/404.css similarity index 98% rename from src/theme/styles/404.css rename to packages/astro-ghostcms/src/default-routes/404/404.css index e9a35099..69be6990 100644 --- a/src/theme/styles/404.css +++ b/packages/astro-ghostcms/src/default-routes/404/404.css @@ -58,7 +58,6 @@ font-size: 15px; text-align: center; margin: 0 auto; - vertical-align: middle; display: block; margin-bottom: 40px; margin-top: 25px; diff --git a/src/theme/routes/rss.xml.js b/packages/astro-ghostcms/src/default-routes/rss.xml.js similarity index 90% rename from src/theme/routes/rss.xml.js rename to packages/astro-ghostcms/src/default-routes/rss.xml.js index 45537d41..cd3b48db 100644 --- a/src/theme/routes/rss.xml.js +++ b/packages/astro-ghostcms/src/default-routes/rss.xml.js @@ -1,5 +1,5 @@ import rss from "@astrojs/rss"; -import { getGhostPosts, getGhostSettings } from '../../api'; +import { getGhostPosts, getGhostSettings } from '../api'; import invariant from "tiny-invariant"; export async function GET(context) { diff --git a/src/integrations/index.ts b/packages/astro-ghostcms/src/integrations/index.ts similarity index 100% rename from src/integrations/index.ts rename to packages/astro-ghostcms/src/integrations/index.ts diff --git a/src/integrations/robots-txt.ts b/packages/astro-ghostcms/src/integrations/robots-txt.ts similarity index 92% rename from src/integrations/robots-txt.ts rename to packages/astro-ghostcms/src/integrations/robots-txt.ts index fff20c9c..143f7ed1 100644 --- a/src/integrations/robots-txt.ts +++ b/packages/astro-ghostcms/src/integrations/robots-txt.ts @@ -1,5 +1,5 @@ import robotsTxt, { type RobotsTxtOptions } from "astro-robots-txt"; -import { UserConfig } from "../utils/UserConfigSchema"; +import type { UserConfig } from "../schemas"; export function getRobotsTxtConfig(opts: UserConfig): RobotsTxtOptions { const { robotstxt } = opts; diff --git a/src/integrations/sitemap.ts b/packages/astro-ghostcms/src/integrations/sitemap.ts similarity index 90% rename from src/integrations/sitemap.ts rename to packages/astro-ghostcms/src/integrations/sitemap.ts index 20697e62..245570e7 100644 --- a/src/integrations/sitemap.ts +++ b/packages/astro-ghostcms/src/integrations/sitemap.ts @@ -1,5 +1,5 @@ import sitemap, { type SitemapOptions } from '@astrojs/sitemap'; -import { UserConfig } from '../utils/UserConfigSchema'; +import type { UserConfig } from '../schemas'; export function getSitemapConfig(opts: UserConfig): SitemapOptions { const { sitemap } = opts diff --git a/src/utils/UserConfigSchema.ts b/packages/astro-ghostcms/src/schemas/index.ts similarity index 84% rename from src/utils/UserConfigSchema.ts rename to packages/astro-ghostcms/src/schemas/index.ts index e2f87d01..b08bb301 100644 --- a/src/utils/UserConfigSchema.ts +++ b/packages/astro-ghostcms/src/schemas/index.ts @@ -1,5 +1,6 @@ import { z } from 'astro/zod'; -import * as S from './schemas'; +import { SitemapSchema } from './sitemap'; +import { RobotsTxtSchema } from './robots'; export const UserConfigSchema = z.object({ /** OPTIONAL - Disable Route Injector @@ -15,13 +16,13 @@ export const UserConfigSchema = z.object({ * Options shown are the availble options * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap */ - sitemap: S.SitemapSchema.optional(), + sitemap: SitemapSchema.optional(), /** OPTIONAL - astro-robots-txt * This option allows the user to configure the included integration * Options shown are the availble options * REFERENCE https://www.npmjs.com/package/astro-robots-txt#configuration */ - robotstxt: S.RobotsTxtSchema.optional(), + robotstxt: RobotsTxtSchema.optional(), }); /** USER CONFIGURATION SCHEMA */ diff --git a/packages/astro-ghostcms/src/schemas/robots.ts b/packages/astro-ghostcms/src/schemas/robots.ts new file mode 100644 index 00000000..56b099b2 --- /dev/null +++ b/packages/astro-ghostcms/src/schemas/robots.ts @@ -0,0 +1,37 @@ +import { z } from "astro/zod"; + +const RobotsPolicySchema = z.object({ + /** You must provide a name of the automatic client (search engine crawler). + * Wildcards are allowed. + */ + userAgent: z.string(), + /** Allowed paths for crawling */ + allow: z.string().optional(), + /** Disallowed paths for crawling */ + disallow: z.string().optional(), + /** Indicates that the page's URL contains parameters that should be ignored during crawling. + * Maximum string length is limited to 500. + */ + cleanParam: z.string().optional(), + /** Minimum interval (in secs) for the crawler to wait after loading one page, before starting other */ + crawlDelay: z.number().optional() + }) + + export const RobotsTxtSchema = z.object({ + /** EXAMPLE1 host: true - automatically resolve using the site option from Astro config + * EXAMPLE2 host: 'example.com' + */ + host: z.string().optional(), + /** EXAMPLE1 sitemap: "https://example.com/sitemap-0.xml" + * EXAMPLE2 sitemap: ['https://example.com/sitemap-0.xml','https://example.com/sitemap-1.xml'] + * EXAMPLE3 sitemap: false - If you want to get the robots.txt file without the Sitemap: ... entry, set the sitemap parameter to false. + */ + sitemap: z.string().optional(), + /** astrojs/sitemap and astro-sitemap integrations have the sitemap-index.xml as their primary output. That is why the default value of sitemapBaseFileName is set to sitemap-index. + * EXAMPLE sitemapBaseFileName: 'custom-sitemap' + */ + sitemapBaseFileName: z.string().optional(), + /** SET POLICY RULES */ + policy: RobotsPolicySchema.array().optional(), + }) + \ No newline at end of file diff --git a/packages/astro-ghostcms/src/schemas/sitemap.ts b/packages/astro-ghostcms/src/schemas/sitemap.ts new file mode 100644 index 00000000..d39b3ffa --- /dev/null +++ b/packages/astro-ghostcms/src/schemas/sitemap.ts @@ -0,0 +1,12 @@ +import { z } from "astro/zod"; + +export const SitemapSchema = z.object({ + /** EXAMPLE: ['https://example-1.com', 'https://example-2.com] + * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#custompages + */ + customPages: z.string().array().optional(), + /** EXAMPLE: 10000 + * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#entrylimit + */ + entryLimit: z.number().optional() + }) \ No newline at end of file diff --git a/src/theme/components/AuthorCard.astro b/packages/astro-ghostcms/src/theme/components/AuthorCard.astro similarity index 100% rename from src/theme/components/AuthorCard.astro rename to packages/astro-ghostcms/src/theme/components/AuthorCard.astro diff --git a/src/theme/components/AuthorList.astro b/packages/astro-ghostcms/src/theme/components/AuthorList.astro similarity index 100% rename from src/theme/components/AuthorList.astro rename to packages/astro-ghostcms/src/theme/components/AuthorList.astro diff --git a/src/theme/components/FeatureImage.astro b/packages/astro-ghostcms/src/theme/components/FeatureImage.astro similarity index 100% rename from src/theme/components/FeatureImage.astro rename to packages/astro-ghostcms/src/theme/components/FeatureImage.astro diff --git a/src/theme/components/Footer.astro b/packages/astro-ghostcms/src/theme/components/Footer.astro similarity index 100% rename from src/theme/components/Footer.astro rename to packages/astro-ghostcms/src/theme/components/Footer.astro diff --git a/src/theme/components/Header.astro b/packages/astro-ghostcms/src/theme/components/Header.astro similarity index 100% rename from src/theme/components/Header.astro rename to packages/astro-ghostcms/src/theme/components/Header.astro diff --git a/src/theme/components/HeroContent.astro b/packages/astro-ghostcms/src/theme/components/HeroContent.astro similarity index 100% rename from src/theme/components/HeroContent.astro rename to packages/astro-ghostcms/src/theme/components/HeroContent.astro diff --git a/src/theme/components/MainLayout.astro b/packages/astro-ghostcms/src/theme/components/MainLayout.astro similarity index 100% rename from src/theme/components/MainLayout.astro rename to packages/astro-ghostcms/src/theme/components/MainLayout.astro diff --git a/src/theme/components/Page.astro b/packages/astro-ghostcms/src/theme/components/Page.astro similarity index 100% rename from src/theme/components/Page.astro rename to packages/astro-ghostcms/src/theme/components/Page.astro diff --git a/src/theme/components/Paginator.astro b/packages/astro-ghostcms/src/theme/components/Paginator.astro similarity index 100% rename from src/theme/components/Paginator.astro rename to packages/astro-ghostcms/src/theme/components/Paginator.astro diff --git a/src/theme/components/Post.astro b/packages/astro-ghostcms/src/theme/components/Post.astro similarity index 100% rename from src/theme/components/Post.astro rename to packages/astro-ghostcms/src/theme/components/Post.astro diff --git a/src/theme/components/PostFooter.astro b/packages/astro-ghostcms/src/theme/components/PostFooter.astro similarity index 100% rename from src/theme/components/PostFooter.astro rename to packages/astro-ghostcms/src/theme/components/PostFooter.astro diff --git a/src/theme/components/PostHero.astro b/packages/astro-ghostcms/src/theme/components/PostHero.astro similarity index 100% rename from src/theme/components/PostHero.astro rename to packages/astro-ghostcms/src/theme/components/PostHero.astro diff --git a/src/theme/components/PostPreview.astro b/packages/astro-ghostcms/src/theme/components/PostPreview.astro similarity index 100% rename from src/theme/components/PostPreview.astro rename to packages/astro-ghostcms/src/theme/components/PostPreview.astro diff --git a/src/theme/components/PostPreviewList.astro b/packages/astro-ghostcms/src/theme/components/PostPreviewList.astro similarity index 100% rename from src/theme/components/PostPreviewList.astro rename to packages/astro-ghostcms/src/theme/components/PostPreviewList.astro diff --git a/src/theme/components/TagCard.astro b/packages/astro-ghostcms/src/theme/components/TagCard.astro similarity index 100% rename from src/theme/components/TagCard.astro rename to packages/astro-ghostcms/src/theme/components/TagCard.astro diff --git a/src/theme/layouts/default.astro b/packages/astro-ghostcms/src/theme/layouts/default.astro similarity index 98% rename from src/theme/layouts/default.astro rename to packages/astro-ghostcms/src/theme/layouts/default.astro index 13155f7a..3c653206 100644 --- a/src/theme/layouts/default.astro +++ b/packages/astro-ghostcms/src/theme/layouts/default.astro @@ -1,8 +1,8 @@ --- import type { Settings } from "../../api"; import { AstroFont } from "astro-font"; -import ViewTransitions from "astro/components/ViewTransitions.astro"; import MainLayout from "../components/MainLayout.astro"; +import { ViewTransitions } from "astro:transitions"; export type Props = { content?: { title: string|undefined; diff --git a/src/theme/routes/[slug].astro b/packages/astro-ghostcms/src/theme/routes/[slug].astro similarity index 100% rename from src/theme/routes/[slug].astro rename to packages/astro-ghostcms/src/theme/routes/[slug].astro diff --git a/src/theme/routes/archives/[...page].astro b/packages/astro-ghostcms/src/theme/routes/archives/[...page].astro similarity index 100% rename from src/theme/routes/archives/[...page].astro rename to packages/astro-ghostcms/src/theme/routes/archives/[...page].astro diff --git a/src/theme/routes/author/[slug].astro b/packages/astro-ghostcms/src/theme/routes/author/[slug].astro similarity index 100% rename from src/theme/routes/author/[slug].astro rename to packages/astro-ghostcms/src/theme/routes/author/[slug].astro diff --git a/src/theme/routes/authors.astro b/packages/astro-ghostcms/src/theme/routes/authors.astro similarity index 100% rename from src/theme/routes/authors.astro rename to packages/astro-ghostcms/src/theme/routes/authors.astro diff --git a/src/theme/routes/index.astro b/packages/astro-ghostcms/src/theme/routes/index.astro similarity index 100% rename from src/theme/routes/index.astro rename to packages/astro-ghostcms/src/theme/routes/index.astro diff --git a/src/theme/routes/tag/[slug].astro b/packages/astro-ghostcms/src/theme/routes/tag/[slug].astro similarity index 100% rename from src/theme/routes/tag/[slug].astro rename to packages/astro-ghostcms/src/theme/routes/tag/[slug].astro diff --git a/src/theme/routes/tags.astro b/packages/astro-ghostcms/src/theme/routes/tags.astro similarity index 100% rename from src/theme/routes/tags.astro rename to packages/astro-ghostcms/src/theme/routes/tags.astro diff --git a/src/theme/styles/app.scss b/packages/astro-ghostcms/src/theme/styles/app.scss similarity index 100% rename from src/theme/styles/app.scss rename to packages/astro-ghostcms/src/theme/styles/app.scss diff --git a/src/theme/styles/reset.scss b/packages/astro-ghostcms/src/theme/styles/reset.scss similarity index 100% rename from src/theme/styles/reset.scss rename to packages/astro-ghostcms/src/theme/styles/reset.scss diff --git a/src/theme/styles/variables.scss b/packages/astro-ghostcms/src/theme/styles/variables.scss similarity index 100% rename from src/theme/styles/variables.scss rename to packages/astro-ghostcms/src/theme/styles/variables.scss diff --git a/src/theme/utils/index.ts b/packages/astro-ghostcms/src/theme/utils/index.ts similarity index 100% rename from src/theme/utils/index.ts rename to packages/astro-ghostcms/src/theme/utils/index.ts diff --git a/src/utils/virtual-imports.ts b/packages/astro-ghostcms/src/virtual/index.ts similarity index 96% rename from src/utils/virtual-imports.ts rename to packages/astro-ghostcms/src/virtual/index.ts index 180750a2..aec1124a 100644 --- a/src/utils/virtual-imports.ts +++ b/packages/astro-ghostcms/src/virtual/index.ts @@ -1,8 +1,7 @@ import type { AstroConfig, ViteUserConfig } from 'astro' import { resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; - -import { UserConfig } from './UserConfigSchema' +import type { UserConfig } from '../schemas'; function resolveVirtualModuleId(id: T): `\0${T}` { return `\0${id}` diff --git a/src/utils/virtual.d.ts b/packages/astro-ghostcms/src/virtual/virtual.d.ts similarity index 100% rename from src/utils/virtual.d.ts rename to packages/astro-ghostcms/src/virtual/virtual.d.ts diff --git a/packages/astro-ghostcms/tsconfig.json b/packages/astro-ghostcms/tsconfig.json new file mode 100644 index 00000000..a70a5efd --- /dev/null +++ b/packages/astro-ghostcms/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "astro/tsconfigs/strict", + "compilerOptions": { + "jsx": "preserve" + } +} diff --git a/playground/.gitignore b/playground/.gitignore new file mode 100644 index 00000000..6d4c0aa0 --- /dev/null +++ b/playground/.gitignore @@ -0,0 +1,21 @@ +# build output +dist/ + +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store diff --git a/playground/.vscode/extensions.json b/playground/.vscode/extensions.json new file mode 100644 index 00000000..3a1c9ecd --- /dev/null +++ b/playground/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/playground/.vscode/launch.json b/playground/.vscode/launch.json new file mode 100644 index 00000000..230708db --- /dev/null +++ b/playground/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/playground/LICENSE b/playground/LICENSE new file mode 100644 index 00000000..88dd1335 --- /dev/null +++ b/playground/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Matthiesen XYZ + +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/playground/README.md b/playground/README.md new file mode 100644 index 00000000..ee10f031 --- /dev/null +++ b/playground/README.md @@ -0,0 +1,7 @@ +# Astro-GhostCMS playground + +This is the Dev Environment for this package + +### For more information Check our website + +[Astro-GhostCMS.xyz](https://astro-ghostcms.xyz) diff --git a/playground/astro.config.mjs b/playground/astro.config.mjs new file mode 100644 index 00000000..a0eb4cbc --- /dev/null +++ b/playground/astro.config.mjs @@ -0,0 +1,8 @@ +import { defineConfig } from "astro/config"; +import ghostcms from "@matthiesenxyz/astro-ghostcms"; + +// https://astro.build/config +export default defineConfig({ + site: "https://demo.astro-ghostcms.xyz/", + integrations: [ghostcms()], +}); diff --git a/playground/package.json b/playground/package.json new file mode 100644 index 00000000..d1be0d6f --- /dev/null +++ b/playground/package.json @@ -0,0 +1,21 @@ +{ + "name": "playground", + "type": "module", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "astro": "^4.2.1", + "@matthiesenxyz/astro-ghostcms": "workspace:*" + }, + "devDependencies": { + "@astrojs/check": "^0.4.1", + "typescript": "^5.3.3" + } +} diff --git a/playground/public/favicon.svg b/playground/public/favicon.svg new file mode 100644 index 00000000..f157bd1c --- /dev/null +++ b/playground/public/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/playground/src/env.d.ts b/playground/src/env.d.ts new file mode 100644 index 00000000..e8c8b171 --- /dev/null +++ b/playground/src/env.d.ts @@ -0,0 +1,9 @@ +/// +interface ImportMetaEnv { + readonly CONTENT_API_KEY: string + readonly CONTENT_API_URL: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv; +} \ No newline at end of file diff --git a/playground/tsconfig.json b/playground/tsconfig.json new file mode 100644 index 00000000..0be1a571 --- /dev/null +++ b/playground/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "astro/tsconfigs/strict", + "exclude": ["dist"] +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..acc87434 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,6303 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@biomejs/biome': + specifier: 1.5.2 + version: 1.5.2 + '@changesets/cli': + specifier: ^2.27.1 + version: 2.27.1 + + packages/astro-ghostcms: + dependencies: + '@astrojs/check': + specifier: ^0.3.4 + version: 0.3.4(prettier-plugin-astro@0.12.3)(prettier@3.2.4)(typescript@5.3.3) + '@astrojs/rss': + specifier: ^4.0.2 + version: 4.0.3 + '@astrojs/sitemap': + specifier: ^3.0.5 + version: 3.0.5 + '@types/node': + specifier: ^20.11.5 + version: 20.11.5 + '@typescript-eslint/eslint-plugin': + specifier: ^6.19.0 + version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: ^6.19.0 + version: 6.19.1(eslint@8.56.0)(typescript@5.3.3) + astro: + specifier: ^4.2.1 + version: 4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3) + astro-font: + specifier: ^0.0.72 + version: 0.0.72 + astro-robots-txt: + specifier: ^1.0.0 + version: 1.0.0 + axios: + specifier: ^1.6.5 + version: 1.6.5 + eslint: + specifier: ^8.56.0 + version: 8.56.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.56.0) + eslint-plugin-astro: + specifier: ^0.29.1 + version: 0.29.1(eslint@8.56.0) + prettier: + specifier: ^3.2.4 + version: 3.2.4 + prettier-plugin-astro: + specifier: ^0.12.3 + version: 0.12.3 + sass: + specifier: ^1.70.0 + version: 1.70.0 + tiny-invariant: + specifier: ^1.3.1 + version: 1.3.1 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vite: + specifier: ^4.5.2 + version: 4.5.2(@types/node@20.11.5)(sass@1.70.0) + zod-validation-error: + specifier: ^3.0.0 + version: 3.0.0(zod@3.22.4) + + playground: + dependencies: + '@matthiesenxyz/astro-ghostcms': + specifier: workspace:* + version: link:../packages/astro-ghostcms + astro: + specifier: ^4.2.1 + version: 4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3) + devDependencies: + '@astrojs/check': + specifier: ^0.4.1 + version: 0.4.1(typescript@5.3.3) + typescript: + specifier: ^5.3.3 + version: 5.3.3 + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: false + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + dev: false + + /@astrojs/check@0.3.4(prettier-plugin-astro@0.12.3)(prettier@3.2.4)(typescript@5.3.3): + resolution: {integrity: sha512-Wi4KwW38J3GCd/U6LH2UuU4uc4P/K1WYaqhoKm2o7rVoGhQfO+RWrSO26rUPRXYbmae8JugAgpCmsHC8bt5RlA==} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + dependencies: + '@astrojs/language-server': 2.6.2(prettier-plugin-astro@0.12.3)(prettier@3.2.4)(typescript@5.3.3) + chokidar: 3.5.3 + fast-glob: 3.3.2 + kleur: 4.1.5 + typescript: 5.3.3 + yargs: 17.7.2 + transitivePeerDependencies: + - prettier + - prettier-plugin-astro + dev: false + + /@astrojs/check@0.4.1(typescript@5.3.3): + resolution: {integrity: sha512-XEsuU4TlWkgcsvdeessq5mXLXV1fejtxIioCPv/FfhTzb1bDYe2BtLiSBK+rFTyD9Hl686YOas9AGNMJcpoRsw==} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + dependencies: + '@astrojs/language-server': 2.6.2(prettier-plugin-astro@0.12.3)(prettier@3.2.4)(typescript@5.3.3) + chokidar: 3.5.3 + fast-glob: 3.3.2 + kleur: 4.1.5 + typescript: 5.3.3 + yargs: 17.7.2 + transitivePeerDependencies: + - prettier + - prettier-plugin-astro + dev: true + + /@astrojs/compiler@1.8.2: + resolution: {integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==} + + /@astrojs/compiler@2.5.0: + resolution: {integrity: sha512-ZDluNgMIJT+z+HJcZ6QEJ/KqaFkTkrb+Za6c6VZs8G/nb1LBErL14/iU5EVJ9yu25i4QCLweuBJ3m5df34gZJg==} + + /@astrojs/internal-helpers@0.2.1: + resolution: {integrity: sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==} + dev: false + + /@astrojs/language-server@2.6.2(prettier-plugin-astro@0.12.3)(prettier@3.2.4)(typescript@5.3.3): + resolution: {integrity: sha512-RYzPRhS/WBXK5JtfR+0+nGj+N3VbJd5jU/uSNUev9baUx/RLmUwDk1f6Oy8QDEfDDLAr76Ig8YeDD/nxPdBSLw==} + hasBin: true + peerDependencies: + prettier: ^3.0.0 + prettier-plugin-astro: '>=0.11.0' + peerDependenciesMeta: + prettier: + optional: true + prettier-plugin-astro: + optional: true + dependencies: + '@astrojs/compiler': 2.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 + '@volar/kit': 1.11.1(typescript@5.3.3) + '@volar/language-core': 1.11.1 + '@volar/language-server': 1.11.1 + '@volar/language-service': 1.11.1 + '@volar/source-map': 1.11.1 + '@volar/typescript': 1.11.1 + fast-glob: 3.3.2 + muggle-string: 0.3.1 + prettier: 3.2.4 + prettier-plugin-astro: 0.12.3 + volar-service-css: 0.0.17(@volar/language-service@1.11.1) + volar-service-emmet: 0.0.17(@volar/language-service@1.11.1) + volar-service-html: 0.0.17(@volar/language-service@1.11.1) + volar-service-prettier: 0.0.17(@volar/language-service@1.11.1)(prettier@3.2.4) + volar-service-typescript: 0.0.17(@volar/language-service@1.11.1)(@volar/typescript@1.11.1) + volar-service-typescript-twoslash-queries: 0.0.17(@volar/language-service@1.11.1) + vscode-html-languageservice: 5.1.2 + vscode-uri: 3.0.8 + transitivePeerDependencies: + - typescript + + /@astrojs/markdown-remark@4.2.0: + resolution: {integrity: sha512-qQB+LoxmIqzkhLXaQAzfzlBxZU1jeQYailsifurz89WeY0Q8ywIj8uQQSyqxb7rPPg3ZfdNdxsN9lF5UaCRn0w==} + dependencies: + '@astrojs/prism': 3.0.0 + github-slugger: 2.0.0 + import-meta-resolve: 4.0.0 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.0 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + remark-smartypants: 2.1.0 + shikiji: 0.9.19 + unified: 11.0.4 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@astrojs/prism@3.0.0: + resolution: {integrity: sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==} + engines: {node: '>=18.14.1'} + dependencies: + prismjs: 1.29.0 + dev: false + + /@astrojs/rss@4.0.3: + resolution: {integrity: sha512-l9g2oISdfHb+0NM2GkyRhbQMJzmIkviApXMOKrz64F9NoboTR/F4zaqOAKPuK4nB48hOqQAw1B+EfyftEDbeeg==} + dependencies: + fast-xml-parser: 4.3.3 + kleur: 4.1.5 + dev: false + + /@astrojs/sitemap@3.0.5: + resolution: {integrity: sha512-60eLzNjMza3ABypiQPUC6ElOSZNZeY5CwSwgJ03hfeonl+Db9x12CCzBFdTw7A5Mq+O54xEZVUrR0tB+yWgX8w==} + dependencies: + sitemap: 7.1.1 + zod: 3.22.4 + dev: false + + /@astrojs/telemetry@3.0.4: + resolution: {integrity: sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==} + engines: {node: '>=18.14.1'} + dependencies: + ci-info: 3.9.0 + debug: 4.3.4 + dlv: 1.1.3 + dset: 3.1.3 + is-docker: 3.0.0 + is-wsl: 3.1.0 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/core@7.23.7: + resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + jsesc: 2.5.2 + dev: false + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helpers@7.23.8: + resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.7): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) + '@babel/types': 7.23.6 + dev: false + + /@babel/runtime@7.23.8: + resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + dev: false + + /@babel/traverse@7.23.7: + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: false + + /@biomejs/biome@1.5.2: + resolution: {integrity: sha512-LhycxGQBQLmfv6M3e4tMfn/XKcUWyduDYOlCEBrHXJ2mMth2qzYt1JWypkWp+XmU/7Hl2dKvrP4mZ5W44+nWZw==} + engines: {node: '>=14.*'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@biomejs/cli-darwin-arm64': 1.5.2 + '@biomejs/cli-darwin-x64': 1.5.2 + '@biomejs/cli-linux-arm64': 1.5.2 + '@biomejs/cli-linux-arm64-musl': 1.5.2 + '@biomejs/cli-linux-x64': 1.5.2 + '@biomejs/cli-linux-x64-musl': 1.5.2 + '@biomejs/cli-win32-arm64': 1.5.2 + '@biomejs/cli-win32-x64': 1.5.2 + dev: true + + /@biomejs/cli-darwin-arm64@1.5.2: + resolution: {integrity: sha512-3JVl08aHKsPyf0XL9SEj1lssIMmzOMAn2t1zwZKBiy/mcZdb0vuyMSTM5haMQ/90wEmrkYN7zux777PHEGrGiw==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-darwin-x64@1.5.2: + resolution: {integrity: sha512-QAPW9rZb/AgucUx+ogMg+9eJNipQDqvabktC5Tx4Aqb/mFzS6eDqNP7O0SbGz3DtC5Y2LATEj6o6zKIQ4ZT+3w==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-arm64-musl@1.5.2: + resolution: {integrity: sha512-Z29SjaOyO4QfajplNXSjLx17S79oPN42D094zjE24z7C7p3NxvLhKLygtSP9emgaXkcoESe2chOzF4IrGy/rlg==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-arm64@1.5.2: + resolution: {integrity: sha512-fVLrUgIlo05rO4cNu+Py5EwwmXnXhWH+8KrNlWkr2weMYjq85SihUsuWWKpmqU+bUVR+m5gwfcIXZVWYVCJMHw==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-x64-musl@1.5.2: + resolution: {integrity: sha512-ZolquPEjWYUmGeERS8svHOOT7OXEeoriPnV8qptgWJmYF9EO9HUGRn1UtCvdVziDYK+u1A7PxjOdkY1B00ty5A==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-x64@1.5.2: + resolution: {integrity: sha512-ixqJtUHtF0ho1+1DTZQLAEwHGSqvmvHhAAFXZQoaSdABn+IcITYExlFVA3bGvASy/xtPjRhTx42hVwPtLwMHwg==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-win32-arm64@1.5.2: + resolution: {integrity: sha512-DN4cXSAoFTdjOoh7f+JITj1uQgQSXt+1pVea9bFrpbgip+ZwkONqQq+jUcmFMMehbp9LuiVtNXFz/ReHn6FY7A==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-win32-x64@1.5.2: + resolution: {integrity: sha512-YvWWXZmk936FdrXqc2jcP6rfsXsNBIs9MKBQQoVXIihwNNRiAaBD9Iwa/ouU1b7Zxq2zETgeuRewVJickFuVOw==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@changesets/apply-release-plan@7.0.0: + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/config': 3.0.0 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.0 + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.5.4 + dev: true + + /@changesets/assemble-release-plan@6.0.0: + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + semver: 7.5.4 + dev: true + + /@changesets/changelog-git@0.2.0: + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} + dependencies: + '@changesets/types': 6.0.0 + dev: true + + /@changesets/cli@2.27.1: + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} + hasBin: true + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/apply-release-plan': 7.0.0 + '@changesets/assemble-release-plan': 6.0.0 + '@changesets/changelog-git': 0.2.0 + '@changesets/config': 3.0.0 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-release-plan': 4.0.0 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 + '@changesets/types': 6.0.0 + '@changesets/write': 0.3.0 + '@manypkg/get-packages': 1.1.3 + '@types/semver': 7.5.6 + ansi-colors: 4.1.3 + chalk: 2.4.2 + ci-info: 3.9.0 + enquirer: 2.4.1 + external-editor: 3.1.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + meow: 6.1.1 + outdent: 0.5.0 + p-limit: 2.3.0 + preferred-pm: 3.1.2 + resolve-from: 5.0.0 + semver: 7.5.4 + spawndamnit: 2.0.0 + term-size: 2.2.1 + tty-table: 4.2.3 + dev: true + + /@changesets/config@3.0.0: + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/logger': 0.1.0 + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.5 + dev: true + + /@changesets/errors@0.2.0: + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} + dependencies: + extendable-error: 0.1.7 + dev: true + + /@changesets/get-dependents-graph@2.0.0: + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + dependencies: + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 7.5.4 + dev: true + + /@changesets/get-release-plan@4.0.0: + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/assemble-release-plan': 6.0.0 + '@changesets/config': 3.0.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + dev: true + + /@changesets/get-version-range-type@0.4.0: + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} + dev: true + + /@changesets/git@3.0.0: + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.5 + spawndamnit: 2.0.0 + dev: true + + /@changesets/logger@0.1.0: + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + dependencies: + chalk: 2.4.2 + dev: true + + /@changesets/parse@0.4.0: + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} + dependencies: + '@changesets/types': 6.0.0 + js-yaml: 3.14.1 + dev: true + + /@changesets/pre@2.0.0: + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + dev: true + + /@changesets/read@0.6.0: + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 + '@changesets/parse': 0.4.0 + '@changesets/types': 6.0.0 + chalk: 2.4.2 + fs-extra: 7.0.1 + p-filter: 2.1.0 + dev: true + + /@changesets/types@4.1.0: + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + dev: true + + /@changesets/types@6.0.0: + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} + dev: true + + /@changesets/write@0.3.0: + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/types': 6.0.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + prettier: 2.8.8 + dev: true + + /@emmetio/abbreviation@2.3.3: + resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} + dependencies: + '@emmetio/scanner': 1.0.4 + + /@emmetio/css-abbreviation@2.1.8: + resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} + dependencies: + '@emmetio/scanner': 1.0.4 + + /@emmetio/scanner@1.0.4: + resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.56.0 + eslint-visitor-keys: 3.4.3 + dev: false + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: false + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: false + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: false + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.22 + dev: false + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /@manypkg/find-root@1.1.0: + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + dependencies: + '@babel/runtime': 7.23.8 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + dev: true + + /@manypkg/get-packages@1.1.3: + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + dependencies: + '@babel/runtime': 7.23.8 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.16.0 + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: false + + /@rollup/rollup-android-arm-eabi@4.9.6: + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-android-arm64@4.9.6: + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-arm64@4.9.6: + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-darwin-x64@4.9.6: + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.6: + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.6: + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.6: + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.9.6: + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-gnu@4.9.6: + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-x64-musl@4.9.6: + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.9.6: + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.9.6: + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-win32-x64-msvc@4.9.6: + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + dev: false + + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + dev: false + + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + dependencies: + '@babel/types': 7.23.6 + dev: false + + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + dependencies: + '@types/ms': 0.7.34 + dev: false + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: false + + /@types/hast@3.0.3: + resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: false + + /@types/mdast@4.0.3: + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + dev: true + + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: false + + /@types/nlcst@1.0.4: + resolution: {integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /@types/node@12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + + /@types/node@17.0.45: + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + dev: false + + /@types/node@20.11.5: + resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} + dependencies: + undici-types: 5.26.5 + dev: false + + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + + /@types/sax@1.2.7: + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + dependencies: + '@types/node': 20.11.5 + dev: false + + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + dev: false + + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + dev: false + + /@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.19.1 + '@typescript-eslint/type-utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1 + debug: 4.3.4 + eslint: 8.56.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/parser@6.19.1(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.19.1 + '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.19.1 + debug: 4.3.4 + eslint: 8.56.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: false + + /@typescript-eslint/scope-manager@6.19.1: + resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/visitor-keys': 6.19.1 + dev: false + + /@typescript-eslint/type-utils@6.19.1(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.56.0 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /@typescript-eslint/types@6.19.1: + resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: false + + /@typescript-eslint/typescript-estree@6.19.1(typescript@5.3.3): + resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/visitor-keys': 6.19.1 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/utils@6.19.1(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.19.1 + '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) + eslint: 8.56.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: false + + /@typescript-eslint/visitor-keys@6.19.1: + resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.19.1 + eslint-visitor-keys: 3.4.3 + dev: false + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: false + + /@volar/kit@1.11.1(typescript@5.3.3): + resolution: {integrity: sha512-nqO+Hl9f1ygOK/3M7Hpnw0lhKvuMFhh823nilStpkTmm5WfrUnE+4WaQkb3dC6LM3TZq74j2m88yxRC+Z3sZZw==} + peerDependencies: + typescript: '*' + dependencies: + '@volar/language-service': 1.11.1 + typesafe-path: 0.2.2 + typescript: 5.3.3 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + + /@volar/language-server@1.11.1: + resolution: {integrity: sha512-XYG4HcML2qimQV9UouQ7c1GuuqQw1NXoNDxAOAcfyYlz43P+HgzGQx4QEou+QMGHJeYIN86foDvkTN3fcopw9A==} + dependencies: + '@volar/language-core': 1.11.1 + '@volar/language-service': 1.11.1 + '@volar/typescript': 1.11.1 + '@vscode/l10n': 0.0.16 + path-browserify: 1.0.1 + request-light: 0.7.0 + vscode-languageserver: 9.0.1 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + + /@volar/language-service@1.11.1: + resolution: {integrity: sha512-dKo8z1UzQRPHnlXxwfONGrasS1wEWXMoLQiohZ8KgWqZALbekZCwdGImLZD4DeFGNjk3HTTdfeCzo3KjwohjEQ==} + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + + /@vscode/emmet-helper@2.9.2: + resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==} + dependencies: + emmet: 2.4.6 + jsonc-parser: 2.3.1 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 2.1.2 + + /@vscode/l10n@0.0.16: + resolution: {integrity: sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==} + + /@vscode/l10n@0.0.18: + resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: false + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: false + + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: false + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: false + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: false + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: false + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: true + + /array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + dev: false + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /astro-eslint-parser@0.16.2: + resolution: {integrity: sha512-JJ/AlnPEiFgu5Tuuj9AxkSjiyobg2x7hjiXpglZtyzN2Bkj7GSXVppDQL6oavwtk0kHOAAkvyuJJ+8cC5c1NqQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@astrojs/compiler': 2.5.0 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + astrojs-compiler-sync: 0.3.5(@astrojs/compiler@2.5.0) + debug: 4.3.4 + entities: 4.5.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: false + + /astro-font@0.0.72: + resolution: {integrity: sha512-FUjIerovSg2lsfJfvvqY23hgvc++gHi69ikFkxm0mqO3MPFykK5ppeUuROUjhNbE6vwdD8MpiJOy1CR5S0g/lQ==} + dev: false + + /astro-robots-txt@1.0.0: + resolution: {integrity: sha512-6JQSLid4gMhoWjOm85UHLkgrw0+hHIjnJVIUqxjU2D6feKlVyYukMNYjH44ZDZBK1P8hNxd33PgWlHzCASvedA==} + dependencies: + valid-filename: 4.0.0 + zod: 3.22.4 + dev: false + + /astro@4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3): + resolution: {integrity: sha512-6bfSogmcwMdaTRAxuhJ7aISGin/T3ovI/69JWPRYOHBkPZxA/EfsNQOI2TiRHFJSF9XtoMnFlgvT+iYapkhOwg==} + engines: {node: '>=18.14.1', npm: '>=6.14.0'} + hasBin: true + dependencies: + '@astrojs/compiler': 2.5.0 + '@astrojs/internal-helpers': 0.2.1 + '@astrojs/markdown-remark': 4.2.0 + '@astrojs/telemetry': 3.0.4 + '@babel/core': 7.23.7 + '@babel/generator': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7) + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + '@types/babel__core': 7.20.5 + acorn: 8.11.3 + aria-query: 5.3.0 + axobject-query: 4.0.0 + boxen: 7.1.1 + chokidar: 3.5.3 + ci-info: 4.0.0 + clsx: 2.1.0 + common-ancestor-path: 1.0.1 + cookie: 0.6.0 + debug: 4.3.4 + deterministic-object-hash: 2.0.2 + devalue: 4.3.2 + diff: 5.1.0 + dlv: 1.1.3 + dset: 3.1.3 + es-module-lexer: 1.4.1 + esbuild: 0.19.12 + estree-walker: 3.0.3 + execa: 8.0.1 + fast-glob: 3.3.2 + flattie: 1.1.0 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + html-escaper: 3.0.3 + http-cache-semantics: 4.1.1 + js-yaml: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.5 + mdast-util-to-hast: 13.0.2 + mime: 3.0.0 + ora: 7.0.1 + p-limit: 5.0.0 + p-queue: 8.0.1 + path-to-regexp: 6.2.1 + preferred-pm: 3.1.2 + probe-image-size: 7.2.3 + prompts: 2.4.2 + rehype: 13.0.1 + resolve: 1.22.8 + semver: 7.5.4 + server-destroy: 1.0.1 + shikiji: 0.9.19 + string-width: 7.1.0 + strip-ansi: 7.1.0 + tsconfck: 3.0.1(typescript@5.3.3) + unist-util-visit: 5.0.0 + vfile: 6.0.1 + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + vitefu: 0.2.5(vite@5.0.12) + which-pm: 2.1.1 + yargs-parser: 21.1.1 + zod: 3.22.4 + optionalDependencies: + sharp: 0.32.6 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - typescript + dev: false + + /astrojs-compiler-sync@0.3.5(@astrojs/compiler@2.5.0): + resolution: {integrity: sha512-y420rhIIJ2HHDkYeqKArBHSdJNIIGMztLH90KGIX3zjcJyt/cr9Z2wYA8CP5J1w6KE7xqMh0DAkhfjhNDpQb2Q==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@astrojs/compiler': '>=0.27.0' + dependencies: + '@astrojs/compiler': 2.5.0 + synckit: 0.9.0 + dev: false + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axios@1.6.5: + resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /axobject-query@4.0.0: + resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==} + dependencies: + dequal: 2.0.3 + dev: false + + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + requiresBuild: true + dev: false + optional: true + + /bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: false + + /base-64@1.0.0: + resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} + dev: false + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + dependencies: + is-windows: 1.0.2 + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + requiresBuild: true + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + optional: true + + /bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: false + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: false + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /breakword@1.0.6: + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + dependencies: + wcwidth: 1.0.1 + dev: true + + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001579 + electron-to-chromium: 1.4.642 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + dev: false + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + requiresBuild: true + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + optional: true + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.2.0 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: false + + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: false + + /caniuse-lite@1.0.30001579: + resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} + dev: false + + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: false + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: false + + /character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + dev: false + + /character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + dev: false + + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: false + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + requiresBuild: true + dev: false + optional: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + /ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + dev: false + + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: false + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: false + + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: false + + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /clsx@2.1.0: + resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + engines: {node: '>=6'} + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + requiresBuild: true + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + optional: true + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + requiresBuild: true + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + optional: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + dev: false + + /common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + dev: false + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: false + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: false + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: false + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + dev: true + + /csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + dev: true + + /csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + dev: true + + /csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: false + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: false + + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: false + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + mimic-response: 3.1.0 + dev: false + optional: true + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + requiresBuild: true + dev: false + optional: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: false + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + + /detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + requiresBuild: true + dev: false + optional: true + + /deterministic-object-hash@2.0.2: + resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} + engines: {node: '>=18'} + dependencies: + base-64: 1.0.0 + dev: false + + /devalue@4.3.2: + resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} + dev: false + + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dependencies: + dequal: 2.0.3 + dev: false + + /diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: false + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: false + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: false + + /dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} + dev: false + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: false + + /electron-to-chromium@1.4.642: + resolution: {integrity: sha512-M4+u22ZJGpk4RY7tne6W+APkZhnnhmAH48FNl8iEFK2lEgob+U5rUQsIqQhvAwCXYpfd3H20pHK/ENsCvwTbsA==} + dev: false + + /emmet@2.4.6: + resolution: {integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==} + dependencies: + '@emmetio/abbreviation': 2.3.3 + '@emmetio/css-abbreviation': 2.1.8 + + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + dev: false + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: false + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + requiresBuild: true + dependencies: + once: 1.4.0 + dev: false + optional: true + + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: false + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.2 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: true + + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + dev: false + + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + dev: true + + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.0 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: false + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: false + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: false + + /eslint-config-prettier@9.1.0(eslint@8.56.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.56.0 + dev: false + + /eslint-plugin-astro@0.29.1(eslint@8.56.0): + resolution: {integrity: sha512-ffuUc7zFz8HavaAVaS5iRUzWqBf3/YbrFWUhx0GxXW3gVtnbri5UyvkN8EMOkZWkNXG1zqD2y9dlEsAezhbC0w==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@jridgewell/sourcemap-codec': 1.4.15 + '@typescript-eslint/types': 5.62.0 + astro-eslint-parser: 0.16.2 + eslint: 8.56.0 + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: false + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: false + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: false + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: false + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: false + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: false + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: false + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.2.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: false + + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + requiresBuild: true + dev: false + optional: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: false + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: false + + /extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: false + + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + requiresBuild: true + dev: false + optional: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: false + + /fast-xml-parser@4.3.3: + resolution: {integrity: sha512-coV/D1MhrShMvU6D0I+VAK3umz6hUaxxhL0yp/9RjfiYUfAv14rDhGQL+PLForhMdr0wq3PiV07WtkkNjJjNHg==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: false + + /filename-reserved-regex@3.0.0: + resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: false + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: false + + /flattie@1.1.0: + resolution: {integrity: sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw==} + engines: {node: '>=8'} + dev: false + + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + requiresBuild: true + dev: false + optional: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: false + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: false + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + /get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + dev: false + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: false + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + requiresBuild: true + dev: false + optional: true + + /github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: false + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: false + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 3.0.0 + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: false + + /gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: false + + /hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /hast-util-from-html@2.0.1: + resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + dependencies: + '@types/hast': 3.0.3 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.1 + vfile-message: 4.0.2 + dev: false + + /hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.4.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + dev: false + + /hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.0.2 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-to-html@9.0.0: + resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 9.0.2 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.0.2 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.3 + zwitch: 2.0.4 + dev: false + + /hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + dependencies: + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + dependencies: + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + dev: false + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + dev: false + + /html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + dev: false + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: false + + /human-id@1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + dev: false + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: false + + /import-meta-resolve@4.0.0: + resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + dev: false + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: false + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: false + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: false + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + requiresBuild: true + dev: false + optional: true + + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + requiresBuild: true + dev: false + optional: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + dev: false + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: false + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: false + + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: false + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: false + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: false + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + dependencies: + better-path-resolve: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: false + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + dev: false + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: false + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: false + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: false + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: false + + /jsonc-parser@2.3.1: + resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: false + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: false + + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: false + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: false + + /lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + dev: false + + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: false + + /lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: false + + /mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + dev: false + + /mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + dependencies: + '@types/mdast': 4.0.3 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + dependencies: + '@types/mdast': 4.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.0.1 + dev: false + + /mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-phrasing@4.0.0: + resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + dependencies: + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + dev: false + + /mdast-util-to-hast@13.0.2: + resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} + dependencies: + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + dev: false + + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.0.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + dev: false + + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.3 + dev: false + + /meow@6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-character@2.0.1: + resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + dev: false + + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + dev: false + + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + dev: false + + /micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + dev: false + + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + dev: false + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: false + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + requiresBuild: true + dev: false + optional: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: false + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + requiresBuild: true + dev: false + optional: true + + /mixme@0.5.10: + resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} + engines: {node: '>= 8.0.0'} + dev: true + + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + requiresBuild: true + dev: false + optional: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: false + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + requiresBuild: true + dev: false + optional: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: false + + /needle@2.9.1: + resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.4.24 + sax: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /nlcst-to-string@3.1.1: + resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==} + dependencies: + '@types/nlcst': 1.0.4 + dev: false + + /node-abi@3.54.0: + resolution: {integrity: sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + semver: 7.5.4 + dev: false + optional: true + + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + requiresBuild: true + dev: false + optional: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: false + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: false + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: false + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: false + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: false + + /ora@7.0.1: + resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==} + engines: {node: '>=16'} + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + stdin-discarder: 0.1.0 + string-width: 6.1.0 + strip-ansi: 7.1.0 + dev: false + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + dev: true + + /p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + dependencies: + p-map: 2.1.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: false + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + + /p-queue@8.0.1: + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.2 + dev: false + + /p-timeout@6.1.2: + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} + dev: false + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: false + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.23.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse-latin@5.0.1: + resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} + dependencies: + nlcst-to-string: 3.1.1 + unist-util-modify-children: 3.1.1 + unist-util-visit-children: 2.0.2 + dev: false + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: false + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: false + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: false + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: false + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false + + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.54.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + optional: true + + /preferred-pm@3.1.2: + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: false + + /prettier-plugin-astro@0.12.3: + resolution: {integrity: sha512-GthUSu3zCvmtVyqlArosez0xE08vSJ0R1sWurxIWpABaCkNGYFANoUdFkqmIo54EV2uPLGcVJzOucWvCjPBWvg==} + engines: {node: ^14.15.0 || >=16.0.0} + dependencies: + '@astrojs/compiler': 1.8.2 + prettier: 3.2.4 + sass-formatter: 0.7.8 + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + + /prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + dev: false + + /probe-image-size@7.2.3: + resolution: {integrity: sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==} + dependencies: + lodash.merge: 4.6.2 + needle: 2.9.1 + stream-parser: 0.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: false + + /property-information@6.4.0: + resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + requiresBuild: true + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + optional: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: false + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + requiresBuild: true + dev: false + optional: true + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + requiresBuild: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + optional: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + + /rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + dependencies: + '@types/hast': 3.0.3 + hast-util-from-html: 2.0.1 + unified: 11.0.4 + dev: false + + /rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + dependencies: + '@types/hast': 3.0.3 + hast-util-raw: 9.0.2 + vfile: 6.0.1 + dev: false + + /rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} + dependencies: + '@types/hast': 3.0.3 + hast-util-to-html: 9.0.0 + unified: 11.0.4 + dev: false + + /rehype@13.0.1: + resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} + dependencies: + '@types/hast': 3.0.3 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.4 + dev: false + + /remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + dependencies: + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + mdast-util-to-hast: 13.0.2 + unified: 11.0.4 + vfile: 6.0.1 + dev: false + + /remark-smartypants@2.1.0: + resolution: {integrity: sha512-qoF6Vz3BjU2tP6OfZqHOvCU0ACmu/6jhGaINSQRI9mM7wCxNQTKB3JUAN4SVoN2ybElEDTxBIABRep7e569iJw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + retext: 8.1.0 + retext-smartypants: 5.2.0 + unist-util-visit: 5.0.0 + dev: false + + /remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 + dev: false + + /request-light@0.7.0: + resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==} + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: false + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: false + + /retext-latin@3.1.0: + resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} + dependencies: + '@types/nlcst': 1.0.4 + parse-latin: 5.0.1 + unherit: 3.0.1 + unified: 10.1.2 + dev: false + + /retext-smartypants@5.2.0: + resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} + dependencies: + '@types/nlcst': 1.0.4 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + unist-util-visit: 4.1.2 + dev: false + + /retext-stringify@3.1.0: + resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} + dependencies: + '@types/nlcst': 1.0.4 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + dev: false + + /retext@8.1.0: + resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} + dependencies: + '@types/nlcst': 1.0.4 + retext-latin: 3.1.0 + retext-stringify: 3.1.0 + unified: 10.1.2 + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /rollup@4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.9.6 + '@rollup/rollup-android-arm64': 4.9.6 + '@rollup/rollup-darwin-arm64': 4.9.6 + '@rollup/rollup-darwin-x64': 4.9.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 + '@rollup/rollup-linux-arm64-gnu': 4.9.6 + '@rollup/rollup-linux-arm64-musl': 4.9.6 + '@rollup/rollup-linux-riscv64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-gnu': 4.9.6 + '@rollup/rollup-linux-x64-musl': 4.9.6 + '@rollup/rollup-win32-arm64-msvc': 4.9.6 + '@rollup/rollup-win32-ia32-msvc': 4.9.6 + '@rollup/rollup-win32-x64-msvc': 4.9.6 + fsevents: 2.3.3 + dev: false + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /s.color@0.0.15: + resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} + + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safe-regex-test@1.0.2: + resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /sass-formatter@0.7.8: + resolution: {integrity: sha512-7fI2a8THglflhhYis7k06eUf92VQuJoXzEs2KRP0r1bluFxKFvLx0Ns7c478oYGM0fPfrr846ZRWVi2MAgHt9Q==} + dependencies: + suf-log: 2.5.3 + + /sass@1.70.0: + resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + dev: false + + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + dev: false + + /section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: false + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: false + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /server-destroy@1.0.1: + resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} + dev: false + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /set-function-length@1.2.0: + resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + + /sharp@0.32.6: + resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} + engines: {node: '>=14.15.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.2 + node-addon-api: 6.1.0 + prebuild-install: 7.1.1 + semver: 7.5.4 + simple-get: 4.0.1 + tar-fs: 3.0.4 + tunnel-agent: 0.6.0 + dev: false + optional: true + + /shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: false + + /shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: false + + /shikiji-core@0.9.19: + resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==} + dev: false + + /shikiji@0.9.19: + resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==} + dependencies: + shikiji-core: 0.9.19 + dev: false + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: false + + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + requiresBuild: true + dev: false + optional: true + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + requiresBuild: true + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + optional: true + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + requiresBuild: true + dependencies: + is-arrayish: 0.3.2 + dev: false + optional: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: false + + /sitemap@7.1.1: + resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.3.0 + dev: false + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + /smartwrap@2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + array.prototype.flat: 1.3.2 + breakword: 1.0.6 + grapheme-splitter: 1.0.4 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 15.4.1 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: false + + /space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + dev: false + + /spawndamnit@2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + dependencies: + cross-spawn: 5.1.0 + signal-exit: 3.0.7 + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + /stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + bl: 5.1.0 + dev: false + + /stream-parser@0.3.1: + resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==} + dependencies: + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: false + + /stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + dependencies: + mixme: 0.5.10 + dev: true + + /streamx@2.15.6: + resolution: {integrity: sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==} + requiresBuild: true + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + dev: false + optional: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: false + + /string-width@6.1.0: + resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} + engines: {node: '>=16'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.3.0 + strip-ansi: 7.1.0 + dev: false + + /string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + dev: false + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /stringify-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: false + + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: false + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: false + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + requiresBuild: true + dev: false + optional: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: false + + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + + /suf-log@2.5.3: + resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} + dependencies: + s.color: 0.0.15 + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: false + + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + requiresBuild: true + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + optional: true + + /tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + requiresBuild: true + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.7 + dev: false + optional: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + optional: true + + /tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + requiresBuild: true + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.2 + streamx: 2.15.6 + dev: false + optional: true + + /term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: false + + /tiny-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + dev: false + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: false + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: false + + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /trough@2.1.0: + resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + dev: false + + /ts-api-utils@1.0.3(typescript@5.3.3): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.3 + dev: false + + /tsconfck@3.0.1(typescript@5.3.3): + resolution: {integrity: sha512-7ppiBlF3UEddCLeI1JRx5m2Ryq+xk4JrZuq4EuYXykipebaq1dV0Fhgr1hb7CkmHt32QSgOZlcqVLEtHBG4/mg==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.3.3 + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: false + + /tty-table@4.2.3: + resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + csv: 5.5.3 + kleur: 4.1.5 + smartwrap: 2.0.2 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 17.7.2 + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + requiresBuild: true + dependencies: + safe-buffer: 5.2.1 + dev: false + optional: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: false + + /type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: false + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: false + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typesafe-path@0.2.2: + resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} + + /typescript-auto-import-cache@0.3.2: + resolution: {integrity: sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==} + dependencies: + semver: 7.5.4 + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: false + + /unherit@3.0.1: + resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} + dev: false + + /unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + dependencies: + '@types/unist': 2.0.10 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 5.3.7 + dev: false + + /unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 6.0.1 + dev: false + + /unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-modify-children@3.1.1: + resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} + dependencies: + '@types/unist': 2.0.10 + array-iterate: 2.0.1 + dev: false + + /unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-visit-children@2.0.2: + resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + dev: false + + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + dev: false + + /unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + dev: false + + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: false + + /valid-filename@4.0.0: + resolution: {integrity: sha512-VEYTpTVPMgO799f2wI7zWf0x2C54bPX6NAfbZ2Z8kZn76p+3rEYCTYVYzMUcVSMvakxMQTriBf24s3+WeXJtEg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + filename-reserved-regex: 3.0.0 + dev: false + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + dev: false + + /vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + dependencies: + '@types/unist': 2.0.10 + unist-util-stringify-position: 3.0.3 + dev: false + + /vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + dev: false + + /vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + dependencies: + '@types/unist': 2.0.10 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + dev: false + + /vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + dev: false + + /vite@4.5.2(@types/node@20.11.5)(sass@1.70.0): + resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.5 + esbuild: 0.18.20 + postcss: 8.4.33 + rollup: 3.29.4 + sass: 1.70.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /vite@5.0.12(@types/node@20.11.5)(sass@1.70.0): + resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.5 + esbuild: 0.19.12 + postcss: 8.4.33 + rollup: 4.9.6 + sass: 1.70.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /vitefu@0.2.5(vite@5.0.12): + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 5.0.12(@types/node@20.11.5)(sass@1.70.0) + dev: false + + /volar-service-css@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-bEDJykygMzn2+a9ud6KwZZLli9eqarxApAXZuf2CqJJh6Trw1elmbBCo9SlPfqMrIhpFnwV0Sa+Xoc9x5WPeGw==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + vscode-css-languageservice: 6.2.12 + vscode-uri: 3.0.8 + + /volar-service-emmet@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-C6hVnuQL52MqaydkrblYUbzIo5ZmIGo1hR8wmpcCjs5uNcjqn8aPqZRfznhLiUSaPHpFC+zQxJwFcZI9/u2iKQ==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + '@vscode/emmet-helper': 2.9.2 + volar-service-html: 0.0.17(@volar/language-service@1.11.1) + + /volar-service-html@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-OGkP+ZTo13j/+enafGe+esXvda/W4eU78YNLbbHxtV3rnX4odVrewenLJmXiECg6wdQz/PG8rLijZqQnDUYkfw==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + vscode-html-languageservice: 5.1.2 + vscode-uri: 3.0.8 + + /volar-service-prettier@0.0.17(@volar/language-service@1.11.1)(prettier@3.2.4): + resolution: {integrity: sha512-YYnzZ+OT0M3Bx+xKuoAfs/uVuxk7ofz4dkZDQqjwa9iC63Ay4YGqONtmHd+xsO3lufkEBXlAQCbofDeZbSz3YQ==} + peerDependencies: + '@volar/language-service': ~1.11.0 + prettier: ^2.2 || ^3.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + prettier: + optional: true + dependencies: + '@volar/language-service': 1.11.1 + prettier: 3.2.4 + + /volar-service-typescript-twoslash-queries@0.0.17(@volar/language-service@1.11.1): + resolution: {integrity: sha512-6FHXK5AWeFzCL6uGmEcbkZmQsaQ0m9IjbeLdgOIQ4KGvauqT2aA1BhdfDJu6vRAFIfXe7xjEJ85keIlHl72tSA==} + peerDependencies: + '@volar/language-service': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + + /volar-service-typescript@0.0.17(@volar/language-service@1.11.1)(@volar/typescript@1.11.1): + resolution: {integrity: sha512-Krs8pOIo2yoBVoJ91hKT1czhWt9ek7EbuK3MxxgvDYdd4HYHOtHi1eOlb7bFnZMNgFcwsL48yQI9vbPm160s9A==} + peerDependencies: + '@volar/language-service': ~1.11.0 + '@volar/typescript': ~1.11.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + dependencies: + '@volar/language-service': 1.11.1 + '@volar/typescript': 1.11.1 + path-browserify: 1.0.1 + semver: 7.5.4 + typescript-auto-import-cache: 0.3.2 + vscode-languageserver-textdocument: 1.0.11 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + + /vscode-css-languageservice@6.2.12: + resolution: {integrity: sha512-PS9r7HgNjqzRl3v91sXpCyZPc8UDotNo6gntFNtGCKPhGA9Frk7g/VjX1Mbv3F00pn56D+rxrFzR9ep4cawOgA==} + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + /vscode-html-languageservice@5.1.2: + resolution: {integrity: sha512-wkWfEx/IIR3s2P5yD4aTGHiOb8IAzFxgkSt1uSC3itJ4oDAm23yG7o0L29JljUdnXDDgLafPAvhv8A2I/8riHw==} + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + /vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + /vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + /vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + + /vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + /vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + dependencies: + vscode-languageserver-protocol: 3.17.5 + + /vscode-nls@5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + + /vscode-uri@2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + + /vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + dev: false + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true + + /which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + dev: false + + /which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + + /which-pm@2.1.1: + resolution: {integrity: sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: false + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: false + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: false + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: false + + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + /yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: false + + /zod-validation-error@3.0.0(zod@3.22.4): + resolution: {integrity: sha512-x+agsJJG9rvC7axF0xqTEdZhJkLHyIZkdOAWDJSmwGPzxNHMHwtU6w2yDOAAP6yuSfTAUhAMJRBfhVGY64ySEQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + dependencies: + zod: 3.22.4 + dev: false + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false + + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: false diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..2127a8c0 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +packages: + - package + - "packages/*" + - "playground" \ No newline at end of file diff --git a/src/utils/schemas.ts b/src/utils/schemas.ts deleted file mode 100644 index 57e0f3d7..00000000 --- a/src/utils/schemas.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { z } from 'astro/zod'; - -export const SitemapSchema = z.object({ - /** EXAMPLE: ['https://example-1.com', 'https://example-2.com] - * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#custompages - */ - customPages: z.string().array().optional(), - /** EXAMPLE: 10000 - * REFERENCE https://docs.astro.build/en/guides/integrations-guide/sitemap/#entrylimit - */ - entryLimit: z.number().optional() -}) - -const RobotsPolicySchema = z.object({ - /** You must provide a name of the automatic client (search engine crawler). - * Wildcards are allowed. - */ - userAgent: z.string(), - /** Allowed paths for crawling */ - allow: z.string().optional(), - /** Disallowed paths for crawling */ - disallow: z.string().optional(), - /** Indicates that the page's URL contains parameters that should be ignored during crawling. - * Maximum string length is limited to 500. - */ - cleanParam: z.string().optional(), - /** Minimum interval (in secs) for the crawler to wait after loading one page, before starting other */ - crawlDelay: z.number().optional() -}) - -export const RobotsTxtSchema = z.object({ - /** EXAMPLE1 host: true - automatically resolve using the site option from Astro config - * EXAMPLE2 host: 'example.com' - */ - host: z.string().optional(), - /** EXAMPLE1 sitemap: "https://example.com/sitemap-0.xml" - * EXAMPLE2 sitemap: ['https://example.com/sitemap-0.xml','https://example.com/sitemap-1.xml'] - * EXAMPLE3 sitemap: false - If you want to get the robots.txt file without the Sitemap: ... entry, set the sitemap parameter to false. - */ - sitemap: z.string().optional(), - /** astrojs/sitemap and astro-sitemap integrations have the sitemap-index.xml as their primary output. That is why the default value of sitemapBaseFileName is set to sitemap-index. - * EXAMPLE sitemapBaseFileName: 'custom-sitemap' - */ - sitemapBaseFileName: z.string().optional(), - /** SET POLICY RULES */ - policy: RobotsPolicySchema.array().optional(), -}) From f23f708f95d75a92cd673688657886c2e74697b0 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Tue, 23 Jan 2024 12:03:56 -0800 Subject: [PATCH 2/2] merge --- .../{publish.yml => astro-ghostcms.yml} | 10 +- .github/workflows/lighthouse.yml | 24 + DELETE_ME.md | 19 - demo/.env | 2 + demo/.env.demo | 2 + demo/.vscode/extensions.json | 4 + demo/.vscode/launch.json | 11 + demo/LICENSE | 21 + demo/README.md | 12 + demo/astro.config.mjs | 8 + demo/package.json | 20 + demo/public/favicon.svg | 9 + demo/public/rss.xsl | 52 + demo/src/env.d.ts | 9 + demo/tsconfig.json | 3 + package.json | 2 + pnpm-lock.yaml | 868 +++++- pnpm-workspace.yaml | 4 +- www/.gitignore | 21 + www/README.md | 1 + www/astro.config.mjs | 44 + www/houston-vscode.jsonc | 2369 +++++++++++++++++ www/package.json | 20 + www/public/favicon.ico | Bin 0 -> 270398 bytes www/public/favicon.svg | 1 + www/src/assets/favicon.svg | 1 + www/src/assets/houston-vscode.jsonc | 2369 +++++++++++++++++ www/src/assets/quickstart.sh | 5 + www/src/components/BaseHead.astro | 21 + www/src/components/Footer.astro | 12 + www/src/components/FormattedDate.astro | 25 + www/src/components/GhostAstroFooter.astro | 4 + www/src/components/Header.astro | 30 + www/src/components/QuickStart.astro | 14 + www/src/components/SEO.astro | 87 + www/src/consts.ts | 5 + .../content/archivedreleases/v2_0/2_0_5.md | 48 + .../content/archivedreleases/v2_0/2_0_8.md | 13 + www/src/content/config.ts | 35 + www/src/content/docs/docs/index.md | 11 + .../docs/docs/introduction/api/install.md | 34 + .../docs/docs/introduction/api/usage.md | 136 + .../docs/docs/introduction/getting-started.md | 17 + .../docs/introduction/integration/config.md | 50 + .../docs/introduction/integration/manual.md | 49 + .../docs/introduction/integration/quick.md | 39 + .../docs/reference/ghost-content-api-ref.md | 205 ++ .../docs/reference/unlighthouse-reports.md | 9 + www/src/content/releases/posts/01192024.md | 13 + www/src/content/releases/v2_1/2_1_0.md | 20 + www/src/content/releases/v2_1/2_1_3.md | 22 + www/src/content/releases/v2_1/2_1_5.md | 22 + www/src/content/releases/v2_1/2_1_7.md | 23 + www/src/content/releases/v2_1/2_1_8.md | 17 + www/src/env.d.ts | 2 + www/src/layouts/ArchivePostLayout.astro | 41 + www/src/layouts/IndexLayout.astro | 27 + www/src/layouts/PostLayout.astro | 41 + www/src/pages/archive/[...slug].astro | 21 + www/src/pages/archive/index.astro | 37 + www/src/pages/index.astro | 41 + www/src/pages/releases/[...slug].astro | 21 + www/src/styles/colors.scss | 61 + www/src/styles/global.scss | 3 + www/src/styles/layout.scss | 291 ++ www/src/styles/starlight.css | 29 + www/src/styles/type.scss | 136 + www/tsconfig.json | 4 + 68 files changed, 7567 insertions(+), 60 deletions(-) rename .github/workflows/{publish.yml => astro-ghostcms.yml} (85%) create mode 100644 .github/workflows/lighthouse.yml delete mode 100644 DELETE_ME.md create mode 100644 demo/.env create mode 100644 demo/.env.demo create mode 100644 demo/.vscode/extensions.json create mode 100644 demo/.vscode/launch.json create mode 100644 demo/LICENSE create mode 100644 demo/README.md create mode 100644 demo/astro.config.mjs create mode 100644 demo/package.json create mode 100644 demo/public/favicon.svg create mode 100644 demo/public/rss.xsl create mode 100644 demo/src/env.d.ts create mode 100644 demo/tsconfig.json create mode 100644 www/.gitignore create mode 100644 www/README.md create mode 100644 www/astro.config.mjs create mode 100644 www/houston-vscode.jsonc create mode 100644 www/package.json create mode 100644 www/public/favicon.ico create mode 100644 www/public/favicon.svg create mode 100644 www/src/assets/favicon.svg create mode 100644 www/src/assets/houston-vscode.jsonc create mode 100644 www/src/assets/quickstart.sh create mode 100644 www/src/components/BaseHead.astro create mode 100644 www/src/components/Footer.astro create mode 100644 www/src/components/FormattedDate.astro create mode 100644 www/src/components/GhostAstroFooter.astro create mode 100644 www/src/components/Header.astro create mode 100644 www/src/components/QuickStart.astro create mode 100644 www/src/components/SEO.astro create mode 100644 www/src/consts.ts create mode 100644 www/src/content/archivedreleases/v2_0/2_0_5.md create mode 100644 www/src/content/archivedreleases/v2_0/2_0_8.md create mode 100644 www/src/content/config.ts create mode 100644 www/src/content/docs/docs/index.md create mode 100644 www/src/content/docs/docs/introduction/api/install.md create mode 100644 www/src/content/docs/docs/introduction/api/usage.md create mode 100644 www/src/content/docs/docs/introduction/getting-started.md create mode 100644 www/src/content/docs/docs/introduction/integration/config.md create mode 100644 www/src/content/docs/docs/introduction/integration/manual.md create mode 100644 www/src/content/docs/docs/introduction/integration/quick.md create mode 100644 www/src/content/docs/docs/reference/ghost-content-api-ref.md create mode 100644 www/src/content/docs/docs/reference/unlighthouse-reports.md create mode 100644 www/src/content/releases/posts/01192024.md create mode 100644 www/src/content/releases/v2_1/2_1_0.md create mode 100644 www/src/content/releases/v2_1/2_1_3.md create mode 100644 www/src/content/releases/v2_1/2_1_5.md create mode 100644 www/src/content/releases/v2_1/2_1_7.md create mode 100644 www/src/content/releases/v2_1/2_1_8.md create mode 100644 www/src/env.d.ts create mode 100644 www/src/layouts/ArchivePostLayout.astro create mode 100644 www/src/layouts/IndexLayout.astro create mode 100644 www/src/layouts/PostLayout.astro create mode 100644 www/src/pages/archive/[...slug].astro create mode 100644 www/src/pages/archive/index.astro create mode 100644 www/src/pages/index.astro create mode 100644 www/src/pages/releases/[...slug].astro create mode 100644 www/src/styles/colors.scss create mode 100644 www/src/styles/global.scss create mode 100644 www/src/styles/layout.scss create mode 100644 www/src/styles/starlight.css create mode 100644 www/src/styles/type.scss create mode 100644 www/tsconfig.json diff --git a/.github/workflows/publish.yml b/.github/workflows/astro-ghostcms.yml similarity index 85% rename from .github/workflows/publish.yml rename to .github/workflows/astro-ghostcms.yml index 28826aab..7bdbe1fa 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/astro-ghostcms.yml @@ -1,12 +1,15 @@ -name: publish npm +name: Publish Astro-GhostCMS on: release: - types: [created] + types: [published] jobs: publishnpm: runs-on: ubuntu-latest + defaults: + run: + working-directory: ./packages/astro-ghostcms steps: - name: checkout uses: actions/checkout@v3 @@ -29,6 +32,9 @@ jobs: contents: read packages: write runs-on: ubuntu-latest + defaults: + run: + working-directory: ./packages/astro-ghostcms steps: - name: checkout uses: actions/checkout@v3 diff --git a/.github/workflows/lighthouse.yml b/.github/workflows/lighthouse.yml new file mode 100644 index 00000000..4756ecd3 --- /dev/null +++ b/.github/workflows/lighthouse.yml @@ -0,0 +1,24 @@ +name: Unlighthouse - Demo Site + +on: + workflow_call: + +jobs: + Unlighthouse-demo: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Install Dependencies + run: npm install -g @unlighthouse/cli puppeteer netlify-cli + + - name: Unlighthouse assertions and client + run: unlighthouse-ci --site demo.astro-ghostcms.xyz --budget 75 --build-static + + - name: Deploy + run: netlify deploy --dir=.unlighthouse --prod --message="New Release Deploy from GitHub Actions" + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} diff --git a/DELETE_ME.md b/DELETE_ME.md deleted file mode 100644 index cd67c9ad..00000000 --- a/DELETE_ME.md +++ /dev/null @@ -1,19 +0,0 @@ -## Checklist - -- [ ] Update all `TODO:` -- [ ] Update all `package-name` occurences -- [ ] Add a LICENSE.md at the root -- [ ] Have gh cli installed -- [ ] Work on the integration logic -- [ ] Work on docs - - [ ] JSDoc - - [ ] Package README -- [ ] Format/lint (`pnpm lint:fix`) -- [ ] Setup GitHub repository -- [ ] Release (see below) -- [ ] Share! - -To create a release: -- [ ] `pnpm run changeset` -- [ ] Commit and push -- [ ] `pnpm release` diff --git a/demo/.env b/demo/.env new file mode 100644 index 00000000..fbeecd6d --- /dev/null +++ b/demo/.env @@ -0,0 +1,2 @@ +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz \ No newline at end of file diff --git a/demo/.env.demo b/demo/.env.demo new file mode 100644 index 00000000..fbeecd6d --- /dev/null +++ b/demo/.env.demo @@ -0,0 +1,2 @@ +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz \ No newline at end of file diff --git a/demo/.vscode/extensions.json b/demo/.vscode/extensions.json new file mode 100644 index 00000000..22a15055 --- /dev/null +++ b/demo/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/demo/.vscode/launch.json b/demo/.vscode/launch.json new file mode 100644 index 00000000..d6422097 --- /dev/null +++ b/demo/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/demo/LICENSE b/demo/LICENSE new file mode 100644 index 00000000..88dd1335 --- /dev/null +++ b/demo/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Matthiesen XYZ + +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/demo/README.md b/demo/README.md new file mode 100644 index 00000000..e844e622 --- /dev/null +++ b/demo/README.md @@ -0,0 +1,12 @@ +# Astro-GhostCMS Demo Template + +![Vercel](https://vercelbadge.vercel.app/api/matthiesenxyz/astro-ghostcms-demo) + +This Repo is a Demo Website for the [@matthiesenxyz/astro-ghostcms](https://github.com/MatthiesenXYZ/astro-ghostcms) integraion. + +- For a live preview goto [Demo.Astro-GhostCMS.xyz](https://demo.astro-ghostcms.xyz) +- To see the Current Lighthouse test that is ran every deployment goto [Test.Demo.Astro-GhostCMS.xyz](https://test.demo.astro-ghostcms.xyz) + +### For more information Check our website + +[Astro-GhostCMS.xyz](https://astro-ghostcms.xyz) diff --git a/demo/astro.config.mjs b/demo/astro.config.mjs new file mode 100644 index 00000000..e445154c --- /dev/null +++ b/demo/astro.config.mjs @@ -0,0 +1,8 @@ +import { defineConfig } from 'astro/config'; +import GhostCMS from "@matthiesenxyz/astro-ghostcms"; + +// https://astro.build/config +export default defineConfig({ + site: "https://demo.astro-ghostcms.xyz/", + integrations: [GhostCMS()] +}); diff --git a/demo/package.json b/demo/package.json new file mode 100644 index 00000000..cfc7662e --- /dev/null +++ b/demo/package.json @@ -0,0 +1,20 @@ +{ + "name": "demo", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/check": "^0.4.1", + "@matthiesenxyz/astro-ghostcms": "^2.1.8", + "astro": "^4.2.0", + "astro-robots-txt": "^1.0.0", + "typescript": "^5.3.3", + "zod-validation-error": "^3.0.0" + } +} diff --git a/demo/public/favicon.svg b/demo/public/favicon.svg new file mode 100644 index 00000000..f157bd1c --- /dev/null +++ b/demo/public/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/demo/public/rss.xsl b/demo/public/rss.xsl new file mode 100644 index 00000000..7fdf8788 --- /dev/null +++ b/demo/public/rss.xsl @@ -0,0 +1,52 @@ + + + + + + + <xsl:value-of select="/rss/channel/title"/> Blog Feed + + + + + + + +
+
+

+ + +

+

+ + + + + Visit Website → + +
+

Recent Blog Posts

+ +
+

+ + + + + + +

+ + Published: + +

+ +

+
+
+
+ + +
+
\ No newline at end of file diff --git a/demo/src/env.d.ts b/demo/src/env.d.ts new file mode 100644 index 00000000..e8c8b171 --- /dev/null +++ b/demo/src/env.d.ts @@ -0,0 +1,9 @@ +/// +interface ImportMetaEnv { + readonly CONTENT_API_KEY: string + readonly CONTENT_API_URL: string +} + +interface ImportMeta { + readonly env: ImportMetaEnv; +} \ No newline at end of file diff --git a/demo/tsconfig.json b/demo/tsconfig.json new file mode 100644 index 00000000..77da9dd0 --- /dev/null +++ b/demo/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/strict" +} \ No newline at end of file diff --git a/package.json b/package.json index f72417dc..167713fb 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,8 @@ }, "scripts": { "playground:dev": "pnpm --filter playground dev", + "www:dev": "pnpm --filter www dev", + "demo:dev": "pnpm --filter demo dev", "lint": "biome check .", "lint:fix": "biome check --apply ." }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acc87434..f1b2e99d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,6 +15,27 @@ importers: specifier: ^2.27.1 version: 2.27.1 + demo: + dependencies: + '@astrojs/check': + specifier: ^0.4.1 + version: 0.4.1(typescript@5.3.3) + '@matthiesenxyz/astro-ghostcms': + specifier: ^2.1.8 + version: link:../packages/astro-ghostcms + astro: + specifier: ^4.2.0 + version: 4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3) + astro-robots-txt: + specifier: ^1.0.0 + version: 1.0.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + zod-validation-error: + specifier: ^3.0.0 + version: 3.0.0(zod@3.22.4) + packages/astro-ghostcms: dependencies: '@astrojs/check': @@ -94,6 +115,27 @@ importers: specifier: ^5.3.3 version: 5.3.3 + www: + dependencies: + '@astrojs/check': + specifier: ^0.4.1 + version: 0.4.1(typescript@5.3.3) + '@astrojs/starlight': + specifier: ^0.15.4 + version: 0.15.4(astro@4.2.3) + astro: + specifier: ^4.2.0 + version: 4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3) + sass: + specifier: ^1.69.5 + version: 1.70.0 + sharp: + specifier: ^0.32.6 + version: 0.32.6 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -141,7 +183,6 @@ packages: transitivePeerDependencies: - prettier - prettier-plugin-astro - dev: true /@astrojs/compiler@1.8.2: resolution: {integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==} @@ -209,6 +250,32 @@ packages: - supports-color dev: false + /@astrojs/mdx@2.0.6(astro@4.2.3): + resolution: {integrity: sha512-PY6FYN5TN8dsRFSzcPIt5ofJ/w+v+5GtUUyDYbznu8zmFWlL9TkTLJ9U1zaQ3s2Qh6r1cAeLdEYjW/hW+vZzlw==} + engines: {node: '>=18.14.1'} + peerDependencies: + astro: ^4.0.0 + dependencies: + '@astrojs/markdown-remark': 4.2.0 + '@mdx-js/mdx': 3.0.0 + acorn: 8.11.3 + astro: 4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3) + es-module-lexer: 1.4.1 + estree-util-visit: 2.0.0 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + hast-util-to-html: 9.0.0 + kleur: 4.1.5 + rehype-raw: 7.0.0 + remark-gfm: 4.0.0 + remark-smartypants: 2.1.0 + source-map: 0.7.4 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /@astrojs/prism@3.0.0: resolution: {integrity: sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==} engines: {node: '>=18.14.1'} @@ -230,6 +297,33 @@ packages: zod: 3.22.4 dev: false + /@astrojs/starlight@0.15.4(astro@4.2.3): + resolution: {integrity: sha512-o3heYH+RltsCsvO3L0qLnnFJEakwLSRoxW4wFX2zDeDWta9BIpdSOo7+Zg+sSn7k9RPOhI9SGvdFx67B53I18Q==} + peerDependencies: + astro: ^4.0.0 + dependencies: + '@astrojs/mdx': 2.0.6(astro@4.2.3) + '@astrojs/sitemap': 3.0.5 + '@pagefind/default-ui': 1.0.4 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + astro: 4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3) + astro-expressive-code: 0.31.0(astro@4.2.3) + bcp-47: 2.1.0 + hast-util-select: 6.0.2 + hastscript: 8.0.0 + mdast-util-directive: 3.0.0 + pagefind: 1.0.4 + rehype: 13.0.1 + remark-directive: 3.0.0 + unified: 11.0.4 + unist-util-remove: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /@astrojs/telemetry@3.0.4: resolution: {integrity: sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==} engines: {node: '>=18.14.1'} @@ -747,6 +841,11 @@ packages: prettier: 2.8.8 dev: true + /@ctrl/tinycolor@3.6.1: + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + dev: false + /@emmetio/abbreviation@2.3.3: resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} dependencies: @@ -1202,6 +1301,38 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false + /@expressive-code/core@0.31.0: + resolution: {integrity: sha512-zeCuojWRYeFs0UDOhzpKMzpjI/tJPCQna4jcVp5SJLMn4qNtHXgVmz3AngoMFoFcAlK6meE3wxzy//0d6K4NPw==} + dependencies: + '@ctrl/tinycolor': 3.6.1 + hast-util-to-html: 8.0.4 + hastscript: 7.2.0 + postcss: 8.4.33 + postcss-nested: 6.0.1(postcss@8.4.33) + dev: false + + /@expressive-code/plugin-frames@0.31.0: + resolution: {integrity: sha512-eYWfK3i4w2gSpOGBFNnu05JKSXC90APgUNdam8y5i0Ie2CVAwpxDtEp0NRqugvEKC0aMJe6ZmHN5Hu2WAVJmig==} + dependencies: + '@expressive-code/core': 0.31.0 + hastscript: 7.2.0 + dev: false + + /@expressive-code/plugin-shiki@0.31.0: + resolution: {integrity: sha512-fU5wPPfV1LGcS+Z1wcEkzI1fzBq9IAdt0DN0ni8sT7E+gpkULda4GA4IFD9iWKCGIhSDsBbG+bjc9hrYoJsDIQ==} + dependencies: + '@expressive-code/core': 0.31.0 + shikiji: 0.8.7 + dev: false + + /@expressive-code/plugin-text-markers@0.31.0: + resolution: {integrity: sha512-32o3pPMBq6bVUfRsAfFyqNpHbD1Z3iftoX9yt95F5zakLMsmHzZL4f0jyNr8XpXe7qcTnl0kIijBkUpvS6Pxfg==} + dependencies: + '@expressive-code/core': 0.31.0 + hastscript: 7.2.0 + unist-util-visit-parents: 5.1.3 + dev: false + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -1271,6 +1402,36 @@ packages: read-yaml-file: 1.1.0 dev: true + /@mdx-js/mdx@3.0.0: + resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdx': 2.0.10 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.4 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1289,6 +1450,50 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.16.0 + /@pagefind/darwin-arm64@1.0.4: + resolution: {integrity: sha512-2OcthvceX2xhm5XbgOmW+lT45oLuHqCmvFeFtxh1gsuP5cO8vcD8ZH8Laj4pXQFCcK6eAdSShx+Ztx/LsQWZFQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@pagefind/darwin-x64@1.0.4: + resolution: {integrity: sha512-xkdvp0D9Ld/ZKsjo/y1bgfhTEU72ITimd2PMMQtts7jf6JPIOJbsiErCvm37m/qMFuPGEq/8d+fZ4pydOj08HQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@pagefind/default-ui@1.0.4: + resolution: {integrity: sha512-edkcaPSKq67C49Vehjo+LQCpT615v4d7JRhfGzFPccePvdklaL+VXrfghN/uIfsdoG+HoLI1PcYy2iFcB9CTkw==} + dev: false + + /@pagefind/linux-arm64@1.0.4: + resolution: {integrity: sha512-jGBrcCzIrMnNxLKVtogaQyajVfTAXM59KlBEwg6vTn8NW4fQ6nuFbbhlG4dTIsaamjEM5e8ZBEAKZfTB/qd9xw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@pagefind/linux-x64@1.0.4: + resolution: {integrity: sha512-LIn/QcvcEtLEBqKe5vpSbSC2O3fvqbRCWOTIklslqSORisCsvzsWbP6j+LYxE9q0oWIfkdMoWV1vrE/oCKRxHg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@pagefind/windows-x64@1.0.4: + resolution: {integrity: sha512-QlBCVeZfj9fc9sbUgdOz76ZDbeK4xZihOBAFqGuRJeChfM8pnVeH9iqSnXgO3+m9oITugTf7PicyRUFAG76xeQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@pkgr/core@0.1.1: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -1398,6 +1603,12 @@ packages: dev: false optional: true + /@types/acorn@4.0.6: + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + dependencies: + '@types/estree': 1.0.5 + dev: false + /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: @@ -1433,10 +1644,22 @@ packages: '@types/ms': 0.7.34 dev: false + /@types/estree-jsx@1.0.3: + resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} + dependencies: + '@types/estree': 1.0.5 + dev: false + /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: false + /@types/hast@2.3.9: + resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} + dependencies: + '@types/unist': 2.0.10 + dev: false + /@types/hast@3.0.3: resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} dependencies: @@ -1453,6 +1676,10 @@ packages: '@types/unist': 3.0.2 dev: false + /@types/mdx@2.0.10: + resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} + dev: false + /@types/minimist@1.2.5: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true @@ -1485,6 +1712,10 @@ packages: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true + /@types/parse5@6.0.3: + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + dev: false + /@types/sax@1.2.7: resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} dependencies: @@ -1853,6 +2084,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + dev: false + /astro-eslint-parser@0.16.2: resolution: {integrity: sha512-JJ/AlnPEiFgu5Tuuj9AxkSjiyobg2x7hjiXpglZtyzN2Bkj7GSXVppDQL6oavwtk0kHOAAkvyuJJ+8cC5c1NqQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1870,6 +2106,15 @@ packages: - supports-color dev: false + /astro-expressive-code@0.31.0(astro@4.2.3): + resolution: {integrity: sha512-o6eFrRSYLnlM/2FKkO3MgkbmVxT8N6DJcKvbRf1wbUcRXpz7s1KfugbdsaGw3ABEWUBuQIBsRppcGGw2L816Vg==} + peerDependencies: + astro: ^3.3.0 || ^4.0.0-beta + dependencies: + astro: 4.2.3(@types/node@20.11.5)(sass@1.70.0)(typescript@5.3.3) + remark-expressive-code: 0.31.0 + dev: false + /astro-font@0.0.72: resolution: {integrity: sha512-FUjIerovSg2lsfJfvvqY23hgvc++gHi69ikFkxm0mqO3MPFykK5ppeUuROUjhNbE6vwdD8MpiJOy1CR5S0g/lQ==} dev: false @@ -2002,7 +2247,6 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} requiresBuild: true dev: false - optional: true /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -2020,6 +2264,18 @@ packages: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: false + /bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + dev: false + + /bcp-47@2.1.0: + resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} + dependencies: + is-alphabetical: 2.0.1 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + dev: false + /better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -2039,7 +2295,6 @@ packages: inherits: 2.0.4 readable-stream: 3.6.2 dev: false - optional: true /bl@5.1.0: resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} @@ -2049,6 +2304,10 @@ packages: readable-stream: 3.6.2 dev: false + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: false + /boxen@7.1.1: resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} engines: {node: '>=14.16'} @@ -2106,7 +2365,6 @@ packages: base64-js: 1.5.1 ieee754: 1.2.1 dev: false - optional: true /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -2187,6 +2445,10 @@ packages: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: false + /character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + dev: false + /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true @@ -2209,7 +2471,6 @@ packages: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} requiresBuild: true dev: false - optional: true /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} @@ -2263,6 +2524,10 @@ packages: engines: {node: '>=6'} dev: false + /collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + dev: false + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -2287,7 +2552,6 @@ packages: color-name: 1.1.4 simple-swizzle: 0.2.2 dev: false - optional: true /color@4.2.3: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} @@ -2297,7 +2561,6 @@ packages: color-convert: 2.0.1 color-string: 1.9.1 dev: false - optional: true /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} @@ -2344,6 +2607,10 @@ packages: which: 2.0.2 dev: false + /css-selector-parser@3.0.4: + resolution: {integrity: sha512-pnmS1dbKsz6KA4EW4BznyPL2xxkNDRg62hcD0v8g6DEw2W7hxOln5M953jsp9hmw5Dg57S6o/A8GOn37mbAgcQ==} + dev: false + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -2432,14 +2699,12 @@ packages: dependencies: mimic-response: 3.1.0 dev: false - optional: true /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} requiresBuild: true dev: false - optional: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -2489,7 +2754,6 @@ packages: engines: {node: '>=8'} requiresBuild: true dev: false - optional: true /deterministic-object-hash@2.0.2: resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} @@ -2519,6 +2783,11 @@ packages: dependencies: path-type: 4.0.0 + /direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + dev: false + /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: false @@ -2566,7 +2835,6 @@ packages: dependencies: once: 1.4.0 dev: false - optional: true /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} @@ -2858,6 +3126,40 @@ packages: engines: {node: '>=4.0'} dev: false + /estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + dependencies: + '@types/estree-jsx': 1.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + dev: false + + /estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + dev: false + + /estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + dependencies: + '@types/estree-jsx': 1.0.3 + astring: 1.8.6 + source-map: 0.7.4 + dev: false + + /estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/unist': 3.0.2 + dev: false + /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: @@ -2893,7 +3195,15 @@ packages: engines: {node: '>=6'} requiresBuild: true dev: false - optional: true + + /expressive-code@0.31.0: + resolution: {integrity: sha512-rxKGYS8iRwNUbRNfyCyoe3XQvBLTtGdXbNKM+ODDWCn4VL2DVT1gD1M2N2Alg8HQHIWZJsZIMsYbziO0MRjPlw==} + dependencies: + '@expressive-code/core': 0.31.0 + '@expressive-code/plugin-frames': 0.31.0 + '@expressive-code/plugin-shiki': 0.31.0 + '@expressive-code/plugin-text-markers': 0.31.0 + dev: false /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -2927,7 +3237,6 @@ packages: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} requiresBuild: true dev: false - optional: true /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} @@ -3044,7 +3353,6 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} requiresBuild: true dev: false - optional: true /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} @@ -3132,7 +3440,6 @@ packages: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} requiresBuild: true dev: false - optional: true /github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -3276,6 +3583,18 @@ packages: vfile-message: 4.0.2 dev: false + /hast-util-from-parse5@7.1.2: + resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} + dependencies: + '@types/hast': 2.3.9 + '@types/unist': 2.0.10 + hastscript: 7.2.0 + property-information: 6.4.0 + vfile: 5.3.7 + vfile-location: 4.1.0 + web-namespaces: 2.0.1 + dev: false + /hast-util-from-parse5@8.0.1: resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} dependencies: @@ -3289,12 +3608,40 @@ packages: web-namespaces: 2.0.1 dev: false + /hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hast-util-parse-selector@3.1.1: + resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} + dependencies: + '@types/hast': 2.3.9 + dev: false + /hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} dependencies: '@types/hast': 3.0.3 dev: false + /hast-util-raw@7.2.3: + resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + dependencies: + '@types/hast': 2.3.9 + '@types/parse5': 6.0.3 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 + parse5: 6.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + /hast-util-raw@9.0.2: resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} dependencies: @@ -3313,6 +3660,66 @@ packages: zwitch: 2.0.4 dev: false + /hast-util-select@6.0.2: + resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.0.4 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.0 + hast-util-whitespace: 3.0.0 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + dev: false + + /hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /hast-util-to-html@8.0.4: + resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} + dependencies: + '@types/hast': 2.3.9 + '@types/unist': 2.0.10 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 7.2.3 + hast-util-whitespace: 2.0.1 + html-void-elements: 2.0.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.3 + zwitch: 2.0.4 + dev: false + /hast-util-to-html@9.0.0: resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} dependencies: @@ -3330,6 +3737,39 @@ packages: zwitch: 2.0.4 dev: false + /hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.5 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /hast-util-to-parse5@7.1.0: + resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} + dependencies: + '@types/hast': 2.3.9 + comma-separated-tokens: 2.0.3 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + /hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} dependencies: @@ -3342,12 +3782,32 @@ packages: zwitch: 2.0.4 dev: false + /hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + dependencies: + '@types/hast': 3.0.3 + dev: false + + /hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + dev: false + /hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} dependencies: '@types/hast': 3.0.3 dev: false + /hastscript@7.2.0: + resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} + dependencies: + '@types/hast': 2.3.9 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 3.1.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + dev: false + /hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} dependencies: @@ -3366,6 +3826,10 @@ packages: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} dev: false + /html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + dev: false + /html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: false @@ -3438,7 +3902,14 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} requiresBuild: true dev: false - optional: true + + /inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: false + + /inline-style-parser@0.2.2: + resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==} + dev: false /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} @@ -3449,6 +3920,17 @@ packages: side-channel: 1.0.4 dev: true + /is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + dev: false + + /is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + dev: false + /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: @@ -3465,7 +3947,6 @@ packages: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} requiresBuild: true dev: false - optional: true /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -3509,6 +3990,10 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + dev: false + /is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3534,6 +4019,10 @@ packages: dependencies: is-extglob: 2.1.1 + /is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + dev: false + /is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -3578,6 +4067,12 @@ packages: engines: {node: '>=12'} dev: false + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + dependencies: + '@types/estree': 1.0.5 + dev: false + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -3817,6 +4312,11 @@ packages: engines: {node: '>=8'} dev: true + /markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + dev: false + /markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false @@ -3829,6 +4329,21 @@ packages: unist-util-visit: 5.0.0 dev: false + /mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} dependencies: @@ -3926,6 +4441,64 @@ packages: - supports-color dev: false + /mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx-jsx@3.0.0: + resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + /mdast-util-phrasing@4.0.0: resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} dependencies: @@ -4011,6 +4584,18 @@ packages: micromark-util-types: 2.0.0 dev: false + /micromark-extension-directive@3.0.0: + resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + dev: false + /micromark-extension-gfm-autolink-literal@2.0.0: resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} dependencies: @@ -4083,6 +4668,67 @@ packages: micromark-util-types: 2.0.0 dev: false + /micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + /micromark-factory-destination@2.0.0: resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} dependencies: @@ -4100,6 +4746,19 @@ packages: micromark-util-types: 2.0.0 dev: false + /micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + dev: false + /micromark-factory-space@2.0.0: resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} dependencies: @@ -4172,6 +4831,19 @@ packages: resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} dev: false + /micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + dev: false + /micromark-util-html-tag-name@2.0.0: resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} dev: false @@ -4277,7 +4949,6 @@ packages: engines: {node: '>=10'} requiresBuild: true dev: false - optional: true /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -4310,7 +4981,6 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} requiresBuild: true dev: false - optional: true /mixme@0.5.10: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} @@ -4321,7 +4991,6 @@ packages: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} requiresBuild: true dev: false - optional: true /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -4348,7 +5017,6 @@ packages: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} requiresBuild: true dev: false - optional: true /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -4379,13 +5047,11 @@ packages: dependencies: semver: 7.5.4 dev: false - optional: true /node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} requiresBuild: true dev: false - optional: true /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -4404,6 +5070,10 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + /not@0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + dev: false + /npm-run-path@5.2.0: resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4411,6 +5081,12 @@ packages: path-key: 4.0.0 dev: false + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: false + /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true @@ -4546,6 +5222,17 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + /pagefind@1.0.4: + resolution: {integrity: sha512-oRIizYe+zSI2Jw4zcMU0ebDZm27751hRFiSOBLwc1OIYMrsZKk+3m8p9EVaOmc6zZdtqwwdilNUNxXvBeHcP9w==} + hasBin: true + optionalDependencies: + '@pagefind/darwin-arm64': 1.0.4 + '@pagefind/darwin-x64': 1.0.4 + '@pagefind/linux-arm64': 1.0.4 + '@pagefind/linux-x64': 1.0.4 + '@pagefind/windows-x64': 1.0.4 + dev: false + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -4553,6 +5240,19 @@ packages: callsites: 3.1.0 dev: false + /parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + dependencies: + '@types/unist': 2.0.10 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + dev: false + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -4571,6 +5271,10 @@ packages: unist-util-visit-children: 2.0.2 dev: false + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: false + /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -4610,6 +5314,14 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + /periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: false @@ -4628,6 +5340,16 @@ packages: dependencies: find-up: 4.1.0 + /postcss-nested@6.0.1(postcss@8.4.33): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.33 + postcss-selector-parser: 6.0.15 + dev: false + /postcss-selector-parser@6.0.15: resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} @@ -4664,7 +5386,6 @@ packages: tar-fs: 2.1.1 tunnel-agent: 0.6.0 dev: false - optional: true /preferred-pm@3.1.2: resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} @@ -4741,7 +5462,6 @@ packages: end-of-stream: 1.4.4 once: 1.4.0 dev: false - optional: true /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} @@ -4755,7 +5475,6 @@ packages: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} requiresBuild: true dev: false - optional: true /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -4772,7 +5491,6 @@ packages: minimist: 1.2.8 strip-json-comments: 2.0.1 dev: false - optional: true /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -4872,6 +5590,25 @@ packages: unified: 11.0.4 dev: false + /remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-expressive-code@0.31.0: + resolution: {integrity: sha512-ZnKXo9lB0kBUHZIlw2NdqMMgXriVVajEhtQfJ+MWeibMpyM1kuOa28jefNfNFd3FAoNPrc/A3M0fDRkYvWw9Gw==} + dependencies: + expressive-code: 0.31.0 + hast-util-to-html: 8.0.4 + unist-util-visit: 4.1.2 + dev: false + /remark-gfm@4.0.0: resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} dependencies: @@ -4885,6 +5622,15 @@ packages: - supports-color dev: false + /remark-mdx@3.0.0: + resolution: {integrity: sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==} + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} dependencies: @@ -5157,7 +5903,6 @@ packages: tar-fs: 3.0.4 tunnel-agent: 0.6.0 dev: false - optional: true /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} @@ -5187,6 +5932,12 @@ packages: resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==} dev: false + /shikiji@0.8.7: + resolution: {integrity: sha512-j5usxwI0yHkDTHOuhuSJl9+wT5CNYeYO82dJMSJBlJ/NYT5SIebGcPoL6y9QOyH15wGrJC4LOP2nz5k8mUDGRQ==} + dependencies: + hast-util-to-html: 9.0.0 + dev: false + /shikiji@0.9.19: resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==} dependencies: @@ -5213,7 +5964,6 @@ packages: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} requiresBuild: true dev: false - optional: true /simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} @@ -5223,7 +5973,6 @@ packages: once: 1.4.0 simple-concat: 1.0.1 dev: false - optional: true /simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -5231,7 +5980,6 @@ packages: dependencies: is-arrayish: 0.3.2 dev: false - optional: true /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -5270,6 +6018,11 @@ packages: engines: {node: '>=0.10.0'} dev: false + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: false + /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: false @@ -5334,7 +6087,6 @@ packages: fast-fifo: 1.3.2 queue-tick: 1.0.1 dev: false - optional: true /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -5448,7 +6200,6 @@ packages: engines: {node: '>=0.10.0'} requiresBuild: true dev: false - optional: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} @@ -5459,6 +6210,18 @@ packages: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: false + /style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + + /style-to-object@1.0.5: + resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==} + dependencies: + inline-style-parser: 0.2.2 + dev: false + /suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} dependencies: @@ -5497,7 +6260,6 @@ packages: pump: 3.0.0 tar-stream: 2.2.0 dev: false - optional: true /tar-fs@3.0.4: resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} @@ -5507,7 +6269,6 @@ packages: pump: 3.0.0 tar-stream: 3.1.7 dev: false - optional: true /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} @@ -5520,7 +6281,6 @@ packages: inherits: 2.0.4 readable-stream: 3.6.2 dev: false - optional: true /tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -5530,7 +6290,6 @@ packages: fast-fifo: 1.3.2 streamx: 2.15.6 dev: false - optional: true /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} @@ -5622,7 +6381,6 @@ packages: dependencies: safe-buffer: 5.2.1 dev: false - optional: true /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -5767,12 +6525,39 @@ packages: array-iterate: 2.0.1 dev: false + /unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + dependencies: + '@types/unist': 3.0.2 + dev: false + + /unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + dependencies: + '@types/unist': 2.0.10 + dev: false + /unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} dependencies: '@types/unist': 3.0.2 dev: false + /unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + dev: false + + /unist-util-remove@4.0.0: + resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: @@ -5861,6 +6646,13 @@ packages: spdx-expression-parse: 3.0.1 dev: true + /vfile-location@4.1.0: + resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} + dependencies: + '@types/unist': 2.0.10 + vfile: 5.3.7 + dev: false + /vfile-location@5.0.2: resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2127a8c0..401540ba 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,6 @@ packages: - package - "packages/*" - - "playground" \ No newline at end of file + - "playground" + - "www" + - "demo" \ No newline at end of file diff --git a/www/.gitignore b/www/.gitignore new file mode 100644 index 00000000..bffa11f0 --- /dev/null +++ b/www/.gitignore @@ -0,0 +1,21 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store \ No newline at end of file diff --git a/www/README.md b/www/README.md new file mode 100644 index 00000000..55801475 --- /dev/null +++ b/www/README.md @@ -0,0 +1 @@ +Repo for Astro-ghostcms.xyz website \ No newline at end of file diff --git a/www/astro.config.mjs b/www/astro.config.mjs new file mode 100644 index 00000000..d217656a --- /dev/null +++ b/www/astro.config.mjs @@ -0,0 +1,44 @@ +import { defineConfig } from 'astro/config'; +import fs from 'node:fs'; +import { ExpressiveCodeTheme } from '@astrojs/starlight/expressive-code'; +import starlight from "@astrojs/starlight"; + +const houstonFile = `./houston-vscode.jsonc`; +const houston = fs.readFileSync( + new URL(houstonFile, import.meta.url),'utf-8'); +const houstonTheme = ExpressiveCodeTheme.fromJSONString(houston); + +// https://astro.build/config +export default defineConfig({ + site: 'https://astro-ghostcms.xyz', + integrations: [ + starlight({ + title: 'Astro-GhostCMS', + logo: { + src: './src/assets/favicon.svg' + }, + favicon: 'favicon.svg', + customCss: [ './src/styles/starlight.css' ], + expressiveCode: { themes: [ houstonTheme ] }, + social: { + github: 'https://github.com/MatthiesenXYZ/astro-ghostcms', + }, + sidebar: [ + { label: 'Docs Home', link: '/docs/' }, + { label: 'Introduction', items: [ + { label: 'Getting Started', link: '/docs/introduction/getting-started' }, + { label: 'Integration Mode', items: [ + { label: 'Quick Install', link: '/docs/introduction/integration/quick' }, + { label: 'Manual Install', link: '/docs/introduction/integration/manual' }, + { label: 'Configuration Options', link: '/docs/introduction/integration/config', + badge: { text: 'BETA', variant: 'caution' }, }, ], }, + { label: 'API ( DIY ) Mode', items: [ + { label: 'Install', link: '/docs/introduction/api/install' }, + { label: 'Basic API Usage', link: '/docs/introduction/api/usage' }, ], }, ], }, + //{ label: 'Advanced Usage', link: '/docs/#' }, + { label: 'Tutorials', autogenerate: { directory: 'docs/tutorials' }, }, + { label: 'Reference', autogenerate: { directory: 'docs/reference' }, }, + ], + }), + ], +}); \ No newline at end of file diff --git a/www/houston-vscode.jsonc b/www/houston-vscode.jsonc new file mode 100644 index 00000000..37e5ea46 --- /dev/null +++ b/www/houston-vscode.jsonc @@ -0,0 +1,2369 @@ +{ + "$schema": "vscode://schemas/color-theme", + "type": "dark", + "colors": { + "activityBar.activeBackground": "#343841", + "activityBar.background": "#17191e", + "activityBar.border": "#343841", + "activityBar.foreground": "#eef0f9", + "activityBar.inactiveForeground": "#858b98", + "activityBarBadge.background": "#4bf3c8", + "activityBarBadge.foreground": "#000000", + "badge.background": "#bfc1c9", + "badge.foreground": "#17191e", + "breadcrumb.activeSelectionForeground": "#eef0f9", + "breadcrumb.background": "#17191e", + "breadcrumb.focusForeground": "#eef0f9", + "breadcrumb.foreground": "#858b98", + "button.background": "#4bf3c8", + "button.foreground": "#17191e", + "button.hoverBackground": "#31c19c", + "button.secondaryBackground": "#545864", + "button.secondaryForeground": "#eef0f9", + "button.secondaryHoverBackground": "#858b98", + "checkbox.background": "#23262d", + "checkbox.border": "#00000000", + "checkbox.foreground": "#eef0f9", + "debugExceptionWidget.background": "#23262d", + "debugExceptionWidget.border": "#8996d5", + "debugToolBar.background": "#000000", + "debugToolBar.border": "#ffffff00", + "diffEditor.border": "#ffffff00", + "diffEditor.insertedTextBackground": "#4bf3c824", + "diffEditor.removedTextBackground": "#dc365724", + "dropdown.background": "#23262d", + "dropdown.border": "#00000000", + "dropdown.foreground": "#eef0f9", + "editor.background": "#17191e", + "editor.findMatchBackground": "#515c6a", + "editor.findMatchBorder": "#74879f", + "editor.findMatchHighlightBackground": "#ea5c0055", + "editor.findMatchHighlightBorder": "#ffffff00", + "editor.findRangeHighlightBackground": "#23262d", + "editor.findRangeHighlightBorder": "#b2434300", + "editor.foldBackground": "#ad5dca26", + "editor.foreground": "#eef0f9", + "editor.hoverHighlightBackground": "#5495d740", + "editor.inactiveSelectionBackground": "#2a2d34", + "editor.lineHighlightBackground": "#23262d", + "editor.lineHighlightBorder": "#ffffff00", + "editor.rangeHighlightBackground": "#ffffff0b", + "editor.rangeHighlightBorder": "#ffffff00", + "editor.selectionBackground": "#ad5dca44", + "editor.selectionHighlightBackground": "#add6ff34", + "editor.selectionHighlightBorder": "#495f77", + "editor.wordHighlightBackground": "#494949b8", + "editor.wordHighlightStrongBackground": "#004972b8", + "editorBracketMatch.background": "#545864", + "editorBracketMatch.border": "#ffffff00", + "editorCodeLens.foreground": "#bfc1c9", + "editorCursor.background": "#000000", + "editorCursor.foreground": "#aeafad", + "editorError.background": "#ffffff00", + "editorError.border": "#ffffff00", + "editorError.foreground": "#f4587e", + "editorGroup.border": "#343841", + "editorGroup.emptyBackground": "#17191e", + "editorGroupHeader.border": "#ffffff00", + "editorGroupHeader.tabsBackground": "#23262d", + "editorGroupHeader.tabsBorder": "#ffffff00", + "editorGutter.addedBackground": "#4bf3c8", + "editorGutter.background": "#17191e", + "editorGutter.commentRangeForeground": "#545864", + "editorGutter.deletedBackground": "#f06788", + "editorGutter.foldingControlForeground": "#545864", + "editorGutter.modifiedBackground": "#54b9ff", + "editorHoverWidget.background": "#252526", + "editorHoverWidget.border": "#454545", + "editorHoverWidget.foreground": "#cccccc", + "editorIndentGuide.activeBackground": "#858b98", + "editorIndentGuide.background": "#343841", + "editorInfo.background": "#4490bf00", + "editorInfo.border": "#4490bf00", + "editorInfo.foreground": "#54b9ff", + "editorLineNumber.activeForeground": "#858b98", + "editorLineNumber.foreground": "#545864", + "editorLink.activeForeground": "#54b9ff", + "editorMarkerNavigation.background": "#23262d", + "editorMarkerNavigationError.background": "#dc3657", + "editorMarkerNavigationInfo.background": "#54b9ff", + "editorMarkerNavigationWarning.background": "#ffd493", + "editorOverviewRuler.background": "#ffffff00", + "editorOverviewRuler.border": "#ffffff00", + "editorRuler.foreground": "#545864", + "editorSuggestWidget.background": "#252526", + "editorSuggestWidget.border": "#454545", + "editorSuggestWidget.foreground": "#d4d4d4", + "editorSuggestWidget.highlightForeground": "#0097fb", + "editorSuggestWidget.selectedBackground": "#062f4a", + "editorWarning.background": "#a9904000", + "editorWarning.border": "#ffffff00", + "editorWarning.foreground": "#fbc23b", + "editorWhitespace.foreground": "#cc75f450", + "editorWidget.background": "#343841", + "editorWidget.foreground": "#ffffff", + "editorWidget.resizeBorder": "#cc75f4", + "focusBorder": "#00daef", + "foreground": "#cccccc", + "gitDecoration.addedResourceForeground": "#4bf3c8", + "gitDecoration.conflictingResourceForeground": "#00daef", + "gitDecoration.deletedResourceForeground": "#f4587e", + "gitDecoration.ignoredResourceForeground": "#858b98", + "gitDecoration.modifiedResourceForeground": "#ffd493", + "gitDecoration.stageDeletedResourceForeground": "#c74e39", + "gitDecoration.stageModifiedResourceForeground": "#ffd493", + "gitDecoration.submoduleResourceForeground": "#54b9ff", + "gitDecoration.untrackedResourceForeground": "#4bf3c8", + "icon.foreground": "#cccccc", + "input.background": "#23262d", + "input.border": "#bfc1c9", + "input.foreground": "#eef0f9", + "input.placeholderForeground": "#858b98", + "inputOption.activeBackground": "#54b9ff", + "inputOption.activeBorder": "#007acc00", + "inputOption.activeForeground": "#17191e", + "list.activeSelectionBackground": "#2d4860", + "list.activeSelectionForeground": "#ffffff", + "list.dropBackground": "#17191e", + "list.focusBackground": "#54b9ff", + "list.focusForeground": "#ffffff", + "list.highlightForeground": "#ffffff", + "list.hoverBackground": "#343841", + "list.hoverForeground": "#eef0f9", + "list.inactiveSelectionBackground": "#17191e", + "list.inactiveSelectionForeground": "#eef0f9", + "listFilterWidget.background": "#2d4860", + "listFilterWidget.noMatchesOutline": "#dc3657", + "listFilterWidget.outline": "#54b9ff", + "menu.background": "#252526", + "menu.border": "#00000085", + "menu.foreground": "#cccccc", + "menu.selectionBackground": "#094771", + "menu.selectionBorder": "#00000000", + "menu.selectionForeground": "#4bf3c8", + "menu.separatorBackground": "#bbbbbb", + "menubar.selectionBackground": "#ffffff1a", + "menubar.selectionForeground": "#cccccc", + "merge.commonContentBackground": "#282828", + "merge.commonHeaderBackground": "#383838", + "merge.currentContentBackground": "#27403b", + "merge.currentHeaderBackground": "#367366", + "merge.incomingContentBackground": "#28384b", + "merge.incomingHeaderBackground": "#395f8f", + "minimap.background": "#17191e", + "minimap.errorHighlight": "#dc3657", + "minimap.findMatchHighlight": "#515c6a", + "minimap.selectionHighlight": "#3757b942", + "minimap.warningHighlight": "#fbc23b", + "minimapGutter.addedBackground": "#4bf3c8", + "minimapGutter.deletedBackground": "#f06788", + "minimapGutter.modifiedBackground": "#54b9ff", + "notificationCenter.border": "#ffffff00", + "notificationCenterHeader.background": "#343841", + "notificationCenterHeader.foreground": "#17191e", + "notificationToast.border": "#ffffff00", + "notifications.background": "#343841", + "notifications.border": "#bfc1c9", + "notifications.foreground": "#ffffff", + "notificationsErrorIcon.foreground": "#f4587e", + "notificationsInfoIcon.foreground": "#54b9ff", + "notificationsWarningIcon.foreground": "#ff8551", + "panel.background": "#23262d", + "panel.border": "#17191e", + "panelSection.border": "#17191e", + "panelTitle.activeBorder": "#e7e7e7", + "panelTitle.activeForeground": "#eef0f9", + "panelTitle.inactiveForeground": "#bfc1c9", + "peekView.border": "#007acc", + "peekViewEditor.background": "#001f33", + "peekViewEditor.matchHighlightBackground": "#ff8f0099", + "peekViewEditor.matchHighlightBorder": "#ee931e", + "peekViewEditorGutter.background": "#001f33", + "peekViewResult.background": "#252526", + "peekViewResult.fileForeground": "#ffffff", + "peekViewResult.lineForeground": "#bbbbbb", + "peekViewResult.matchHighlightBackground": "#ff0000", + "peekViewResult.selectionBackground": "#3399ff33", + "peekViewResult.selectionForeground": "#ffffff", + "peekViewTitle.background": "#1e1e1e", + "peekViewTitleDescription.foreground": "#ccccccb3", + "peekViewTitleLabel.foreground": "#ffffff", + "pickerGroup.border": "#ffffff00", + "pickerGroup.foreground": "#eef0f9", + "progressBar.background": "#4bf3c8", + "scrollbar.shadow": "#000000", + "scrollbarSlider.activeBackground": "#54b9ff66", + "scrollbarSlider.background": "#54586466", + "scrollbarSlider.hoverBackground": "#545864b3", + "selection.background": "#00daef56", + "settings.focusedRowBackground": "#ffffff07", + "settings.headerForeground": "#cccccc", + "sideBar.background": "#23262d", + "sideBar.border": "#17191e", + "sideBar.dropBackground": "#17191e", + "sideBar.foreground": "#bfc1c9", + "sideBarSectionHeader.background": "#343841", + "sideBarSectionHeader.border": "#17191e", + "sideBarSectionHeader.foreground": "#eef0f9", + "sideBarTitle.foreground": "#eef0f9", + "statusBar.background": "#17548b", + "statusBar.debuggingBackground": "#cc75f4", + "statusBar.debuggingForeground": "#eef0f9", + "statusBar.foreground": "#eef0f9", + "statusBar.noFolderBackground": "#6c3c7d", + "statusBar.noFolderForeground": "#eef0f9", + "statusBarItem.activeBackground": "#ffffff25", + "statusBarItem.hoverBackground": "#ffffff1f", + "statusBarItem.remoteBackground": "#297763", + "statusBarItem.remoteForeground": "#eef0f9", + "tab.activeBackground": "#17191e", + "tab.activeBorder": "#ffffff00", + "tab.activeBorderTop": "#eef0f9", + "tab.activeForeground": "#eef0f9", + "tab.border": "#17191e", + "tab.hoverBackground": "#343841", + "tab.hoverForeground": "#eef0f9", + "tab.inactiveBackground": "#23262d", + "tab.inactiveForeground": "#858b98", + "terminal.ansiBlack": "#17191e", + "terminal.ansiBlue": "#2b7eca", + "terminal.ansiBrightBlack": "#545864", + "terminal.ansiBrightBlue": "#54b9ff", + "terminal.ansiBrightCyan": "#00daef", + "terminal.ansiBrightGreen": "#4bf3c8", + "terminal.ansiBrightMagenta": "#cc75f4", + "terminal.ansiBrightRed": "#f4587e", + "terminal.ansiBrightWhite": "#fafafa", + "terminal.ansiBrightYellow": "#ffd493", + "terminal.ansiCyan": "#24c0cf", + "terminal.ansiGreen": "#23d18b", + "terminal.ansiMagenta": "#ad5dca", + "terminal.ansiRed": "#dc3657", + "terminal.ansiWhite": "#eef0f9", + "terminal.ansiYellow": "#ffc368", + "terminal.border": "#80808059", + "terminal.foreground": "#cccccc", + "terminal.selectionBackground": "#ffffff40", + "terminalCursor.background": "#0087ff", + "terminalCursor.foreground": "#ffffff", + "textLink.foreground": "#54b9ff", + "titleBar.activeBackground": "#17191e", + "titleBar.activeForeground": "#cccccc", + "titleBar.border": "#00000000", + "titleBar.inactiveBackground": "#3c3c3c99", + "titleBar.inactiveForeground": "#cccccc99", + "tree.indentGuidesStroke": "#545864", + "walkThrough.embeddedEditorBackground": "#00000050", + "widget.shadow": "#ffffff00", + //"actionBar.toggledBackground": "#54b9ff", + //"activityBar.activeBorder": "#eef0f9", + //"activityBar.dropBorder": "#eef0f9", + //"banner.background": "#2d4860", + //"banner.foreground": "#ffffff", + //"banner.iconForeground": "#54b9ff", + //"breadcrumbPicker.background": "#343841", + //"button.separator": "#17191e66", + //"charts.blue": "#54b9ff", + //"charts.foreground": "#cccccc", + //"charts.green": "#89d185", + //"charts.lines": "#cccccc80", + //"charts.orange": "#515c6a", + //"charts.purple": "#b180d7", + //"charts.red": "#f4587e", + //"charts.yellow": "#fbc23b", + //"chat.avatarBackground": "#1f1f1f", + //"chat.avatarForeground": "#cccccc", + //"chat.requestBorder": "#ffffff1a", + //"chat.slashCommandBackground": "#34414b", + //"chat.slashCommandForeground": "#40a6ff", + //"checkbox.selectBackground": "#343841", + //"checkbox.selectBorder": "#cccccc", + //"commandCenter.activeBackground": "#ffffff14", + //"commandCenter.activeBorder": "#cccccc4d", + //"commandCenter.activeForeground": "#cccccc", + //"commandCenter.background": "#ffffff0d", + //"commandCenter.border": "#cccccc33", + //"commandCenter.debuggingBackground": "#cc75f442", + //"commandCenter.foreground": "#cccccc", + //"commandCenter.inactiveBorder": "#cccccc26", + //"commandCenter.inactiveForeground": "#cccccc99", + //"commentsView.resolvedIcon": "#cccccc80", + //"commentsView.unresolvedIcon": "#00daef", + //"consoleninja.logTime": "#6a9955", + //"debugConsole.errorForeground": "#f48771", + //"debugConsole.infoForeground": "#54b9ff", + //"debugConsole.sourceForeground": "#cccccc", + //"debugConsole.warningForeground": "#fbc23b", + //"debugConsoleInputIcon.foreground": "#cccccc", + //"debugIcon.breakpointCurrentStackframeForeground": "#ffcc00", + //"debugIcon.breakpointDisabledForeground": "#848484", + //"debugIcon.breakpointForeground": "#e51400", + //"debugIcon.breakpointStackframeForeground": "#89d185", + //"debugIcon.breakpointUnverifiedForeground": "#848484", + //"debugIcon.continueForeground": "#75beff", + //"debugIcon.disconnectForeground": "#f48771", + //"debugIcon.pauseForeground": "#75beff", + //"debugIcon.restartForeground": "#89d185", + //"debugIcon.startForeground": "#89d185", + //"debugIcon.stepBackForeground": "#75beff", + //"debugIcon.stepIntoForeground": "#75beff", + //"debugIcon.stepOutForeground": "#75beff", + //"debugIcon.stepOverForeground": "#75beff", + //"debugIcon.stopForeground": "#f48771", + //"debugTokenExpression.boolean": "#4e94ce", + //"debugTokenExpression.error": "#f48771", + //"debugTokenExpression.name": "#c586c0", + //"debugTokenExpression.number": "#b5cea8", + //"debugTokenExpression.string": "#ce9178", + //"debugTokenExpression.value": "#cccccc99", + //"debugView.exceptionLabelBackground": "#6c2022", + //"debugView.exceptionLabelForeground": "#cccccc", + //"debugView.stateLabelBackground": "#88888844", + //"debugView.stateLabelForeground": "#cccccc", + //"debugView.valueChangedHighlight": "#569cd6", + //"descriptionForeground": "#ccccccb3", + //"diffEditor.diagonalFill": "#cccccc33", + //"diffEditor.insertedLineBackground": "#9bb95533", + //"diffEditor.move.border": "#8b8b8b9c", + //"diffEditor.moveActive.border": "#ffa500", + //"diffEditor.removedLineBackground": "#ff000033", + //"diffEditor.unchangedCodeBackground": "#74747429", + //"diffEditor.unchangedRegionBackground": "#23262d", + //"diffEditor.unchangedRegionForeground": "#cccccc", + //"diffEditor.unchangedRegionShadow": "#000000", + //"disabledForeground": "#cccccc80", + //"editor.focusedStackFrameHighlightBackground": "#7abd7a4d", + //"editor.inlineValuesBackground": "#ffc80033", + //"editor.inlineValuesForeground": "#ffffff80", + //"editor.linkedEditingBackground": "#ff00004d", + //"editor.snippetFinalTabstopHighlightBorder": "#525252", + //"editor.snippetTabstopHighlightBackground": "#7c7c7c4d", + //"editor.stackFrameHighlightBackground": "#ffff0033", + //"editor.symbolHighlightBackground": "#ea5c0055", + //"editor.wordHighlightTextBackground": "#494949b8", + //"editorActiveLineNumber.foreground": "#c6c6c6", + //"editorBracketHighlight.foreground1": "#ffd700", + //"editorBracketHighlight.foreground2": "#da70d6", + //"editorBracketHighlight.foreground3": "#179fff", + //"editorBracketHighlight.foreground4": "#00000000", + //"editorBracketHighlight.foreground5": "#00000000", + //"editorBracketHighlight.foreground6": "#00000000", + //"editorBracketHighlight.unexpectedBracket.foreground": "#ff1212cc", + //"editorBracketPairGuide.activeBackground1": "#00000000", + //"editorBracketPairGuide.activeBackground2": "#00000000", + //"editorBracketPairGuide.activeBackground3": "#00000000", + //"editorBracketPairGuide.activeBackground4": "#00000000", + //"editorBracketPairGuide.activeBackground5": "#00000000", + //"editorBracketPairGuide.activeBackground6": "#00000000", + //"editorBracketPairGuide.background1": "#00000000", + //"editorBracketPairGuide.background2": "#00000000", + //"editorBracketPairGuide.background3": "#00000000", + //"editorBracketPairGuide.background4": "#00000000", + //"editorBracketPairGuide.background5": "#00000000", + //"editorBracketPairGuide.background6": "#00000000", + //"editorCommentsWidget.rangeActiveBackground": "#00daef1a", + //"editorCommentsWidget.rangeBackground": "#00daef1a", + //"editorCommentsWidget.replyInputBackground": "#1e1e1e", + //"editorCommentsWidget.resolvedBorder": "#cccccc80", + //"editorCommentsWidget.unresolvedBorder": "#00daef", + //"editorGhostText.foreground": "#ffffff56", + //"editorGroup.dropBackground": "#53595d80", + //"editorGroup.dropIntoPromptBackground": "#343841", + //"editorGroup.dropIntoPromptForeground": "#ffffff", + //"editorGroupHeader.noTabsBackground": "#17191e", + //"editorGutter.commentGlyphForeground": "#eef0f9", + //"editorGutter.commentUnresolvedGlyphForeground": "#eef0f9", + //"editorHint.foreground": "#eeeeeeb3", + //"editorHoverWidget.highlightForeground": "#ffffff", + //"editorHoverWidget.statusBarBackground": "#2c2c2d", + //"editorIndentGuide.activeBackground1": "#858b98", + //"editorIndentGuide.activeBackground2": "#00000000", + //"editorIndentGuide.activeBackground3": "#00000000", + //"editorIndentGuide.activeBackground4": "#00000000", + //"editorIndentGuide.activeBackground5": "#00000000", + //"editorIndentGuide.activeBackground6": "#00000000", + //"editorIndentGuide.background1": "#343841", + //"editorIndentGuide.background2": "#00000000", + //"editorIndentGuide.background3": "#00000000", + //"editorIndentGuide.background4": "#00000000", + //"editorIndentGuide.background5": "#00000000", + //"editorIndentGuide.background6": "#00000000", + //"editorInlayHint.background": "#bfc1c91a", + //"editorInlayHint.foreground": "#969696", + //"editorInlayHint.parameterBackground": "#bfc1c91a", + //"editorInlayHint.parameterForeground": "#969696", + //"editorInlayHint.typeBackground": "#bfc1c91a", + //"editorInlayHint.typeForeground": "#969696", + //"editorLightBulb.foreground": "#ffcc00", + //"editorLightBulbAi.foreground": "#7a7a7a", + //"editorLightBulbAutoFix.foreground": "#75beff", + //"editorMarkerNavigationError.headerBackground": "#dc36571a", + //"editorMarkerNavigationInfo.headerBackground": "#54b9ff1a", + //"editorMarkerNavigationWarning.headerBackground": "#ffd4931a", + //"editorOverviewRuler.addedForeground": "#4bf3c899", + //"editorOverviewRuler.bracketMatchForeground": "#a0a0a0", + //"editorOverviewRuler.commentForeground": "#545864", + //"editorOverviewRuler.commentUnresolvedForeground": "#545864", + //"editorOverviewRuler.commonContentForeground": "#383838", + //"editorOverviewRuler.currentContentForeground": "#367366", + //"editorOverviewRuler.deletedForeground": "#f0678899", + //"editorOverviewRuler.errorForeground": "#ff1212b3", + //"editorOverviewRuler.findMatchForeground": "#d186167e", + //"editorOverviewRuler.incomingContentForeground": "#395f8f", + //"editorOverviewRuler.infoForeground": "#54b9ff", + //"editorOverviewRuler.modifiedForeground": "#54b9ff99", + //"editorOverviewRuler.rangeHighlightForeground": "#007acc99", + //"editorOverviewRuler.selectionHighlightForeground": "#a0a0a0cc", + //"editorOverviewRuler.warningForeground": "#fbc23b", + //"editorOverviewRuler.wordHighlightForeground": "#a0a0a0cc", + //"editorOverviewRuler.wordHighlightStrongForeground": "#c0a0c0cc", + //"editorOverviewRuler.wordHighlightTextForeground": "#a0a0a0cc", + //"editorPane.background": "#17191e", + //"editorStickyScroll.background": "#17191e", + //"editorStickyScrollHover.background": "#2a2d2e", + //"editorSuggestWidget.focusHighlightForeground": "#ffffff", + //"editorSuggestWidget.selectedForeground": "#ffffff", + //"editorSuggestWidgetStatus.foreground": "#d4d4d480", + //"editorUnicodeHighlight.background": "#bd9b0326", + //"editorUnicodeHighlight.border": "#bd9b03", + //"editorUnnecessaryCode.opacity": "#000000aa", + //"editorWidget.border": "#454545", + //"errorForeground": "#f48771", + //"extensionBadge.remoteBackground": "#4bf3c8", + //"extensionBadge.remoteForeground": "#000000", + //"extensionButton.background": "#4bf3c8", + //"extensionButton.foreground": "#17191e", + //"extensionButton.hoverBackground": "#31c19c", + //"extensionButton.prominentBackground": "#4bf3c8", + //"extensionButton.prominentForeground": "#17191e", + //"extensionButton.prominentHoverBackground": "#31c19c", + //"extensionButton.separator": "#17191e66", + //"extensionIcon.preReleaseForeground": "#1d9271", + //"extensionIcon.sponsorForeground": "#d758b3", + //"extensionIcon.starForeground": "#ff8e00", + //"extensionIcon.verifiedForeground": "#54b9ff", + //"gitDecoration.renamedResourceForeground": "#73c991", + //"inlineChat.background": "#343841", + //"inlineChat.border": "#454545", + //"inlineChat.regionHighlight": "#5495d740", + //"inlineChat.shadow": "#ffffff00", + //"inlineChatDiff.inserted": "#4bf3c812", + //"inlineChatDiff.removed": "#dc365712", + //"inlineChatInput.background": "#23262d", + //"inlineChatInput.border": "#454545", + //"inlineChatInput.focusBorder": "#00daef", + //"inlineChatInput.placeholderForeground": "#858b98", + //"inputOption.hoverBackground": "#5a5d5e80", + //"inputValidation.errorBackground": "#5a1d1d", + //"inputValidation.errorBorder": "#be1100", + //"inputValidation.infoBackground": "#063b49", + //"inputValidation.infoBorder": "#007acc", + //"inputValidation.warningBackground": "#352a05", + //"inputValidation.warningBorder": "#b89500", + //"interactive.activeCodeBorder": "#007acc", + //"interactive.inactiveCodeBorder": "#17191e", + //"keybindingLabel.background": "#8080802b", + //"keybindingLabel.border": "#33333399", + //"keybindingLabel.bottomBorder": "#44444499", + //"keybindingLabel.foreground": "#cccccc", + //"keybindingTable.headerBackground": "#cccccc0a", + //"keybindingTable.rowsBackground": "#cccccc0a", + //"list.deemphasizedForeground": "#8c8c8c", + //"list.errorForeground": "#f88070", + //"list.filterMatchBackground": "#ea5c0055", + //"list.filterMatchBorder": "#ffffff00", + //"list.focusHighlightForeground": "#ffffff", + //"list.focusOutline": "#00daef", + //"list.invalidItemForeground": "#b89500", + //"list.warningForeground": "#cca700", + //"listFilterWidget.shadow": "#ffffff00", + //"markdown.extension.editor.codeSpan.background": "#00000000", + //"markdown.extension.editor.codeSpan.border": "#ad5dca44", + //"markdown.extension.editor.formattingMark.foreground": "#cc75f450", + //"markdown.extension.editor.trailingSpace.background": "#cccccc33", + //"mergeEditor.change.background": "#9bb95533", + //"mergeEditor.change.word.background": "#9ccc2c33", + //"mergeEditor.changeBase.background": "#4b1818", + //"mergeEditor.changeBase.word.background": "#6f1313", + //"mergeEditor.conflict.handled.minimapOverViewRuler": "#adaca8ee", + //"mergeEditor.conflict.handledFocused.border": "#c1c1c1cc", + //"mergeEditor.conflict.handledUnfocused.border": "#86868649", + //"mergeEditor.conflict.input1.background": "#36736666", + //"mergeEditor.conflict.input2.background": "#395f8f66", + //"mergeEditor.conflict.unhandled.minimapOverViewRuler": "#fcba03", + //"mergeEditor.conflict.unhandledFocused.border": "#ffa600", + //"mergeEditor.conflict.unhandledUnfocused.border": "#ffa6007a", + //"mergeEditor.conflictingLines.background": "#ffea0047", + //"minimap.foregroundOpacity": "#000000", + //"minimap.infoHighlight": "#54b9ff", + //"minimap.selectionOccurrenceHighlight": "#676767", + //"minimapSlider.activeBackground": "#54b9ff33", + //"minimapSlider.background": "#54586433", + //"minimapSlider.hoverBackground": "#5458645a", + //"multiDiffEditor.headerBackground": "#808080", + //"notebook.cellBorderColor": "#17191e", + //"notebook.cellEditorBackground": "#23262d", + //"notebook.cellInsertionIndicator": "#00daef", + //"notebook.cellStatusBarItemHoverBackground": "#ffffff26", + //"notebook.cellToolbarSeparator": "#80808059", + //"notebook.editorBackground": "#17191e", + //"notebook.focusedCellBorder": "#00daef", + //"notebook.focusedEditorBorder": "#00daef", + //"notebook.inactiveFocusedCellBorder": "#17191e", + //"notebook.selectedCellBackground": "#17191e", + //"notebook.selectedCellBorder": "#17191e", + //"notebook.symbolHighlightBackground": "#ffffff0b", + //"notebookEditorOverviewRuler.runningCellForeground": "#89d185", + //"notebookScrollbarSlider.activeBackground": "#54b9ff66", + //"notebookScrollbarSlider.background": "#54586466", + //"notebookScrollbarSlider.hoverBackground": "#545864b3", + //"notebookStatusErrorIcon.foreground": "#f48771", + //"notebookStatusRunningIcon.foreground": "#cccccc", + //"notebookStatusSuccessIcon.foreground": "#89d185", + //"notificationLink.foreground": "#54b9ff", + //"panel.dropBorder": "#eef0f9", + //"panelInput.border": "#bfc1c9", + //"panelSection.dropBackground": "#53595d80", + //"panelSectionHeader.background": "#80808033", + //"peekViewEditorStickyScroll.background": "#001f33", + //"ports.iconRunningProcessForeground": "#297763", + //"problemsErrorIcon.foreground": "#f4587e", + //"problemsInfoIcon.foreground": "#54b9ff", + //"problemsWarningIcon.foreground": "#fbc23b", + //"profileBadge.background": "#4d4d4d", + //"profileBadge.foreground": "#ffffff", + //"quickInput.background": "#343841", + //"quickInput.foreground": "#ffffff", + //"quickInputList.focusBackground": "#2d4860", + //"quickInputList.focusForeground": "#ffffff", + //"quickInputTitle.background": "#ffffff1b", + //"remoteHub.decorations.addedForegroundColor": "#81b88b", + //"remoteHub.decorations.conflictForegroundColor": "#e4676b", + //"remoteHub.decorations.deletedForegroundColor": "#c74e39", + //"remoteHub.decorations.ignoredResourceForeground": "#8c8c8c", + //"remoteHub.decorations.incomingAddedForegroundColor": "#81b88b", + //"remoteHub.decorations.incomingDeletedForegroundColor": "#c74e39", + //"remoteHub.decorations.incomingModifiedForegroundColor": "#e2c08d", + //"remoteHub.decorations.incomingRenamedForegroundColor": "#73c991", + //"remoteHub.decorations.modifiedForegroundColor": "#e2c08d", + //"remoteHub.decorations.possibleConflictForegroundColor": "#cca700", + //"remoteHub.decorations.submoduleForegroundColor": "#8db9e2", + //"remoteHub.decorations.workspaceRepositoriesView.hasUncommittedChangesForegroundColor": "#e2c08d", + //"sash.hoverBorder": "#00daef", + //"scm.historyItemAdditionsForeground": "#4bf3c8", + //"scm.historyItemDeletionsForeground": "#f4587e", + //"scm.historyItemSelectedStatisticsBorder": "#ffffff33", + //"scm.historyItemStatisticsBorder": "#cccccc33", + //"search.resultsInfoForeground": "#cccccca6", + //"searchEditor.findMatchBackground": "#ea5c0038", + //"searchEditor.findMatchBorder": "#ffffff00", + //"searchEditor.textInputBorder": "#bfc1c9", + //"settings.checkboxBackground": "#23262d", + //"settings.checkboxBorder": "#00000000", + //"settings.checkboxForeground": "#eef0f9", + //"settings.dropdownBackground": "#23262d", + //"settings.dropdownBorder": "#00000000", + //"settings.dropdownForeground": "#eef0f9", + //"settings.dropdownListBorder": "#454545", + //"settings.focusedRowBorder": "#00daef", + //"settings.headerBorder": "#17191e", + //"settings.modifiedItemIndicator": "#0c7d9d", + //"settings.numberInputBackground": "#23262d", + //"settings.numberInputBorder": "#bfc1c9", + //"settings.numberInputForeground": "#eef0f9", + //"settings.rowHoverBackground": "#3438414d", + //"settings.sashBorder": "#17191e", + //"settings.settingsHeaderHoverForeground": "#ccccccb3", + //"settings.textInputBackground": "#23262d", + //"settings.textInputBorder": "#bfc1c9", + //"settings.textInputForeground": "#eef0f9", + //"sideBySideEditor.horizontalBorder": "#343841", + //"sideBySideEditor.verticalBorder": "#343841", + //"simpleFindWidget.sashBorder": "#454545", + //"statusBar.focusBorder": "#eef0f9", + //"statusBarItem.compactHoverBackground": "#ffffff33", + //"statusBarItem.errorBackground": "#c72e0f", + //"statusBarItem.errorForeground": "#ffffff", + //"statusBarItem.errorHoverBackground": "#ffffff1f", + //"statusBarItem.errorHoverForeground": "#eef0f9", + //"statusBarItem.focusBorder": "#eef0f9", + //"statusBarItem.hoverForeground": "#eef0f9", + //"statusBarItem.offlineBackground": "#6c1717", + //"statusBarItem.offlineForeground": "#eef0f9", + //"statusBarItem.offlineHoverBackground": "#ffffff1f", + //"statusBarItem.offlineHoverForeground": "#eef0f9", + //"statusBarItem.prominentBackground": "#00000080", + //"statusBarItem.prominentForeground": "#eef0f9", + //"statusBarItem.prominentHoverBackground": "#0000004d", + //"statusBarItem.prominentHoverForeground": "#eef0f9", + //"statusBarItem.remoteHoverBackground": "#ffffff1f", + //"statusBarItem.remoteHoverForeground": "#eef0f9", + //"statusBarItem.warningBackground": "#b68104", + //"statusBarItem.warningForeground": "#ffffff", + //"statusBarItem.warningHoverBackground": "#ffffff1f", + //"statusBarItem.warningHoverForeground": "#eef0f9", + //"symbolIcon.arrayForeground": "#cccccc", + //"symbolIcon.booleanForeground": "#cccccc", + //"symbolIcon.classForeground": "#ee9d28", + //"symbolIcon.colorForeground": "#cccccc", + //"symbolIcon.constantForeground": "#cccccc", + //"symbolIcon.constructorForeground": "#b180d7", + //"symbolIcon.enumeratorForeground": "#ee9d28", + //"symbolIcon.enumeratorMemberForeground": "#75beff", + //"symbolIcon.eventForeground": "#ee9d28", + //"symbolIcon.fieldForeground": "#75beff", + //"symbolIcon.fileForeground": "#cccccc", + //"symbolIcon.folderForeground": "#cccccc", + //"symbolIcon.functionForeground": "#b180d7", + //"symbolIcon.interfaceForeground": "#75beff", + //"symbolIcon.keyForeground": "#cccccc", + //"symbolIcon.keywordForeground": "#cccccc", + //"symbolIcon.methodForeground": "#b180d7", + //"symbolIcon.moduleForeground": "#cccccc", + //"symbolIcon.namespaceForeground": "#cccccc", + //"symbolIcon.nullForeground": "#cccccc", + //"symbolIcon.numberForeground": "#cccccc", + //"symbolIcon.objectForeground": "#cccccc", + //"symbolIcon.operatorForeground": "#cccccc", + //"symbolIcon.packageForeground": "#cccccc", + //"symbolIcon.propertyForeground": "#cccccc", + //"symbolIcon.referenceForeground": "#cccccc", + //"symbolIcon.snippetForeground": "#cccccc", + //"symbolIcon.stringForeground": "#cccccc", + //"symbolIcon.structForeground": "#cccccc", + //"symbolIcon.textForeground": "#cccccc", + //"symbolIcon.typeParameterForeground": "#cccccc", + //"symbolIcon.unitForeground": "#cccccc", + //"symbolIcon.variableForeground": "#75beff", + //"tab.activeModifiedBorder": "#3399cc", + //"tab.inactiveModifiedBorder": "#3399cc80", + //"tab.lastPinnedBorder": "#545864", + //"tab.unfocusedActiveBackground": "#17191e", + //"tab.unfocusedActiveBorder": "#ffffff00", + //"tab.unfocusedActiveBorderTop": "#eef0f980", + //"tab.unfocusedActiveForeground": "#eef0f980", + //"tab.unfocusedActiveModifiedBorder": "#3399cc80", + //"tab.unfocusedHoverBackground": "#34384180", + //"tab.unfocusedHoverForeground": "#eef0f980", + //"tab.unfocusedInactiveBackground": "#23262d", + //"tab.unfocusedInactiveForeground": "#858b9880", + //"tab.unfocusedInactiveModifiedBorder": "#3399cc40", + //"terminal.dropBackground": "#53595d80", + //"terminal.findMatchBackground": "#515c6a", + //"terminal.findMatchHighlightBackground": "#ea5c0055", + //"terminal.hoverHighlightBackground": "#5495d720", + //"terminal.inactiveSelectionBackground": "#ffffff20", + //"terminal.tab.activeBorder": "#ffffff00", + //"terminalCommandDecoration.defaultBackground": "#ffffff40", + //"terminalCommandDecoration.errorBackground": "#f14c4c", + //"terminalCommandDecoration.successBackground": "#1b81a8", + //"terminalOverviewRuler.cursorForeground": "#a0a0a0cc", + //"terminalOverviewRuler.findMatchForeground": "#d186167e", + //"terminalStickyScrollHover.background": "#2a2d2e", + //"testing.iconErrored": "#f14c4c", + //"testing.iconFailed": "#f14c4c", + //"testing.iconPassed": "#73c991", + //"testing.iconQueued": "#cca700", + //"testing.iconSkipped": "#848484", + //"testing.iconUnset": "#848484", + //"testing.message.error.decorationForeground": "#f4587e", + //"testing.message.error.lineBackground": "#ff000033", + //"testing.message.info.decorationForeground": "#eef0f980", + //"testing.peekBorder": "#f4587e", + //"testing.peekHeaderBackground": "#f4587e1a", + //"testing.runAction": "#73c991", + //"textBlockQuote.background": "#222222", + //"textBlockQuote.border": "#007acc80", + //"textCodeBlock.background": "#0a0a0a66", + //"textLink.activeForeground": "#3794ff", + //"textPreformat.background": "#ffffff1a", + //"textPreformat.foreground": "#d7ba7d", + //"textSeparator.foreground": "#ffffff2e", + //"toolbar.activeBackground": "#63666750", + //"toolbar.hoverBackground": "#5a5d5e50", + //"tree.inactiveIndentGuidesStroke": "#54586466", + //"tree.tableColumnsBorder": "#cccccc20", + //"tree.tableOddRowsBackground": "#cccccc0a", + //"walkthrough.stepTitle.foreground": "#ffffff", + //"welcomePage.progress.background": "#23262d", + //"welcomePage.progress.foreground": "#54b9ff", + //"welcomePage.tileBackground": "#343841", + //"welcomePage.tileBorder": "#ffffff1a", + //"welcomePage.tileHoverBackground": "#3e434e", + //"activityBar.activeFocusBorder": null, + //"button.border": null, + //"contrastActiveBorder": null, + //"contrastBorder": null, + //"diffEditor.insertedTextBorder": null, + //"diffEditor.removedTextBorder": null, + //"diffEditorGutter.insertedLineBackground": null, + //"diffEditorGutter.removedLineBackground": null, + //"diffEditorOverview.insertedForeground": null, + //"diffEditorOverview.removedForeground": null, + //"dropdown.listBackground": null, + //"editor.selectionForeground": null, + //"editor.snippetFinalTabstopHighlightBackground": null, + //"editor.snippetTabstopHighlightBorder": null, + //"editor.symbolHighlightBorder": null, + //"editor.wordHighlightBorder": null, + //"editor.wordHighlightStrongBorder": null, + //"editor.wordHighlightTextBorder": null, + //"editorGhostText.background": null, + //"editorGhostText.border": null, + //"editorGroup.dropIntoPromptBorder": null, + //"editorGroup.focusedEmptyBorder": null, + //"editorHint.border": null, + //"editorLineNumber.dimmedForeground": null, + //"editorSuggestWidget.selectedIconForeground": null, + //"editorUnnecessaryCode.border": null, + //"inputValidation.errorForeground": null, + //"inputValidation.infoForeground": null, + //"inputValidation.warningForeground": null, + //"list.activeSelectionIconForeground": null, + //"list.focusAndSelectionOutline": null, + //"list.inactiveFocusBackground": null, + //"list.inactiveFocusOutline": null, + //"list.inactiveSelectionIconForeground": null, + //"menubar.selectionBorder": null, + //"merge.border": null, + //"notebook.cellHoverBackground": null, + //"notebook.focusedCellBackground": null, + //"notebook.inactiveSelectedCellBorder": null, + //"notebook.outputContainerBackgroundColor": null, + //"notebook.outputContainerBorderColor": null, + //"panelSectionHeader.border": null, + //"panelSectionHeader.foreground": null, + //"quickInput.list.focusBackground": null, + //"quickInputList.focusIconForeground": null, + //"statusBar.border": null, + //"statusBar.debuggingBorder": null, + //"statusBar.noFolderBorder": null, + //"tab.hoverBorder": null, + //"tab.unfocusedHoverBorder": null, + //"terminal.background": null, + //"terminal.findMatchBorder": null, + //"terminal.findMatchHighlightBorder": null, + //"terminal.selectionForeground": null, + //"terminalStickyScroll.background": null, + //"testing.message.info.lineBackground": null, + //"toolbar.hoverOutline": null, + //"welcomePage.background": null, + //"widget.border": null, + //"window.activeBorder": null, + //"window.inactiveBorder": null + }, + "tokenColors": [ + { + "scope": "punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "variable.other.generic-type.haskell", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "storage.type.haskell", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.variable.magic.python", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "variable.parameter.function.language.special.self.python", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "storage.modifier.lifetime.rust", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.function.std.rust", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "entity.name.lifetime.rust", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "variable.language.rust", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.constant.edge", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "constant.other.character-class.regexp", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "keyword.operator.quantifier.regexp", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.string.begin,punctuation.definition.string.end", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "variable.parameter.function", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "comment markup.link", + "settings": { + "foreground": "#545864" + } + }, + { + "scope": "markup.changed.diff", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "markup.inserted.diff", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "markup.deleted.diff", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "meta.function.c,meta.function.cpp", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.separator.key-value", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.expression.import", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "support.constant.math", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "support.constant.property.math", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "variable.other.constant", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "storage.type.annotation.java", + "storage.type.object.array.java" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "source.java", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "meta.method.java", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "storage.modifier.import.java,storage.type.java,storage.type.generic.java", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "keyword.operator.instanceof.java", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "meta.definition.variable.name.java", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "keyword.operator.logical", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.bitwise", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.channel", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.property-value.scss,support.constant.property-value.css", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "keyword.operator.css,keyword.operator.scss,keyword.operator.less", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.separator.list.comma.css", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.color.w3c-standard-color-name.css", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.type.vendored.property-name.css", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.module.node,support.type.object.module,support.module.node", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "entity.name.type.module", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.constant.json", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.operator.expression.instanceof", + "keyword.operator.new", + "keyword.operator.ternary", + "keyword.operator.optional", + "keyword.operator.expression.keyof" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.type.object.console", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.variable.property.process", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.name.function,support.function.console", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "keyword.operator.misc.rust", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.sigil.rust", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.delete", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.type.object.dom", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.variable.dom,support.variable.property.dom", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "punctuation.separator.delimiter", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.separator.c,punctuation.separator.cpp", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.type.posix-reserved.c,support.type.posix-reserved.cpp", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.sizeof.c,keyword.operator.sizeof.cpp", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "variable.parameter.function.language.python", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.type.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.logical.python", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "variable.parameter.function.python", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "meta.function-call.generic.python", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "constant.character.format.placeholder.other.python", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "keyword.operator", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.assignment.compound", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "entity.name.namespace", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "variable", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "variable.c", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "variable.language", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "token.variable.parameter.java", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "import.storage.java", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "token.package.keyword", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "token.package", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "entity.name.function", + "meta.require", + "support.function.any-method", + "variable.function" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "entity.name.type.namespace", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "support.class, entity.name.type.class", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "entity.name.class.identifier.namespace.type", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.class", + "variable.other.class.js", + "variable.other.class.ts" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "variable.other.class.php", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "entity.name.type", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "keyword.control", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "control.elements, keyword.operator.less", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "keyword.other.special-method", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "storage", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "token.storage", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "token.storage.type.java", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "support.function", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.type.property-name", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.property-value", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.font-name", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "meta.tag", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "string", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.other.inherited-class", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "constant.other.symbol", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "constant.numeric", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "constant", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.constant", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.name.tag", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "entity.other.attribute-name.html", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "source.astro.meta.attribute.client:idle.html", + "settings": { + "foreground": "#FFD493", + "fontStyle": "italic" + } + }, + { + "scope": "string.quoted.double.html,string.quoted.single.html,string.template.html,punctuation.definition.string.begin.html,punctuation.definition.string.end.html", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "entity.other.attribute-name.id", + "settings": { + "foreground": "#00DAEF", + "fontStyle": "normal" + } + }, + { + "scope": "entity.other.attribute-name.class.css", + "settings": { + "foreground": "#4BF3C8", + "fontStyle": "normal" + } + }, + { + "scope": "meta.selector", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "markup.heading", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.heading punctuation.definition.heading, entity.name.section", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "keyword.other.unit", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.bold,todo.bold", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.bold", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "markup.italic, punctuation.definition.italic,todo.emphasis", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "emphasis md", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "entity.name.section.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.definition.heading.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.definition.list.begin.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.heading.setext", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.definition.bold.markdown", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "markup.inline.raw.markdown", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "markup.inline.raw.string.markdown", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.list.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "punctuation.definition.string.begin.markdown", + "punctuation.definition.string.end.markdown", + "punctuation.definition.metadata.markdown" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "beginning.punctuation.definition.list.markdown" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.definition.metadata.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "string.other.link.title.markdown,string.other.link.description.markdown", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "string.regexp", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "constant.character.escape", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.section.embedded, variable.interpolation", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.section.embedded.begin,punctuation.section.embedded.end", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "invalid.illegal", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "invalid.illegal.bad-ampersand.html", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "invalid.broken", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "invalid.deprecated", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "invalid.unimplemented", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > string.quoted.json", + "settings": { + "foreground": "#CC75F4" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.type.property-name.json", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.type.property-name.json punctuation", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "keyword.operator.error-control.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.type.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "punctuation.section.array.begin.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.section.array.end.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "invalid.illegal.non-null-typehinted.php", + "settings": { + "foreground": "#F44747" + } + }, + { + "scope": "storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.core.rust", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.name.goto-label.php,support.other.php", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.regexp.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.comparison.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.heredoc.php,keyword.operator.nowdoc.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "meta.function.decorator.python", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "support.token.decorator.python,meta.function.decorator.identifier.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "function.parameter", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "function.brace", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "function.parameter.ruby, function.parameter.cs", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "constant.language.symbol.ruby", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "rgb-value", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "inline-color-decoration rgb-value", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "less rgb-value", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "selector.sass", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "block.scope.end,block.scope.begin", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "storage.type.cs", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "entity.name.variable.local.cs", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "token.info-token", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "token.warn-token", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "token.error-token", + "settings": { + "foreground": "#F44747" + } + }, + { + "scope": "token.debug-token", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "punctuation.definition.template-expression.begin", + "punctuation.definition.template-expression.end", + "punctuation.section.embedded" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "meta.template.expression" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "keyword.operator.module" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "support.type.type.flowtype" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "support.type.primitive" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "meta.property.object" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "variable.parameter.function.js" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "keyword.other.template.begin" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.other.template.end" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.other.substitution.begin" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.other.substitution.end" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.operator.assignment" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "keyword.operator.assignment.go" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "keyword.operator.arithmetic.go", + "keyword.operator.address.go" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "entity.name.package.go" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "support.type.prelude.elm" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "support.constant.elm" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "punctuation.quasi.element" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "constant.character.entity" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "entity.other.attribute-name.pseudo-element", + "entity.other.attribute-name.pseudo-class" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "entity.global.clojure" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "meta.symbol.clojure" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "constant.keyword.clojure" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "meta.arguments.coffee", + "variable.parameter.function.coffee" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "source.ini" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "meta.scope.prerequisites.makefile" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "source.makefile" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "storage.modifier.import.groovy" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "meta.method.groovy" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "meta.definition.variable.name.groovy" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "meta.definition.class.inherited.classes.groovy" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "support.variable.semantic.hlsl" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "support.type.texture.hlsl", + "support.type.sampler.hlsl", + "support.type.object.hlsl", + "support.type.object.rw.hlsl", + "support.type.fx.hlsl", + "support.type.object.hlsl" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "text.variable", + "text.bracketed" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "support.type.swift", + "support.type.vb.asp" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.function.xi" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.class.xi" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "constant.character.character-class.regexp.xi" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "constant.regexp.xi" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "keyword.control.xi" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "invalid.xi" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "beginning.punctuation.definition.quote.markdown.xi" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "beginning.punctuation.definition.list.markdown.xi" + ], + "settings": { + "foreground": "#EEF0F98F" + } + }, + { + "scope": [ + "constant.character.xi" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "accent.xi" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "wikiword.xi" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "constant.other.color.rgb-value.xi" + ], + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": [ + "punctuation.definition.tag.xi" + ], + "settings": { + "foreground": "#545864" + } + }, + { + "scope": [ + "entity.name.label.cs", + "entity.name.scope-resolution.function.call", + "entity.name.scope-resolution.function.definition" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.label.cs", + "markup.heading.setext.1.markdown", + "markup.heading.setext.2.markdown" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + " meta.brace.square" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "comment, punctuation.definition.comment", + "settings": { + "foreground": "#EEF0F98F", + "fontStyle": "italic" + } + }, + { + "scope": "markup.quote.markdown", + "settings": { + "foreground": "#EEF0F98F" + } + }, + { + "scope": "punctuation.definition.block.sequence.item.yaml", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "constant.language.symbol.elixir" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "comment.line.double-slash,comment.block.documentation", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "keyword.control.import.python,keyword.control.flow.python", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic" + } + } + ] +} \ No newline at end of file diff --git a/www/package.json b/www/package.json new file mode 100644 index 00000000..e6863c0c --- /dev/null +++ b/www/package.json @@ -0,0 +1,20 @@ +{ + "name": "www", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/check": "^0.4.1", + "@astrojs/starlight": "^0.15.4", + "astro": "^4.2.0", + "sass": "^1.69.5", + "sharp": "^0.32.6", + "typescript": "^5.3.3" + } +} diff --git a/www/public/favicon.ico b/www/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..fba93592107b6b0024ed3753a13ae63048d29891 GIT binary patch literal 270398 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ℑ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 literal 0 HcmV?d00001 diff --git a/www/public/favicon.svg b/www/public/favicon.svg new file mode 100644 index 00000000..51eef27e --- /dev/null +++ b/www/public/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/www/src/assets/favicon.svg b/www/src/assets/favicon.svg new file mode 100644 index 00000000..51eef27e --- /dev/null +++ b/www/src/assets/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/www/src/assets/houston-vscode.jsonc b/www/src/assets/houston-vscode.jsonc new file mode 100644 index 00000000..37e5ea46 --- /dev/null +++ b/www/src/assets/houston-vscode.jsonc @@ -0,0 +1,2369 @@ +{ + "$schema": "vscode://schemas/color-theme", + "type": "dark", + "colors": { + "activityBar.activeBackground": "#343841", + "activityBar.background": "#17191e", + "activityBar.border": "#343841", + "activityBar.foreground": "#eef0f9", + "activityBar.inactiveForeground": "#858b98", + "activityBarBadge.background": "#4bf3c8", + "activityBarBadge.foreground": "#000000", + "badge.background": "#bfc1c9", + "badge.foreground": "#17191e", + "breadcrumb.activeSelectionForeground": "#eef0f9", + "breadcrumb.background": "#17191e", + "breadcrumb.focusForeground": "#eef0f9", + "breadcrumb.foreground": "#858b98", + "button.background": "#4bf3c8", + "button.foreground": "#17191e", + "button.hoverBackground": "#31c19c", + "button.secondaryBackground": "#545864", + "button.secondaryForeground": "#eef0f9", + "button.secondaryHoverBackground": "#858b98", + "checkbox.background": "#23262d", + "checkbox.border": "#00000000", + "checkbox.foreground": "#eef0f9", + "debugExceptionWidget.background": "#23262d", + "debugExceptionWidget.border": "#8996d5", + "debugToolBar.background": "#000000", + "debugToolBar.border": "#ffffff00", + "diffEditor.border": "#ffffff00", + "diffEditor.insertedTextBackground": "#4bf3c824", + "diffEditor.removedTextBackground": "#dc365724", + "dropdown.background": "#23262d", + "dropdown.border": "#00000000", + "dropdown.foreground": "#eef0f9", + "editor.background": "#17191e", + "editor.findMatchBackground": "#515c6a", + "editor.findMatchBorder": "#74879f", + "editor.findMatchHighlightBackground": "#ea5c0055", + "editor.findMatchHighlightBorder": "#ffffff00", + "editor.findRangeHighlightBackground": "#23262d", + "editor.findRangeHighlightBorder": "#b2434300", + "editor.foldBackground": "#ad5dca26", + "editor.foreground": "#eef0f9", + "editor.hoverHighlightBackground": "#5495d740", + "editor.inactiveSelectionBackground": "#2a2d34", + "editor.lineHighlightBackground": "#23262d", + "editor.lineHighlightBorder": "#ffffff00", + "editor.rangeHighlightBackground": "#ffffff0b", + "editor.rangeHighlightBorder": "#ffffff00", + "editor.selectionBackground": "#ad5dca44", + "editor.selectionHighlightBackground": "#add6ff34", + "editor.selectionHighlightBorder": "#495f77", + "editor.wordHighlightBackground": "#494949b8", + "editor.wordHighlightStrongBackground": "#004972b8", + "editorBracketMatch.background": "#545864", + "editorBracketMatch.border": "#ffffff00", + "editorCodeLens.foreground": "#bfc1c9", + "editorCursor.background": "#000000", + "editorCursor.foreground": "#aeafad", + "editorError.background": "#ffffff00", + "editorError.border": "#ffffff00", + "editorError.foreground": "#f4587e", + "editorGroup.border": "#343841", + "editorGroup.emptyBackground": "#17191e", + "editorGroupHeader.border": "#ffffff00", + "editorGroupHeader.tabsBackground": "#23262d", + "editorGroupHeader.tabsBorder": "#ffffff00", + "editorGutter.addedBackground": "#4bf3c8", + "editorGutter.background": "#17191e", + "editorGutter.commentRangeForeground": "#545864", + "editorGutter.deletedBackground": "#f06788", + "editorGutter.foldingControlForeground": "#545864", + "editorGutter.modifiedBackground": "#54b9ff", + "editorHoverWidget.background": "#252526", + "editorHoverWidget.border": "#454545", + "editorHoverWidget.foreground": "#cccccc", + "editorIndentGuide.activeBackground": "#858b98", + "editorIndentGuide.background": "#343841", + "editorInfo.background": "#4490bf00", + "editorInfo.border": "#4490bf00", + "editorInfo.foreground": "#54b9ff", + "editorLineNumber.activeForeground": "#858b98", + "editorLineNumber.foreground": "#545864", + "editorLink.activeForeground": "#54b9ff", + "editorMarkerNavigation.background": "#23262d", + "editorMarkerNavigationError.background": "#dc3657", + "editorMarkerNavigationInfo.background": "#54b9ff", + "editorMarkerNavigationWarning.background": "#ffd493", + "editorOverviewRuler.background": "#ffffff00", + "editorOverviewRuler.border": "#ffffff00", + "editorRuler.foreground": "#545864", + "editorSuggestWidget.background": "#252526", + "editorSuggestWidget.border": "#454545", + "editorSuggestWidget.foreground": "#d4d4d4", + "editorSuggestWidget.highlightForeground": "#0097fb", + "editorSuggestWidget.selectedBackground": "#062f4a", + "editorWarning.background": "#a9904000", + "editorWarning.border": "#ffffff00", + "editorWarning.foreground": "#fbc23b", + "editorWhitespace.foreground": "#cc75f450", + "editorWidget.background": "#343841", + "editorWidget.foreground": "#ffffff", + "editorWidget.resizeBorder": "#cc75f4", + "focusBorder": "#00daef", + "foreground": "#cccccc", + "gitDecoration.addedResourceForeground": "#4bf3c8", + "gitDecoration.conflictingResourceForeground": "#00daef", + "gitDecoration.deletedResourceForeground": "#f4587e", + "gitDecoration.ignoredResourceForeground": "#858b98", + "gitDecoration.modifiedResourceForeground": "#ffd493", + "gitDecoration.stageDeletedResourceForeground": "#c74e39", + "gitDecoration.stageModifiedResourceForeground": "#ffd493", + "gitDecoration.submoduleResourceForeground": "#54b9ff", + "gitDecoration.untrackedResourceForeground": "#4bf3c8", + "icon.foreground": "#cccccc", + "input.background": "#23262d", + "input.border": "#bfc1c9", + "input.foreground": "#eef0f9", + "input.placeholderForeground": "#858b98", + "inputOption.activeBackground": "#54b9ff", + "inputOption.activeBorder": "#007acc00", + "inputOption.activeForeground": "#17191e", + "list.activeSelectionBackground": "#2d4860", + "list.activeSelectionForeground": "#ffffff", + "list.dropBackground": "#17191e", + "list.focusBackground": "#54b9ff", + "list.focusForeground": "#ffffff", + "list.highlightForeground": "#ffffff", + "list.hoverBackground": "#343841", + "list.hoverForeground": "#eef0f9", + "list.inactiveSelectionBackground": "#17191e", + "list.inactiveSelectionForeground": "#eef0f9", + "listFilterWidget.background": "#2d4860", + "listFilterWidget.noMatchesOutline": "#dc3657", + "listFilterWidget.outline": "#54b9ff", + "menu.background": "#252526", + "menu.border": "#00000085", + "menu.foreground": "#cccccc", + "menu.selectionBackground": "#094771", + "menu.selectionBorder": "#00000000", + "menu.selectionForeground": "#4bf3c8", + "menu.separatorBackground": "#bbbbbb", + "menubar.selectionBackground": "#ffffff1a", + "menubar.selectionForeground": "#cccccc", + "merge.commonContentBackground": "#282828", + "merge.commonHeaderBackground": "#383838", + "merge.currentContentBackground": "#27403b", + "merge.currentHeaderBackground": "#367366", + "merge.incomingContentBackground": "#28384b", + "merge.incomingHeaderBackground": "#395f8f", + "minimap.background": "#17191e", + "minimap.errorHighlight": "#dc3657", + "minimap.findMatchHighlight": "#515c6a", + "minimap.selectionHighlight": "#3757b942", + "minimap.warningHighlight": "#fbc23b", + "minimapGutter.addedBackground": "#4bf3c8", + "minimapGutter.deletedBackground": "#f06788", + "minimapGutter.modifiedBackground": "#54b9ff", + "notificationCenter.border": "#ffffff00", + "notificationCenterHeader.background": "#343841", + "notificationCenterHeader.foreground": "#17191e", + "notificationToast.border": "#ffffff00", + "notifications.background": "#343841", + "notifications.border": "#bfc1c9", + "notifications.foreground": "#ffffff", + "notificationsErrorIcon.foreground": "#f4587e", + "notificationsInfoIcon.foreground": "#54b9ff", + "notificationsWarningIcon.foreground": "#ff8551", + "panel.background": "#23262d", + "panel.border": "#17191e", + "panelSection.border": "#17191e", + "panelTitle.activeBorder": "#e7e7e7", + "panelTitle.activeForeground": "#eef0f9", + "panelTitle.inactiveForeground": "#bfc1c9", + "peekView.border": "#007acc", + "peekViewEditor.background": "#001f33", + "peekViewEditor.matchHighlightBackground": "#ff8f0099", + "peekViewEditor.matchHighlightBorder": "#ee931e", + "peekViewEditorGutter.background": "#001f33", + "peekViewResult.background": "#252526", + "peekViewResult.fileForeground": "#ffffff", + "peekViewResult.lineForeground": "#bbbbbb", + "peekViewResult.matchHighlightBackground": "#ff0000", + "peekViewResult.selectionBackground": "#3399ff33", + "peekViewResult.selectionForeground": "#ffffff", + "peekViewTitle.background": "#1e1e1e", + "peekViewTitleDescription.foreground": "#ccccccb3", + "peekViewTitleLabel.foreground": "#ffffff", + "pickerGroup.border": "#ffffff00", + "pickerGroup.foreground": "#eef0f9", + "progressBar.background": "#4bf3c8", + "scrollbar.shadow": "#000000", + "scrollbarSlider.activeBackground": "#54b9ff66", + "scrollbarSlider.background": "#54586466", + "scrollbarSlider.hoverBackground": "#545864b3", + "selection.background": "#00daef56", + "settings.focusedRowBackground": "#ffffff07", + "settings.headerForeground": "#cccccc", + "sideBar.background": "#23262d", + "sideBar.border": "#17191e", + "sideBar.dropBackground": "#17191e", + "sideBar.foreground": "#bfc1c9", + "sideBarSectionHeader.background": "#343841", + "sideBarSectionHeader.border": "#17191e", + "sideBarSectionHeader.foreground": "#eef0f9", + "sideBarTitle.foreground": "#eef0f9", + "statusBar.background": "#17548b", + "statusBar.debuggingBackground": "#cc75f4", + "statusBar.debuggingForeground": "#eef0f9", + "statusBar.foreground": "#eef0f9", + "statusBar.noFolderBackground": "#6c3c7d", + "statusBar.noFolderForeground": "#eef0f9", + "statusBarItem.activeBackground": "#ffffff25", + "statusBarItem.hoverBackground": "#ffffff1f", + "statusBarItem.remoteBackground": "#297763", + "statusBarItem.remoteForeground": "#eef0f9", + "tab.activeBackground": "#17191e", + "tab.activeBorder": "#ffffff00", + "tab.activeBorderTop": "#eef0f9", + "tab.activeForeground": "#eef0f9", + "tab.border": "#17191e", + "tab.hoverBackground": "#343841", + "tab.hoverForeground": "#eef0f9", + "tab.inactiveBackground": "#23262d", + "tab.inactiveForeground": "#858b98", + "terminal.ansiBlack": "#17191e", + "terminal.ansiBlue": "#2b7eca", + "terminal.ansiBrightBlack": "#545864", + "terminal.ansiBrightBlue": "#54b9ff", + "terminal.ansiBrightCyan": "#00daef", + "terminal.ansiBrightGreen": "#4bf3c8", + "terminal.ansiBrightMagenta": "#cc75f4", + "terminal.ansiBrightRed": "#f4587e", + "terminal.ansiBrightWhite": "#fafafa", + "terminal.ansiBrightYellow": "#ffd493", + "terminal.ansiCyan": "#24c0cf", + "terminal.ansiGreen": "#23d18b", + "terminal.ansiMagenta": "#ad5dca", + "terminal.ansiRed": "#dc3657", + "terminal.ansiWhite": "#eef0f9", + "terminal.ansiYellow": "#ffc368", + "terminal.border": "#80808059", + "terminal.foreground": "#cccccc", + "terminal.selectionBackground": "#ffffff40", + "terminalCursor.background": "#0087ff", + "terminalCursor.foreground": "#ffffff", + "textLink.foreground": "#54b9ff", + "titleBar.activeBackground": "#17191e", + "titleBar.activeForeground": "#cccccc", + "titleBar.border": "#00000000", + "titleBar.inactiveBackground": "#3c3c3c99", + "titleBar.inactiveForeground": "#cccccc99", + "tree.indentGuidesStroke": "#545864", + "walkThrough.embeddedEditorBackground": "#00000050", + "widget.shadow": "#ffffff00", + //"actionBar.toggledBackground": "#54b9ff", + //"activityBar.activeBorder": "#eef0f9", + //"activityBar.dropBorder": "#eef0f9", + //"banner.background": "#2d4860", + //"banner.foreground": "#ffffff", + //"banner.iconForeground": "#54b9ff", + //"breadcrumbPicker.background": "#343841", + //"button.separator": "#17191e66", + //"charts.blue": "#54b9ff", + //"charts.foreground": "#cccccc", + //"charts.green": "#89d185", + //"charts.lines": "#cccccc80", + //"charts.orange": "#515c6a", + //"charts.purple": "#b180d7", + //"charts.red": "#f4587e", + //"charts.yellow": "#fbc23b", + //"chat.avatarBackground": "#1f1f1f", + //"chat.avatarForeground": "#cccccc", + //"chat.requestBorder": "#ffffff1a", + //"chat.slashCommandBackground": "#34414b", + //"chat.slashCommandForeground": "#40a6ff", + //"checkbox.selectBackground": "#343841", + //"checkbox.selectBorder": "#cccccc", + //"commandCenter.activeBackground": "#ffffff14", + //"commandCenter.activeBorder": "#cccccc4d", + //"commandCenter.activeForeground": "#cccccc", + //"commandCenter.background": "#ffffff0d", + //"commandCenter.border": "#cccccc33", + //"commandCenter.debuggingBackground": "#cc75f442", + //"commandCenter.foreground": "#cccccc", + //"commandCenter.inactiveBorder": "#cccccc26", + //"commandCenter.inactiveForeground": "#cccccc99", + //"commentsView.resolvedIcon": "#cccccc80", + //"commentsView.unresolvedIcon": "#00daef", + //"consoleninja.logTime": "#6a9955", + //"debugConsole.errorForeground": "#f48771", + //"debugConsole.infoForeground": "#54b9ff", + //"debugConsole.sourceForeground": "#cccccc", + //"debugConsole.warningForeground": "#fbc23b", + //"debugConsoleInputIcon.foreground": "#cccccc", + //"debugIcon.breakpointCurrentStackframeForeground": "#ffcc00", + //"debugIcon.breakpointDisabledForeground": "#848484", + //"debugIcon.breakpointForeground": "#e51400", + //"debugIcon.breakpointStackframeForeground": "#89d185", + //"debugIcon.breakpointUnverifiedForeground": "#848484", + //"debugIcon.continueForeground": "#75beff", + //"debugIcon.disconnectForeground": "#f48771", + //"debugIcon.pauseForeground": "#75beff", + //"debugIcon.restartForeground": "#89d185", + //"debugIcon.startForeground": "#89d185", + //"debugIcon.stepBackForeground": "#75beff", + //"debugIcon.stepIntoForeground": "#75beff", + //"debugIcon.stepOutForeground": "#75beff", + //"debugIcon.stepOverForeground": "#75beff", + //"debugIcon.stopForeground": "#f48771", + //"debugTokenExpression.boolean": "#4e94ce", + //"debugTokenExpression.error": "#f48771", + //"debugTokenExpression.name": "#c586c0", + //"debugTokenExpression.number": "#b5cea8", + //"debugTokenExpression.string": "#ce9178", + //"debugTokenExpression.value": "#cccccc99", + //"debugView.exceptionLabelBackground": "#6c2022", + //"debugView.exceptionLabelForeground": "#cccccc", + //"debugView.stateLabelBackground": "#88888844", + //"debugView.stateLabelForeground": "#cccccc", + //"debugView.valueChangedHighlight": "#569cd6", + //"descriptionForeground": "#ccccccb3", + //"diffEditor.diagonalFill": "#cccccc33", + //"diffEditor.insertedLineBackground": "#9bb95533", + //"diffEditor.move.border": "#8b8b8b9c", + //"diffEditor.moveActive.border": "#ffa500", + //"diffEditor.removedLineBackground": "#ff000033", + //"diffEditor.unchangedCodeBackground": "#74747429", + //"diffEditor.unchangedRegionBackground": "#23262d", + //"diffEditor.unchangedRegionForeground": "#cccccc", + //"diffEditor.unchangedRegionShadow": "#000000", + //"disabledForeground": "#cccccc80", + //"editor.focusedStackFrameHighlightBackground": "#7abd7a4d", + //"editor.inlineValuesBackground": "#ffc80033", + //"editor.inlineValuesForeground": "#ffffff80", + //"editor.linkedEditingBackground": "#ff00004d", + //"editor.snippetFinalTabstopHighlightBorder": "#525252", + //"editor.snippetTabstopHighlightBackground": "#7c7c7c4d", + //"editor.stackFrameHighlightBackground": "#ffff0033", + //"editor.symbolHighlightBackground": "#ea5c0055", + //"editor.wordHighlightTextBackground": "#494949b8", + //"editorActiveLineNumber.foreground": "#c6c6c6", + //"editorBracketHighlight.foreground1": "#ffd700", + //"editorBracketHighlight.foreground2": "#da70d6", + //"editorBracketHighlight.foreground3": "#179fff", + //"editorBracketHighlight.foreground4": "#00000000", + //"editorBracketHighlight.foreground5": "#00000000", + //"editorBracketHighlight.foreground6": "#00000000", + //"editorBracketHighlight.unexpectedBracket.foreground": "#ff1212cc", + //"editorBracketPairGuide.activeBackground1": "#00000000", + //"editorBracketPairGuide.activeBackground2": "#00000000", + //"editorBracketPairGuide.activeBackground3": "#00000000", + //"editorBracketPairGuide.activeBackground4": "#00000000", + //"editorBracketPairGuide.activeBackground5": "#00000000", + //"editorBracketPairGuide.activeBackground6": "#00000000", + //"editorBracketPairGuide.background1": "#00000000", + //"editorBracketPairGuide.background2": "#00000000", + //"editorBracketPairGuide.background3": "#00000000", + //"editorBracketPairGuide.background4": "#00000000", + //"editorBracketPairGuide.background5": "#00000000", + //"editorBracketPairGuide.background6": "#00000000", + //"editorCommentsWidget.rangeActiveBackground": "#00daef1a", + //"editorCommentsWidget.rangeBackground": "#00daef1a", + //"editorCommentsWidget.replyInputBackground": "#1e1e1e", + //"editorCommentsWidget.resolvedBorder": "#cccccc80", + //"editorCommentsWidget.unresolvedBorder": "#00daef", + //"editorGhostText.foreground": "#ffffff56", + //"editorGroup.dropBackground": "#53595d80", + //"editorGroup.dropIntoPromptBackground": "#343841", + //"editorGroup.dropIntoPromptForeground": "#ffffff", + //"editorGroupHeader.noTabsBackground": "#17191e", + //"editorGutter.commentGlyphForeground": "#eef0f9", + //"editorGutter.commentUnresolvedGlyphForeground": "#eef0f9", + //"editorHint.foreground": "#eeeeeeb3", + //"editorHoverWidget.highlightForeground": "#ffffff", + //"editorHoverWidget.statusBarBackground": "#2c2c2d", + //"editorIndentGuide.activeBackground1": "#858b98", + //"editorIndentGuide.activeBackground2": "#00000000", + //"editorIndentGuide.activeBackground3": "#00000000", + //"editorIndentGuide.activeBackground4": "#00000000", + //"editorIndentGuide.activeBackground5": "#00000000", + //"editorIndentGuide.activeBackground6": "#00000000", + //"editorIndentGuide.background1": "#343841", + //"editorIndentGuide.background2": "#00000000", + //"editorIndentGuide.background3": "#00000000", + //"editorIndentGuide.background4": "#00000000", + //"editorIndentGuide.background5": "#00000000", + //"editorIndentGuide.background6": "#00000000", + //"editorInlayHint.background": "#bfc1c91a", + //"editorInlayHint.foreground": "#969696", + //"editorInlayHint.parameterBackground": "#bfc1c91a", + //"editorInlayHint.parameterForeground": "#969696", + //"editorInlayHint.typeBackground": "#bfc1c91a", + //"editorInlayHint.typeForeground": "#969696", + //"editorLightBulb.foreground": "#ffcc00", + //"editorLightBulbAi.foreground": "#7a7a7a", + //"editorLightBulbAutoFix.foreground": "#75beff", + //"editorMarkerNavigationError.headerBackground": "#dc36571a", + //"editorMarkerNavigationInfo.headerBackground": "#54b9ff1a", + //"editorMarkerNavigationWarning.headerBackground": "#ffd4931a", + //"editorOverviewRuler.addedForeground": "#4bf3c899", + //"editorOverviewRuler.bracketMatchForeground": "#a0a0a0", + //"editorOverviewRuler.commentForeground": "#545864", + //"editorOverviewRuler.commentUnresolvedForeground": "#545864", + //"editorOverviewRuler.commonContentForeground": "#383838", + //"editorOverviewRuler.currentContentForeground": "#367366", + //"editorOverviewRuler.deletedForeground": "#f0678899", + //"editorOverviewRuler.errorForeground": "#ff1212b3", + //"editorOverviewRuler.findMatchForeground": "#d186167e", + //"editorOverviewRuler.incomingContentForeground": "#395f8f", + //"editorOverviewRuler.infoForeground": "#54b9ff", + //"editorOverviewRuler.modifiedForeground": "#54b9ff99", + //"editorOverviewRuler.rangeHighlightForeground": "#007acc99", + //"editorOverviewRuler.selectionHighlightForeground": "#a0a0a0cc", + //"editorOverviewRuler.warningForeground": "#fbc23b", + //"editorOverviewRuler.wordHighlightForeground": "#a0a0a0cc", + //"editorOverviewRuler.wordHighlightStrongForeground": "#c0a0c0cc", + //"editorOverviewRuler.wordHighlightTextForeground": "#a0a0a0cc", + //"editorPane.background": "#17191e", + //"editorStickyScroll.background": "#17191e", + //"editorStickyScrollHover.background": "#2a2d2e", + //"editorSuggestWidget.focusHighlightForeground": "#ffffff", + //"editorSuggestWidget.selectedForeground": "#ffffff", + //"editorSuggestWidgetStatus.foreground": "#d4d4d480", + //"editorUnicodeHighlight.background": "#bd9b0326", + //"editorUnicodeHighlight.border": "#bd9b03", + //"editorUnnecessaryCode.opacity": "#000000aa", + //"editorWidget.border": "#454545", + //"errorForeground": "#f48771", + //"extensionBadge.remoteBackground": "#4bf3c8", + //"extensionBadge.remoteForeground": "#000000", + //"extensionButton.background": "#4bf3c8", + //"extensionButton.foreground": "#17191e", + //"extensionButton.hoverBackground": "#31c19c", + //"extensionButton.prominentBackground": "#4bf3c8", + //"extensionButton.prominentForeground": "#17191e", + //"extensionButton.prominentHoverBackground": "#31c19c", + //"extensionButton.separator": "#17191e66", + //"extensionIcon.preReleaseForeground": "#1d9271", + //"extensionIcon.sponsorForeground": "#d758b3", + //"extensionIcon.starForeground": "#ff8e00", + //"extensionIcon.verifiedForeground": "#54b9ff", + //"gitDecoration.renamedResourceForeground": "#73c991", + //"inlineChat.background": "#343841", + //"inlineChat.border": "#454545", + //"inlineChat.regionHighlight": "#5495d740", + //"inlineChat.shadow": "#ffffff00", + //"inlineChatDiff.inserted": "#4bf3c812", + //"inlineChatDiff.removed": "#dc365712", + //"inlineChatInput.background": "#23262d", + //"inlineChatInput.border": "#454545", + //"inlineChatInput.focusBorder": "#00daef", + //"inlineChatInput.placeholderForeground": "#858b98", + //"inputOption.hoverBackground": "#5a5d5e80", + //"inputValidation.errorBackground": "#5a1d1d", + //"inputValidation.errorBorder": "#be1100", + //"inputValidation.infoBackground": "#063b49", + //"inputValidation.infoBorder": "#007acc", + //"inputValidation.warningBackground": "#352a05", + //"inputValidation.warningBorder": "#b89500", + //"interactive.activeCodeBorder": "#007acc", + //"interactive.inactiveCodeBorder": "#17191e", + //"keybindingLabel.background": "#8080802b", + //"keybindingLabel.border": "#33333399", + //"keybindingLabel.bottomBorder": "#44444499", + //"keybindingLabel.foreground": "#cccccc", + //"keybindingTable.headerBackground": "#cccccc0a", + //"keybindingTable.rowsBackground": "#cccccc0a", + //"list.deemphasizedForeground": "#8c8c8c", + //"list.errorForeground": "#f88070", + //"list.filterMatchBackground": "#ea5c0055", + //"list.filterMatchBorder": "#ffffff00", + //"list.focusHighlightForeground": "#ffffff", + //"list.focusOutline": "#00daef", + //"list.invalidItemForeground": "#b89500", + //"list.warningForeground": "#cca700", + //"listFilterWidget.shadow": "#ffffff00", + //"markdown.extension.editor.codeSpan.background": "#00000000", + //"markdown.extension.editor.codeSpan.border": "#ad5dca44", + //"markdown.extension.editor.formattingMark.foreground": "#cc75f450", + //"markdown.extension.editor.trailingSpace.background": "#cccccc33", + //"mergeEditor.change.background": "#9bb95533", + //"mergeEditor.change.word.background": "#9ccc2c33", + //"mergeEditor.changeBase.background": "#4b1818", + //"mergeEditor.changeBase.word.background": "#6f1313", + //"mergeEditor.conflict.handled.minimapOverViewRuler": "#adaca8ee", + //"mergeEditor.conflict.handledFocused.border": "#c1c1c1cc", + //"mergeEditor.conflict.handledUnfocused.border": "#86868649", + //"mergeEditor.conflict.input1.background": "#36736666", + //"mergeEditor.conflict.input2.background": "#395f8f66", + //"mergeEditor.conflict.unhandled.minimapOverViewRuler": "#fcba03", + //"mergeEditor.conflict.unhandledFocused.border": "#ffa600", + //"mergeEditor.conflict.unhandledUnfocused.border": "#ffa6007a", + //"mergeEditor.conflictingLines.background": "#ffea0047", + //"minimap.foregroundOpacity": "#000000", + //"minimap.infoHighlight": "#54b9ff", + //"minimap.selectionOccurrenceHighlight": "#676767", + //"minimapSlider.activeBackground": "#54b9ff33", + //"minimapSlider.background": "#54586433", + //"minimapSlider.hoverBackground": "#5458645a", + //"multiDiffEditor.headerBackground": "#808080", + //"notebook.cellBorderColor": "#17191e", + //"notebook.cellEditorBackground": "#23262d", + //"notebook.cellInsertionIndicator": "#00daef", + //"notebook.cellStatusBarItemHoverBackground": "#ffffff26", + //"notebook.cellToolbarSeparator": "#80808059", + //"notebook.editorBackground": "#17191e", + //"notebook.focusedCellBorder": "#00daef", + //"notebook.focusedEditorBorder": "#00daef", + //"notebook.inactiveFocusedCellBorder": "#17191e", + //"notebook.selectedCellBackground": "#17191e", + //"notebook.selectedCellBorder": "#17191e", + //"notebook.symbolHighlightBackground": "#ffffff0b", + //"notebookEditorOverviewRuler.runningCellForeground": "#89d185", + //"notebookScrollbarSlider.activeBackground": "#54b9ff66", + //"notebookScrollbarSlider.background": "#54586466", + //"notebookScrollbarSlider.hoverBackground": "#545864b3", + //"notebookStatusErrorIcon.foreground": "#f48771", + //"notebookStatusRunningIcon.foreground": "#cccccc", + //"notebookStatusSuccessIcon.foreground": "#89d185", + //"notificationLink.foreground": "#54b9ff", + //"panel.dropBorder": "#eef0f9", + //"panelInput.border": "#bfc1c9", + //"panelSection.dropBackground": "#53595d80", + //"panelSectionHeader.background": "#80808033", + //"peekViewEditorStickyScroll.background": "#001f33", + //"ports.iconRunningProcessForeground": "#297763", + //"problemsErrorIcon.foreground": "#f4587e", + //"problemsInfoIcon.foreground": "#54b9ff", + //"problemsWarningIcon.foreground": "#fbc23b", + //"profileBadge.background": "#4d4d4d", + //"profileBadge.foreground": "#ffffff", + //"quickInput.background": "#343841", + //"quickInput.foreground": "#ffffff", + //"quickInputList.focusBackground": "#2d4860", + //"quickInputList.focusForeground": "#ffffff", + //"quickInputTitle.background": "#ffffff1b", + //"remoteHub.decorations.addedForegroundColor": "#81b88b", + //"remoteHub.decorations.conflictForegroundColor": "#e4676b", + //"remoteHub.decorations.deletedForegroundColor": "#c74e39", + //"remoteHub.decorations.ignoredResourceForeground": "#8c8c8c", + //"remoteHub.decorations.incomingAddedForegroundColor": "#81b88b", + //"remoteHub.decorations.incomingDeletedForegroundColor": "#c74e39", + //"remoteHub.decorations.incomingModifiedForegroundColor": "#e2c08d", + //"remoteHub.decorations.incomingRenamedForegroundColor": "#73c991", + //"remoteHub.decorations.modifiedForegroundColor": "#e2c08d", + //"remoteHub.decorations.possibleConflictForegroundColor": "#cca700", + //"remoteHub.decorations.submoduleForegroundColor": "#8db9e2", + //"remoteHub.decorations.workspaceRepositoriesView.hasUncommittedChangesForegroundColor": "#e2c08d", + //"sash.hoverBorder": "#00daef", + //"scm.historyItemAdditionsForeground": "#4bf3c8", + //"scm.historyItemDeletionsForeground": "#f4587e", + //"scm.historyItemSelectedStatisticsBorder": "#ffffff33", + //"scm.historyItemStatisticsBorder": "#cccccc33", + //"search.resultsInfoForeground": "#cccccca6", + //"searchEditor.findMatchBackground": "#ea5c0038", + //"searchEditor.findMatchBorder": "#ffffff00", + //"searchEditor.textInputBorder": "#bfc1c9", + //"settings.checkboxBackground": "#23262d", + //"settings.checkboxBorder": "#00000000", + //"settings.checkboxForeground": "#eef0f9", + //"settings.dropdownBackground": "#23262d", + //"settings.dropdownBorder": "#00000000", + //"settings.dropdownForeground": "#eef0f9", + //"settings.dropdownListBorder": "#454545", + //"settings.focusedRowBorder": "#00daef", + //"settings.headerBorder": "#17191e", + //"settings.modifiedItemIndicator": "#0c7d9d", + //"settings.numberInputBackground": "#23262d", + //"settings.numberInputBorder": "#bfc1c9", + //"settings.numberInputForeground": "#eef0f9", + //"settings.rowHoverBackground": "#3438414d", + //"settings.sashBorder": "#17191e", + //"settings.settingsHeaderHoverForeground": "#ccccccb3", + //"settings.textInputBackground": "#23262d", + //"settings.textInputBorder": "#bfc1c9", + //"settings.textInputForeground": "#eef0f9", + //"sideBySideEditor.horizontalBorder": "#343841", + //"sideBySideEditor.verticalBorder": "#343841", + //"simpleFindWidget.sashBorder": "#454545", + //"statusBar.focusBorder": "#eef0f9", + //"statusBarItem.compactHoverBackground": "#ffffff33", + //"statusBarItem.errorBackground": "#c72e0f", + //"statusBarItem.errorForeground": "#ffffff", + //"statusBarItem.errorHoverBackground": "#ffffff1f", + //"statusBarItem.errorHoverForeground": "#eef0f9", + //"statusBarItem.focusBorder": "#eef0f9", + //"statusBarItem.hoverForeground": "#eef0f9", + //"statusBarItem.offlineBackground": "#6c1717", + //"statusBarItem.offlineForeground": "#eef0f9", + //"statusBarItem.offlineHoverBackground": "#ffffff1f", + //"statusBarItem.offlineHoverForeground": "#eef0f9", + //"statusBarItem.prominentBackground": "#00000080", + //"statusBarItem.prominentForeground": "#eef0f9", + //"statusBarItem.prominentHoverBackground": "#0000004d", + //"statusBarItem.prominentHoverForeground": "#eef0f9", + //"statusBarItem.remoteHoverBackground": "#ffffff1f", + //"statusBarItem.remoteHoverForeground": "#eef0f9", + //"statusBarItem.warningBackground": "#b68104", + //"statusBarItem.warningForeground": "#ffffff", + //"statusBarItem.warningHoverBackground": "#ffffff1f", + //"statusBarItem.warningHoverForeground": "#eef0f9", + //"symbolIcon.arrayForeground": "#cccccc", + //"symbolIcon.booleanForeground": "#cccccc", + //"symbolIcon.classForeground": "#ee9d28", + //"symbolIcon.colorForeground": "#cccccc", + //"symbolIcon.constantForeground": "#cccccc", + //"symbolIcon.constructorForeground": "#b180d7", + //"symbolIcon.enumeratorForeground": "#ee9d28", + //"symbolIcon.enumeratorMemberForeground": "#75beff", + //"symbolIcon.eventForeground": "#ee9d28", + //"symbolIcon.fieldForeground": "#75beff", + //"symbolIcon.fileForeground": "#cccccc", + //"symbolIcon.folderForeground": "#cccccc", + //"symbolIcon.functionForeground": "#b180d7", + //"symbolIcon.interfaceForeground": "#75beff", + //"symbolIcon.keyForeground": "#cccccc", + //"symbolIcon.keywordForeground": "#cccccc", + //"symbolIcon.methodForeground": "#b180d7", + //"symbolIcon.moduleForeground": "#cccccc", + //"symbolIcon.namespaceForeground": "#cccccc", + //"symbolIcon.nullForeground": "#cccccc", + //"symbolIcon.numberForeground": "#cccccc", + //"symbolIcon.objectForeground": "#cccccc", + //"symbolIcon.operatorForeground": "#cccccc", + //"symbolIcon.packageForeground": "#cccccc", + //"symbolIcon.propertyForeground": "#cccccc", + //"symbolIcon.referenceForeground": "#cccccc", + //"symbolIcon.snippetForeground": "#cccccc", + //"symbolIcon.stringForeground": "#cccccc", + //"symbolIcon.structForeground": "#cccccc", + //"symbolIcon.textForeground": "#cccccc", + //"symbolIcon.typeParameterForeground": "#cccccc", + //"symbolIcon.unitForeground": "#cccccc", + //"symbolIcon.variableForeground": "#75beff", + //"tab.activeModifiedBorder": "#3399cc", + //"tab.inactiveModifiedBorder": "#3399cc80", + //"tab.lastPinnedBorder": "#545864", + //"tab.unfocusedActiveBackground": "#17191e", + //"tab.unfocusedActiveBorder": "#ffffff00", + //"tab.unfocusedActiveBorderTop": "#eef0f980", + //"tab.unfocusedActiveForeground": "#eef0f980", + //"tab.unfocusedActiveModifiedBorder": "#3399cc80", + //"tab.unfocusedHoverBackground": "#34384180", + //"tab.unfocusedHoverForeground": "#eef0f980", + //"tab.unfocusedInactiveBackground": "#23262d", + //"tab.unfocusedInactiveForeground": "#858b9880", + //"tab.unfocusedInactiveModifiedBorder": "#3399cc40", + //"terminal.dropBackground": "#53595d80", + //"terminal.findMatchBackground": "#515c6a", + //"terminal.findMatchHighlightBackground": "#ea5c0055", + //"terminal.hoverHighlightBackground": "#5495d720", + //"terminal.inactiveSelectionBackground": "#ffffff20", + //"terminal.tab.activeBorder": "#ffffff00", + //"terminalCommandDecoration.defaultBackground": "#ffffff40", + //"terminalCommandDecoration.errorBackground": "#f14c4c", + //"terminalCommandDecoration.successBackground": "#1b81a8", + //"terminalOverviewRuler.cursorForeground": "#a0a0a0cc", + //"terminalOverviewRuler.findMatchForeground": "#d186167e", + //"terminalStickyScrollHover.background": "#2a2d2e", + //"testing.iconErrored": "#f14c4c", + //"testing.iconFailed": "#f14c4c", + //"testing.iconPassed": "#73c991", + //"testing.iconQueued": "#cca700", + //"testing.iconSkipped": "#848484", + //"testing.iconUnset": "#848484", + //"testing.message.error.decorationForeground": "#f4587e", + //"testing.message.error.lineBackground": "#ff000033", + //"testing.message.info.decorationForeground": "#eef0f980", + //"testing.peekBorder": "#f4587e", + //"testing.peekHeaderBackground": "#f4587e1a", + //"testing.runAction": "#73c991", + //"textBlockQuote.background": "#222222", + //"textBlockQuote.border": "#007acc80", + //"textCodeBlock.background": "#0a0a0a66", + //"textLink.activeForeground": "#3794ff", + //"textPreformat.background": "#ffffff1a", + //"textPreformat.foreground": "#d7ba7d", + //"textSeparator.foreground": "#ffffff2e", + //"toolbar.activeBackground": "#63666750", + //"toolbar.hoverBackground": "#5a5d5e50", + //"tree.inactiveIndentGuidesStroke": "#54586466", + //"tree.tableColumnsBorder": "#cccccc20", + //"tree.tableOddRowsBackground": "#cccccc0a", + //"walkthrough.stepTitle.foreground": "#ffffff", + //"welcomePage.progress.background": "#23262d", + //"welcomePage.progress.foreground": "#54b9ff", + //"welcomePage.tileBackground": "#343841", + //"welcomePage.tileBorder": "#ffffff1a", + //"welcomePage.tileHoverBackground": "#3e434e", + //"activityBar.activeFocusBorder": null, + //"button.border": null, + //"contrastActiveBorder": null, + //"contrastBorder": null, + //"diffEditor.insertedTextBorder": null, + //"diffEditor.removedTextBorder": null, + //"diffEditorGutter.insertedLineBackground": null, + //"diffEditorGutter.removedLineBackground": null, + //"diffEditorOverview.insertedForeground": null, + //"diffEditorOverview.removedForeground": null, + //"dropdown.listBackground": null, + //"editor.selectionForeground": null, + //"editor.snippetFinalTabstopHighlightBackground": null, + //"editor.snippetTabstopHighlightBorder": null, + //"editor.symbolHighlightBorder": null, + //"editor.wordHighlightBorder": null, + //"editor.wordHighlightStrongBorder": null, + //"editor.wordHighlightTextBorder": null, + //"editorGhostText.background": null, + //"editorGhostText.border": null, + //"editorGroup.dropIntoPromptBorder": null, + //"editorGroup.focusedEmptyBorder": null, + //"editorHint.border": null, + //"editorLineNumber.dimmedForeground": null, + //"editorSuggestWidget.selectedIconForeground": null, + //"editorUnnecessaryCode.border": null, + //"inputValidation.errorForeground": null, + //"inputValidation.infoForeground": null, + //"inputValidation.warningForeground": null, + //"list.activeSelectionIconForeground": null, + //"list.focusAndSelectionOutline": null, + //"list.inactiveFocusBackground": null, + //"list.inactiveFocusOutline": null, + //"list.inactiveSelectionIconForeground": null, + //"menubar.selectionBorder": null, + //"merge.border": null, + //"notebook.cellHoverBackground": null, + //"notebook.focusedCellBackground": null, + //"notebook.inactiveSelectedCellBorder": null, + //"notebook.outputContainerBackgroundColor": null, + //"notebook.outputContainerBorderColor": null, + //"panelSectionHeader.border": null, + //"panelSectionHeader.foreground": null, + //"quickInput.list.focusBackground": null, + //"quickInputList.focusIconForeground": null, + //"statusBar.border": null, + //"statusBar.debuggingBorder": null, + //"statusBar.noFolderBorder": null, + //"tab.hoverBorder": null, + //"tab.unfocusedHoverBorder": null, + //"terminal.background": null, + //"terminal.findMatchBorder": null, + //"terminal.findMatchHighlightBorder": null, + //"terminal.selectionForeground": null, + //"terminalStickyScroll.background": null, + //"testing.message.info.lineBackground": null, + //"toolbar.hoverOutline": null, + //"welcomePage.background": null, + //"widget.border": null, + //"window.activeBorder": null, + //"window.inactiveBorder": null + }, + "tokenColors": [ + { + "scope": "punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "variable.other.generic-type.haskell", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "storage.type.haskell", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.variable.magic.python", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "variable.parameter.function.language.special.self.python", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "storage.modifier.lifetime.rust", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.function.std.rust", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "entity.name.lifetime.rust", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "variable.language.rust", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.constant.edge", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "constant.other.character-class.regexp", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "keyword.operator.quantifier.regexp", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.string.begin,punctuation.definition.string.end", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "variable.parameter.function", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "comment markup.link", + "settings": { + "foreground": "#545864" + } + }, + { + "scope": "markup.changed.diff", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "markup.inserted.diff", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "markup.deleted.diff", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "meta.function.c,meta.function.cpp", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.separator.key-value", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.expression.import", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "support.constant.math", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "support.constant.property.math", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "variable.other.constant", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "storage.type.annotation.java", + "storage.type.object.array.java" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "source.java", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "meta.method.java", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "storage.modifier.import.java,storage.type.java,storage.type.generic.java", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "keyword.operator.instanceof.java", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "meta.definition.variable.name.java", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "keyword.operator.logical", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.bitwise", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.channel", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.property-value.scss,support.constant.property-value.css", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "keyword.operator.css,keyword.operator.scss,keyword.operator.less", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.separator.list.comma.css", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.color.w3c-standard-color-name.css", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.type.vendored.property-name.css", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.module.node,support.type.object.module,support.module.node", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "entity.name.type.module", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.constant.json", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.operator.expression.instanceof", + "keyword.operator.new", + "keyword.operator.ternary", + "keyword.operator.optional", + "keyword.operator.expression.keyof" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.type.object.console", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.variable.property.process", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.name.function,support.function.console", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "keyword.operator.misc.rust", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.sigil.rust", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.delete", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.type.object.dom", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.variable.dom,support.variable.property.dom", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "punctuation.separator.delimiter", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.separator.c,punctuation.separator.cpp", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.type.posix-reserved.c,support.type.posix-reserved.cpp", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.sizeof.c,keyword.operator.sizeof.cpp", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "variable.parameter.function.language.python", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.type.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.logical.python", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "variable.parameter.function.python", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "meta.function-call.generic.python", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "constant.character.format.placeholder.other.python", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "keyword.operator", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.assignment.compound", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "entity.name.namespace", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "variable", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "variable.c", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "variable.language", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "token.variable.parameter.java", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "import.storage.java", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "token.package.keyword", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "token.package", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "entity.name.function", + "meta.require", + "support.function.any-method", + "variable.function" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "entity.name.type.namespace", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "support.class, entity.name.type.class", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "entity.name.class.identifier.namespace.type", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.class", + "variable.other.class.js", + "variable.other.class.ts" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "variable.other.class.php", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "entity.name.type", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "keyword.control", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "control.elements, keyword.operator.less", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "keyword.other.special-method", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "storage", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "token.storage", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "token.storage.type.java", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "support.function", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.type.property-name", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.property-value", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.font-name", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "meta.tag", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "string", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.other.inherited-class", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "constant.other.symbol", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "constant.numeric", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "constant", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.constant", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.name.tag", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "entity.other.attribute-name.html", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "source.astro.meta.attribute.client:idle.html", + "settings": { + "foreground": "#FFD493", + "fontStyle": "italic" + } + }, + { + "scope": "string.quoted.double.html,string.quoted.single.html,string.template.html,punctuation.definition.string.begin.html,punctuation.definition.string.end.html", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "entity.other.attribute-name.id", + "settings": { + "foreground": "#00DAEF", + "fontStyle": "normal" + } + }, + { + "scope": "entity.other.attribute-name.class.css", + "settings": { + "foreground": "#4BF3C8", + "fontStyle": "normal" + } + }, + { + "scope": "meta.selector", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "markup.heading", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.heading punctuation.definition.heading, entity.name.section", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "keyword.other.unit", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.bold,todo.bold", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.bold", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "markup.italic, punctuation.definition.italic,todo.emphasis", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "emphasis md", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "entity.name.section.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.definition.heading.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.definition.list.begin.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.heading.setext", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.definition.bold.markdown", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "markup.inline.raw.markdown", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "markup.inline.raw.string.markdown", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "punctuation.definition.list.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "punctuation.definition.string.begin.markdown", + "punctuation.definition.string.end.markdown", + "punctuation.definition.metadata.markdown" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "beginning.punctuation.definition.list.markdown" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.definition.metadata.markdown", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "string.other.link.title.markdown,string.other.link.description.markdown", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "string.regexp", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "constant.character.escape", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.section.embedded, variable.interpolation", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "punctuation.section.embedded.begin,punctuation.section.embedded.end", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "invalid.illegal", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "invalid.illegal.bad-ampersand.html", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "invalid.broken", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "invalid.deprecated", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "invalid.unimplemented", + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > string.quoted.json", + "settings": { + "foreground": "#CC75F4" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.type.property-name.json", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.type.property-name.json punctuation", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "keyword.operator.error-control.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.type.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "punctuation.section.array.begin.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "punctuation.section.array.end.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "invalid.illegal.non-null-typehinted.php", + "settings": { + "foreground": "#F44747" + } + }, + { + "scope": "storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "support.constant.core.rust", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "entity.name.goto-label.php,support.other.php", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.regexp.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "keyword.operator.comparison.php", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "keyword.operator.heredoc.php,keyword.operator.nowdoc.php", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": "meta.function.decorator.python", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "support.token.decorator.python,meta.function.decorator.identifier.python", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "function.parameter", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "function.brace", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "function.parameter.ruby, function.parameter.cs", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "constant.language.symbol.ruby", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "rgb-value", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "inline-color-decoration rgb-value", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "less rgb-value", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "selector.sass", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "block.scope.end,block.scope.begin", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "storage.type.cs", + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": "entity.name.variable.local.cs", + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": "token.info-token", + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": "token.warn-token", + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": "token.error-token", + "settings": { + "foreground": "#F44747" + } + }, + { + "scope": "token.debug-token", + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "punctuation.definition.template-expression.begin", + "punctuation.definition.template-expression.end", + "punctuation.section.embedded" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "meta.template.expression" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "keyword.operator.module" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "support.type.type.flowtype" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "support.type.primitive" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "meta.property.object" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "variable.parameter.function.js" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "keyword.other.template.begin" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.other.template.end" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.other.substitution.begin" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.other.substitution.end" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "keyword.operator.assignment" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "keyword.operator.assignment.go" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "keyword.operator.arithmetic.go", + "keyword.operator.address.go" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "entity.name.package.go" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "support.type.prelude.elm" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "support.constant.elm" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "punctuation.quasi.element" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "constant.character.entity" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "entity.other.attribute-name.pseudo-element", + "entity.other.attribute-name.pseudo-class" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "entity.global.clojure" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "meta.symbol.clojure" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "constant.keyword.clojure" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "meta.arguments.coffee", + "variable.parameter.function.coffee" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "source.ini" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "meta.scope.prerequisites.makefile" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "source.makefile" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "storage.modifier.import.groovy" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "meta.method.groovy" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "meta.definition.variable.name.groovy" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "meta.definition.class.inherited.classes.groovy" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "support.variable.semantic.hlsl" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "support.type.texture.hlsl", + "support.type.sampler.hlsl", + "support.type.object.hlsl", + "support.type.object.rw.hlsl", + "support.type.fx.hlsl", + "support.type.object.hlsl" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "text.variable", + "text.bracketed" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "support.type.swift", + "support.type.vb.asp" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.function.xi" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.class.xi" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "constant.character.character-class.regexp.xi" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + "constant.regexp.xi" + ], + "settings": { + "foreground": "#54B9FF" + } + }, + { + "scope": [ + "keyword.control.xi" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "invalid.xi" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "beginning.punctuation.definition.quote.markdown.xi" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "beginning.punctuation.definition.list.markdown.xi" + ], + "settings": { + "foreground": "#EEF0F98F" + } + }, + { + "scope": [ + "constant.character.xi" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "accent.xi" + ], + "settings": { + "foreground": "#00DAEF" + } + }, + { + "scope": [ + "wikiword.xi" + ], + "settings": { + "foreground": "#FFD493" + } + }, + { + "scope": [ + "constant.other.color.rgb-value.xi" + ], + "settings": { + "foreground": "#FFFFFF" + } + }, + { + "scope": [ + "punctuation.definition.tag.xi" + ], + "settings": { + "foreground": "#545864" + } + }, + { + "scope": [ + "entity.name.label.cs", + "entity.name.scope-resolution.function.call", + "entity.name.scope-resolution.function.definition" + ], + "settings": { + "foreground": "#ACAFFF" + } + }, + { + "scope": [ + "entity.name.label.cs", + "markup.heading.setext.1.markdown", + "markup.heading.setext.2.markdown" + ], + "settings": { + "foreground": "#4BF3C8" + } + }, + { + "scope": [ + " meta.brace.square" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "comment, punctuation.definition.comment", + "settings": { + "foreground": "#EEF0F98F", + "fontStyle": "italic" + } + }, + { + "scope": "markup.quote.markdown", + "settings": { + "foreground": "#EEF0F98F" + } + }, + { + "scope": "punctuation.definition.block.sequence.item.yaml", + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": [ + "constant.language.symbol.elixir" + ], + "settings": { + "foreground": "#EEF0F9" + } + }, + { + "scope": "entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "comment.line.double-slash,comment.block.documentation", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "keyword.control.import.python,keyword.control.flow.python", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic" + } + } + ] +} \ No newline at end of file diff --git a/www/src/assets/quickstart.sh b/www/src/assets/quickstart.sh new file mode 100644 index 00000000..ab6560f9 --- /dev/null +++ b/www/src/assets/quickstart.sh @@ -0,0 +1,5 @@ +# First Create a fresh Astro Install +npm create astro@latest +# Create Empty Install with standard typescript +# Then Delete entire 'pages' folder under '/src/' +npx astro add @matthiesenxyz/astro-ghostcms \ No newline at end of file diff --git a/www/src/components/BaseHead.astro b/www/src/components/BaseHead.astro new file mode 100644 index 00000000..4f9aba05 --- /dev/null +++ b/www/src/components/BaseHead.astro @@ -0,0 +1,21 @@ +--- +import { ViewTransitions } from 'astro:transitions'; +import SEO, { type Props as SEOProps } from './SEO.astro'; +import { SiteTitle, SiteDescription } from '../consts'; +import favicon from '../assets/favicon.svg'; + +export type Props = Partial; +const { title = SiteTitle, name = SiteTitle, description = SiteDescription, ...seo } = Astro.props; +--- + + + + + + + + + diff --git a/www/src/components/Footer.astro b/www/src/components/Footer.astro new file mode 100644 index 00000000..2978b455 --- /dev/null +++ b/www/src/components/Footer.astro @@ -0,0 +1,12 @@ +--- +import '../styles/global.scss'; +--- + + diff --git a/www/src/components/FormattedDate.astro b/www/src/components/FormattedDate.astro new file mode 100644 index 00000000..377286d9 --- /dev/null +++ b/www/src/components/FormattedDate.astro @@ -0,0 +1,25 @@ +--- +import type { HTMLAttributes } from 'astro/types'; + +type Props = HTMLAttributes<'time'> & { + date: Date; +}; + +const { date, ...attrs } = Astro.props; +--- + + + + diff --git a/www/src/components/GhostAstroFooter.astro b/www/src/components/GhostAstroFooter.astro new file mode 100644 index 00000000..9cd703de --- /dev/null +++ b/www/src/components/GhostAstroFooter.astro @@ -0,0 +1,4 @@ +--- + +--- +
Astro-GhostCMS is independently maintained and not provided by Ghost or Astro, Ghost is a trademark of The Ghost Foundation.
\ No newline at end of file diff --git a/www/src/components/Header.astro b/www/src/components/Header.astro new file mode 100644 index 00000000..2f649d8d --- /dev/null +++ b/www/src/components/Header.astro @@ -0,0 +1,30 @@ +--- +import '../styles/global.scss'; +import { SiteTitle } from '../consts'; +import favicon from '../assets/favicon.svg' +import { Image } from 'astro:assets'; +--- + +
+ +
+ + diff --git a/www/src/components/QuickStart.astro b/www/src/components/QuickStart.astro new file mode 100644 index 00000000..e704f21d --- /dev/null +++ b/www/src/components/QuickStart.astro @@ -0,0 +1,14 @@ +--- +import { Code } from "astro:components" +import quickstart from "../assets/quickstart.sh?raw" + +--- +
+ +
+
/|\ Astro-GhostCMS Quickstart /|\
+
+ + + +
diff --git a/www/src/components/SEO.astro b/www/src/components/SEO.astro new file mode 100644 index 00000000..1e2ddcca --- /dev/null +++ b/www/src/components/SEO.astro @@ -0,0 +1,87 @@ +--- +import type { ImageMetadata } from 'astro'; +type Image = { + src: string | ImageMetadata; + alt: string; +}; + +type SEOMetadata = { + name: string; + title: string; + description: string; + image?: Image | undefined; + canonicalURL?: URL | string | undefined; + locale?: string; +}; + +type OpenGraph = Partial & { + type?: string; +}; + +type Twitter = Partial & { + handle?: string; + card?: 'summary' | 'summary_large_image'; +}; + +export type Props = SEOMetadata & { + og?: OpenGraph; + twitter?: Twitter; +}; + +const { + name, + title, + description, + image, + locale = 'en', + canonicalURL = new URL(Astro.url.pathname, Astro.site), +} = Astro.props; + +const og = { + name, + title, + description, + canonicalURL, + image, + locale, + type: 'website', + ...(Astro.props.og ?? {}), +} satisfies OpenGraph; + +const twitter = { + name, + title, + description, + canonicalURL, + image, + locale, + card: 'summary_large_image', + ...Astro.props.twitter, +}; + +function normalizeImageUrl(image: string | ImageMetadata) { + return typeof image === 'string' ? image : image.src; +} +--- + + + + + + + + + + + + +{og.image && } +{og.image && } + + + + + + +{twitter.image && } +{twitter.image && } diff --git a/www/src/consts.ts b/www/src/consts.ts new file mode 100644 index 00000000..ce7d7548 --- /dev/null +++ b/www/src/consts.ts @@ -0,0 +1,5 @@ +// Place any global data in this file. +// You can import this data from anywhere in your site by using the `import` keyword. + +export const SiteTitle = 'Astro-GhostCMS'; +export const SiteDescription = 'Astro-GhostCMS Integration & API'; diff --git a/www/src/content/archivedreleases/v2_0/2_0_5.md b/www/src/content/archivedreleases/v2_0/2_0_5.md new file mode 100644 index 00000000..36b51333 --- /dev/null +++ b/www/src/content/archivedreleases/v2_0/2_0_5.md @@ -0,0 +1,48 @@ +--- +title: 'Introducing Astro-GhostCMS.xyz!' +date: '01-17-2024' +versionNumber: '2.0.5' +description: 'This is the First Release posted to our new website!' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## Introducing Astro-GhostCMS.xyz! + +Greetings, Astro-GhostCMS users! We're happy to announce the launch of our new website astro-ghostcms.xyz a central location to get all your relevent updates regarding our Astro-GhostCMS integration! + +### Welcome to Astro-GhostCMS + +- [Live Demo](https://demo.astro-ghostcms.xyz/) of the Astro-GhostCMS integration in action! +- [Live Demo's Repo](https://github.com/MatthiesenXYZ/astro-ghostcms-demo) for an example of how the setup looks. + +Astro minimum Version: **Astro v4.0** + +This Integration is 2 parts. Firstly, there is the API portion that uses the `@tryghost/content-api` to create the link between astro and GhostCMS. From there we move to the Second Part, which is a theme pre-programmed to pull ALL of its data from GhostCMS iteself instead of storing any data locally outside of Build. + +- *This package contains a independent copy of the tryghost content-api.js that is used to establish the connection so this package dose not depend on `@tryghost/content-api` package.* +- If you are looking for a more Customizable option please check [astro-ghostcms-basetheme](https://github.com/MatthiesenXYZ/astro-ghostcms-basetheme) +- This project is not setup for SSR in Integration mode. As such is will most likely not function properly in that mode. You will need to build your own project around the API or customize the *basetheme* linked above. + +### Quick Start : Astro Integration Mode + +In this mode, the addon will not be just an API, but will be a full Route takeover, there is plans to add more themes in time, but for now there is only the base Casper theme based on Ghost's main Theme. + +## Astro Add Installation + +```sh +# For fresh Install +npm create astro@latest +# Create Empty Install with standard typescript +# Then Delete entire `pages` folder under `/src/` +npx astro add @matthiesenxyz/astro-ghostcms +``` +#### Dont forget to set your environment Variables! + +You must also create 2 environment variables in a `.env` file with the following(*Below info is for DEMO Purposes. Please generate your own API_KEY for your Ghost install.*): + +```ansi frame="code" title=".env" +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz +``` diff --git a/www/src/content/archivedreleases/v2_0/2_0_8.md b/www/src/content/archivedreleases/v2_0/2_0_8.md new file mode 100644 index 00000000..1bc9d977 --- /dev/null +++ b/www/src/content/archivedreleases/v2_0/2_0_8.md @@ -0,0 +1,13 @@ +--- +title: 'New Feature: Theming (BETA)' +date: '01-18-2024' +versionNumber: '2.0.8' +description: 'New Feature Alert! Theming!' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## New Feature: Themes (BETA)! + +As of posting this there is now a new undocumented feature. Themes! this feature will allow the end-user the option of changing how their website's astro-ghostcms install looks and functons! I will be building a Theme Skeleton and then documentation for this new feature. Stay tuned for more updates as this is a beta feature! \ No newline at end of file diff --git a/www/src/content/config.ts b/www/src/content/config.ts new file mode 100644 index 00000000..0ea0835a --- /dev/null +++ b/www/src/content/config.ts @@ -0,0 +1,35 @@ +import { defineCollection, z } from 'astro:content'; +import { docsSchema } from '@astrojs/starlight/schema'; + +const releases = defineCollection({ + schema: ({ image }) => + z.object({ + title: z.string(), + description: z.string(), + versionNumber: z.string(), + image: z.object({ + src: image(), + alt: z.string(), + }).optional(), + date: z.date({ coerce: true }), + }), +}); + +const archivedreleases = defineCollection({ + schema: ({ image }) => + z.object({ + title: z.string(), + description: z.string(), + versionNumber: z.string(), + image: z.object({ + src: image(), + alt: z.string(), + }).optional(), + date: z.date({ coerce: true }), + }), +}); + +export const collections = { + docs: defineCollection({ schema: docsSchema() }), + releases, archivedreleases, +}; diff --git a/www/src/content/docs/docs/index.md b/www/src/content/docs/docs/index.md new file mode 100644 index 00000000..0b78d88f --- /dev/null +++ b/www/src/content/docs/docs/index.md @@ -0,0 +1,11 @@ +--- +title: Welcome to the Docs +description: Learn more about Astro-GhostCMS - Docs built on Starlight +--- + +Demo site status: +![Vercel](https://vercelbadge.vercel.app/api/matthiesenxyz/astro-ghostcms-demo) + +Welcome to the Astro-GhostCMS Docs! Powered by Starlight & Astro.build! + +Here you will find a document reference for the Astro-GhostCMS Integration & API \ No newline at end of file diff --git a/www/src/content/docs/docs/introduction/api/install.md b/www/src/content/docs/docs/introduction/api/install.md new file mode 100644 index 00000000..f6aa490e --- /dev/null +++ b/www/src/content/docs/docs/introduction/api/install.md @@ -0,0 +1,34 @@ +--- +title: API Only Mode - Install +description: API Only Mode - Install +--- + +# API Mode Install + +In this mode the integration will not deploy routes at all. you will have to build your own website to utilize the exported functions listed below. + +```sh +npx astro add @matthiesenxyz/astro-ghostcms +``` + +You must also create 2 environment variables in a `.env` file with the following: + +```ansi frame="code" title=".env" +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz +``` + +***When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!*** + +Then Change your astro config option in `astro.config.ts` to looks like this: + +```ts frame="code" title="astro.config.ts" +import { defineConfig } from "astro/config"; +import GhostCMS from '@matthiesenxyz/astro-ghostcms'; + +export default defineConfig({ + site: "https://YOUR-DOMAIN-HERE.com", + // THIS WILL DISABLE DEFAULT ROUTE INJECT + integrations: [ GhostCMS({ disableRouteInjection: true })], +}); +``` \ No newline at end of file diff --git a/www/src/content/docs/docs/introduction/api/usage.md b/www/src/content/docs/docs/introduction/api/usage.md new file mode 100644 index 00000000..ea6e2ea4 --- /dev/null +++ b/www/src/content/docs/docs/introduction/api/usage.md @@ -0,0 +1,136 @@ +--- +title: API Only Mode - Basic Usage +description: API Only Mode - Basic Usage +--- + +## Manual Function Usage Examples: + +### getGhostPosts() - Get list of posts + +```astro frame="code" title="getGhostPosts()" +--- +// IMPORT {GET} GhostPosts Function +import { getGhostPosts } from '@matthiesenxyz/astro-ghostcms/api'; +// GET LIST OF ALL POSTS +const ghostPosts = await getGhostPosts(); +--- +``` + +### getGhostRecentPosts(setLimit?) - Get Recent Posts (setLimit={6}) + +```astro frame="code" title="getGhostRecentPosts()" +--- +// IMPORT {GET} GhostFeaturedPosts Function +import { getGhostRecentPosts } from "@matthiesenxyz/astro-ghostcms/api"; +// CREATE INTERFACE TO PASS 'setLimit' for POST LIMIT +interface Props { + setLimit?:number; +} +// IF 'setLimit' IS NOT DEFINED AS PROP THEN MAKE IT DEFAULT TO 'undefined' +const { setLimit = undefined } = Astro.props +// GET POSTS with Limit +const ghostPosts = await getGhostRecentPosts(setLimit); +--- +``` + +### getGhostFeaturedPosts(setLimit?) - Get Featured Posts (setLimit={1}) + +```astro frame="code" title="getGhostFeaturedPosts()" +--- +// IMPORT {GET} GhostFeaturedPosts Function +import { getGhostFeaturedPosts } from "@matthiesenxyz/astro-ghostcms/api"; +// CREATE INTERFACE TO PASS 'setLimit' for POST LIMIT +interface Props { + setLimit?:number; +} +// IF 'setLimit' IS NOT DEFINED AS PROP THEN MAKE IT DEFAULT TO 'undefined' +const { setLimit = undefined } = Astro.props +// GET POSTS with Limit +const ghostPosts = await getGhostFeaturedPosts(setLimit); +--- +``` + +### getGhostPostbySlug(slug) - Get Post by Slug + +```astro frame="code" title="getGhostPostbySlug()" +--- +// IMPORT {GET} GhostPostbySlug Function +import { getGhostPostbySlug } from '@matthiesenxyz/astro-ghostcms/api'; +// GET SLUG from /blog/[slug] +const { slug } = Astro.params; +// GET CURRENT POST BY PASSING SLUG TO FUNCTION +const ghostPost = await getGhostPostbySlug(slug); +--- +``` + +### getGhostPostsbyTag(slug) - Get Posts list by Tag slug + +```astro frame="code" title="getGhostPostbyTag()" +--- +// IMPORT {GET} GhostPostsbyTag, and GhostTagbySlug Functions +import { getGhostPostsbyTag, getGhostTagbySlug } from '@matthiesenxyz/astro-ghostcms/api'; +// GET SLUG from /blog/tag/[slug] +const { slug } = Astro.params; +// GET TAG BY SLUG TO DISPLAY TAG INFO +const ghostTag = await getGhostTagbySlug(slug); +// GET POSTS FILTERED BY TAG SLUG +const ghostPosts = await getGhostPostsbyTag(slug) +--- +``` + +### getGhostTags() - Get list of tags + +```astro frame="code" title="getGhostTag()" +--- +// IMPORT {GET} GhostTags Function +import { getGhostTags } from "@matthiesenxyz/astro-ghostcms/api"; +// GET LIST OF ALL TAGS +const ghostTags = await getGhostTags(); +--- +``` + +### getGhostAuthors() - Get list of Authors + +```astro frame="code" title="getGhostAuthors()" +--- +// IMPORT {GET} GhostAuthors Function +import { getGhostAuthors } from "@matthiesenxyz/astro-ghostcms/api"; +// GET LIST OF ALL AUTHORS +const ghostAuthors = await getGhostAuthors(); +--- +``` + +### getGhostPages() - Get list of Pages + +```astro frame="code" title="getGhostPages()" +--- +// IMPORT {GET} GhostAuthors Function +import { getGhostPages } from "@matthiesenxyz/astro-ghostcms/api"; +// GET LIST OF ALL AUTHORS +const ghostPages = await getGhostPages(); +--- +``` + +### getGhostPage(slug) - Get page by slug + +```astro frame="code" title="getGhostPage()" +--- +// IMPORT {GET} GhostPostbySlug Function +import { getGhostPage } from '@matthiesenxyz/astro-ghostcms/api'; +// GET SLUG from /blog/[slug] +const { slug } = Astro.params; +// GET CURRENT POST BY PASSING SLUG TO FUNCTION +const ghostpage = await getGhostPage(slug); +--- +``` + +### getGhostSettings() - Get Settings for GhostCMS + +```astro frame="code" title="getGhostSettings()" +--- +// IMPORT {GET} GhostAuthors Function +import { getGhostSettings } from "@matthiesenxyz/astro-ghostcms/api"; +// GET LIST OF ALL AUTHORS +const ghostSettings = await getGhostSettings(); +--- +``` \ No newline at end of file diff --git a/www/src/content/docs/docs/introduction/getting-started.md b/www/src/content/docs/docs/introduction/getting-started.md new file mode 100644 index 00000000..41dc4951 --- /dev/null +++ b/www/src/content/docs/docs/introduction/getting-started.md @@ -0,0 +1,17 @@ +--- +title: Getting Started with Astro-GhostCMS +description: Getting Started +--- + + +- [Live Demo](https://demo.astro-ghostcms.xyz/) of the Astro-GhostCMS integration in action! +- [Live Demo - Unlighthouse Test](https://test.demo.astro-ghostcms.xyz) for a Automatically updated Lighthouse test from every deploy! +- [Live Demo's Repo](https://github.com/MatthiesenXYZ/astro-ghostcms-demo) for an example of how the setup looks. + +Astro minimum Version: **Astro v4.0** + +This Integration is 2 parts. Firstly, there is the API portion that uses the `@tryghost/content-api` to create the link between astro and GhostCMS. From there we move to the Second Part, which is a theme pre-programmed to pull ALL of its data from GhostCMS iteself instead of storing any data locally outside of Build. + +- *This package contains a independent copy of the tryghost content-api.js that is used to establish the connection so this package dose not depend on `@tryghost/content-api` package.* +- If you are looking for a more Customizable option please check [astro-ghostcms-basetheme](https://github.com/MatthiesenXYZ/astro-ghostcms-basetheme) +- The default theme is not setup for SSR in Integration mode. As such is will most likely not function properly in that mode. You will need to build your own project around the API or customize the *basetheme* linked above. diff --git a/www/src/content/docs/docs/introduction/integration/config.md b/www/src/content/docs/docs/introduction/integration/config.md new file mode 100644 index 00000000..9f7f514c --- /dev/null +++ b/www/src/content/docs/docs/introduction/integration/config.md @@ -0,0 +1,50 @@ +--- +title: Integration Mode - Configuration Options +description: Integration Mode - Configuration Options +--- + +### This is still a *BETA* Feature + +Theme config option in `astro.config.ts` looks like this: + +```ts frame="code" title="astro.config.ts" +import { defineConfig } from "astro/config"; +import GhostCMS from '@matthiesenxyz/astro-ghostcms'; + +export default defineConfig({ + site: "https://YOUR-DOMAIN-HERE.com", + integrations: [ + GhostCMS({ + // *OPTIONAL* THIS Option allows the user to disable default route + // injections, disabling the default layout and theme all together. + // Allowing the user to still use integration features while building + // off of the included API functions + disableRouteInjection: false // DEFAULT VALUE + // *OPTIONAL* Setting this to true will disable the extra info logs + disableConsoleOutput: false // DEFAULT VALUE + // *OPTIONAL* THIS IS THE DEFAULT VALUE + theme: '@matthiesenxyz/astro-ghostcms', + // THIS IS TO SHOW SUPPORTED FEATURES FOR MORE INFO SEE + // npm:@astrojs/sitemap package README + sitemap: { + customPages: // OPTIONAL - string[] + entryLimit: // OPTIONAL - number + } + // THIS IS TO SHOW SUPPORTED FEATURES FOR MORE INFO SEE + // npm:astro-robots-txt package README + robotstxt: { + host: // OPTIONAL - string + sitemap: // OPTIONAL - string + sitemapBaseFileName: // OPTIONAL - string + policy: { // OPTIONAL + userAgent: // REQUIRED IF POLICY IS PRESENT - string + allow: // OPTIONAL - string + disallow: //OPTIONAL - string + cleanParam: //OPTIONAL - string + crawlDelay: //OPTIONAL - number + } + } + }), + ], +}); +``` \ No newline at end of file diff --git a/www/src/content/docs/docs/introduction/integration/manual.md b/www/src/content/docs/docs/introduction/integration/manual.md new file mode 100644 index 00000000..69510e52 --- /dev/null +++ b/www/src/content/docs/docs/introduction/integration/manual.md @@ -0,0 +1,49 @@ +--- +title: Integration Mode - Manual Install +description: Integration Mode - Manual Install +--- + +## Install + +```sh +npm i @matthiesenxyz/astro-ghostcms +``` + +Then set your `astro.config.ts` to look like this: + +```ts frame="code" title="astro.config.ts" +import { defineConfig } from "astro/config"; +import GhostCMS from '@matthiesenxyz/astro-ghostcms'; + +// https://astro.build/config +export default defineConfig({ + site: "https://YOUR-DOMAIN-HERE.com" + integrations: [GhostCMS()], +}); +``` + + +## Setup `.env` variables + +```ansi frame="code" title=".env" +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz +``` + +***When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!*** + +## Created Routes + +The routes are the same as a standard Ghost Blog so you can migrate to Astro easily. + +| Route | Content | +| --------------------- | ----------------------------------------- | +| `/` | Homepage with recents/features Blog Posts | +| `/404` | 404 Page | +| `/[slug]` | Post or Page | +| `/author/[slug]` | Author page with related posts | +| `/authors` | All the authors | +| `/tag[slug]` | Tag page with related posts | +| `/tags` | All the tags | +| `/archives/[...page]` | All the posts, paginated | +| `/rss.xml` | All the posts, in a FEED | diff --git a/www/src/content/docs/docs/introduction/integration/quick.md b/www/src/content/docs/docs/introduction/integration/quick.md new file mode 100644 index 00000000..c0c57e20 --- /dev/null +++ b/www/src/content/docs/docs/introduction/integration/quick.md @@ -0,0 +1,39 @@ +--- +title: Integration Mode - Quick Install +description: Integration Mode - Quick Install +--- + +## Install + +```sh +# For fresh Install +npm create astro@latest +# Create Empty Install with standard typescript +# Then Delete entire `pages` folder under `/src/` +npx astro add @matthiesenxyz/astro-ghostcms +``` + +## Setup `.env` variables + +```ansi frame="code" title=".env" +CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48 +CONTENT_API_URL=https://ghostdemo.matthiesen.xyz +``` + +***When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!*** + +## Created Routes + +The routes are the same as a standard Ghost Blog so you can migrate to Astro easily. + +| Route | Content | +| --------------------- | ----------------------------------------- | +| `/` | Homepage with recents/features Blog Posts | +| `/404` | 404 Page | +| `/[slug]` | Post or Page | +| `/author/[slug]` | Author page with related posts | +| `/authors` | All the authors | +| `/tag[slug]` | Tag page with related posts | +| `/tags` | All the tags | +| `/archives/[...page]` | All the posts, paginated | +| `/rss.xml` | All the posts, in a FEED | diff --git a/www/src/content/docs/docs/reference/ghost-content-api-ref.md b/www/src/content/docs/docs/reference/ghost-content-api-ref.md new file mode 100644 index 00000000..5244cdf0 --- /dev/null +++ b/www/src/content/docs/docs/reference/ghost-content-api-ref.md @@ -0,0 +1,205 @@ +--- +title: Ghost Content API References +description: Ghost Content API References +--- + +- [Main Content API Docs (ghost.org)](https://ghost.org/docs/content-api/) + +## Example of Posts Output + +```json frame="code" title="Posts" +{ + "posts": [ + { + "slug": "welcome-short", + "id": "5c7ece47da174000c0c5c6d7", + "uuid": "3a033ce7-9e2d-4b3b-a9ef-76887efacc7f", + "title": "Welcome", + "html": "

👋 Welcome, it's great to have you here.

", + "comment_id": "5c7ece47da174000c0c5c6d7", + "feature_image": "https://casper.ghost.org/v2.0.0/images/welcome-to-ghost.jpg", + "feature_image_alt": null, + "feature_image_caption": null, + "featured": false, + "meta_title": null, + "meta_description": null, + "created_at": "2019-03-05T19:30:15.000+00:00", + "updated_at": "2019-03-26T19:45:31.000+00:00", + "published_at": "2012-11-27T15:30:00.000+00:00", + "custom_excerpt": "Welcome, it's great to have you here.", + "codeinjection_head": null, + "codeinjection_foot": null, + "og_image": null, + "og_title": null, + "og_description": null, + "twitter_image": null, + "twitter_title": null, + "twitter_description": null, + "custom_template": null, + "canonical_url": null, + "authors": [ + { + "id": "5951f5fca366002ebd5dbef7", + "name": "Ghost", + "slug": "ghost", + "profile_image": "https://demo.ghost.io/content/images/2017/07/ghost-icon.png", + "cover_image": null, + "bio": "The professional publishing platform", + "website": "https://ghost.org", + "location": null, + "facebook": "ghost", + "twitter": "@tryghost", + "meta_title": null, + "meta_description": null, + "url": "https://demo.ghost.io/author/ghost/" + } + ], + "tags": [ + { + "id": "59799bbd6ebb2f00243a33db", + "name": "Getting Started", + "slug": "getting-started", + "description": null, + "feature_image": null, + "visibility": "public", + "meta_title": null, + "meta_description": null, + "url": "https://demo.ghost.io/tag/getting-started/" + } + ], + "primary_author": { + "id": "5951f5fca366002ebd5dbef7", + "name": "Ghost", + "slug": "ghost", + "profile_image": "https://demo.ghost.io/content/images/2017/07/ghost-icon.png", + "cover_image": null, + "bio": "The professional publishing platform", + "website": "https://ghost.org", + "location": null, + "facebook": "ghost", + "twitter": "@tryghost", + "meta_title": null, + "meta_description": null, + "url": "https://demo.ghost.io/author/ghost/" + }, + "primary_tag": { + "id": "59799bbd6ebb2f00243a33db", + "name": "Getting Started", + "slug": "getting-started", + "description": null, + "feature_image": null, + "visibility": "public", + "meta_title": null, + "meta_description": null, + "url": "https://demo.ghost.io/tag/getting-started/" + }, + "url": "https://demo.ghost.io/welcome-short/", + "excerpt": "Welcome, it's great to have you here." + } + ] +} +``` + +## Example of Tags Output + +```json frame="code" title="Tags" +{ + "tags": [ + { + "slug": "getting-started", + "id": "5ddc9063c35e7700383b27e0", + "name": "Getting Started", + "description": null, + "feature_image": null, + "visibility": "public", + "meta_title": null, + "meta_description": null, + "og_image": null, + "og_title": null, + "og_description": null, + "twitter_image": null, + "twitter_title": null, + "twitter_description": null, + "codeinjection_head": null, + "codeinjection_foot": null, + "canonical_url": null, + "accent_color": null, + "url": "https://docs.ghost.io/tag/getting-started/" + } + ] +} +``` + +## Example of Authors Output + +```json frame="code" title="Authors" +{ + "authors": [ + { + "slug": "cameron", + "id": "5ddc9b9510d8970038255d02", + "name": "Cameron Almeida", + "profile_image": "https://docs.ghost.io/content/images/2019/03/1c2f492a-a5d0-4d2d-b350-cdcdebc7e413.jpg", + "cover_image": null, + "bio": "Editor at large.", + "website": "https://example.com", + "location": "Cape Town", + "facebook": "example", + "twitter": "@example", + "meta_title": null, + "meta_description": null, + "url": "https://docs.ghost.io/author/cameron/" + } + ] +} +``` + +## Example of Settings Output + +```json frame="code" title="Settings" +{ + "settings": { + "title": "Ghost", + "description": "The professional publishing platform", + "logo": "https://docs.ghost.io/content/images/2014/09/Ghost-Transparent-for-DARK-BG.png", + "icon": "https://docs.ghost.io/content/images/2017/07/favicon.png", + "accent_color": null, + "cover_image": "https://docs.ghost.io/content/images/2019/10/publication-cover.png", + "facebook": "ghost", + "twitter": "@tryghost", + "lang": "en", + "timezone": "Etc/UTC", + "codeinjection_head": null, + "codeinjection_foot": "", + "navigation": [ + { + "label": "Home", + "url": "/" + }, + { + "label": "About", + "url": "/about/" + }, + { + "label": "Getting Started", + "url": "/tag/getting-started/" + }, + { + "label": "Try Ghost", + "url": "https://ghost.org" + } + ], + "secondary_navigation": [], + "meta_title": null, + "meta_description": null, + "og_image": null, + "og_title": null, + "og_description": null, + "twitter_image": null, + "twitter_title": null, + "twitter_description": null, + "members_support_address": "noreply@docs.ghost.io", + "url": "https://docs.ghost.io/" + } +} +``` \ No newline at end of file diff --git a/www/src/content/docs/docs/reference/unlighthouse-reports.md b/www/src/content/docs/docs/reference/unlighthouse-reports.md new file mode 100644 index 00000000..4249a7dc --- /dev/null +++ b/www/src/content/docs/docs/reference/unlighthouse-reports.md @@ -0,0 +1,9 @@ +--- +title: Unlighthouse Report Lists +description: Unlighthouse Report Lists +--- + +Below you will find a list of links to different lighthouse reports generated using [Unlighthouse](https://unlighthouse.dev)'s CI utility + +- [Main Demo](https://test.demo.astro-ghostcms.xyz) +- [Base Theme Demo](https://test.basetheme-demo.astro-ghostcms.xyz) \ No newline at end of file diff --git a/www/src/content/releases/posts/01192024.md b/www/src/content/releases/posts/01192024.md new file mode 100644 index 00000000..1944f8cb --- /dev/null +++ b/www/src/content/releases/posts/01192024.md @@ -0,0 +1,13 @@ +--- +title: 'We now have automated Lighthouse Reports with Unlighthouse!' +date: '01-19-2024' +versionNumber: 'POST' +description: 'New Feature Alert! Theming!' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## We now have automated Lighthouse Reports with Unlighthouse!! + +Hello! Our Main Demo site now autogenerates a Lighthouse Report every deployment! To see this test at any point just goto [test.demo.astro-ghostcms.xyz](https://test.demo.astro-ghostcms.xyz) eventually the goal will be to have a `test.*` domain for each of the themes as well to be able to demonstrate lighthouse scores for each of our inhouse projects! \ No newline at end of file diff --git a/www/src/content/releases/v2_1/2_1_0.md b/www/src/content/releases/v2_1/2_1_0.md new file mode 100644 index 00000000..824d4cab --- /dev/null +++ b/www/src/content/releases/v2_1/2_1_0.md @@ -0,0 +1,20 @@ +--- +title: 'Updates & Bug Fixes' +date: '01-20-2024 08:00' +versionNumber: '2.1.0' +description: 'Updates & Bug Fixes' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## Updates + +This patch resolved some outstanding issues with the api integration itself. There had been some issues with types being imported and not working. that is now solved. + +RSS Implentation is successful, Integration now checks that .env file exisits with the required values set. + +New Features in progress: +- sitemap integration +- robots integration +- rss styling \ No newline at end of file diff --git a/www/src/content/releases/v2_1/2_1_3.md b/www/src/content/releases/v2_1/2_1_3.md new file mode 100644 index 00000000..b61f4216 --- /dev/null +++ b/www/src/content/releases/v2_1/2_1_3.md @@ -0,0 +1,22 @@ +--- +title: 'Updates & Bug Fixes' +date: '01-20-2024 11:00' +versionNumber: '2.1.3' +description: 'Updates & Bug Fixes' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## Bug Fixes & New Config Options + +### Fixes: + +This patch resolved the issues that were causing sitemap, and robots to not load fully. Issue now resolved. + +### New: + +This patch also creates new Configuration Options for Sitemap and RobotsTxt allowing the user to modify the integrated plugins instead of having to run them independently from this Integration. More info on the Docs. + +#### Features in progress: +- rss styling \ No newline at end of file diff --git a/www/src/content/releases/v2_1/2_1_5.md b/www/src/content/releases/v2_1/2_1_5.md new file mode 100644 index 00000000..5c245851 --- /dev/null +++ b/www/src/content/releases/v2_1/2_1_5.md @@ -0,0 +1,22 @@ +--- +title: 'IntelliSense Docs Integration!' +date: '01-20-2024 14:40' +versionNumber: '2.1.5' +description: 'IntelliSense Docs Integration!' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## IntelliSense Docs Integration! + +### Fixes: + +Unnoted v2.1.4 was supposed to add jsDocs to our IntelliSense but that caused all sorts of errors at first. But we are glad to announce, IT IS NOW WORKING! now while you are trying to setup your config it will give you some help! + +### New: + +- IntelliSense jsDoc Integration(Resources right in your code editor)! + +#### Features in progress: +- rss styling \ No newline at end of file diff --git a/www/src/content/releases/v2_1/2_1_7.md b/www/src/content/releases/v2_1/2_1_7.md new file mode 100644 index 00000000..cf0e3b9d --- /dev/null +++ b/www/src/content/releases/v2_1/2_1_7.md @@ -0,0 +1,23 @@ +--- +title: 'More Features! and a 404 page!' +date: '01-21-2024 01:20' +versionNumber: '2.1.7' +description: 'More Features! and a 404 page!' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## More Features! and a 404 page! + +### Fixes: + +v2.1.6 & v2.1.7 include updates to include a new 404 page route, as well clean up a bunch of internal code. + +### New: + +- New options that allow users to disable both console logging and the default route injection + +#### Features in progress: + +- rss styling \ No newline at end of file diff --git a/www/src/content/releases/v2_1/2_1_8.md b/www/src/content/releases/v2_1/2_1_8.md new file mode 100644 index 00000000..42f506e3 --- /dev/null +++ b/www/src/content/releases/v2_1/2_1_8.md @@ -0,0 +1,17 @@ +--- +title: 'Minior Bug fixes & some code cleanup' +date: '01-21-2024 07:00' +versionNumber: '2.1.8' +description: 'Minior Bug fixes & some code cleanup' +#image: +# src: '../../assets/starlog-placeholder-2.jpg' +# alt: 'The full Astro logo.' +--- + +## Minior Bug fixes & some code cleanup + +Nothing Major in this update, i went through and cleaned up and reorganized some files and code. No breaking changes no bugs. + +#### Features in progress: + +- rss styling \ No newline at end of file diff --git a/www/src/env.d.ts b/www/src/env.d.ts new file mode 100644 index 00000000..c13bd73c --- /dev/null +++ b/www/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// \ No newline at end of file diff --git a/www/src/layouts/ArchivePostLayout.astro b/www/src/layouts/ArchivePostLayout.astro new file mode 100644 index 00000000..dcd19017 --- /dev/null +++ b/www/src/layouts/ArchivePostLayout.astro @@ -0,0 +1,41 @@ +--- +import type { CollectionEntry } from 'astro:content'; +import BaseHead from '../components/BaseHead.astro'; +import FormattedDate from '../components/FormattedDate.astro'; +import Header from '../components/Header.astro'; +import Footer from '../components/Footer.astro'; +import { SiteTitle } from '../consts'; + +type Props = { + arrelease: CollectionEntry<'archivedreleases'>; +}; + +const { arrelease } = Astro.props; +--- + + + + + {arrelease.data.versionNumber} | {SiteTitle} + + +
+
+
+
+
+
{arrelease.data.versionNumber}
+ +
+
+
+ +
+
+