diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 000000000..5fb7262b9
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,10 @@
+# Dependencies
+node_modules/
+
+# macOS
+.DS_Store
+
+# VitePress' dev server cache
+docs/.vitepress/cache
+# VitePress' production build
+docs/.vitepress/dist
diff --git a/docs/.prettierrc.json b/docs/.prettierrc.json
new file mode 100644
index 000000000..8af31cded
--- /dev/null
+++ b/docs/.prettierrc.json
@@ -0,0 +1,4 @@
+{
+ "tabWidth": 4,
+ "proseWrap": "always"
+}
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 000000000..7af229177
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,49 @@
+# Docs
+
+Help and documentation for Ente's products
+
+> [!CAUTION]
+>
+> **Currently not published**. There are bits we need to clean up before
+> publishing these docs. They'll likely be available at help.ente.io once we
+> wrap those loose ends up.
+
+## Running
+
+Install dependencies
+
+```sh
+yarn install
+```
+
+Then start a local server
+
+```sh
+yarn dev
+```
+
+## Workflow
+
+You can edit these files directly on GitHub and open a pull request. That is the
+easiest workflow to get started without needing to install anything on your
+local machine.
+
+If you plan on contributing frequently, we recommend using an editor. VSCode is
+a good choice. Also install the Prettier extension for VSCode, and set VSCode to
+format on save. This way the editor will automatically format and wrap the text
+using the project's standard, so you can just focus on the content.
+
+Note that we currently don't enforce these formatting standards to make it easy
+for people unfamiliar with programming to also be able to make edits from GitHub
+directly.
+
+This is a common theme - unlike the rest of the codebase where we expect some
+baseline understanding of the tools involved, the docs are meant to be a place
+for non-technical people to also provide their input. The reason for this is not
+to increase the number of docs, but to bring more diversity to them. Such
+diversity of viewpoints is essential for evolving documents that can be of help
+to people of varying level of familiarity with tech.
+
+If you're unsure about how to do something, just look around in the other files
+and copy paste whatever seems to match the look of what you're trying to do. And
+remember, writing docs should not be a chore, have fun!
diff --git a/docs/docs/.vitepress/config.ts b/docs/docs/.vitepress/config.ts
new file mode 100644
index 000000000..460dacc8a
--- /dev/null
+++ b/docs/docs/.vitepress/config.ts
@@ -0,0 +1,38 @@
+import { defineConfig } from "vitepress";
+import { sidebar } from "./sidebar";
+
+// https://vitepress.dev/reference/site-config
+export default defineConfig({
+ title: "Ente Help",
+ description: "Documentation and help for Ente's products",
+ head: [["link", { rel: "icon", type: "image/png", href: "/favicon.png" }]],
+ cleanUrls: true,
+ themeConfig: {
+ // We use the default theme (with some CSS color overrides). This
+ // themeConfig block can be used to further customize the default theme.
+ //
+ // https://vitepress.dev/reference/default-theme-config
+ logo: "/logo.png",
+ externalLinkIcon: true,
+ editLink: {
+ pattern:
+ "https://github.com/ente-io/ente/edit/main/docs/docs/:path",
+ },
+ // nav: [
+ // { text: "Photos", link: "/photos/index" },
+ // { text: "Authenticator", link: "/authenticator/index" },
+ // ],
+ search: {
+ provider: "local",
+ options: {
+ detailedView: true,
+ },
+ },
+ sidebar: sidebar,
+ socialLinks: [
+ { icon: "github", link: "https://github.com/ente-io/ente/" },
+ { icon: "twitter", link: "https://twitter.com/enteio" },
+ { icon: "discord", link: "https://discord.gg/z2YVKkycX3" },
+ ],
+ },
+});
diff --git a/docs/docs/.vitepress/sidebar.ts b/docs/docs/.vitepress/sidebar.ts
new file mode 100644
index 000000000..8f2d556f4
--- /dev/null
+++ b/docs/docs/.vitepress/sidebar.ts
@@ -0,0 +1,95 @@
+// When adding new pages, they need to manually inserted into their appropriate
+// place here if you wish them to also appear in the sidebar.
+
+export const sidebar = [];
+
+function sidebarOld() {
+ return [
+ {
+ text: "Welcome",
+ items: [
+ {
+ text: "About",
+ collapsed: true,
+ link: "/about/company",
+ items: [
+ { text: "Company", link: "/about/company" },
+ { text: "Products", link: "/about/products" },
+ { text: "Plans", link: "/about/plans" },
+ { text: "Support", link: "/about/support" },
+ { text: "Community", link: "/about/community" },
+ { text: "Open source", link: "/about/open-source" },
+ { text: "Contribute", link: "/about/contribute" },
+ ],
+ },
+ {
+ text: "Features",
+ collapsed: true,
+ items: [
+ {
+ text: "Family Plan",
+ link: "/photos/features/family-plan",
+ },
+ { text: "Albums", link: "/photos/features/albums" },
+ { text: "Archive", link: "/photos/features/archive" },
+ { text: "Hidden", link: "/photos/features/hidden" },
+ { text: "Map", link: "/photos/features/map" },
+ {
+ text: "Location Tags",
+ link: "/photos/features/location",
+ },
+ {
+ text: "Collect Photos",
+ link: "/photos/features/collect",
+ },
+ {
+ text: "Public links",
+ link: "/photos/features/public-links",
+ },
+ {
+ text: "Quick link",
+ link: "/photos/features/quick-link",
+ },
+ {
+ text: "Watch folder",
+ link: "/photos/features/watch-folder",
+ },
+ { text: "Trash", link: "/photos/features/trash" },
+ {
+ text: "Uncategorized",
+ link: "/photos/features/uncategorized",
+ },
+ {
+ text: "Referral Plan",
+ link: "/photos/features/referral",
+ },
+ {
+ text: "Live & Motion Photos",
+ link: "/photos/features/live-photos",
+ },
+ { text: "Cast", link: "/photos/features/cast" },
+ ],
+ },
+ {
+ text: "Troubleshoot",
+ collapsed: true,
+ link: "/photos/troubleshooting/files-not-uploading",
+ items: [
+ {
+ text: "Files not uploading",
+ link: "/photos/troubleshooting/files-not-uploading",
+ },
+ {
+ text: "Failed to play video",
+ link: "/photos/troubleshooting/video-not-playing",
+ },
+ {
+ text: "Report bug",
+ link: "/photos/troubleshooting/report-bug",
+ },
+ ],
+ },
+ ],
+ },
+ ];
+}
diff --git a/docs/docs/.vitepress/theme/custom.css b/docs/docs/.vitepress/theme/custom.css
new file mode 100644
index 000000000..41132ee64
--- /dev/null
+++ b/docs/docs/.vitepress/theme/custom.css
@@ -0,0 +1,19 @@
+:root {
+ --ente-theme-color: #1db954;
+ --ente-theme-color-alt: #00b33c;
+
+ --vp-theme-color: var(--ente-theme-color);
+ --vp-c-brand: var(--ente-theme-color);
+ --vp-c-brand-1: var(--ente-theme-color);
+ --vp-c-brand-2: var(--ente-theme-color-alt);
+ --vp-home-hero-name-color: var(--ente-theme-color);
+ --vp-c-brand-light: var(--ente-theme-color);
+ --vp-button-brand-border: var(--ente-theme-color);
+ --vp-button-brand-bg: var(--ente-theme-color);
+ --vp-button-brand-text: #191919;
+ --vp-button-brand-hover-border: var(--ente-theme-color-alt);
+ --vp-button-brand-hover-bg: #191919;
+ --vp-button-brand-hover-text: #e5e5e5;
+ --vp-local-search-highlight-bg: var(--ente-theme-color);
+ --docsearch-hit-active-color: #191919;
+}
diff --git a/docs/docs/.vitepress/theme/index.js b/docs/docs/.vitepress/theme/index.js
new file mode 100644
index 000000000..c495bc1b8
--- /dev/null
+++ b/docs/docs/.vitepress/theme/index.js
@@ -0,0 +1,4 @@
+import DefaultTheme from "vitepress/theme";
+import "./custom.css";
+
+export default DefaultTheme;
diff --git a/docs/docs/about/ducky.png b/docs/docs/about/ducky.png
new file mode 100644
index 000000000..991252998
Binary files /dev/null and b/docs/docs/about/ducky.png differ
diff --git a/docs/docs/about/index.md b/docs/docs/about/index.md
new file mode 100644
index 000000000..d52fbf1c9
--- /dev/null
+++ b/docs/docs/about/index.md
@@ -0,0 +1,122 @@
+---
+title: About Ente
+description: >
+ An overview of Ente: the company, and the people behind it, and the products
+ that we make.
+---
+
+Ente is a platform for privately, reliably, and securely storing your data on
+the cloud. On top of this platform, Ente offers two products currently:
+
+* Ente Photos - An alternative to Google Photos and Apple Photos
+
+* Ente Auth - A (free!) app for storing your 2FA codes.
+
+and more products are in the pipeline.
+
+## History
+
+Ente was the founded by Vishnu Mohandas, who is also the Ente's CEO, in response
+to privacy concerns with major tech companies. The underlying motivation was the
+understanding that big tech had no incentive to fix their act, but with
+end-to-end encrypted cross platform apps, there was a way for people to take
+back control over their own data without sacrificing on features.
+
+### What does Ente mean?
+
+In Malayalam, Vishnu's native language, "ente" means "mine". Thus "Ente Photos"
+has the literal meaning "my photos".
+
+This was a good name, but still Vishnu looked around for better ones. But one
+day, he discovered that "ente" means "duck" in German. This unexpected
+connection sealed the deal! We should ask him why he likes ducks so much, but
+apparently he does, so this dual meaning ("mine" / "duck") led him to finalize
+the name, and also led to the adoption of the duck as Ente's mascot, "Ducky":
+
+
+
+![Ente's mascot, Ducky](ducky.png){width=200px}
+
+
+
+### How do I pronounce Ente?
+
+en-_tay_. Like cafe.
+
+---
+
+# Products
+
+Ente currently offers Photo and Auth. Additionally, there are some other
+products (Lockers and Legacy) that are being considered.
+
+## Ente Photos
+
+Ente Photos goes beyond traditional cloud storage, prioritizing your privacy and
+the safety of your cherished memories. All your photos, along with their
+metadata, are stored end-to-end encrypted, ensuring that only you have access to
+your data.
+
+Ente preserves your encrypted photos across three different clouds in three
+separate locations, including an underground fallout shelter. This multi-layered
+backup strategy provides a high level of reliability.
+
+Ente photos is available for Android, iOS, Linux, Mac, Windows and the web.
+
+# Ente Auth
+
+Ente auth is ust an authenticator app; it's an open-source initiative
+dedicated to securing your 2FA secrets. Now, you can backup and view your
+two-factor authentication secrets seamlessly. find more information about the
+project on GitHub at github.com/ente-io/auth.
+
+As a token of gratitude to the community that has supported us, Ente Auth is
+offered as a free service. If in the future we convert this to a paid service,
+existing users will be grandfathered in.
+
+Ente auth is available on Android, iOS, and the web
+
+# Connect with Ente
+
+## Customer support
+
+Connect with our support team for swift assistance and expert guidance email us
+@support@ente.io.
+Reach out to our dev team @team@ente.io, even our CEO and CTO personally
+responds here.
+
+## Blog
+
+As Ente continues to evolve, So does our story. Follow our blog @
+https://ente.io/blog As Ente undergoes continuous growth and development, our
+narrative unfolds. Explore our blog for exclusive company updates that offer an
+insider's perspective. Regularly visit the Ente blog to maintain your
+connection, stay well informed, and draw insipration.
+
+## Roadmap
+
+You plays a pivotal role in shaping the future direction of Ente's product, and
+we invite you to be an integral part of it.
+
+Take a look at our roadmap to see where we're headed
+https://roadmap.ente.io/roadmap/
+
+# Community
+
+#### Join our vibrant community and stay updated on all things on Ente! Follow us on various platforms for the latest news, updates, and engaging content
+
+#### Discord
+
+Join our Discord for real-time discussions, solutions to queries, and a thriving
+camaraderie. Stay updated on all things on Ente!
+
+🐦 Twitter: https://twitter.com/enteio
+
+🔗 Reddit: https://www.reddit.com/r/enteio
+
+📸 Instagram: https://www.instagram.com/ente.app/
+
+🐘 Mastodon: https://mstdn.social/@ente
+
+🔗 LinkedIn: https://www.linkedin.com/company/ente-io/
+
diff --git a/docs/docs/auth/index.md b/docs/docs/auth/index.md
new file mode 100644
index 000000000..491d1d11c
--- /dev/null
+++ b/docs/docs/auth/index.md
@@ -0,0 +1,15 @@
+---
+title: Ente Auth
+description: User guide for Ente Auth
+---
+
+# Welcome to the Ente Auth's User Guide!
+
+Ente Auth is a free, cross-platform, end-to-end encrypted authenticator app for
+everyone. You can use it to safely store your 2FA codes (second-factor
+authentication codes).
+
+> [!CAUTION]
+>
+> These docs are still incomplete. If you feel like contributing though, help us
+> [fill them in](https://github.com/ente-io/ente/docs).
diff --git a/docs/docs/auth/support/contribute.md b/docs/docs/auth/support/contribute.md
new file mode 100644
index 000000000..dd208e1f3
--- /dev/null
+++ b/docs/docs/auth/support/contribute.md
@@ -0,0 +1,8 @@
+## Translation
+
+## Icons
+
+## Support Development
+
+If you wish to support the development of the project, please consider switching
+to paid plan of [Ente Photos](https://ente.io)
diff --git a/docs/docs/de/auth/index.md b/docs/docs/de/auth/index.md
new file mode 100644
index 000000000..3dfee073d
--- /dev/null
+++ b/docs/docs/de/auth/index.md
@@ -0,0 +1,13 @@
+---
+title: Ente Auth
+description: Ente Auth-Benutzerhandbuch
+---
+
+# Willkommen beim Ente Auth-Benutzerhandbuch!
+
+Ente Authenticator ist eine kostenlose, plattformübergreifende,
+Ende-zu-Ende-verschlüsselte Authenticator-App für jedermann. Wir sind froh, dass
+du hier bist!
+
+**Please note that this German translation is currently just a placeholder.**
+Know German? [Help us fill this in!](https://github.com/ente-io/ente/docs).
diff --git a/docs/docs/photos/faq/faq.md b/docs/docs/photos/faq/faq.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/docs/docs/photos/features/albums.md b/docs/docs/photos/features/albums.md
new file mode 100644
index 000000000..18d9b4722
--- /dev/null
+++ b/docs/docs/photos/features/albums.md
@@ -0,0 +1,67 @@
+# Albums
+
+This guide will show you how to make the most of your albums with simple yet
+effective features. Below are the features that allow you to personailze your
+albums according to your preferences:
+
+## 1. Rename album: Personalize your albums by giving them a meaningful name
+
+### How to Rename an album on your mobile?
+
+- Open the album
+- Tap the three dots button in the top right corner of the screen
+- Tap rename album, then type in a new name
+- Tap on Rename button
+
+### How to Rename an album on your Desktop?
+
+- Open the album
+- Click on the overflow menu in the top right corner
+- Click the Rename album
+- Type in a new name
+- Click on Rename or Press enter
+
+## 2. Set cover: Select any photo you want to use as the cover for your album.
+
+### How to set an album cover on mobile?
+
+- Open the album you want to change
+- Tap the three dots button in the top right corner
+- From the menu options, select Set cover
+- A new screen will appear, propmpting you to select the cover photo
+- Browse through your photos and tap on the image you want to set as the album
+ cover
+- Then tap on Use selected photo
+
+## 3. Map: Explore the memories based on their location
+
+### How to explore the album's photo in map view?
+
+- Open the album
+- Tap on the three dots button in the top right corner
+- Select map
+- View all photos of the album in map view
+
+## 4. Sort by: Maintain order in your albums by arranging them from the newest to the oldest
+
+### How to sort by on mobile?
+
+- Open the album
+- Tap on the three dots button in the top right corner
+- Select sort by
+- Tap on the Newst first for the latest, Or Oldest first for the oldest
+
+### How to sort by on desktop?
+
+- Open the album
+- Click on the three dots button in the top right corner
+- Click sort by
+- Click on the Newest first for the latest, Or oldest first for the oldest
+
+## 5. Pin album: Keep your favorite album at the top by pinning them for quick access.
+
+### How to Pin/Unpin an album on Mobile?
+
+- Open the album
+- Tap on the three dots button in the top right corner
+- Tap on Pin album/Unpin album
diff --git a/docs/docs/photos/features/archive.md b/docs/docs/photos/features/archive.md
new file mode 100644
index 000000000..5464bf15a
--- /dev/null
+++ b/docs/docs/photos/features/archive.md
@@ -0,0 +1,46 @@
+# Archive
+
+You can remove a photo (owned by you) or an album from your **home timeline** by
+archiving it. Archived photos won't be included in the memories section on the
+mobile app.
+
+- All photos within a archived album will be removed from home timeline, even
+ when some of the photos are also present in a non-archived album.
+- You can archive albums that are owned by you or shared with you.
+- Search results will include archived photos. If you want to hide photos from
+ search result, use [Hide](./hidden.md) feature.
+
+### How to
+
+#### Archive Album
+
+- Open the album
+- Click on the overflow menu
+- Click on Archive album
+
+#### Archive Photo
+
+- Long press to select the photo
+- Select Archive option from the bottom menu.
+
+#### View Archived Photos and Albums
+
+**Mobile**
+
+- Go to Albums tab
+- Scroll down to bottom
+- Click on Archive button.
+
+**Desktop**
+
+- Click on the topleft hamburger menu
+- Click on Archive
+
+### Metadata Privacy
+
+Both Ente and the person with whom you are sharing an album or photo have no
+information about whether you have
+
+- Archived a photo
+- Archived an album
+- Archived a shared album.
diff --git a/docs/docs/photos/features/cast.md b/docs/docs/photos/features/cast.md
new file mode 100644
index 000000000..faec1c9db
--- /dev/null
+++ b/docs/docs/photos/features/cast.md
@@ -0,0 +1,36 @@
+# Cast
+
+With ente Cast, you can play a slideshow of your favourite albums on your Google
+Chromecast TVs or other Internet-connected large screen devices.
+
+## Get Started
+
+1. Open ente on the web or on your mobile device.
+2. Select the album you want to play on your large screen device.
+3. Click "Play album on TV" in the album menu.
+
+On the web, you can find this menu in the balls menu on the right hand side.
+![Balls menu](/assets/cast/web-play-album-on-tv.webp)
+
+4. Choose how you want to pair your device with your large screen device.
+ ![Pairing options](/assets/cast/web-pairing-options.webp)
+
+On Chromium browsers, you will see a button labeled "Auto Pair". This option
+will prompt you to select a Chromecast supported device on your local network.
+Note: this option requires connecting to Google servers to load necessary
+dependencies. This option does not transmit any sensitive data through Google
+servers, such as your photos. Once your Chromecast device is connected, you're
+all set.
+
+On all browsers, you'll see the option to "Pair with PIN". This option works
+with all devices, Chromecast-enabled or not. You'll be required to load up
+[cast.ente.io](https://cast.ente.io) on your large screen device.
+
+5. Enter the PIN displayed on your large screen device into the input field on
+ your mobile or web device.
+
+On your large screen device, you'll see the following screen.
+![Pairing screen](/assets/cast/tv-pairing-screen.webp)
+
+6. If you entered your PIN correctly, you'll see a screen on your TV with a
+ green checkmark confirming the connection.
diff --git a/docs/docs/photos/features/collect.md b/docs/docs/photos/features/collect.md
new file mode 100644
index 000000000..829775043
--- /dev/null
+++ b/docs/docs/photos/features/collect.md
@@ -0,0 +1,28 @@
+# Collect photos: Collecting memories from events is now a breeze!
+
+- Whether it's a birthday party, vacation trip or wedding, easily share your
+ album using a unique, secure, end-to-end encrypted link.
+- Introduce the 'collect photos' feature to your friends and family who can
+ contribute without an ente account.
+- This allows them to effortlessly add, view, and download photos from the
+ link without an ente account.
+- Also preserves metadata and photo quality
+
+## How to Collect photos on mobile?
+
+- Open the album you want to share with
+- Tap on the Share album icon in the top right corner of the screen
+- Select 'Collect photos'
+- Tap 'Copy link'
+- The link has been copied to your clipboard. Now, feel free to share it
+
+## How to Collect photos on Web/Desktop?
+
+To collect photos on the web/desktop:
+
+- Open the album
+- Click on the share album icon
+- Select Collect photos
+- Click on Copy link
+- The link has been copied to your clipboard. Share it effortlessly with
+ others!
diff --git a/docs/docs/photos/features/family-plan.md b/docs/docs/photos/features/family-plan.md
new file mode 100644
index 000000000..cda8382aa
--- /dev/null
+++ b/docs/docs/photos/features/family-plan.md
@@ -0,0 +1,18 @@
+# Family plans
+
+Paid subscribers of Ente can share the storage with their family, **at no
+additional cost** as you have already paid for the storage.
+
+In breif,
+
+- Your family members can use storage space from your plan without paying
+ extra.
+
+- Ask them to sign up for Ente, and then just add them to your existing plan
+ using the "Manage family" option within your Subscription settings.
+
+- Each member gets their own private space, and cannot see each other's files
+ unless they're shared.
+
+- You can invite 5 family members. So including yourself, it will be 6 people
+ who can share a single subscription, paying only once.
diff --git a/docs/docs/photos/features/hidden.md b/docs/docs/photos/features/hidden.md
new file mode 100644
index 000000000..46a99ec96
--- /dev/null
+++ b/docs/docs/photos/features/hidden.md
@@ -0,0 +1,59 @@
+# Hidden
+
+You can further protect extra sensitive photos or albums by hiding them. Hidden
+photos or albums will **only be viewable** after an extra layer of
+authentication inside the app. Hidden differs from [Archive](./archive.md) in
+the fact that hidden photos won't be surfaced anywhere in the app without
+explicit authentication, whereas Archive only removes them from the home
+timeline and memories sections.
+
+- Hidden photos and albums will be removed from home timelines, memories,
+ albums tab, search results, and any other visable place in the app.
+- Hidden photos will be removed from all regular albums. If you want to unhide
+ again you will have to specify the album to move it to.
+- You cannot hide photos or albums shared with you. You can archive shared
+ albums instead.
+
+### How to
+
+#### Hide album
+
+- Open the album
+- Click on the overflow menu
+- Click on Hide album
+
+#### Hide photo
+
+- Select the photo
+- Click on Hide option from the select menu
+
+#### View hidden photos and albums
+
+_Mobile_:
+
+- Go to Albums tab
+- Scroll down to bottom
+- Click on Hidden button
+- Authenticate in app
+
+_Desktop_:
+
+- Click on the topleft hamburger menu
+- Click on Hidden
+- Authenticate in app
+
+#### Unhide album
+
+- Open the hidden album
+- Click on the overflow menu
+- Click on Unhide album
+
+#### Unhide photo
+
+- Select the hidden photo
+- Click on Unhide option from the select menu
+- Click on the album the photo should be restored to
+
+### Metadata Privacy
+
+Ente has no information about whether you have hidden a photo or album.
diff --git a/docs/docs/photos/features/live-photos.md b/docs/docs/photos/features/live-photos.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/docs/docs/photos/features/location.md b/docs/docs/photos/features/location.md
new file mode 100644
index 000000000..9dfcfbdd7
--- /dev/null
+++ b/docs/docs/photos/features/location.md
@@ -0,0 +1,35 @@
+# Location Tags: Search and Organize Your Photos
+
+## Overview:
+
+The Location Tags feature allows you to efficiently search and organize your
+photos based on their geographical location. Instead of sending your queries to
+our servers, we've implemented a privacy-friendly solution that runs searches
+locally on your device.
+
+## How to Use Location Tags:
+
+### Method 1: Adding Location Tags from a Photo
+
+1. Open a photo.
+2. Click on "Info."
+3. Select "Add Location."
+4. Enter the location name and define a radius.
+
+### Method 2: Adding Location Tags from the Search Tab
+
+1. Go to the search tab.
+2. Click on "Add new" at the end of the location tags section.
+3. Select a photo as the center point for the location tag.
+4. Enter the location name and define a radius.
+
+## Note:
+
+- The app will automatically cluster photos falling within a radius under a
+ specified location.
+- Location Tags provide a seamless way to filter photos without compromising
+ your privacy.
+- Location tags are stored end-to-end encrypted, ensuring the security of your
+ data.
+- Enjoy a more organized photo library by tagging important places like home,
+ office, and vacation spots.
diff --git a/docs/docs/photos/features/map.md b/docs/docs/photos/features/map.md
new file mode 100644
index 000000000..3890b1c47
--- /dev/null
+++ b/docs/docs/photos/features/map.md
@@ -0,0 +1,34 @@
+# Map : View and explore your photos on the map
+
+## How can I view photos on the map on mobile?
+
+- Step 1. Find the search icon located at the bottom right corner of your
+ screen.
+- Step 2. Tap on the globe icon (Your map) withing the location
+- Step 3. Enter the map view and start exploring your photos from around the
+ world.
+
+## How to enable map on your mobile app?
+
+- Step 1. Tap the three horizontal lines located at the top left corner of
+ your home screen or swipe left on the home screen.
+- Step 2. Select "General" settings.
+- Step 3. Enter the "Advanced" settings.
+- Step 4. Use the toggle switch to turn the map feature on or off
+
+## How to view Album photos on the map?
+
+- Step 1. Open the album containing the photos you want to view
+- Step 2. Tap on the three horizontal lines located in the top right corner of
+ the screen.
+- Step 3. Select "Map" from the options.
+- Step 4. View and explore your photos on the map.
+
+## How to enable map on desktop?
+
+- Step 1. Click on the three horizontal lines located in the top left corner
+ of the app.
+- Step 2. Navigate to "preferences" from the menu.
+- Step 3. Select "Advanced" in the preference menu.
+- Step 4. Click on "Map" to access map settings.
+- Step 5. Toggle the map settings on and off based on your preferences.
diff --git a/docs/docs/photos/features/public-links.md b/docs/docs/photos/features/public-links.md
new file mode 100644
index 000000000..2afce455e
--- /dev/null
+++ b/docs/docs/photos/features/public-links.md
@@ -0,0 +1,20 @@
+# Public Links
+
+Ente lets you share your photos via links, that can be accessed by anyone,
+without an app or account.
+
+The contents within these links are also end-to-end encrypted.
+
+> Implementation details have been documented
+> [here](https://ente.io/blog/building-shareable-links/).
+
+You can also use these links to collect photos from your friends after a party
+or event. Everything they add also remains end-to-end encrypted.
+
+In addition to this, links support the following features:
+
+- Link expiry (so the links go poof after a duration you define)
+- Device limits (in case you don't want someone to forwarding your link)
+- Password lock (to add an additional level of protection to your photos)
+- Prevent downloads (while we can't prevent screenshots, we can disable the
+ option to download your original photos)
diff --git a/docs/docs/photos/features/quick-link.md b/docs/docs/photos/features/quick-link.md
new file mode 100644
index 000000000..286b6d282
--- /dev/null
+++ b/docs/docs/photos/features/quick-link.md
@@ -0,0 +1,12 @@
+# Quick Links
+
+Quick links allows you to select single or multiple photos & create a link.
+Behind the scene, ente creates a special album and put all the selected files in
+that special album.
+
+- You can view all quick links created by you in the sharing tab, under Quick
+ links section.
+- Quick links can be converted to regular album.
+- Remove link will not delete the photos that are present in that link.
+- Similar to [public-links](./public-links.md), you can set link expirty, set
+ passwords or device limits.
diff --git a/docs/docs/photos/features/referral.md b/docs/docs/photos/features/referral.md
new file mode 100644
index 000000000..f0818bb9b
--- /dev/null
+++ b/docs/docs/photos/features/referral.md
@@ -0,0 +1,41 @@
+# Referral plan: Earn and Expand Your Storage
+
+## Overview:
+
+Did you know you can boost your storage on Ente simply by referring your
+friends? Our referral program lets you earn 10 GB of free storage for each
+friend who upgrades to a paid plan, and your referred friends receive an
+additional 10 GB with their subscription.
+
+## How to Refer a friend?
+
+On the Home Page:
+
+- Click on the hamburger menu in the top left corner
+- Open the sidebar
+- Tap on 'General'
+- Select Referrals
+- Share the code with your friend or family
+
+Note:
+
+- Once your friend upgrades to a paid plan, both you and your friend receive
+ an additional 10 GB of storage
+- Keep track of your earned storage and referral details on Claim free storage
+ screen
+- If you refer more friends than your plan allows, the extra storage earned
+ will be reserved until you upgrade your plan
+- Earned storage remains accessible as long as your subscription is active
+
+## How to apply Refferal code of a friend?
+
+On the Home Page:
+
+- Click on the hamburger menu inthe top left corner
+- Tap on 'General' from the options
+- Select 'Referrals' from the menu
+- Find and tap on 'Apply Code.'
+- Enter the referral code provided by your friend.
+
+Note: Please note that referral codes should be applied within one month of
+account creation to claim free storage.
diff --git a/docs/docs/photos/features/trash.md b/docs/docs/photos/features/trash.md
new file mode 100644
index 000000000..f52ed676d
--- /dev/null
+++ b/docs/docs/photos/features/trash.md
@@ -0,0 +1,7 @@
+# Trash
+
+Whenever you delete an item from ente, it is moved to Trash. These items will be
+automatically deleted from Trash after 30 days. You can manaully select or
+completely empty the trash, if you wish.
+
+Items in trash are included in your used storage calculation.
diff --git a/docs/docs/photos/features/uncategorized.md b/docs/docs/photos/features/uncategorized.md
new file mode 100644
index 000000000..e73333c9a
--- /dev/null
+++ b/docs/docs/photos/features/uncategorized.md
@@ -0,0 +1,18 @@
+## Uncategoried
+
+"Uncategorized" is a special album type where photos are automatically added
+under the following circumstances:
+
+- When you remove a photo from the last album, it is relocated to
+ "Uncategorized."
+- During album deletion, if you choose to keep photos but delete the album,
+ all photos exclusive to the current album are moved to the "Uncategorized"
+ section.
+
+Note: This does not include photos uploaded by others.
+
+### Clean up Uncategorized
+
+In the mobile app, you can click on the overflow menu and click
+`Clean Uncategorized` option. All files that are also present in another album,
+that is owned by the user, will be removed from the Uncategorized section.
diff --git a/docs/docs/photos/features/watch-folder.md b/docs/docs/photos/features/watch-folder.md
new file mode 100644
index 000000000..52a33bd52
--- /dev/null
+++ b/docs/docs/photos/features/watch-folder.md
@@ -0,0 +1,30 @@
+# Watched Folders: Effortless Syncing
+
+## Overview:
+
+The ente desktop app now allows you to "watch" a folder on your computer for any
+changes, creating a one-way sync from your device to the Ente cloud. This will
+make photo management and backup a breeze.
+
+## How to add Watch folders?
+
+- Click on the hamburger menu in the top left corner
+- Open the sidebar
+- Select "Watch Folders"
+- Choose "Add Watch Folders"
+- Pick the folder from your system that you want to add as Watch folder
+
+## How to remove Watch folders?
+
+- Click on the hamburger menu in the top left corner
+- Open the sidebar
+- Select "Watch Folders"
+- Click on the three dots menu next to the folders on the right side
+- Choose "Stop Watching" from the menu
+
+# Note:
+
+- Option to choose whether to sync nested folders to a single album or
+ separate albums.
+- The app continuously monitors changes in the watched folder, such as the
+ addition or removal of files
diff --git a/docs/docs/photos/getting-started/index.md b/docs/docs/photos/getting-started/index.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/docs/docs/photos/index.md b/docs/docs/photos/index.md
new file mode 100644
index 000000000..7fd7214a1
--- /dev/null
+++ b/docs/docs/photos/index.md
@@ -0,0 +1,42 @@
+# Welcome to Help!
+
+Welcome to Ente Photos Help! If you're new to Ente Photos, our
+[Quick Start](./getting-started/index.md) and [FAQs](./faq/faq.md) are great
+places to begin.
+
+If you can’t find an answer, please [ask the community](https://ente.io/discord)
+or write to **support@ente.io**.
+
+To send a bug report or a feature suggestion, you can use
+[Github Issues](https://github.com/ente-io/photos-app/issues).
+
+Feedback about this documentation can be shared on our
+[Discord Server](https://ente.io/discord) in the **\#docs** channel. We would
+love to hear your thoughts on anything we can fix or improve.
+
+## About Ente Photos
+
+[Ente Photos](https://ente.io) is a safe home for your photos and videos.
+
+You can store, share, and re-discover your moments with absolute privacy.
+
+## About Ente Auth
+
+[Ente Auth](https://ente.io/auth) is a secure, end-to-end encrypted 2FA app with
+multi-platform sync.
+
+Learn more about Auth [here](../authenticator/).
+
+## Contributing
+
+The source for this documentation is available at
+[github.com/ente-io/docs](https://github.com/ente-io/docs).
+
+Please see our
+[contribution guide](https://github.com/ente-io/docs#contributing). We'd be
+grateful for any fixes and improvements!
+
+Once your contributions are accepted, please add yourself to the list of
+[Contributors](./misc/contributors.md).
+
+Thank you!
diff --git a/docs/docs/photos/misc/contributors.md b/docs/docs/photos/misc/contributors.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/docs/docs/photos/troubleshooting/files-not-uploading.md b/docs/docs/photos/troubleshooting/files-not-uploading.md
new file mode 100644
index 000000000..c3f538b4a
--- /dev/null
+++ b/docs/docs/photos/troubleshooting/files-not-uploading.md
@@ -0,0 +1,13 @@
+## Network Issue
+
+If you are using VPN, please try disabling the VPN or switching provider.
+
+## Web/Desktop
+
+**Certain file types are not uploading**
+
+The desktop/web app tries to detect if a particular file is video or image. If
+the detection fails, then the app skips the upload. Please share either the
+sample file or logs with us @support.ente.io
+
+## Mobile
diff --git a/docs/docs/photos/troubleshooting/report-bug.md b/docs/docs/photos/troubleshooting/report-bug.md
new file mode 100644
index 000000000..239cb30d9
--- /dev/null
+++ b/docs/docs/photos/troubleshooting/report-bug.md
@@ -0,0 +1,15 @@
+## Report Bug
+
+Guide to help the user in sharing logs.
+
+### Mobile
+
+Placeholder
+
+### Desktop
+
+Placeholder
+
+### Web
+
+Placeholder
diff --git a/docs/docs/photos/troubleshooting/video-not-playing.md b/docs/docs/photos/troubleshooting/video-not-playing.md
new file mode 100644
index 000000000..ff0251043
--- /dev/null
+++ b/docs/docs/photos/troubleshooting/video-not-playing.md
@@ -0,0 +1,5 @@
+## Video Playback Issue
+
+### Web
+
+### Desktop / Mobile
diff --git a/docs/docs/public/assets/cast/tv-pairing-screen.webp b/docs/docs/public/assets/cast/tv-pairing-screen.webp
new file mode 100644
index 000000000..201fc088b
Binary files /dev/null and b/docs/docs/public/assets/cast/tv-pairing-screen.webp differ
diff --git a/docs/docs/public/assets/cast/web-pairing-options.webp b/docs/docs/public/assets/cast/web-pairing-options.webp
new file mode 100644
index 000000000..586b887bc
Binary files /dev/null and b/docs/docs/public/assets/cast/web-pairing-options.webp differ
diff --git a/docs/docs/public/assets/cast/web-play-album-on-tv.webp b/docs/docs/public/assets/cast/web-play-album-on-tv.webp
new file mode 100644
index 000000000..26c9191cd
Binary files /dev/null and b/docs/docs/public/assets/cast/web-play-album-on-tv.webp differ
diff --git a/docs/docs/public/favicon.png b/docs/docs/public/favicon.png
new file mode 100644
index 000000000..334abda0d
Binary files /dev/null and b/docs/docs/public/favicon.png differ
diff --git a/docs/docs/public/logo.png b/docs/docs/public/logo.png
new file mode 100644
index 000000000..8a84dfb18
Binary files /dev/null and b/docs/docs/public/logo.png differ
diff --git a/docs/package.json b/docs/package.json
new file mode 100644
index 000000000..d6b4b8a3b
--- /dev/null
+++ b/docs/package.json
@@ -0,0 +1,14 @@
+{
+ "type": "module",
+ "private": true,
+ "scripts": {
+ "dev": "vitepress dev docs",
+ "build": "vitepress build docs",
+ "preview": "vitepress preview docs",
+ "pretty": "prettier --write ."
+ },
+ "devDependencies": {
+ "prettier": "^3",
+ "vitepress": "^1.0.0-rc.44"
+ }
+}
diff --git a/docs/yarn.lock b/docs/yarn.lock
new file mode 100644
index 000000000..5f12adede
--- /dev/null
+++ b/docs/yarn.lock
@@ -0,0 +1,761 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@algolia/autocomplete-core@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7"
+ integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==
+ dependencies:
+ "@algolia/autocomplete-plugin-algolia-insights" "1.9.3"
+ "@algolia/autocomplete-shared" "1.9.3"
+
+"@algolia/autocomplete-plugin-algolia-insights@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587"
+ integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==
+ dependencies:
+ "@algolia/autocomplete-shared" "1.9.3"
+
+"@algolia/autocomplete-preset-algolia@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da"
+ integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==
+ dependencies:
+ "@algolia/autocomplete-shared" "1.9.3"
+
+"@algolia/autocomplete-shared@1.9.3":
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa"
+ integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==
+
+"@algolia/cache-browser-local-storage@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz#14b6dc9abc9e3a304a5fffb063d15f30af1032d1"
+ integrity sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==
+ dependencies:
+ "@algolia/cache-common" "4.22.1"
+
+"@algolia/cache-common@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.22.1.tgz#c625dff4bc2a74e79f9aed67b4e053b0ef1b3ec1"
+ integrity sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==
+
+"@algolia/cache-in-memory@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz#858a3d887f521362e87d04f3943e2810226a0d71"
+ integrity sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==
+ dependencies:
+ "@algolia/cache-common" "4.22.1"
+
+"@algolia/client-account@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.22.1.tgz#a7fb8b66b9a4f0a428e1426b2561144267d76d43"
+ integrity sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==
+ dependencies:
+ "@algolia/client-common" "4.22.1"
+ "@algolia/client-search" "4.22.1"
+ "@algolia/transporter" "4.22.1"
+
+"@algolia/client-analytics@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.22.1.tgz#506558740b4d49b1b1e3393861f729a8ce921851"
+ integrity sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==
+ dependencies:
+ "@algolia/client-common" "4.22.1"
+ "@algolia/client-search" "4.22.1"
+ "@algolia/requester-common" "4.22.1"
+ "@algolia/transporter" "4.22.1"
+
+"@algolia/client-common@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.22.1.tgz#042b19c1b6157c485fa1b551349ab313944d2b05"
+ integrity sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==
+ dependencies:
+ "@algolia/requester-common" "4.22.1"
+ "@algolia/transporter" "4.22.1"
+
+"@algolia/client-personalization@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.22.1.tgz#ff088d797648224fb582e9fe5828f8087835fa3d"
+ integrity sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==
+ dependencies:
+ "@algolia/client-common" "4.22.1"
+ "@algolia/requester-common" "4.22.1"
+ "@algolia/transporter" "4.22.1"
+
+"@algolia/client-search@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.22.1.tgz#508cc6ab3d1f4e9c02735a630d4dff6fbb8514a2"
+ integrity sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==
+ dependencies:
+ "@algolia/client-common" "4.22.1"
+ "@algolia/requester-common" "4.22.1"
+ "@algolia/transporter" "4.22.1"
+
+"@algolia/logger-common@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.22.1.tgz#79cf4cd295de0377a94582c6aaac59b1ded731d9"
+ integrity sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==
+
+"@algolia/logger-console@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.22.1.tgz#0355345f6940f67aaa78ae9b81c06e44e49f2336"
+ integrity sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==
+ dependencies:
+ "@algolia/logger-common" "4.22.1"
+
+"@algolia/requester-browser-xhr@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz#f04df6fe9690a071b267c77d26b83a3be9280361"
+ integrity sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==
+ dependencies:
+ "@algolia/requester-common" "4.22.1"
+
+"@algolia/requester-common@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.22.1.tgz#27be35f3718aafcb6b388ff9c3aa2defabd559ff"
+ integrity sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==
+
+"@algolia/requester-node-http@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz#589a6fa828ad0f325e727a6fcaf4e1a2343cc62b"
+ integrity sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==
+ dependencies:
+ "@algolia/requester-common" "4.22.1"
+
+"@algolia/transporter@4.22.1":
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.22.1.tgz#8843841b857dc021668f31647aa557ff19cd9cb1"
+ integrity sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==
+ dependencies:
+ "@algolia/cache-common" "4.22.1"
+ "@algolia/logger-common" "4.22.1"
+ "@algolia/requester-common" "4.22.1"
+
+"@babel/parser@^7.23.9":
+ version "7.24.0"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac"
+ integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==
+
+"@docsearch/css@3.5.2", "@docsearch/css@^3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac"
+ integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==
+
+"@docsearch/js@^3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.5.2.tgz#a11cb2e7e62890e9e940283fed6972ecf632629d"
+ integrity sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==
+ dependencies:
+ "@docsearch/react" "3.5.2"
+ preact "^10.0.0"
+
+"@docsearch/react@3.5.2":
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9"
+ integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==
+ dependencies:
+ "@algolia/autocomplete-core" "1.9.3"
+ "@algolia/autocomplete-preset-algolia" "1.9.3"
+ "@docsearch/css" "3.5.2"
+ algoliasearch "^4.19.1"
+
+"@esbuild/aix-ppc64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f"
+ integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==
+
+"@esbuild/android-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4"
+ integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==
+
+"@esbuild/android-arm@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824"
+ integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==
+
+"@esbuild/android-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d"
+ integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==
+
+"@esbuild/darwin-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e"
+ integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==
+
+"@esbuild/darwin-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd"
+ integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==
+
+"@esbuild/freebsd-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487"
+ integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==
+
+"@esbuild/freebsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c"
+ integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==
+
+"@esbuild/linux-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b"
+ integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==
+
+"@esbuild/linux-arm@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef"
+ integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==
+
+"@esbuild/linux-ia32@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601"
+ integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==
+
+"@esbuild/linux-loong64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299"
+ integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==
+
+"@esbuild/linux-mips64el@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec"
+ integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==
+
+"@esbuild/linux-ppc64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8"
+ integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==
+
+"@esbuild/linux-riscv64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf"
+ integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==
+
+"@esbuild/linux-s390x@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8"
+ integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==
+
+"@esbuild/linux-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78"
+ integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==
+
+"@esbuild/netbsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b"
+ integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==
+
+"@esbuild/openbsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0"
+ integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==
+
+"@esbuild/sunos-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30"
+ integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==
+
+"@esbuild/win32-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae"
+ integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==
+
+"@esbuild/win32-ia32@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67"
+ integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==
+
+"@esbuild/win32-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae"
+ integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==
+
+"@jridgewell/sourcemap-codec@^1.4.15":
+ version "1.4.15"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+
+"@rollup/rollup-android-arm-eabi@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz#38c3abd1955a3c21d492af6b1a1dca4bb1d894d6"
+ integrity sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==
+
+"@rollup/rollup-android-arm64@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz#3822e929f415627609e53b11cec9a4be806de0e2"
+ integrity sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==
+
+"@rollup/rollup-darwin-arm64@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz#6c082de71f481f57df6cfa3701ab2a7afde96f69"
+ integrity sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==
+
+"@rollup/rollup-darwin-x64@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz#c34ca0d31f3c46a22c9afa0e944403eea0edcfd8"
+ integrity sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz#48e899c1e438629c072889b824a98787a7c2362d"
+ integrity sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==
+
+"@rollup/rollup-linux-arm64-gnu@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz#788c2698a119dc229062d40da6ada8a090a73a68"
+ integrity sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==
+
+"@rollup/rollup-linux-arm64-musl@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz#3882a4e3a564af9e55804beeb67076857b035ab7"
+ integrity sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==
+
+"@rollup/rollup-linux-riscv64-gnu@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz#0c6ad792e1195c12bfae634425a3d2aa0fe93ab7"
+ integrity sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==
+
+"@rollup/rollup-linux-x64-gnu@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz#9d62485ea0f18d8674033b57aa14fb758f6ec6e3"
+ integrity sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==
+
+"@rollup/rollup-linux-x64-musl@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz#50e8167e28b33c977c1f813def2b2074d1435e05"
+ integrity sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==
+
+"@rollup/rollup-win32-arm64-msvc@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz#68d233272a2004429124494121a42c4aebdc5b8e"
+ integrity sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==
+
+"@rollup/rollup-win32-ia32-msvc@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz#366ca62221d1689e3b55a03f4ae12ae9ba595d40"
+ integrity sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==
+
+"@rollup/rollup-win32-x64-msvc@4.12.0":
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz#9ffdf9ed133a7464f4ae187eb9e1294413fab235"
+ integrity sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==
+
+"@shikijs/core@1.1.7", "@shikijs/core@^1.1.5":
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.1.7.tgz#560de8d503ace894e36934f1e680762ed51ea394"
+ integrity sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==
+
+"@shikijs/transformers@^1.1.5":
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/@shikijs/transformers/-/transformers-1.1.7.tgz#aee9df395aed77ff94fa95e02297aa0e5267802d"
+ integrity sha512-lXz011ao4+rvweps/9h3CchBfzb1U5OtP5D51Tqc9lQYdLblWMIxQxH6Ybe1GeGINcEVM4goMyPrI0JvlIp4UQ==
+ dependencies:
+ shiki "1.1.7"
+
+"@types/estree@1.0.5":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
+ integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+
+"@types/linkify-it@*":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.5.tgz#1e78a3ac2428e6d7e6c05c1665c242023a4601d8"
+ integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==
+
+"@types/markdown-it@^13.0.7":
+ version "13.0.7"
+ resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-13.0.7.tgz#4a495115f470075bd4434a0438ac477a49c2e152"
+ integrity sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==
+ dependencies:
+ "@types/linkify-it" "*"
+ "@types/mdurl" "*"
+
+"@types/mdurl@*":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39"
+ integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==
+
+"@types/web-bluetooth@^0.0.20":
+ version "0.0.20"
+ resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597"
+ integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==
+
+"@vitejs/plugin-vue@^5.0.4":
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz#508d6a0f2440f86945835d903fcc0d95d1bb8a37"
+ integrity sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==
+
+"@vue/compiler-core@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz#868b7085378fc24e58c9aed14c8d62110a62be1a"
+ integrity sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==
+ dependencies:
+ "@babel/parser" "^7.23.9"
+ "@vue/shared" "3.4.21"
+ entities "^4.5.0"
+ estree-walker "^2.0.2"
+ source-map-js "^1.0.2"
+
+"@vue/compiler-dom@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz#0077c355e2008207283a5a87d510330d22546803"
+ integrity sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==
+ dependencies:
+ "@vue/compiler-core" "3.4.21"
+ "@vue/shared" "3.4.21"
+
+"@vue/compiler-sfc@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz#4af920dc31ab99e1ff5d152b5fe0ad12181145b2"
+ integrity sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==
+ dependencies:
+ "@babel/parser" "^7.23.9"
+ "@vue/compiler-core" "3.4.21"
+ "@vue/compiler-dom" "3.4.21"
+ "@vue/compiler-ssr" "3.4.21"
+ "@vue/shared" "3.4.21"
+ estree-walker "^2.0.2"
+ magic-string "^0.30.7"
+ postcss "^8.4.35"
+ source-map-js "^1.0.2"
+
+"@vue/compiler-ssr@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz#b84ae64fb9c265df21fc67f7624587673d324fef"
+ integrity sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==
+ dependencies:
+ "@vue/compiler-dom" "3.4.21"
+ "@vue/shared" "3.4.21"
+
+"@vue/devtools-api@^7.0.14":
+ version "7.0.15"
+ resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.0.15.tgz#875a228fb5154fa4a6678e8cbc4c894089d87cde"
+ integrity sha512-kgEYWosDyWpS1vFSuJNNWUnHkP+VkL3Y+9mw+rf7ex41SwbYL/WdC3KXqAtjiSrEs7r/FrHmUTh0BkINJPFkbA==
+ dependencies:
+ "@vue/devtools-kit" "^7.0.15"
+
+"@vue/devtools-kit@^7.0.15":
+ version "7.0.15"
+ resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.0.15.tgz#d6f5d527358ad6c707cb13ccbbc4260a9c6dcae5"
+ integrity sha512-dT7OeCe1LUCIhHIb/yRR6Hn+XHh73r1o78onqCrxEKHdoZwBItiIeVnmJZPEUDFstIxfs+tJL231mySk3laTow==
+ dependencies:
+ "@vue/devtools-shared" "^7.0.15"
+ hookable "^5.5.3"
+ mitt "^3.0.1"
+ perfect-debounce "^1.0.0"
+ speakingurl "^14.0.1"
+
+"@vue/devtools-shared@^7.0.15":
+ version "7.0.15"
+ resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.0.15.tgz#a179552dab23b7c7e4bb22726a82a268eef7239b"
+ integrity sha512-fpfvMVvS7aDgO7x2JPFiTQ1MHcCc63/bE7yTgs278gMBybuO9b3hdiZ/k0Pw1rN+RefaU9yQiFA+5CCFc1D+6w==
+ dependencies:
+ rfdc "^1.3.1"
+
+"@vue/reactivity@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.21.tgz#affd3415115b8ebf4927c8d2a0d6a24bccfa9f02"
+ integrity sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==
+ dependencies:
+ "@vue/shared" "3.4.21"
+
+"@vue/runtime-core@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.21.tgz#3749c3f024a64c4c27ecd75aea4ca35634db0062"
+ integrity sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==
+ dependencies:
+ "@vue/reactivity" "3.4.21"
+ "@vue/shared" "3.4.21"
+
+"@vue/runtime-dom@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz#91f867ef64eff232cac45095ab28ebc93ac74588"
+ integrity sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==
+ dependencies:
+ "@vue/runtime-core" "3.4.21"
+ "@vue/shared" "3.4.21"
+ csstype "^3.1.3"
+
+"@vue/server-renderer@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.21.tgz#150751579d26661ee3ed26a28604667fa4222a97"
+ integrity sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==
+ dependencies:
+ "@vue/compiler-ssr" "3.4.21"
+ "@vue/shared" "3.4.21"
+
+"@vue/shared@3.4.21":
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.21.tgz#de526a9059d0a599f0b429af7037cd0c3ed7d5a1"
+ integrity sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==
+
+"@vueuse/core@10.9.0", "@vueuse/core@^10.7.2":
+ version "10.9.0"
+ resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.9.0.tgz#7d779a95cf0189de176fee63cee4ba44b3c85d64"
+ integrity sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==
+ dependencies:
+ "@types/web-bluetooth" "^0.0.20"
+ "@vueuse/metadata" "10.9.0"
+ "@vueuse/shared" "10.9.0"
+ vue-demi ">=0.14.7"
+
+"@vueuse/integrations@^10.7.2":
+ version "10.9.0"
+ resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.9.0.tgz#2b1a9556215ad3c1f96d39cbfbef102cf6e0ec05"
+ integrity sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==
+ dependencies:
+ "@vueuse/core" "10.9.0"
+ "@vueuse/shared" "10.9.0"
+ vue-demi ">=0.14.7"
+
+"@vueuse/metadata@10.9.0":
+ version "10.9.0"
+ resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.9.0.tgz#769a1a9db65daac15cf98084cbf7819ed3758620"
+ integrity sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==
+
+"@vueuse/shared@10.9.0":
+ version "10.9.0"
+ resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.9.0.tgz#13af2a348de15d07b7be2fd0c7fc9853a69d8fe0"
+ integrity sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==
+ dependencies:
+ vue-demi ">=0.14.7"
+
+algoliasearch@^4.19.1:
+ version "4.22.1"
+ resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.22.1.tgz#f10fbecdc7654639ec20d62f109c1b3a46bc6afc"
+ integrity sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==
+ dependencies:
+ "@algolia/cache-browser-local-storage" "4.22.1"
+ "@algolia/cache-common" "4.22.1"
+ "@algolia/cache-in-memory" "4.22.1"
+ "@algolia/client-account" "4.22.1"
+ "@algolia/client-analytics" "4.22.1"
+ "@algolia/client-common" "4.22.1"
+ "@algolia/client-personalization" "4.22.1"
+ "@algolia/client-search" "4.22.1"
+ "@algolia/logger-common" "4.22.1"
+ "@algolia/logger-console" "4.22.1"
+ "@algolia/requester-browser-xhr" "4.22.1"
+ "@algolia/requester-common" "4.22.1"
+ "@algolia/requester-node-http" "4.22.1"
+ "@algolia/transporter" "4.22.1"
+
+csstype@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+
+entities@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
+esbuild@^0.19.3:
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04"
+ integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==
+ 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"
+
+estree-walker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+focus-trap@^7.5.4:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.4.tgz#6c4e342fe1dae6add9c2aa332a6e7a0bbd495ba2"
+ integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==
+ dependencies:
+ tabbable "^6.2.0"
+
+fsevents@~2.3.2, fsevents@~2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+hookable@^5.5.3:
+ version "5.5.3"
+ resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d"
+ integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==
+
+magic-string@^0.30.7:
+ version "0.30.7"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505"
+ integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.15"
+
+mark.js@8.11.1:
+ version "8.11.1"
+ resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5"
+ integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==
+
+minisearch@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.3.0.tgz#985a2f1ca3c73c2d65af94f0616bfe57164b0b6b"
+ integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==
+
+mitt@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1"
+ integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==
+
+nanoid@^3.3.7:
+ version "3.3.7"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
+ integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+
+perfect-debounce@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a"
+ integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==
+
+picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+postcss@^8.4.35:
+ version "8.4.35"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7"
+ integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==
+ dependencies:
+ nanoid "^3.3.7"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
+preact@^10.0.0:
+ version "10.19.6"
+ resolved "https://registry.yarnpkg.com/preact/-/preact-10.19.6.tgz#66007b67aad4d11899f583df1b0116d94a89b8f5"
+ integrity sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==
+
+prettier@^3:
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368"
+ integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==
+
+rfdc@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f"
+ integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==
+
+rollup@^4.2.0:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.12.0.tgz#0b6d1e5f3d46bbcf244deec41a7421dc54cc45b5"
+ integrity sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==
+ dependencies:
+ "@types/estree" "1.0.5"
+ optionalDependencies:
+ "@rollup/rollup-android-arm-eabi" "4.12.0"
+ "@rollup/rollup-android-arm64" "4.12.0"
+ "@rollup/rollup-darwin-arm64" "4.12.0"
+ "@rollup/rollup-darwin-x64" "4.12.0"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.12.0"
+ "@rollup/rollup-linux-arm64-gnu" "4.12.0"
+ "@rollup/rollup-linux-arm64-musl" "4.12.0"
+ "@rollup/rollup-linux-riscv64-gnu" "4.12.0"
+ "@rollup/rollup-linux-x64-gnu" "4.12.0"
+ "@rollup/rollup-linux-x64-musl" "4.12.0"
+ "@rollup/rollup-win32-arm64-msvc" "4.12.0"
+ "@rollup/rollup-win32-ia32-msvc" "4.12.0"
+ "@rollup/rollup-win32-x64-msvc" "4.12.0"
+ fsevents "~2.3.2"
+
+shiki@1.1.7, shiki@^1.1.5:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.1.7.tgz#270f7830b4d08bdf6b63eb97ef93e06c7af604de"
+ integrity sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==
+ dependencies:
+ "@shikijs/core" "1.1.7"
+
+source-map-js@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
+speakingurl@^14.0.1:
+ version "14.0.1"
+ resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53"
+ integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==
+
+tabbable@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
+ integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
+
+vite@^5.1.3:
+ version "5.1.4"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.4.tgz#14e9d3e7a6e488f36284ef13cebe149f060bcfb6"
+ integrity sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==
+ dependencies:
+ esbuild "^0.19.3"
+ postcss "^8.4.35"
+ rollup "^4.2.0"
+ optionalDependencies:
+ fsevents "~2.3.3"
+
+vitepress@^1.0.0-rc.44:
+ version "1.0.0-rc.44"
+ resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.44.tgz#01bce883761c22de42b9869a95f04bd02cbb8cdb"
+ integrity sha512-tO5taxGI7fSpBK1D8zrZTyJJERlyU9nnt0jHSt3fywfq3VKn977Hg0wUuTkEmwXlFYwuW26+6+3xorf4nD3XvA==
+ dependencies:
+ "@docsearch/css" "^3.5.2"
+ "@docsearch/js" "^3.5.2"
+ "@shikijs/core" "^1.1.5"
+ "@shikijs/transformers" "^1.1.5"
+ "@types/markdown-it" "^13.0.7"
+ "@vitejs/plugin-vue" "^5.0.4"
+ "@vue/devtools-api" "^7.0.14"
+ "@vueuse/core" "^10.7.2"
+ "@vueuse/integrations" "^10.7.2"
+ focus-trap "^7.5.4"
+ mark.js "8.11.1"
+ minisearch "^6.3.0"
+ shiki "^1.1.5"
+ vite "^5.1.3"
+ vue "^3.4.19"
+
+vue-demi@>=0.14.7:
+ version "0.14.7"
+ resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.7.tgz#8317536b3ef74c5b09f268f7782e70194567d8f2"
+ integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==
+
+vue@^3.4.19:
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.21.tgz#69ec30e267d358ee3a0ce16612ba89e00aaeb731"
+ integrity sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==
+ dependencies:
+ "@vue/compiler-dom" "3.4.21"
+ "@vue/compiler-sfc" "3.4.21"
+ "@vue/runtime-dom" "3.4.21"
+ "@vue/server-renderer" "3.4.21"
+ "@vue/shared" "3.4.21"