From cd669e22c12679ae328fdefdb460cc16dc2e88d0 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 17 Feb 2024 13:48:27 +0600 Subject: [PATCH] website: new sveltekit based website (#1239) * feat: initialize website project * feat: add initial homepage with download links * feat: initial download page * fix: linux icon color * feat: add mobile nav and github star button * feat: add older and nightly downloads page * feat: add supporters and footer * feat: add author details in about page * feat: add darkmode toggle for website * feat: add playstore and flathub download buttons and contribution button * feat: add blogs support * feat: remove netlify deploy config and add cloudflare config and favicons + manifest * chore: add robots.txt * feat: add spotube logo in navbar and fix build errors * chore: add gap --- website/.eslintignore | 13 + website/.eslintrc.cjs | 31 + website/.eslintrc.json | 6 - website/.gitignore | 45 +- website/.node-version | 1 + website/.npmrc | 1 + website/.prettierignore | 4 + website/.prettierrc | 10 +- website/.vscode/settings.json | 120 + website/README.md | 50 +- website/components/AdDetector.tsx | 133 - website/components/ArticleCard.tsx | 138 - website/components/CodeBlock.tsx | 25 - website/components/DownloadButton.tsx | 118 - website/components/Footer.tsx | 88 - website/components/Navbar.tsx | 218 - website/components/UserDetailedCard.tsx | 153 - website/components/special.tsx | 72 - website/configurations/gtag.ts | 17 - website/configurations/ocotokit.ts | 3 - website/hooks/usePlatform.ts | 26 - website/misc/MarkdownComponentDefs.tsx | 43 - website/next-env.d.ts | 5 - website/next.config.js | 7 - website/package-lock.json | 6391 +++++++++++++++++ website/package.json | 92 +- website/pages/_app.tsx | 138 - website/pages/about/index.tsx | 68 - website/pages/blog/[slug].tsx | 119 - website/pages/blog/index.tsx | 66 - website/pages/index.tsx | 181 - website/pages/other-downloads/index.tsx | 109 - .../other-downloads/nightly-downloads.tsx | 118 - .../pages/other-downloads/package-manager.tsx | 117 - .../other-downloads/stable-downloads.tsx | 195 - website/playwright.config.ts | 12 + website/pnpm-lock.yaml | 4502 ------------ website/postcss.config.cjs | 6 + website/posts/getting-started-with-spotube.md | 84 - website/posts/images/.gitkeep | 0 website/posts/spotube-basics.md | 41 + website/public/android-chrome-192x192.png | Bin 25999 -> 0 bytes website/public/android-chrome-512x512.png | Bin 25999 -> 0 bytes website/public/apple-touch-icon.png | Bin 26572 -> 0 bytes website/public/favicon-16x16.png | Bin 1627 -> 0 bytes website/public/favicon-32x32.png | Bin 2682 -> 0 bytes website/public/favicon.ico | Bin 1150 -> 0 bytes website/public/google7d445d7199e703dc.html | 1 - website/public/headline-1.png | Bin 344416 -> 0 bytes website/public/headline-2a.svg | 1 - website/public/headline-2b.png | Bin 1167053 -> 0 bytes website/public/headline-3.svg | 1 - website/public/site.webmanifest | 1 - website/public/spotube-screenshot-web.jpg | Bin 330295 -> 0 bytes website/src/app.d.ts | 22 + website/src/app.html | 23 + website/src/app.postcss | 11 + .../downloads/download-items.svelte | 25 + .../src/lib/components/markdown/layout.svelte | 3 + .../components/navbar/darkmode-toggle.svelte | 32 + .../src/lib/components/navbar/navbar.svelte | 57 + .../lib/components/navdrawer/navdrawer.svelte | 37 + website/src/lib/index.ts | 61 + website/src/lib/persisted-store.ts | 106 + website/src/lib/posts.ts | 41 + website/src/routes/+layout.svelte | 71 + website/src/routes/+page.svelte | 110 + website/src/routes/+page.ts | 34 + website/src/routes/about/+page.svelte | 22 + website/src/routes/api/posts/+server.ts | 9 + website/src/routes/blog/+page.svelte | 32 + website/src/routes/blog/+page.ts | 11 + website/src/routes/blog/[slug]/+page.svelte | 26 + website/src/routes/blog/[slug]/+page.ts | 23 + website/src/routes/downloads/+page.svelte | 39 + .../src/routes/downloads/nightly/+page.svelte | 33 + .../src/routes/downloads/older/+page.svelte | 138 + website/src/routes/downloads/older/+page.ts | 14 + .../src/routes/downloads/packages/+page.svx | 70 + website/static/android-chrome-192x192.png | Bin 0 -> 12127 bytes website/static/android-chrome-512x512.png | Bin 0 -> 64675 bytes website/static/apple-touch-icon.png | Bin 0 -> 10898 bytes website/static/favicon-16x16.png | Bin 0 -> 390 bytes website/static/favicon-32x32.png | Bin 0 -> 777 bytes website/static/favicon.ico | Bin 0 -> 15406 bytes website/static/fonts/AbrilFatface.ttf | Bin 0 -> 58448 bytes website/static/images/spotube-logo.png | Bin 0 -> 91271 bytes .../images}/spotube-logo.svg | 0 website/static/manifest.json | 19 + website/static/robots.txt | 1 + website/styles/globals.css | 16 - website/svelte.config.js | 55 + website/tailwind.config.ts | 28 + website/tests/test.ts | 6 + website/tsconfig.json | 31 +- website/vite.config.ts | 22 + 96 files changed, 7913 insertions(+), 6885 deletions(-) create mode 100644 website/.eslintignore create mode 100644 website/.eslintrc.cjs delete mode 100755 website/.eslintrc.json mode change 100755 => 100644 website/.gitignore create mode 100644 website/.node-version create mode 100644 website/.npmrc create mode 100644 website/.prettierignore create mode 100644 website/.vscode/settings.json mode change 100755 => 100644 website/README.md delete mode 100644 website/components/AdDetector.tsx delete mode 100644 website/components/ArticleCard.tsx delete mode 100644 website/components/CodeBlock.tsx delete mode 100644 website/components/DownloadButton.tsx delete mode 100644 website/components/Footer.tsx delete mode 100644 website/components/Navbar.tsx delete mode 100644 website/components/UserDetailedCard.tsx delete mode 100644 website/components/special.tsx delete mode 100644 website/configurations/gtag.ts delete mode 100644 website/configurations/ocotokit.ts delete mode 100644 website/hooks/usePlatform.ts delete mode 100644 website/misc/MarkdownComponentDefs.tsx delete mode 100755 website/next-env.d.ts delete mode 100755 website/next.config.js create mode 100644 website/package-lock.json delete mode 100755 website/pages/_app.tsx delete mode 100644 website/pages/about/index.tsx delete mode 100644 website/pages/blog/[slug].tsx delete mode 100644 website/pages/blog/index.tsx delete mode 100755 website/pages/index.tsx delete mode 100644 website/pages/other-downloads/index.tsx delete mode 100644 website/pages/other-downloads/nightly-downloads.tsx delete mode 100644 website/pages/other-downloads/package-manager.tsx delete mode 100644 website/pages/other-downloads/stable-downloads.tsx create mode 100644 website/playwright.config.ts delete mode 100644 website/pnpm-lock.yaml create mode 100644 website/postcss.config.cjs delete mode 100644 website/posts/getting-started-with-spotube.md create mode 100644 website/posts/images/.gitkeep create mode 100644 website/posts/spotube-basics.md delete mode 100644 website/public/android-chrome-192x192.png delete mode 100644 website/public/android-chrome-512x512.png delete mode 100644 website/public/apple-touch-icon.png delete mode 100644 website/public/favicon-16x16.png delete mode 100644 website/public/favicon-32x32.png delete mode 100644 website/public/favicon.ico delete mode 100644 website/public/google7d445d7199e703dc.html delete mode 100644 website/public/headline-1.png delete mode 100644 website/public/headline-2a.svg delete mode 100644 website/public/headline-2b.png delete mode 100644 website/public/headline-3.svg delete mode 100644 website/public/site.webmanifest delete mode 100644 website/public/spotube-screenshot-web.jpg create mode 100644 website/src/app.d.ts create mode 100644 website/src/app.html create mode 100644 website/src/app.postcss create mode 100644 website/src/lib/components/downloads/download-items.svelte create mode 100644 website/src/lib/components/markdown/layout.svelte create mode 100644 website/src/lib/components/navbar/darkmode-toggle.svelte create mode 100644 website/src/lib/components/navbar/navbar.svelte create mode 100644 website/src/lib/components/navdrawer/navdrawer.svelte create mode 100644 website/src/lib/index.ts create mode 100644 website/src/lib/persisted-store.ts create mode 100644 website/src/lib/posts.ts create mode 100644 website/src/routes/+layout.svelte create mode 100644 website/src/routes/+page.svelte create mode 100644 website/src/routes/+page.ts create mode 100644 website/src/routes/about/+page.svelte create mode 100644 website/src/routes/api/posts/+server.ts create mode 100644 website/src/routes/blog/+page.svelte create mode 100644 website/src/routes/blog/+page.ts create mode 100644 website/src/routes/blog/[slug]/+page.svelte create mode 100644 website/src/routes/blog/[slug]/+page.ts create mode 100644 website/src/routes/downloads/+page.svelte create mode 100644 website/src/routes/downloads/nightly/+page.svelte create mode 100644 website/src/routes/downloads/older/+page.svelte create mode 100644 website/src/routes/downloads/older/+page.ts create mode 100644 website/src/routes/downloads/packages/+page.svx create mode 100644 website/static/android-chrome-192x192.png create mode 100644 website/static/android-chrome-512x512.png create mode 100644 website/static/apple-touch-icon.png create mode 100644 website/static/favicon-16x16.png create mode 100644 website/static/favicon-32x32.png create mode 100644 website/static/favicon.ico create mode 100644 website/static/fonts/AbrilFatface.ttf create mode 100644 website/static/images/spotube-logo.png rename website/{public => static/images}/spotube-logo.svg (100%) create mode 100644 website/static/manifest.json create mode 100644 website/static/robots.txt delete mode 100755 website/styles/globals.css create mode 100644 website/svelte.config.js create mode 100644 website/tailwind.config.ts create mode 100644 website/tests/test.ts mode change 100755 => 100644 website/tsconfig.json create mode 100644 website/vite.config.ts diff --git a/website/.eslintignore b/website/.eslintignore new file mode 100644 index 00000000..38972655 --- /dev/null +++ b/website/.eslintignore @@ -0,0 +1,13 @@ +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example + +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/website/.eslintrc.cjs b/website/.eslintrc.cjs new file mode 100644 index 00000000..0b757582 --- /dev/null +++ b/website/.eslintrc.cjs @@ -0,0 +1,31 @@ +/** @type { import("eslint").Linter.Config } */ +module.exports = { + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:svelte/recommended', + 'prettier' + ], + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020, + extraFileExtensions: ['.svelte'] + }, + env: { + browser: true, + es2017: true, + node: true + }, + overrides: [ + { + files: ['*.svelte'], + parser: 'svelte-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser' + } + } + ] +}; diff --git a/website/.eslintrc.json b/website/.eslintrc.json deleted file mode 100755 index 22c30ebe..00000000 --- a/website/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": [ - "next/core-web-vitals", - "prettier" - ] -} \ No newline at end of file diff --git a/website/.gitignore b/website/.gitignore old mode 100755 new mode 100644 index ee4209a0..c1f6d69f --- a/website/.gitignore +++ b/website/.gitignore @@ -1,38 +1,11 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc .DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo - +node_modules +/build /.svelte-kit -/.netlify +/package +.env +.env.* +!.env.example +vite.config.js.timestamp-* +vite.config.ts.timestamp-* +.netlify diff --git a/website/.node-version b/website/.node-version new file mode 100644 index 00000000..18c28417 --- /dev/null +++ b/website/.node-version @@ -0,0 +1 @@ +20.11.0 \ No newline at end of file diff --git a/website/.npmrc b/website/.npmrc new file mode 100644 index 00000000..b6f27f13 --- /dev/null +++ b/website/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/website/.prettierignore b/website/.prettierignore new file mode 100644 index 00000000..cc41cea9 --- /dev/null +++ b/website/.prettierignore @@ -0,0 +1,4 @@ +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/website/.prettierrc b/website/.prettierrc index 78760076..95730232 100644 --- a/website/.prettierrc +++ b/website/.prettierrc @@ -1,4 +1,8 @@ { - "singleQuote": false, - "useTabs": false -} \ No newline at end of file + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte"], + "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] +} diff --git a/website/.vscode/settings.json b/website/.vscode/settings.json new file mode 100644 index 00000000..e5c5673c --- /dev/null +++ b/website/.vscode/settings.json @@ -0,0 +1,120 @@ +{ + "prettier.documentSelectors": [ + "**/*.svelte" + ], + "tailwindCSS.classAttributes": [ + "class", + "accent", + "active", + "animIndeterminate", + "aspectRatio", + "background", + "badge", + "bgBackdrop", + "bgDark", + "bgDrawer", + "bgLight", + "blur", + "border", + "button", + "buttonAction", + "buttonBack", + "buttonClasses", + "buttonComplete", + "buttonDismiss", + "buttonNeutral", + "buttonNext", + "buttonPositive", + "buttonTextCancel", + "buttonTextConfirm", + "buttonTextFirst", + "buttonTextLast", + "buttonTextNext", + "buttonTextPrevious", + "buttonTextSubmit", + "caretClosed", + "caretOpen", + "chips", + "color", + "controlSeparator", + "controlVariant", + "cursor", + "display", + "element", + "fill", + "fillDark", + "fillLight", + "flex", + "flexDirection", + "gap", + "gridColumns", + "height", + "hover", + "inactive", + "indent", + "justify", + "meter", + "padding", + "position", + "regionAnchor", + "regionBackdrop", + "regionBody", + "regionCaption", + "regionCaret", + "regionCell", + "regionChildren", + "regionChipList", + "regionChipWrapper", + "regionCone", + "regionContent", + "regionControl", + "regionDefault", + "regionDrawer", + "regionFoot", + "regionFootCell", + "regionFooter", + "regionHead", + "regionHeadCell", + "regionHeader", + "regionIcon", + "regionInput", + "regionInterface", + "regionInterfaceText", + "regionLabel", + "regionLead", + "regionLegend", + "regionList", + "regionListItem", + "regionNavigation", + "regionPage", + "regionPanel", + "regionRowHeadline", + "regionRowMain", + "regionSummary", + "regionSymbol", + "regionTab", + "regionTrail", + "ring", + "rounded", + "select", + "shadow", + "slotDefault", + "slotFooter", + "slotHeader", + "slotLead", + "slotMessage", + "slotMeta", + "slotPageContent", + "slotPageFooter", + "slotPageHeader", + "slotSidebarLeft", + "slotSidebarRight", + "slotTrail", + "spacing", + "text", + "track", + "transition", + "width", + "zIndex" + ] +} \ No newline at end of file diff --git a/website/README.md b/website/README.md old mode 100755 new mode 100644 index c87e0421..5ce67661 --- a/website/README.md +++ b/website/README.md @@ -1,34 +1,38 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). +# create-svelte -## Getting Started +Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte). -First, run the development server: +## Creating a project + +If you're seeing this, you've probably already done this step. Congrats! + +```bash +# create a new project in the current directory +npm create svelte@latest + +# create a new project in my-app +npm create svelte@latest my-app +``` + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: ```bash npm run dev -# or -yarn dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +## Building -You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. +To create a production version of your app: -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. +```bash +npm run build +``` -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. +You can preview the production build with `npm run preview`. -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. +> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/website/components/AdDetector.tsx b/website/components/AdDetector.tsx deleted file mode 100644 index 33de86ec..00000000 --- a/website/components/AdDetector.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import { - Button, - CloseButton, - Heading, - Modal, - ModalBody, - ModalContent, - ModalFooter, - ModalHeader, - ModalOverlay, - Stack, - Text, - Tooltip, - useDisclosure, - VStack, -} from "@chakra-ui/react"; -import { FC, ReactNode, useEffect, useState } from "react"; - -const AdDetector: FC<{ children: ReactNode }> = ({ children }) => { - const [adBlockEnabled, setAdBlockEnabled] = useState(false); - const { isOpen, onOpen, onClose } = useDisclosure(); - const [joke, setJoke] = useState>({}); - - useEffect(() => { - (async () => { - const googleAdUrl = - "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; - try { - await fetch(new Request(googleAdUrl)); - } catch (e) { - setAdBlockEnabled(true); - setJoke( - await ( - await fetch( - "https://v2.jokeapi.dev/joke/Any?blacklistFlags=racist,sexist" - ) - ).json() - ); - onOpen(); - } - })(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - return ( - <> - - - - Support the Creator💚 - -

- Open source developers work really hard to provide the best, - secure & efficient software experience for you & people all around - the world. Most of the time we work without any wages at all but - we need minimum support to live & these Ads Helps Us earn - the minimum wage that we need to live.{" "} - - So, please support Spotube by disabling the AdBlocker on this - page or by sponsoring or donating to our collectives directly - -

-
- - - -
-
- {!adBlockEnabled ? ( - children - ) : ( - - - setAdBlockEnabled(false)} - /> - - - Here's something interesting: - - {joke.joke ?? ( - <> -

{joke.setup}

-

{joke.delivery}

- - )} -
-
- - - Be grateful for all the favors you get. But don't let it - become a pile of debt. Try returning them as soon as you can. - You'll feel relieved - - - - Kingkor Roy Tirtho - - -
- )} - - ); -}; - -export default AdDetector; diff --git a/website/components/ArticleCard.tsx b/website/components/ArticleCard.tsx deleted file mode 100644 index 0bef6f51..00000000 --- a/website/components/ArticleCard.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import { Link, Flex, Box, chakra, Image, Button, Text } from "@chakra-ui/react"; -import { BlogPost } from "pages/blog"; -import { FC } from "react"; -import NavLink from "next/link"; - -const ArticleCard: FC = ({ - metadata: { - author, - author_avatar_url, - cover_image, - tags, - title, - summary, - date, - }, - slug, -}) => { - return ( - - Article - - - - {tags.map((tag, i) => { - return ( - - {tag} - - ); - })} - - - {title} - - - - {summary} - - - - - - - Avatar - - {author} - - - {date} - - - - - - - - - - ); -}; - -export default ArticleCard; diff --git a/website/components/CodeBlock.tsx b/website/components/CodeBlock.tsx deleted file mode 100644 index 111a2011..00000000 --- a/website/components/CodeBlock.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { chakra } from "@chakra-ui/react"; -import { FC, ReactNode } from "react"; - -type Props = { - children: ReactNode; -}; - -export const CodeBlock: FC = ({ children }) => { - return ( - - {children} - - ); -}; diff --git a/website/components/DownloadButton.tsx b/website/components/DownloadButton.tsx deleted file mode 100644 index 1aa43e70..00000000 --- a/website/components/DownloadButton.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import { - Menu, - ButtonGroup, - Button, - MenuButton, - IconButton, - MenuList, - MenuItem, - Link as Anchor, -} from "@chakra-ui/react"; -import { Platform, usePlatform } from "hooks/usePlatform"; -import React from "react"; -import { - FaApple, - FaCaretDown, - FaUbuntu, - FaLinux, - FaWindows, - FaAndroid, -} from "react-icons/fa"; -import { MdOutlineFileDownload } from "react-icons/md"; - -const baseURL = "https://github.com/KRTirtho/spotube/releases/latest/download/"; - -const DownloadLinks = Object.freeze({ - [Platform.linux]: [ - { - name: "deb", - url: baseURL + "Spotube-linux-x86_64.deb", - icon: , - }, - { - name: "tar", - url: baseURL + "Spotube-linux-x86_64.tar.xz", - icon: , - }, - { - name: "AppImage", - url: baseURL + "Spotube-linux-x86_64.AppImage", - icon: , - }, - ], - [Platform.android]: [ - { - name: "apk", - url: baseURL + "Spotube-android-all-arch.apk", - icon: , - }, - ], - [Platform.mac]: [ - { - name: "dmg", - url: baseURL + "Spotube-macos-universal.dmg", - icon: , - }, - ], - [Platform.windows]: [ - { - name: "exe", - url: baseURL + "Spotube-windows-x86_64-setup.exe", - icon: , - }, - { - name: "nupkg", - url: baseURL + "Spotube-windows-x86_64.nupkg ", - icon: , - }, - ], -}); - -const DownloadButton = () => { - const platform = usePlatform(); - - const allPlatforms = Object.entries(Platform) - .map(([, value]) => { - return DownloadLinks[value].map((s) => ({ - ...s, - name: `${value} (.${s.name})`, - })); - }) - .flat(1); - - const currentPlatform = DownloadLinks[platform][0]; - return ( - - - - } - /> - - - {allPlatforms.map(({ name, url, icon }) => { - return ( - - {name} - - ); - })} - - - ); -}; - -export default DownloadButton; diff --git a/website/components/Footer.tsx b/website/components/Footer.tsx deleted file mode 100644 index a51cf0a2..00000000 --- a/website/components/Footer.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { Flex, chakra, Link, IconButton } from "@chakra-ui/react"; - -import { FaGithub, FaRedditAlien } from "react-icons/fa"; -import { FiTwitter } from "react-icons/fi"; - -const Footer = () => { - return ( - - - Spotube - - - - © {new Date().getFullYear()}, Spotube. All rights reserved - - - - } - variant="link" - /> - } - variant="link" - /> - } - variant="link" - /> - - - ); -}; - -export default Footer; diff --git a/website/components/Navbar.tsx b/website/components/Navbar.tsx deleted file mode 100644 index 7084b917..00000000 --- a/website/components/Navbar.tsx +++ /dev/null @@ -1,218 +0,0 @@ -import { - Box, - Button, - chakra, - CloseButton, - Flex, - Heading, - HStack, - IconButton, - Link, - useColorMode, - useColorModeValue, - useDisclosure, - VisuallyHidden, - VStack, -} from "@chakra-ui/react"; -import NavLink from "next/link"; -import { GoLightBulb } from "react-icons/go"; -import { FiGithub, FiSun } from "react-icons/fi"; -import Image from "next/image"; -import React from "react"; -import { AiOutlineMenu } from "react-icons/ai"; -import { BsHeartFill } from "react-icons/bs"; - -const Navbar = () => { - const bg = useColorModeValue("white", "gray.800"); - const mobileNav = useDisclosure(); - const { colorMode, toggleColorMode } = useColorMode(); - return ( - - - - - - Logo - - Spotube - - - Spotube - - - - - - - - - - - - - - - - - - : } - aria-label="Dark Mode Toggle" - onClick={() => { - toggleColorMode(); - }} - /> - - } - onClick={mobileNav.onOpen} - /> - - - - - - - - - - - - - - - - - - - - ); -}; - -export default Navbar; diff --git a/website/components/UserDetailedCard.tsx b/website/components/UserDetailedCard.tsx deleted file mode 100644 index fee3bdbd..00000000 --- a/website/components/UserDetailedCard.tsx +++ /dev/null @@ -1,153 +0,0 @@ -import { - Flex, - Box, - Icon, - chakra, - Image, - HStack, - IconButton, - Link, - CircularProgress, -} from "@chakra-ui/react"; -import { MdEmail, MdLocationOn } from "react-icons/md"; -import { BsFillBriefcaseFill } from "react-icons/bs"; -import { FC } from "react"; -import { FaGithub } from "react-icons/fa"; -import { FiTwitter } from "react-icons/fi"; -import { octokit } from "configurations/ocotokit"; -import useSWR from "swr"; - -interface UserDetailedCardProps { - username: string; - emoji: string; -} - -const UserDetailedCard: FC = ({ username, emoji }) => { - const { data } = useSWR(`user-${username}}`, () => - octokit.users.getByUsername({ username }) - ); - - if (!data) { - return ; - } - - return ( - - avatar - - - {emoji} - - {data.data.name ?? data.data.login} - - - - - - {data.data.bio} - - - {data.data.company && ( - - - - - {data.data.company} - - - )} - - {data.data.location && ( - - - - - {data.data.location} - - - )} - {data.data.email && ( - - - - {data.data.email} - - - )} - - } - variant="link" - /> - {data.data.twitter_username && ( - } - variant="link" - /> - )} - - - - ); -}; - -export default UserDetailedCard; diff --git a/website/components/special.tsx b/website/components/special.tsx deleted file mode 100644 index 93b2d565..00000000 --- a/website/components/special.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import Script from "next/script"; -import { FC, useId } from "react"; - -type AdComponent = FC<{ - slot: string; -}>; - -export const DisplayAd: AdComponent = ({ slot }) => { - const id = useId(); - return ( - <> - - - - ); -}; - -export const GridMultiplexAd: AdComponent = ({ slot }) => { - const id = useId(); - return ( - <> - - - - ); -}; - -export const InFeedAd = () => { - const id = useId(); - return ( - <> - - - - ); -}; diff --git a/website/configurations/gtag.ts b/website/configurations/gtag.ts deleted file mode 100644 index 01dcba50..00000000 --- a/website/configurations/gtag.ts +++ /dev/null @@ -1,17 +0,0 @@ -export const GA_TRACKING_ID = process.env.NEXT_PUBLIC_GA_ID; - -// https://developers.google.com/analytics/devguides/collection/gtagjs/pages -export const pageview = (url: any) => { - (window as any).gtag("config", GA_TRACKING_ID, { - page_path: url, - }); -}; - -// https://developers.google.com/analytics/devguides/collection/gtagjs/events -export const event = ({ action, category, label, value }: any) => { - (window as any).gtag("event", action, { - event_category: category, - event_label: label, - value: value, - }); -}; diff --git a/website/configurations/ocotokit.ts b/website/configurations/ocotokit.ts deleted file mode 100644 index b50fb197..00000000 --- a/website/configurations/ocotokit.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Octokit } from "@octokit/rest"; - -export const octokit: Octokit = new Octokit(); \ No newline at end of file diff --git a/website/hooks/usePlatform.ts b/website/hooks/usePlatform.ts deleted file mode 100644 index a502e4cd..00000000 --- a/website/hooks/usePlatform.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { useEffect, useState } from "react"; -import { detectOS } from "detect-browser"; - -export enum Platform { - linux = "Linux", - windows = "Windows", - mac = "Mac", - android = "Android", -} - -export function usePlatform(): Platform { - const [platform, setPlatform] = useState(Platform.linux); - - useEffect(() => { - const detectedPlatform = detectOS(navigator.userAgent)?.toLowerCase(); - - if (!detectedPlatform) return; - - if (detectedPlatform.includes("windows")) setPlatform(Platform.windows); - else if (detectedPlatform.includes("mac")) setPlatform(Platform.mac); - else if (detectedPlatform.includes("android")) - setPlatform(Platform.android); - }, []); - - return platform; -} diff --git a/website/misc/MarkdownComponentDefs.tsx b/website/misc/MarkdownComponentDefs.tsx deleted file mode 100644 index f3c901ca..00000000 --- a/website/misc/MarkdownComponentDefs.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { - Link as Anchor, - Heading, - Text, - chakra, - Code, - HStack, - Divider, - Box, -} from "@chakra-ui/react"; -import { Options } from "react-markdown"; - -export const MarkdownComponentDefs: Options["components"] = { - a: (props: any) => , - h1: (props: any) => , - h2: (props: any) => , - h3: (props: any) => , - h4: (props: any) => , - h5: (props: any) => , - h6: (props: any) => , - p: (props: any) => , - li: (props: any) => , - code: (props) => ( - - ), - blockquote: (props) => { - return ( - - - - {props.children} - - - - ); - }, -}; diff --git a/website/next-env.d.ts b/website/next-env.d.ts deleted file mode 100755 index 4f11a03d..00000000 --- a/website/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/website/next.config.js b/website/next.config.js deleted file mode 100755 index ae887958..00000000 --- a/website/next.config.js +++ /dev/null @@ -1,7 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - reactStrictMode: true, - swcMinify: true, -} - -module.exports = nextConfig diff --git a/website/package-lock.json b/website/package-lock.json new file mode 100644 index 00000000..89323983 --- /dev/null +++ b/website/package-lock.json @@ -0,0 +1,6391 @@ +{ + "name": "website", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "website", + "version": "0.0.1", + "dependencies": { + "@floating-ui/dom": "1.6.1", + "@fortawesome/free-brands-svg-icons": "^6.5.1", + "@octokit/openapi-types": "^19.1.0", + "@octokit/rest": "^20.0.2", + "date-fns": "^3.3.1", + "highlight.js": "11.9.0", + "lucide-svelte": "^0.323.0", + "mdsvex-relative-images": "^1.0.3", + "rehype-autolink-headings": "^7.1.0", + "rehype-slug": "^6.0.0", + "remark-container": "^0.1.2", + "remark-external-links": "^9.0.1", + "remark-gfm": "^4.0.0", + "remark-github": "^12.0.0", + "remark-reading-time": "^1.0.1", + "svelte-fa": "^4.0.2", + "svelte-markdown": "^0.4.1" + }, + "devDependencies": { + "@playwright/test": "^1.28.1", + "@skeletonlabs/skeleton": "2.8.0", + "@skeletonlabs/tw-plugin": "0.3.1", + "@sveltejs/adapter-cloudflare": "^4.1.0", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@tailwindcss/typography": "0.5.10", + "@types/eslint": "8.56.0", + "@types/node": "^20.11.16", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "10.4.17", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.35.1", + "mdsvex": "^0.11.0", + "postcss": "8.4.35", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.2.7", + "svelte-check": "^3.6.0", + "tailwindcss": "3.4.1", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^5.0.3", + "vite-plugin-tailwind-purgecss": "0.2.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@cloudflare/workers-types": { + "version": "4.20240208.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20240208.0.tgz", + "integrity": "sha512-MVGTTjZpJu4kJONvai5SdJzWIhOJbuweVZ3goI7FNyG+JdoQH41OoB+nMhLsX626vPLZVWGPIWsiSo/WZHzgQw==", + "dev": true + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.1.tgz", + "integrity": "sha512-iA8qE43/H5iGozC3W0YSnVSW42Vh522yyM1gj+BqRwVsTNOyr231PsXDaV04yT39PsO0QL2QpbI/M0ZaLUQgRQ==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz", + "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-brands-svg-icons": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.1.tgz", + "integrity": "sha512-093l7DAkx0aEtBq66Sf19MgoZewv1zeY9/4C7vSKPO4qMwEsW/2VYTUTpBtLwfb9T2R73tXaRDPmE4UqLCYHfg==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.1.0.tgz", + "integrity": "sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.0.0", + "@octokit/request": "^8.0.2", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz", + "integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==", + "dependencies": { + "@octokit/types": "^12.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", + "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", + "dependencies": { + "@octokit/request": "^8.0.1", + "@octokit/types": "^12.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz", + "integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz", + "integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==", + "dependencies": { + "@octokit/types": "^12.4.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=5" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.0.tgz", + "integrity": "sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=5" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.2.0.tgz", + "integrity": "sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==", + "dependencies": { + "@octokit/types": "^12.3.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=5" + } + }, + "node_modules/@octokit/request": { + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz", + "integrity": "sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==", + "dependencies": { + "@octokit/endpoint": "^9.0.0", + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", + "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", + "dependencies": { + "@octokit/types": "^12.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.0.2.tgz", + "integrity": "sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==", + "dependencies": { + "@octokit/core": "^5.0.0", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "^10.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz", + "integrity": "sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==", + "dependencies": { + "@octokit/openapi-types": "^19.1.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@playwright/test": { + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.41.2.tgz", + "integrity": "sha512-qQB9h7KbibJzrDpkXkYvsmiDJK14FULCCZgEcoe2AvFAS64oCirWTwzTlAYEbKaRxWs5TFesE1Na6izMv3HfGg==", + "dev": true, + "dependencies": { + "playwright": "1.41.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz", + "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz", + "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@skeletonlabs/skeleton": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton/-/skeleton-2.8.0.tgz", + "integrity": "sha512-R6spSJSyW9MA6cnVQ8IV7uoYSXxHmP/oWJ9IHdGDU9epPZaZMmOXUHJSzA1gngccB2jFaA/6jXfS1O1CsIlGMg==", + "dev": true, + "dependencies": { + "esm-env": "1.0.0" + }, + "peerDependencies": { + "svelte": "^3.56.0 || ^4.0.0" + } + }, + "node_modules/@skeletonlabs/tw-plugin": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@skeletonlabs/tw-plugin/-/tw-plugin-0.3.1.tgz", + "integrity": "sha512-DjjeOHN3HhFQf6gYPT2MUZMkIdw1jeB9mbuKC8etQxUlOR4XitfC7hssRWFJ8RJsvrrN0myCBbdWkVG1JVA96g==", + "dev": true, + "peerDependencies": { + "tailwindcss": ">=3.0.0" + } + }, + "node_modules/@sveltejs/adapter-cloudflare": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-4.1.0.tgz", + "integrity": "sha512-AQQdZAZpcFDcBiMEmxbMYhn4yKZYoPZrKUrYpVejjbO+9obIGIuj/jWjVzAEkHqZMZuoRRqPbq+Zq+AWRm4x1Q==", + "dev": true, + "dependencies": { + "@cloudflare/workers-types": "^4.20231121.0", + "esbuild": "^0.19.11", + "worktop": "0.8.0-next.18" + }, + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.0.tgz", + "integrity": "sha512-1uyXvzC2Lu1FZa30T4y5jUAC21R309ZMRG0TPt+PPPbNUoDpy8zSmSNVWYaBWxYDqLGQ5oPNWvjvvF2IjJ1jmA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^0.6.0", + "devalue": "^4.3.2", + "esm-env": "^1.0.0", + "import-meta-resolve": "^4.0.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^2.0.4", + "tiny-glob": "^0.2.9" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.3" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.2.tgz", + "integrity": "sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==", + "dev": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^2.0.0", + "debug": "^4.3.4", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "svelte-hmr": "^0.15.3", + "vitefu": "^0.2.5" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.0.0.tgz", + "integrity": "sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.0.0 || >=20" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.0" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/marked": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-5.0.2.tgz", + "integrity": "sha512-OucS4KMHhFzhz27KxmWg7J+kIYqyqoW5kdIEI319hqARQQUTqhao3M/F+uFnDXD0Rg72iDDZxZNxq5gvctmLlg==" + }, + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", + "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/pug": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.10.tgz", + "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "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.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", + "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001580", + "electron-to-chromium": "^1.4.648", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001585", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz", + "integrity": "sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/code-red": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1", + "acorn": "^8.10.0", + "estree-walker": "^3.0.3", + "periscopic": "^3.1.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/date-fns": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.3.1.tgz", + "integrity": "sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", + "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", + "dev": true + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.661", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.661.tgz", + "integrity": "sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "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" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "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.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "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" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-compat-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", + "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "2.35.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.35.1.tgz", + "integrity": "sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@jridgewell/sourcemap-codec": "^1.4.14", + "debug": "^4.3.1", + "eslint-compat-utils": "^0.1.2", + "esutils": "^2.0.3", + "known-css-properties": "^0.29.0", + "postcss": "^8.4.5", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.11", + "semver": "^7.5.3", + "svelte-eslint-parser": ">=0.33.0 <1.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0-0", + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-svelte/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/esm-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", + "dev": true + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", + "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/just-camel-case": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/just-camel-case/-/just-camel-case-4.0.2.tgz", + "integrity": "sha512-df6QI/EIq+6uHe/wtaa9Qq7/pp4wr4pJC/r1+7XhVL6m5j03G6h9u9/rIZr8rDASX7CxwDPQnZjffCo2e6PRLw==" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lucide-svelte": { + "version": "0.323.0", + "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.323.0.tgz", + "integrity": "sha512-3GEFk1vCwB8BtHTHZTocFJfX6AtTLQw9a74JSuihAGx+MzhxqeWk8W1TkM4WUlvE0x9UdONM2rJGRyx9IyjkJg==", + "peerDependencies": { + "svelte": "^3 || ^4 || ^5.0.0-next.42" + } + }, + "node_modules/magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.2.tgz", + "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "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.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.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.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + }, + "node_modules/mdsvex": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/mdsvex/-/mdsvex-0.11.0.tgz", + "integrity": "sha512-gJF1s0N2nCmdxcKn8HDn0LKrN8poStqAicp6bBcsKFd/zkUBGLP5e7vnxu+g0pjBbDFOscUyI1mtHz+YK2TCDw==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.3", + "prism-svelte": "^0.4.7", + "prismjs": "^1.17.1", + "vfile-message": "^2.0.4" + }, + "peerDependencies": { + "svelte": ">=3 <5" + } + }, + "node_modules/mdsvex-relative-images": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdsvex-relative-images/-/mdsvex-relative-images-1.0.3.tgz", + "integrity": "sha512-3XvpnaguRAhC5gchpqCH+A5Yl28xG9WDPylVla0+k90c5LT+QqSM+hwHd1v5C7gB2cAT0AIhuMsY/g6aCw+WDg==", + "dependencies": { + "just-camel-case": "^4.0.2", + "unist-util-visit": "^3.1.0" + } + }, + "node_modules/mdsvex-relative-images/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex-relative-images/node_modules/unist-util-visit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", + "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex-relative-images/node_modules/unist-util-visit-parents": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", + "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "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" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.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.0", + "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" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "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.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "dependencies": { + "devlop": "^1.0.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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/playwright": { + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.41.2.tgz", + "integrity": "sha512-v0bOa6H2GJChDL8pAeLa/LZC4feoAMbSQm1/jF/ySsWWoaNItvrMP7GEkvEEFyCTUYKMxjQKaTSg5up7nR6/8A==", + "dev": true, + "dependencies": { + "playwright-core": "1.41.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.41.2.tgz", + "integrity": "sha512-VaTvwCA4Y8kxEe+kfm2+uUUw5Lubf38RxF7FpBxLPmGe5sdNkSg5e3ChEigaGrX7qdqT3pt2m/98LiyvU2x6CA==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.1.2.tgz", + "integrity": "sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==", + "dev": true, + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + } + }, + "node_modules/prism-svelte": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/prism-svelte/-/prism-svelte-0.4.7.tgz", + "integrity": "sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==", + "dev": true + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/purgecss": { + "version": "6.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-6.0.0-alpha.0.tgz", + "integrity": "sha512-UC7d7uIyZsky+srEsSXny9BkbTcVn3ZtBCNX3rW3DsqJKhvUXFRpufA4ktcHzWF0+JLZgmsqjUm/8R82x9bHpw==", + "dev": true, + "dependencies": { + "commander": "^10.0.0", + "glob": "^8.0.3", + "postcss": "^8.4.4", + "postcss-selector-parser": "^6.0.7" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/purgecss/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/purgecss/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/purgecss/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/regexparam": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-3.0.0.tgz", + "integrity": "sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "dependencies": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-container": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/remark-container/-/remark-container-0.1.2.tgz", + "integrity": "sha512-E+G7dSALm3aMqyi15N4DxnRFQmBbHwxVc+9GrbijqwbdHzagUDvi2A3oI27y/PwLkSDRjwMfoc1rCIZayZ2PFg==" + }, + "node_modules/remark-external-links": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-9.0.1.tgz", + "integrity": "sha512-EYw+p8Zqy5oT5+W8iSKzInfRLY+zeKWHCf0ut+Q5SwnaSIDGXd2zzvp4SWqyAuVbinNmZ0zjMrDKaExWZnTYqQ==", + "dependencies": { + "@types/hast": "^2.3.2", + "@types/mdast": "^3.0.0", + "extend": "^3.0.0", + "is-absolute-url": "^4.0.0", + "mdast-util-definitions": "^5.0.0", + "space-separated-tokens": "^2.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/remark-external-links/node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/remark-external-links/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/remark-external-links/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "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.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-github": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/remark-github/-/remark-github-12.0.0.tgz", + "integrity": "sha512-ByefQKFN184LeiGRCabfl7zUJsdlMYWEhiLX1gpmQ11yFg6xSuOTW7LVCv0oc1x+YvUMJW23NU36sJX2RWGgvg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "to-vfile": "^8.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/remark-reading-time/-/remark-reading-time-1.0.1.tgz", + "integrity": "sha512-Z3yW1JSNgQcjpPavsKmWgY7wmqRQMXIKoh8r5RtvJdpDIWWf7O7MkhuFDZh+Ge/1Olv0tvD1pN4T7LEhwBQnUA==", + "dependencies": { + "reading-time": "^1.3.0", + "unist-util-visit": "^3.1.0" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-visit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", + "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-reading-time/node_modules/unist-util-visit-parents": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", + "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "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.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", + "dev": true, + "dependencies": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/sander/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sorcery": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", + "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.14", + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0" + }, + "bin": { + "sorcery": "bin/sorcery" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.10.tgz", + "integrity": "sha512-Ep06yCaCdgG1Mafb/Rx8sJ1QS3RW2I2BxGp2Ui9LBHSZ2/tO/aGLc5WqPjgiAP6KAnLJGaIr/zzwQlOo1b8MxA==", + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/estree": "^1.0.1", + "acorn": "^8.9.0", + "aria-query": "^5.3.0", + "axobject-query": "^4.0.0", + "code-red": "^1.0.3", + "css-tree": "^2.3.1", + "estree-walker": "^3.0.3", + "is-reference": "^3.0.1", + "locate-character": "^3.0.0", + "magic-string": "^0.30.4", + "periscopic": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/svelte-check": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.3.tgz", + "integrity": "sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "chokidar": "^3.4.1", + "fast-glob": "^3.2.7", + "import-fresh": "^3.2.1", + "picocolors": "^1.0.0", + "sade": "^1.7.4", + "svelte-preprocess": "^5.1.0", + "typescript": "^5.0.3" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "peerDependencies": { + "svelte": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0" + } + }, + "node_modules/svelte-eslint-parser": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.1.tgz", + "integrity": "sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==", + "dev": true, + "dependencies": { + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "postcss": "^8.4.29", + "postcss-scss": "^4.0.8" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/svelte-fa": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/svelte-fa/-/svelte-fa-4.0.2.tgz", + "integrity": "sha512-lza8Jfii6jcpMQB73mBStONxaLfZsUS+rKJ/hH6WxsHUd+g68+oHIL9yQTk4a0uY9HQk78T/CPvQnED0msqJfg==", + "peerDependencies": { + "svelte": "^4.0.0" + } + }, + "node_modules/svelte-hmr": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", + "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==", + "dev": true, + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.19.0 || ^4.0.0" + } + }, + "node_modules/svelte-markdown": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/svelte-markdown/-/svelte-markdown-0.4.1.tgz", + "integrity": "sha512-pOlLY6EruKJaWI9my/2bKX8PdTeP5CM0s4VMmwmC2prlOkjAf+AOmTM4wW/l19Y6WZ87YmP8+ZCJCCwBChWjYw==", + "dependencies": { + "@types/marked": "^5.0.1", + "marked": "^5.1.2" + }, + "peerDependencies": { + "svelte": "^4.0.0" + } + }, + "node_modules/svelte-preprocess": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.3.tgz", + "integrity": "sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/pug": "^2.0.6", + "detect-indent": "^6.1.0", + "magic-string": "^0.30.5", + "sorcery": "^0.11.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">= 16.0.0", + "pnpm": "^8.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.10.2", + "coffeescript": "^2.5.1", + "less": "^3.11.3 || ^4.0.0", + "postcss": "^7 || ^8", + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", + "pug": "^3.0.0", + "sass": "^1.26.8", + "stylus": "^0.55.0", + "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0", + "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "coffeescript": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "postcss-load-config": { + "optional": true + }, + "pug": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-vfile": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-8.0.0.tgz", + "integrity": "sha512-IcmH1xB5576MJc9qcfEC/m/nQCFt3fzMHz45sSlgJyTWjRbKW1HAkJpuf3DgE57YzIlZcwcBZA5ENQbBo4aLkg==", + "dependencies": { + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/unist-util-visit/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/vfile/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.0.tgz", + "integrity": "sha512-STmSFzhY4ljuhz14bg9LkMTk3d98IO6DIArnTY6MeBwiD1Za2StcQtz7fzOUnRCqrHSD5+OS2reg4HOz1eoLnw==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "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 + } + } + }, + "node_modules/vite-plugin-tailwind-purgecss": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-tailwind-purgecss/-/vite-plugin-tailwind-purgecss-0.2.0.tgz", + "integrity": "sha512-6Q+SaalUd0t3BOIIiCQPlbZQuYARVgjoC78X+fLbQJqIEy/9fC58aQgHMgi+CmYfVfZmJToA8YiLueSGEo2mng==", + "dev": true, + "dependencies": { + "estree-walker": "^3.0.3", + "purgecss": "6.0.0-alpha.0" + }, + "peerDependencies": { + "vite": "^4.1.1 || ^5.0.0" + } + }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "dev": true, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/worktop": { + "version": "0.8.0-next.18", + "resolved": "https://registry.npmjs.org/worktop/-/worktop-0.8.0-next.18.tgz", + "integrity": "sha512-+TvsA6VAVoMC3XDKR5MoC/qlLqDixEfOBysDEKnPIPou/NvoPWCAuXHXMsswwlvmEuvX56lQjvELLyLuzTKvRw==", + "dev": true, + "dependencies": { + "mrmime": "^2.0.0", + "regexparam": "^3.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/website/package.json b/website/package.json index de3f7033..cab83dd1 100644 --- a/website/package.json +++ b/website/package.json @@ -1,43 +1,63 @@ { "name": "website", - "version": "0.1.0", + "version": "0.0.1", "private": true, + "type": "module", "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@babel/core": "^7.18.6", - "@chakra-ui/react": "^2.2.4", - "@chakra-ui/system": "^2.2.2", - "@chakra-ui/theme-tools": "^2.0.5", - "@emotion/react": "^11", - "@emotion/styled": "^11", - "@octokit/rest": "^19.0.3", - "@types/progress": "^2.0.5", - "detect-browser": "^5.3.0", - "framer-motion": "^6", - "gray-matter": "^4.0.3", - "next": "12.2.2", - "nextjs-progressbar": "^0.0.14", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-icons": "^4.4.0", - "react-markdown": "^8.0.3", - "remark-gemoji": "^7.0.1", - "remark-gfm": "^3.0.1", - "swr": "^1.3.0" + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "test": "playwright test", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --check . && eslint .", + "format": "prettier --write ." }, "devDependencies": { - "@types/node": "18.0.5", - "@types/react": "18.0.15", - "@types/react-dom": "18.0.6", - "@types/react-syntax-highlighter": "^15.5.3", - "eslint": "8.20.0", - "eslint-config-next": "12.2.2", - "eslint-config-prettier": "^8.5.0", - "typescript": "4.7.4" + "@playwright/test": "^1.28.1", + "@skeletonlabs/skeleton": "2.8.0", + "@skeletonlabs/tw-plugin": "0.3.1", + "@sveltejs/adapter-cloudflare": "^4.1.0", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "@tailwindcss/typography": "0.5.10", + "@types/eslint": "8.56.0", + "@types/node": "^20.11.16", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "10.4.17", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-svelte": "^2.35.1", + "mdsvex": "^0.11.0", + "postcss": "8.4.35", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.2.7", + "svelte-check": "^3.6.0", + "tailwindcss": "3.4.1", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^5.0.3", + "vite-plugin-tailwind-purgecss": "0.2.0" + }, + "dependencies": { + "@floating-ui/dom": "1.6.1", + "@fortawesome/free-brands-svg-icons": "^6.5.1", + "@octokit/openapi-types": "^19.1.0", + "@octokit/rest": "^20.0.2", + "date-fns": "^3.3.1", + "highlight.js": "11.9.0", + "lucide-svelte": "^0.323.0", + "mdsvex-relative-images": "^1.0.3", + "rehype-autolink-headings": "^7.1.0", + "rehype-slug": "^6.0.0", + "remark-container": "^0.1.2", + "remark-external-links": "^9.0.1", + "remark-gfm": "^4.0.0", + "remark-github": "^12.0.0", + "remark-reading-time": "^1.0.1", + "svelte-fa": "^4.0.2", + "svelte-markdown": "^0.4.1" } -} +} \ No newline at end of file diff --git a/website/pages/_app.tsx b/website/pages/_app.tsx deleted file mode 100755 index 99163093..00000000 --- a/website/pages/_app.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import "../styles/globals.css"; -import type { AppProps } from "next/app"; -import { - ChakraProvider, - extendTheme, - withDefaultColorScheme, -} from "@chakra-ui/react"; -import Navbar from "components/Navbar"; -import { chakra } from "@chakra-ui/react"; -import { mode } from "@chakra-ui/theme-tools"; -import Head from "next/head"; -import { useRouter } from "next/router"; -// import Script from "next/script"; -// import * as gtag from "configurations/gtag"; -// import AdDetector from "components/AdDetector"; -import Footer from "components/Footer"; -import NextNProgress from "nextjs-progressbar"; - -const customTheme = extendTheme( - { - initialColorMode: 'system', - useSystemColorMode: true, - styles: { - global: (props: any) => ({ - body: { - bg: mode("white", "#171717")(props), - }, - }), - }, - colors: { - blue: { - 50: "#e6f2ff", - 100: "#e6f2ff", - 200: "#e6f2ff", - 300: "#1681bd", - 400: "#1681bd", - 500: "#3a4da5", - 600: "#2d3c7d", - 700: "#1f2b55", - 800: "#121c2e", - 900: "#080e18", - }, - components: { - Link: { - baseStyle: { - color: "blue", - }, - }, - }, - }, - }, - withDefaultColorScheme({ colorScheme: "blue" }) -); - -function MyApp({ Component, pageProps }: AppProps) { - const router = useRouter(); - // useEffect(() => { - // const handleRouteChange = (url: string) => { - // gtag.pageview(url); - // }; - // router.events.on("routeChangeComplete", handleRouteChange); - // router.events.on("hashChangeComplete", handleRouteChange); - // return () => { - // router.events.off("routeChangeComplete", handleRouteChange); - // router.events.off("hashChangeComplete", handleRouteChange); - // }; - // }, [router.events]); - - return ( - <> - {/* + +
+ {#each Object.entries(links) as link} + +
+ {#each link[1][1] as icon} + + {/each} +

+ {link[1][2]} +

+
+

{link[0]}

+
+ {/each} +
diff --git a/website/src/lib/components/markdown/layout.svelte b/website/src/lib/components/markdown/layout.svelte new file mode 100644 index 00000000..54426420 --- /dev/null +++ b/website/src/lib/components/markdown/layout.svelte @@ -0,0 +1,3 @@ +
+ +
diff --git a/website/src/lib/components/navbar/darkmode-toggle.svelte b/website/src/lib/components/navbar/darkmode-toggle.svelte new file mode 100644 index 00000000..ec4f757c --- /dev/null +++ b/website/src/lib/components/navbar/darkmode-toggle.svelte @@ -0,0 +1,32 @@ + + +
+ {#if label} + + {/if} + { + isDark.update((prev) => !prev); + }} + /> +
diff --git a/website/src/lib/components/navbar/navbar.svelte b/website/src/lib/components/navbar/navbar.svelte new file mode 100644 index 00000000..093fc09c --- /dev/null +++ b/website/src/lib/components/navbar/navbar.svelte @@ -0,0 +1,57 @@ + + +
+
+
+ +

+ + Spotube Logo + Spotube + +

+
+ + + +
+ +
diff --git a/website/src/lib/components/navdrawer/navdrawer.svelte b/website/src/lib/components/navdrawer/navdrawer.svelte new file mode 100644 index 00000000..68f53e06 --- /dev/null +++ b/website/src/lib/components/navdrawer/navdrawer.svelte @@ -0,0 +1,37 @@ + + + diff --git a/website/src/lib/index.ts b/website/src/lib/index.ts new file mode 100644 index 00000000..f0fb2ab8 --- /dev/null +++ b/website/src/lib/index.ts @@ -0,0 +1,61 @@ +import { + faAndroid, + faApple, + faDebian, + faFedora, + faOpensuse, + faUbuntu, + faWindows, + faRedhat +} from '@fortawesome/free-brands-svg-icons'; +import { type IconDefinition } from '@fortawesome/free-brands-svg-icons/index'; +import { Home, Newspaper, Download } from 'lucide-svelte'; + +export const routes: Record = { + '/': ['Home', Home], + '/blog': ['Blog', Newspaper], + '/downloads': ['Downloads', Download], + '/about': ['About', null] +}; + +const releasesUrl = 'https://github.com/KRTirtho/Spotube/releases/latest/download'; + +export const downloadLinks: Record = { + 'Android Apk': [`${releasesUrl}/Spotube-android-all-arch.apk`, [faAndroid]], + 'Windows Executable': [`${releasesUrl}/Spotube-windows-x86_64-setup.exe`, [faWindows]], + 'macOS Dmg': [`${releasesUrl}/Spotube-macos-universal.dmg`, [faApple]], + 'Ubuntu, Debian': [`${releasesUrl}/Spotube-linux-x86_64.deb`, [faUbuntu, faDebian]], + 'Fedora, Redhat, Opensuse': [ + `${releasesUrl}/Spotube-linux-x86_64.rpm`, + [faFedora, faRedhat, faOpensuse] + ], + 'iPhone Ipa': [`${releasesUrl}/Spotube-iOS.ipa`, [faApple]] +}; + +export const extendedDownloadLinks: Record = { + Android: [`${releasesUrl}/Spotube-android-all-arch.apk`, [faAndroid], 'apk'], + Windows: [`${releasesUrl}/Spotube-windows-x86_64-setup.exe`, [faWindows], 'exe'], + macOS: [`${releasesUrl}/Spotube-macos-universal.dmg`, [faApple], 'dmg'], + 'Ubuntu, Debian': [`${releasesUrl}/Spotube-linux-x86_64.deb`, [faUbuntu, faDebian], 'deb'], + 'Fedora, Redhat, Opensuse': [ + `${releasesUrl}/Spotube-linux-x86_64.rpm`, + [faFedora, faRedhat, faOpensuse], + 'rpm' + ], + iPhone: [`${releasesUrl}/Spotube-iOS.ipa`, [faApple], 'ipa'] +}; + +const nightlyReleaseUrl = 'https://github.com/KRTirtho/Spotube/releases/download/nightly'; + +export const extendedNightlyDownloadLinks: Record = { + Android: [`${nightlyReleaseUrl}/Spotube-android-all-arch.apk`, [faAndroid], 'apk'], + Windows: [`${nightlyReleaseUrl}/Spotube-windows-x86_64-setup.exe`, [faWindows], 'exe'], + macOS: [`${nightlyReleaseUrl}/Spotube-macos-universal.dmg`, [faApple], 'dmg'], + 'Ubuntu, Debian': [`${nightlyReleaseUrl}/Spotube-linux-x86_64.deb`, [faUbuntu, faDebian], 'deb'], + 'Fedora, Redhat, Opensuse': [ + `${nightlyReleaseUrl}/Spotube-linux-x86_64.rpm`, + [faFedora, faRedhat, faOpensuse], + 'rpm' + ], + iPhone: [`${nightlyReleaseUrl}/Spotube-iOS.ipa`, [faApple], 'ipa'] +}; diff --git a/website/src/lib/persisted-store.ts b/website/src/lib/persisted-store.ts new file mode 100644 index 00000000..0581fc1d --- /dev/null +++ b/website/src/lib/persisted-store.ts @@ -0,0 +1,106 @@ +import { writable as internal, type Writable } from 'svelte/store'; + +declare type Updater = (value: T) => T; +declare type StoreDict = { [key: string]: Writable }; + +/* eslint-disable @typescript-eslint/no-explicit-any */ +interface Stores { + local: StoreDict; + session: StoreDict; +} + +const stores: Stores = { + local: {}, + session: {} +}; + +export interface Serializer { + parse(text: string): T; + stringify(object: T): string; +} + +export type StorageType = 'local' | 'session'; + +export interface Options { + serializer?: Serializer; + storage?: StorageType; + syncTabs?: boolean; + onError?: (e: unknown) => void; +} + +function getStorage(type: StorageType) { + return type === 'local' ? localStorage : sessionStorage; +} + +/** @deprecated `writable()` has been renamed to `persisted()` */ +export function writable(key: string, initialValue: T, options?: Options): Writable { + console.warn( + "writable() has been deprecated. Please use persisted() instead.\n\nchange:\n\nimport { writable } from 'svelte-persisted-store'\n\nto:\n\nimport { persisted } from 'svelte-persisted-store'" + ); + return persisted(key, initialValue, options); +} +export function persisted(key: string, initialValue: T, options?: Options): Writable { + const serializer = options?.serializer ?? JSON; + const storageType = options?.storage ?? 'local'; + const syncTabs = options?.syncTabs ?? true; + const onError = + options?.onError ?? + ((e) => + console.error(`Error when writing value from persisted store "${key}" to ${storageType}`, e)); + const browser = typeof window !== 'undefined' && typeof document !== 'undefined'; + const storage = browser ? getStorage(storageType) : null; + + function updateStorage(key: string, value: T) { + try { + storage?.setItem(key, serializer.stringify(value)); + } catch (e) { + onError(e); + } + } + + function maybeLoadInitial(): T { + const json = storage?.getItem(key); + + if (json) { + return serializer.parse(json); + } + + return initialValue; + } + + if (!stores[storageType][key]) { + const initial = maybeLoadInitial(); + const store = internal(initial, (set) => { + if (browser && storageType == 'local' && syncTabs) { + const handleStorage = (event: StorageEvent) => { + if (event.key === key) set(event.newValue ? serializer.parse(event.newValue) : null); + }; + + window.addEventListener('storage', handleStorage); + + return () => window.removeEventListener('storage', handleStorage); + } + }); + + const { subscribe, set } = store; + + stores[storageType][key] = { + set(value: T) { + set(value); + updateStorage(key, value); + }, + update(callback: Updater) { + return store.update((last) => { + const value = callback(last); + + updateStorage(key, value); + + return value; + }); + }, + subscribe + }; + } + + return stores[storageType][key]; +} diff --git a/website/src/lib/posts.ts b/website/src/lib/posts.ts new file mode 100644 index 00000000..02fa3d07 --- /dev/null +++ b/website/src/lib/posts.ts @@ -0,0 +1,41 @@ +export interface Post { + date: string; + title: string; + tags: string[]; + published: boolean; + author: string; + readingTime: { + text: string; + minutes: number; + time: number; + words: number; + }; + reading_time_text: string; + preview_html: string; + preview: string; + previewHtml: string; + slug: string | null; + path: string; +} + +export const getPosts = async () => { + // Fetch posts from local Markdown files + const posts: Post[] = await Promise.all( + Object.entries(import.meta.glob('../../posts/**/*.md')).map(async ([path, resolver]) => { + const resolved = (await resolver()) as { metadata: Post }; + const { metadata } = resolved; + const slug = path.split('/').pop()?.slice(0, -3) ?? ''; + return { ...metadata, slug }; + }) + ); + + let sortedPosts = posts.sort((a, b) => +new Date(b.date) - +new Date(a.date)); + + sortedPosts = sortedPosts.map((post) => ({ + ...post + })); + + return { + posts: sortedPosts + }; +}; diff --git a/website/src/routes/+layout.svelte b/website/src/routes/+layout.svelte new file mode 100644 index 00000000..6908b77a --- /dev/null +++ b/website/src/routes/+layout.svelte @@ -0,0 +1,71 @@ + + +
+ + {#if $drawerStore.id === 'navdrawer'} + + {/if} + + + +

+
+ diff --git a/website/src/routes/+page.svelte b/website/src/routes/+page.svelte new file mode 100644 index 00000000..8b78dbc5 --- /dev/null +++ b/website/src/routes/+page.svelte @@ -0,0 +1,110 @@ + + + + Spotube + + + + + + + + +
+
+

Spotube

+
+

+ An Open Source Spotify Client for every platform +
+ + + + +
+

+

+ And it's not + built with Electron (web technologies) +

+
+ +
+
+ + +

+ +

+ Supporters + +

+

+ We are grateful for the support of individuals and organizations who have made Spotube possible. +

+ +
+ + Open Collective + +
+ + +
diff --git a/website/src/routes/+page.ts b/website/src/routes/+page.ts new file mode 100644 index 00000000..5d50a467 --- /dev/null +++ b/website/src/routes/+page.ts @@ -0,0 +1,34 @@ +interface Member { + MemberId: number; + createdAt: string; + type: string; + role: string; + isActive: boolean; + totalAmountDonated: number; + currency?: string; + lastTransactionAt: string; + lastTransactionAmount: number; + profile: string; + name: string; + company?: string; + description?: string; + image?: string; + email?: string; + twitter?: string; + github?: string; + website?: string; + tier?: string; +} + +export const load = async () => { + const res = await fetch('https://opencollective.com/spotube/members/all.json'); + const members = (await res.json()) as Member[]; + + return { + props: { + members: members + .filter((m) => m.totalAmountDonated > 0) + .sort((a, b) => b.totalAmountDonated - a.totalAmountDonated) + } + }; +}; diff --git a/website/src/routes/about/+page.svelte b/website/src/routes/about/+page.svelte new file mode 100644 index 00000000..7f88ea46 --- /dev/null +++ b/website/src/routes/about/+page.svelte @@ -0,0 +1,22 @@ +
+

About

+ +

+ +

Author & Developer

+
+ + Author of Spotube +
+
Kingkor Roy Tirtho
+

Flutter developer

+
+
diff --git a/website/src/routes/api/posts/+server.ts b/website/src/routes/api/posts/+server.ts new file mode 100644 index 00000000..af78499b --- /dev/null +++ b/website/src/routes/api/posts/+server.ts @@ -0,0 +1,9 @@ +import { getPosts } from '$lib/posts'; +import type { RequestHandler } from '@sveltejs/kit'; +import { json } from '@sveltejs/kit'; + +export const GET: RequestHandler = async () => { + const { posts } = await getPosts(); + + return json(posts); +}; diff --git a/website/src/routes/blog/+page.svelte b/website/src/routes/blog/+page.svelte new file mode 100644 index 00000000..5ee98938 --- /dev/null +++ b/website/src/routes/blog/+page.svelte @@ -0,0 +1,32 @@ + + +
+

Blog Posts

+
+ +
diff --git a/website/src/routes/blog/+page.ts b/website/src/routes/blog/+page.ts new file mode 100644 index 00000000..c48ac87f --- /dev/null +++ b/website/src/routes/blog/+page.ts @@ -0,0 +1,11 @@ +import type { Post } from '$lib/posts.js'; + +export const load = async ({ fetch }) => { + const res = await fetch(`api/posts`); + if (res.ok) { + const posts: Post[] = await res.json(); + return { posts }; + } else { + return { posts: [] }; + } +}; diff --git a/website/src/routes/blog/[slug]/+page.svelte b/website/src/routes/blog/[slug]/+page.svelte new file mode 100644 index 00000000..1931a991 --- /dev/null +++ b/website/src/routes/blog/[slug]/+page.svelte @@ -0,0 +1,26 @@ + + + + Blog | {title} + + +
+

{title}

+
+
+

{new Date(date).toDateString()}

+

{readingTime?.text ?? ''}

+ + + +
+
diff --git a/website/src/routes/blog/[slug]/+page.ts b/website/src/routes/blog/[slug]/+page.ts new file mode 100644 index 00000000..6621dbab --- /dev/null +++ b/website/src/routes/blog/[slug]/+page.ts @@ -0,0 +1,23 @@ +import type { Post } from '$lib/posts.js'; + +export const load = async ({ params }) => { + const { slug } = params; + + try { + const post = await import(`../../../../posts/${slug}.md`); + return { + Content: post.default as ConstructorOfATypedSvelteComponent, + meta: { + ...post.metadata, + slug, + path: `/blog/${slug}` + } as Post + }; + } catch (err) { + console.error('Error loading the post:', err); + return { + status: 500, + error: `Could not load the post: ${(err as Error).message || err}` + }; + } +}; diff --git a/website/src/routes/downloads/+page.svelte b/website/src/routes/downloads/+page.svelte new file mode 100644 index 00000000..50d101ee --- /dev/null +++ b/website/src/routes/downloads/+page.svelte @@ -0,0 +1,39 @@ + + +
+

+ Download + +

+

+
Spotube is available for every platform
+
+ + + +


+ +

Other Downloads

+

+
+ {#each otherDownloads as download} + +
+ +
{download[1]}
+
+
+ {/each} +
+
diff --git a/website/src/routes/downloads/nightly/+page.svelte b/website/src/routes/downloads/nightly/+page.svelte new file mode 100644 index 00000000..279e6736 --- /dev/null +++ b/website/src/routes/downloads/nightly/+page.svelte @@ -0,0 +1,33 @@ + + +
+

+ Nightly Downloads + +

+

+ +
+ + +
diff --git a/website/src/routes/downloads/older/+page.svelte b/website/src/routes/downloads/older/+page.svelte new file mode 100644 index 00000000..9f535230 --- /dev/null +++ b/website/src/routes/downloads/older/+page.svelte @@ -0,0 +1,138 @@ + + +
+
+

Older versions

+ +
+

+ +
+ {#each data.releases as release} +

+ {release.tag_name} + + ({formatDistanceToNow(release.published_at ?? new Date(), { addSuffix: true })}) + +

+
+ {#each Object.entries(groupByOS(release.assets)) as [osName, assets]} +
+
+ + {osName} +
+ +
+ {/each} +
+ + + + + Release Notes & Changelogs + + + + + + +
+ {/each} +
+
+
diff --git a/website/src/routes/downloads/older/+page.ts b/website/src/routes/downloads/older/+page.ts new file mode 100644 index 00000000..e26a329c --- /dev/null +++ b/website/src/routes/downloads/older/+page.ts @@ -0,0 +1,14 @@ +import type { PageLoad } from './$types'; +import { Octokit } from '@octokit/rest'; + +const github = new Octokit(); +export const load: PageLoad = async () => { + const { data: releases } = await github.repos.listReleases({ + owner: 'KRTirtho', + repo: 'spotube' + }); + + return { + releases + }; +}; diff --git a/website/src/routes/downloads/packages/+page.svx b/website/src/routes/downloads/packages/+page.svx new file mode 100644 index 00000000..e7da4e74 --- /dev/null +++ b/website/src/routes/downloads/packages/+page.svx @@ -0,0 +1,70 @@ +--- +title: CLI Packages Managers +author: Kingkor Roy Tirtho +--- + + + +
+

Package Managers

+ + Spotube is available in various Package Managers supported by Platform + + ## Linux + +### Flatpak + +Make sure [Flatpak](https://flatpak.org) is installed in your Linux device & Run the following command in the terminal: + +```bash +$ flatpak install com.github.KRTirtho.Spotube +``` + +### Arch User Repository (AUR) + +If you're an Arch Linux user, you can also install Spotube from AUR. +Make sure you have `yay`/`pamac`/`paru` installed in your system. And Run the Following command in the Terminal: + +```bash +$ yay -Sy spotube-bin +``` + +```bash +$ pamac install spotube-bin +``` + +```bash +$ paru -Sy spotube-bin +``` + +## Windows + +### Chocolatey + +Spotube is available in [community.chocolatey.org](https://community.chocolatey.org) repo. If you have chocolatey install in your system just run following command in an Elevated Command Prompt or PowerShell: + +```powershell +$ choco install spotube +``` + +### WinGet + +Spotube is also available in the Official Windows PackageManager WinGet. Make sure you have WinGet installed in your Windows machine and run following in a Terminal: + +```powershell +$ winget install --id KRTirtho.Spotube +``` + +### Scoop + +Spotube is also available in [Scoop](https://scoop.sh) bucket. Make sure you have Scoop installed in your Windows machine and run following in a Terminal: + +```powershell +$ scoop bucket add extras +$ scoop install spotube +``` + +
diff --git a/website/static/android-chrome-192x192.png b/website/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..2ef2f3e7ccee385755de9846c7df154518b1b0fb GIT binary patch literal 12127 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

a&RA|{>vspp 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 MlTZ+^{Aw8ZKlJOuh5!Hn literal 0 HcmV?d00001 diff --git a/website/static/apple-touch-icon.png b/website/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c171ce48479aa1b1bee546db6c61ba540be094f8 GIT binary patch literal 10898 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 Yc!|W47K!}p|KUO9KPpRCNty=z59y$sMF0Q* literal 0 HcmV?d00001 diff --git a/website/static/favicon-16x16.png b/website/static/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..6c14fa3254b5f22e7c19355fd5d2552610d47c91 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K$eK6tt~hFA!` zowU*Kuz`qczpRgDJi^scV{z zN)irE{yOjc#CKDVKE3LDl+XR$fom`BbAPMrR!D8nD~eq|{pXBLI#Tn^xV{|@=DWns zF3BG1^4B`-v--8uXC|9)g}u~WT6@s0Kg)slo#rLQqE9b4_Xy>_pYeUMz$Zy37CwQH z%4ccqGoCDooiLyO!u;TCi7cl&nOZxAza(|p?amNiV0M93wl0y$TT@%?o!*@__i{D& za0Gty(idCto}VdL!E9PzopM=IhTZK$u?POI?+IUYJ?QiUcDZw|pDP<)mxIE<)78&q Iol`;+08wCuU;qFB literal 0 HcmV?d00001 diff --git a/website/static/favicon-32x32.png b/website/static/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..8106368f759f00c71bf26a7b990482b9b213fe54 GIT binary patch literal 777 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz07Sip>6gA}f5OZv>fz*Ow%;usRa z`8LEiJJ?ag*7&oX@9ZgFmn1d{noQ{3qEPzuy4RguV!zn$?D#PK2Ybw}kM0~?i}YN$ zShogDTD5ZJH`Qm0_1`BS`z=(d8}vKQ zLaxPpyJz=%I_zThdfN~eb#!0q!SC!Re(Oo)%L^WV?{{+MPw(#+PEWn4mbG{fTmE-n zE%Bgur_kNK*X~)*sFdB?@6UfySxR)#_OCo`vWxyEGp{N$7Ok8z#j9ZvpLH?Yh6=I6 z&x*CI@7+sm-Y4pPW4q*(3!3_tL7Xqv+;v=jyTy8aGi%AY)2}alaq2m@qw`Vg?+Xb* zeU0lj^FF_I_s4I~ZWqR&jDl66JKo19q_6~p@zu_sH+y1#;movTftuD$+!8bG?(~Mg z2sx*C<>b~Dk3B731)GXlGL~GO@?i^u?T!aZJ?Hfw2-){CS6C@03SCe)4b-)rDXbiL zU`Ld4K=XkTp#{|+T3b|^jB11?d4BN~4-ywtF( z&=&6F$aU-Ti=tyYLxiuYxjd46P}gAWC;jG{R)AguyPnN2@kVjy%@^ADPg%ZKac`5& zjb70k%u!`{n_-bu1>T1y38Kj75)u!z-$C$aXY*}NY2 x;=btRLIp7o*L)M|PY83VKYWrUg%1S(Fex+M{_nocdKD-cdb;|#taD0e0ssaeJXrt$ literal 0 HcmV?d00001 diff --git a/website/static/favicon.ico b/website/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e8e1c26b02efef5c96d1a88266a4de95943c5b8c GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/website/static/images/spotube-logo.png b/website/static/images/spotube-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b24a8c238dbd80e359026b114a0c097de9422823 GIT binary patch literal 91271 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 H-`)QM?;rZo literal 0 HcmV?d00001 diff --git a/website/public/spotube-logo.svg b/website/static/images/spotube-logo.svg similarity index 100% rename from website/public/spotube-logo.svg rename to website/static/images/spotube-logo.svg diff --git a/website/static/manifest.json b/website/static/manifest.json new file mode 100644 index 00000000..a6f8ee29 --- /dev/null +++ b/website/static/manifest.json @@ -0,0 +1,19 @@ +{ + "name": "Spotube", + "short_name": "spotube", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/website/static/robots.txt b/website/static/robots.txt new file mode 100644 index 00000000..7d329b1d --- /dev/null +++ b/website/static/robots.txt @@ -0,0 +1 @@ +User-agent: * diff --git a/website/styles/globals.css b/website/styles/globals.css deleted file mode 100755 index e5e2dcc2..00000000 --- a/website/styles/globals.css +++ /dev/null @@ -1,16 +0,0 @@ -html, -body { - padding: 0; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} - -a { - color: inherit; - text-decoration: none; -} - -* { - box-sizing: border-box; -} diff --git a/website/svelte.config.js b/website/svelte.config.js new file mode 100644 index 00000000..b5717e39 --- /dev/null +++ b/website/svelte.config.js @@ -0,0 +1,55 @@ +import adapter from '@sveltejs/adapter-cloudflare'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; +import { mdsvex } from 'mdsvex'; +import readingTime from 'remark-reading-time'; +import remarkExternalLinks from 'remark-external-links'; +import slugPlugin from 'rehype-slug'; +import autolinkHeadings from 'rehype-autolink-headings'; +import relativeImages from 'mdsvex-relative-images'; +import remarkGfm from 'remark-gfm'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + extensions: ['.svelte', '.svx', '.md'], + // Consult https://kit.svelte.dev/docs/integrations#preprocessors + // for more information about preprocessors + preprocess: [ + vitePreprocess(), + mdsvex({ + extensions: ['.svx', '.md'], + highlight: {}, + layout: './src/lib/components/markdown/layout.svelte', + smartypants: { + dashes: 'oldschool' + }, + + remarkPlugins: [ + remarkGfm, + // adds a `readingTime` frontmatter attribute + readingTime(), + relativeImages, + // external links open in a new tab + [remarkExternalLinks, { target: '_blank', rel: 'noopener' }] + ], + rehypePlugins: [ + slugPlugin, + [ + autolinkHeadings, + { + behavior: 'wrap' + } + ] + ] + }) + ], + vitePlugin: { + inspector: true + }, + kit: { + // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. + // If your environment is not supported or you settled on a specific environment, switch out the adapter. + // See https://kit.svelte.dev/docs/adapters for more information about adapters. + adapter: adapter() + } +}; +export default config; diff --git a/website/tailwind.config.ts b/website/tailwind.config.ts new file mode 100644 index 00000000..77611a2e --- /dev/null +++ b/website/tailwind.config.ts @@ -0,0 +1,28 @@ +import { join } from 'path'; +import type { Config } from 'tailwindcss'; +import typography from '@tailwindcss/typography'; +import { skeleton } from '@skeletonlabs/tw-plugin'; + +export default { + darkMode: 'class', + content: [ + './src/**/*.{html,js,svelte,ts}', + join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts}') + ], + theme: { + extend: {} + }, + plugins: [ + typography, + skeleton({ + themes: { + preset: [ + { + name: 'wintry', + enhancements: true + } + ] + } + }) + ] +} satisfies Config; diff --git a/website/tests/test.ts b/website/tests/test.ts new file mode 100644 index 00000000..5816be41 --- /dev/null +++ b/website/tests/test.ts @@ -0,0 +1,6 @@ +import { expect, test } from '@playwright/test'; + +test('index page has expected h1', async ({ page }) => { + await page.goto('/'); + await expect(page.getByRole('heading', { name: 'Welcome to SvelteKit' })).toBeVisible(); +}); diff --git a/website/tsconfig.json b/website/tsconfig.json old mode 100755 new mode 100644 index ace58477..8534dc99 --- a/website/tsconfig.json +++ b/website/tsconfig.json @@ -1,23 +1,18 @@ { + "extends": "./.svelte-kit/tsconfig.json", "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "declaration": true, - "sourceMap": true, + "checkJs": true, "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", + "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "baseUrl": "." - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] -} + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +} \ No newline at end of file diff --git a/website/vite.config.ts b/website/vite.config.ts new file mode 100644 index 00000000..839d4507 --- /dev/null +++ b/website/vite.config.ts @@ -0,0 +1,22 @@ +import { purgeCss } from 'vite-plugin-tailwind-purgecss'; +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [ + sveltekit(), + purgeCss({ + safelist: { + // any selectors that begin with "hljs-" will not be purged + greedy: [/^hljs-/] + } + }) + ], + server: { + fs: { + // Allow serving files from one level up to the project root + // posts, copy + allow: ['..'] + } + } +});