diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000..557b264f
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,6 @@
+root = true
+
+[*]
+indent_size = 4
+indent_style = space
+tab_width = 4
diff --git a/.github/workflows/build-site.yml b/.github/workflows/build-site.yml
index 499fe256..50a6b451 100644
--- a/.github/workflows/build-site.yml
+++ b/.github/workflows/build-site.yml
@@ -1,17 +1,42 @@
-name: Build Jekyll site
+name: Deploy to GitHub Pages
+
on:
- pull_request:
- branches:
- - master
+ # Trigger the workflow every time you push to the `main` branch
+ # Using a different branch name? Replace `main` with your branch’s name
+ push:
+ branches: [main]
+ # Allows you to run this workflow manually from the Actions tab on GitHub.
+ workflow_dispatch:
+
+# Allow this job to clone the repo and create a page deployment
permissions:
- contents: read
+ contents: read
+ pages: write
+ id-token: write
+
jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- - name: Setup Pages
- uses: actions/configure-pages@v3
- - name: Build
- uses: actions/jekyll-build-pages@v1
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout your repository using git
+ uses: actions/checkout@v5
+ - name: Install, build, and upload your site
+ uses: withastro/action@v5
+ # with:
+ # path: . # The root location of your Astro project inside the repository. (optional)
+ # node-version: 24 # The specific version of Node that should be used to build your site. Defaults to 22. (optional)
+ # package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
+ # build-cmd: pnpm run build # The command to run to build your site. Runs the package build script/task by default. (optional)
+ # env:
+ # PUBLIC_POKEAPI: 'https://pokeapi.co/api/v2' # Use single quotation marks for the variable value. (optional)
+
+ deploy:
+ needs: build
+ runs-on: ubuntu-latest
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
index 1eb93486..16d54bb1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,24 @@
-_site/
-.sass-cache/
-.jekyll-cache/
-.jekyll-metadata
-# Ignore folders generated by Bundler
-.bundle/
-vendor/
-
-# macOS spotlight index files
+# build output
+dist/
+# generated types
+.astro/
+
+# dependencies
+node_modules/
+
+# logs
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+
+# environment variables
+.env
+.env.production
+
+# macOS-specific files
.DS_Store
-_site
-.jekyll-cache
\ No newline at end of file
+
+# jetbrains setting folder
+.idea/
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 00000000..341b04e4
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+minimum-release-age = 43200
diff --git a/.prettierrc.mjs b/.prettierrc.mjs
new file mode 100644
index 00000000..2e0bf0e4
--- /dev/null
+++ b/.prettierrc.mjs
@@ -0,0 +1,13 @@
+// .prettierrc.mjs
+/** @type {import("prettier").Config} */
+export default {
+ plugins: ["prettier-plugin-astro"],
+ overrides: [
+ {
+ files: "*.astro",
+ options: {
+ parser: "astro",
+ },
+ },
+ ],
+};
diff --git a/.ruby-version b/.ruby-version
deleted file mode 100644
index be94e6f5..00000000
--- a/.ruby-version
+++ /dev/null
@@ -1 +0,0 @@
-3.2.2
diff --git a/CNAME b/CNAME
deleted file mode 100644
index e31236d1..00000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-www.ritsec.club
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 83b73880..00000000
--- a/Gemfile
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-source "https://rubygems.org"
-
-#gem "jekyll", ENV["JEKYLL_VERSION"] if ENV["JEKYLL_VERSION"]
-gem "github-pages", "~> 231", group: :jekyll_plugins
-gem "kramdown-parser-gfm" if ENV["JEKYLL_VERSION"] == "~> 3.9"
-
-gem "jekyll-seo-tag", "~> 2.8"
-
-gem "webrick", "~> 1.8.2"
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index 8cdeccbd..00000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,290 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- activesupport (7.1.3.2)
- base64
- bigdecimal
- concurrent-ruby (~> 1.0, >= 1.0.2)
- connection_pool (>= 2.2.5)
- drb
- i18n (>= 1.6, < 2)
- minitest (>= 5.1)
- mutex_m
- tzinfo (~> 2.0)
- addressable (2.8.5)
- public_suffix (>= 2.0.2, < 6.0)
- base64 (0.2.0)
- bigdecimal (3.1.6)
- coffee-script (2.4.1)
- coffee-script-source
- execjs
- coffee-script-source (1.12.2)
- colorator (1.1.0)
- commonmarker (0.23.10)
- concurrent-ruby (1.2.2)
- connection_pool (2.4.1)
- dnsruby (1.70.0)
- simpleidn (~> 0.2.1)
- drb (2.2.0)
- ruby2_keywords
- em-websocket (0.5.3)
- eventmachine (>= 0.12.9)
- http_parser.rb (~> 0)
- ethon (0.16.0)
- ffi (>= 1.15.0)
- eventmachine (1.2.7)
- eventmachine (1.2.7-x64-mingw32)
- execjs (2.9.1)
- faraday (2.9.0)
- faraday-net_http (>= 2.0, < 3.2)
- faraday-net_http (3.1.0)
- net-http
- ffi (1.15.5)
- forwardable-extended (2.6.0)
- gemoji (4.1.0)
- github-pages (231)
- github-pages-health-check (= 1.18.2)
- jekyll (= 3.9.5)
- jekyll-avatar (= 0.8.0)
- jekyll-coffeescript (= 1.2.2)
- jekyll-commonmark-ghpages (= 0.4.0)
- jekyll-default-layout (= 0.1.5)
- jekyll-feed (= 0.17.0)
- jekyll-gist (= 1.5.0)
- jekyll-github-metadata (= 2.16.1)
- jekyll-include-cache (= 0.2.1)
- jekyll-mentions (= 1.6.0)
- jekyll-optional-front-matter (= 0.3.2)
- jekyll-paginate (= 1.1.0)
- jekyll-readme-index (= 0.3.0)
- jekyll-redirect-from (= 0.16.0)
- jekyll-relative-links (= 0.6.1)
- jekyll-remote-theme (= 0.4.3)
- jekyll-sass-converter (= 1.5.2)
- jekyll-seo-tag (= 2.8.0)
- jekyll-sitemap (= 1.4.0)
- jekyll-swiss (= 1.0.0)
- jekyll-theme-architect (= 0.2.0)
- jekyll-theme-cayman (= 0.2.0)
- jekyll-theme-dinky (= 0.2.0)
- jekyll-theme-hacker (= 0.2.0)
- jekyll-theme-leap-day (= 0.2.0)
- jekyll-theme-merlot (= 0.2.0)
- jekyll-theme-midnight (= 0.2.0)
- jekyll-theme-minimal (= 0.2.0)
- jekyll-theme-modernist (= 0.2.0)
- jekyll-theme-primer (= 0.6.0)
- jekyll-theme-slate (= 0.2.0)
- jekyll-theme-tactile (= 0.2.0)
- jekyll-theme-time-machine (= 0.2.0)
- jekyll-titles-from-headings (= 0.5.3)
- jemoji (= 0.13.0)
- kramdown (= 2.4.0)
- kramdown-parser-gfm (= 1.1.0)
- liquid (= 4.0.4)
- mercenary (~> 0.3)
- minima (= 2.5.1)
- nokogiri (>= 1.13.6, < 2.0)
- rouge (= 3.30.0)
- terminal-table (~> 1.4)
- github-pages-health-check (1.18.2)
- addressable (~> 2.3)
- dnsruby (~> 1.60)
- octokit (>= 4, < 8)
- public_suffix (>= 3.0, < 6.0)
- typhoeus (~> 1.3)
- html-pipeline (2.14.3)
- activesupport (>= 2)
- nokogiri (>= 1.4)
- http_parser.rb (0.8.0)
- i18n (1.14.1)
- concurrent-ruby (~> 1.0)
- jekyll (3.9.5)
- addressable (~> 2.4)
- colorator (~> 1.0)
- em-websocket (~> 0.5)
- i18n (>= 0.7, < 2)
- jekyll-sass-converter (~> 1.0)
- jekyll-watch (~> 2.0)
- kramdown (>= 1.17, < 3)
- liquid (~> 4.0)
- mercenary (~> 0.3.3)
- pathutil (~> 0.9)
- rouge (>= 1.7, < 4)
- safe_yaml (~> 1.0)
- jekyll-avatar (0.8.0)
- jekyll (>= 3.0, < 5.0)
- jekyll-coffeescript (1.2.2)
- coffee-script (~> 2.2)
- coffee-script-source (~> 1.12)
- jekyll-commonmark (1.4.0)
- commonmarker (~> 0.22)
- jekyll-commonmark-ghpages (0.4.0)
- commonmarker (~> 0.23.7)
- jekyll (~> 3.9.0)
- jekyll-commonmark (~> 1.4.0)
- rouge (>= 2.0, < 5.0)
- jekyll-default-layout (0.1.5)
- jekyll (>= 3.0, < 5.0)
- jekyll-feed (0.17.0)
- jekyll (>= 3.7, < 5.0)
- jekyll-gist (1.5.0)
- octokit (~> 4.2)
- jekyll-github-metadata (2.16.1)
- jekyll (>= 3.4, < 5.0)
- octokit (>= 4, < 7, != 4.4.0)
- jekyll-include-cache (0.2.1)
- jekyll (>= 3.7, < 5.0)
- jekyll-mentions (1.6.0)
- html-pipeline (~> 2.3)
- jekyll (>= 3.7, < 5.0)
- jekyll-optional-front-matter (0.3.2)
- jekyll (>= 3.0, < 5.0)
- jekyll-paginate (1.1.0)
- jekyll-readme-index (0.3.0)
- jekyll (>= 3.0, < 5.0)
- jekyll-redirect-from (0.16.0)
- jekyll (>= 3.3, < 5.0)
- jekyll-relative-links (0.6.1)
- jekyll (>= 3.3, < 5.0)
- jekyll-remote-theme (0.4.3)
- addressable (~> 2.0)
- jekyll (>= 3.5, < 5.0)
- jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
- rubyzip (>= 1.3.0, < 3.0)
- jekyll-sass-converter (1.5.2)
- sass (~> 3.4)
- jekyll-seo-tag (2.8.0)
- jekyll (>= 3.8, < 5.0)
- jekyll-sitemap (1.4.0)
- jekyll (>= 3.7, < 5.0)
- jekyll-swiss (1.0.0)
- jekyll-theme-architect (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-cayman (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-dinky (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-hacker (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-leap-day (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-merlot (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-midnight (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-minimal (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-modernist (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-primer (0.6.0)
- jekyll (> 3.5, < 5.0)
- jekyll-github-metadata (~> 2.9)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-slate (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-tactile (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-theme-time-machine (0.2.0)
- jekyll (> 3.5, < 5.0)
- jekyll-seo-tag (~> 2.0)
- jekyll-titles-from-headings (0.5.3)
- jekyll (>= 3.3, < 5.0)
- jekyll-watch (2.2.1)
- listen (~> 3.0)
- jemoji (0.13.0)
- gemoji (>= 3, < 5)
- html-pipeline (~> 2.2)
- jekyll (>= 3.0, < 5.0)
- kramdown (2.4.0)
- rexml
- kramdown-parser-gfm (1.1.0)
- kramdown (~> 2.0)
- liquid (4.0.4)
- listen (3.8.0)
- rb-fsevent (~> 0.10, >= 0.10.3)
- rb-inotify (~> 0.9, >= 0.9.10)
- mercenary (0.3.6)
- mini_portile2 (2.8.8)
- minima (2.5.1)
- jekyll (>= 3.5, < 5.0)
- jekyll-feed (~> 0.9)
- jekyll-seo-tag (~> 2.1)
- minitest (5.22.2)
- mutex_m (0.2.0)
- net-http (0.4.1)
- uri
- nokogiri (1.18.4)
- mini_portile2 (~> 2.8.2)
- racc (~> 1.4)
- nokogiri (1.18.4-arm64-darwin)
- racc (~> 1.4)
- nokogiri (1.18.4-x64-mingw-ucrt)
- racc (~> 1.4)
- nokogiri (1.18.4-x86_64-darwin)
- racc (~> 1.4)
- nokogiri (1.18.4-x86_64-linux-gnu)
- racc (~> 1.4)
- octokit (4.25.1)
- faraday (>= 1, < 3)
- sawyer (~> 0.9)
- pathutil (0.16.2)
- forwardable-extended (~> 2.6)
- public_suffix (4.0.7)
- racc (1.8.1)
- rb-fsevent (0.11.2)
- rb-inotify (0.10.1)
- ffi (~> 1.0)
- rexml (3.3.9)
- rouge (3.30.0)
- ruby2_keywords (0.0.5)
- rubyzip (2.3.2)
- safe_yaml (1.0.5)
- sass (3.7.4)
- sass-listen (~> 4.0.0)
- sass-listen (4.0.0)
- rb-fsevent (~> 0.9, >= 0.9.4)
- rb-inotify (~> 0.9, >= 0.9.7)
- sawyer (0.9.2)
- addressable (>= 2.3.5)
- faraday (>= 0.17.3, < 3)
- simpleidn (0.2.1)
- unf (~> 0.1.4)
- terminal-table (1.8.0)
- unicode-display_width (~> 1.1, >= 1.1.1)
- typhoeus (1.4.1)
- ethon (>= 0.9.0)
- tzinfo (2.0.6)
- concurrent-ruby (~> 1.0)
- unf (0.1.4)
- unf_ext
- unf_ext (0.0.9.1)
- unicode-display_width (1.8.0)
- uri (0.13.2)
- webrick (1.8.2)
-
-PLATFORMS
- universal-darwin-21
- x64-mingw-ucrt
- x64-mingw32
- x86_64-darwin-19
- x86_64-linux
-
-DEPENDENCIES
- github-pages (~> 231)
- jekyll-seo-tag (~> 2.8)
- webrick (~> 1.8.2)
-
-BUNDLED WITH
- 2.4.10
diff --git a/README.md b/README.md
index 9044f6c2..e1971674 100644
--- a/README.md
+++ b/README.md
@@ -1,43 +1,16 @@
-# ritsec.github.io
+# RITSEC Website
-Website for RITESC. Built using [Jekyll](https://jekyllrb.com/)
+Website for RITSEC, built in Astro.
-## Development
+## 🧞 Commands
-### Install Ruby
+All commands are run from the root of the project, from a terminal:
-#### Method 1 - `rbenv` (Recommended)
-
-1. Install `rbenv` with your package manager (see [here](https://github.com/rbenv/rbenv?tab=readme-ov-file#using-package-managers))
-2. Install the proper `ruby` version with `rbenv install`
-
-#### Method 2 - Manual Installation
-
-> ⚠️ **Be sure to check the [`.ruby-version`](./.ruby-version) file to ensure you're installing the correct Ruby version**
-
-You can install Ruby manually using the instructions found [here](https://www.ruby-lang.org/en/documentation/installation/).
-
-### Install dependencies
-
-Install [`bundler`](https://bundler.io/) to easily install all of the dependency gems:
-
-```shell
-gem install bundler
-bundle
-```
-
-### Development Server
-
-To start up the dev server (runs locally on `http://127.0.0.1:4000`) run:
-
-```shell
-bundle exec jekyll serve
-```
-
-### Development Build
-
-To generate a static build of the site run:
-
-```shell
-bundle exec jekyll build
-```
+| Command | Action |
+| :--------------------- | :----------------------------------------------- |
+| `pnpm install` | Installs dependencies |
+| `pnpm dev` | Starts local dev server at `localhost:4321` |
+| `pnpm build` | Build your production site to `./dist/` |
+| `pnpm preview` | Preview your build locally, before deploying |
+| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
+| `pnpm astro -- --help` | Get help using the Astro CLI |
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index b86cad3b..00000000
--- a/_config.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-title: RITSEC
-author:
- name: RITSEC
- email: eboard@ritsec.club
-
-social_links:
- github: ritsec
- facebook: RITSEC
- twitter: ritsecclub
- instagram: ritsecclub
- youtube: RITSEC
- discord: W7NefdyzHZ
-
-plugins:
- - jekyll-seo-tag
diff --git a/_data/about.yml b/_data/about.yml
deleted file mode 100644
index 523ebd55..00000000
--- a/_data/about.yml
+++ /dev/null
@@ -1,584 +0,0 @@
-sections:
- - title: About Us
- description: RITSEC is a student club dedicated to teaching "Security Through Community." RITSEC is dedicated to educating and preparing RIT students to compete in security-related competitions, as well as showcasing RIT student talent in the current world of security today. Whether you're new to computing security or a veteran, RITSEC has a place for you. All of the activities we host to promote this learning can be found on our 'Events' page.
-
- - title: 2025-2026 E-Board
- members:
- - name: Dan LaChance
- position: President
- grad_year: 26
- avatar: "assets/images/2025eboard/danl.jpg"
- socials:
- github:
- linkedin: dan-lachance
- email: president@ritsec.club
- other:
- - name: David Girard
- position: Vice President
- grad_year: 27
- avatar: "assets/images/2025eboard/davidg.jpg"
- socials:
- github:
- linkedin: david-wg2
- email: vicepresident@ritsec.club
- other:
- - name: Danny Nichols
- position: Public Relations
- grad_year: 27
- avatar: "assets/images/2025eboard/dannyn.jpg"
- socials:
- github:
- linkedin: daniel-t-nichols
- email: publicrelations@ritsec.club
- other:
- - name: Adam Braccia
- position: Head of Education
- grad_year: 26
- avatar: "assets/images/2025eboard/adamb.jpg"
- socials:
- github:
- linkedin: adam-braccia-350407251
- email: education@ritsec.club
- other:
- - name: Hayden Hartman
- position: Head of Research
- grad_year: 29
- avatar: "assets/images/2025eboard/haydenh.jpg"
- socials:
- github:
- linkedin: hayden-hartman-60a042293
- email: research@ritsec.club
- other:
- - name: Manav Malik
- position: CTF CA
- grad_year: 26
- avatar: "assets/images/2025eboard/manavm.jpeg"
- socials:
- github:
- linkedin: manav-malik
- email: ctfca@ritsec.club
- other:
- - name: Leah Kvares
- position: ISTS CA
- grad_year: 27
- avatar: "assets/images/2025eboard/leahk.jpeg"
- socials:
- github:
- linkedin: leahkvares
- email: ists@ritsec.club
- other:
- - name: Arianna Schwartz
- position: IRSeC CA
- grad_year: 26
- avatar: "assets/images/2025eboard/ariannas.jpg"
- socials:
- github:
- linkedin: arianna--schwartz
- email: irsec@ritsec.club
- other:
- - name: Alex Noble
- position: Treasurer
- grad_year: 26
- avatar: "assets/images/2025eboard/alexn.jpg"
- socials:
- github:
- linkedin: alexnoble079
- email: treasurer@ritsec.club
- other:
- - name: Lukasz Ozimek
- position: Secretary
- grad_year: 27
- avatar: "assets/images/2025eboard/lukao.jpg"
- socials:
- github:
- linkedin: lukasz-ozimek-1376752a2
- email: secretary@ritsec.club
- other:
- - name: John Arrandale
- position: Operations Lead
- grad_year: 26
- avatar: "assets/images/2025eboard/John.jpg"
- socials:
- linkedin: john-arrandale
- email: operations@ritsec.club
- other:
- - name: Owen Silsbee
- position: Tech Lead
- grad_year: 28
- avatar: "assets/images/2025eboard/owens.jpeg"
- socials:
- linkedin: owensilsbee
- email: tech@ritsec.club
- other:
-
- - title: Social Media
- description: Stay up to date with our social media pages!
-
-past_eboards:
- - year: 2024-2025
- org_name: RITSEC
- members:
- - name: Kasey Kiggins
- position: President
- - name: Rachel Leone
- position: Vice President
- - name: Kip Rath
- position: Director of Public Relations
- - name: Lukas Peters
- position: Secretary
- - name: Leah Kvares
- position: Head of Education
- - name: Will D'Andrade
- position: Head of Research
- - name: Drew Young
- position: ISTS Competition Architect
- - name: Maxim Kochnev
- position: IRSeC CA
- - name: Chase Killorin
- position: CTF CA
- - name: David Girard
- position: Treasurer
- - name: John Arrandale
- position: Operations Lead
- - name: Dan LaChance
- position: Tech Lead
- - year: 2023-2024
- org_name: RITSEC
- members:
- - name: Anthony Ioppolo
- position: President
- - name: Kenneth Anderson
- position: Vice President
- - name: Sophie Larson
- position: Director of Public Relations
- - name: Raina Freeman
- position: Secretary
- - name: Kasey Kiggins
- position: Head of Education
- - name: Chase Killorin
- position: Head of Research
- - name: Zach Price
- position: ISTS Competition Architect
- - name: Jack Audino
- position: IRSeC CA
- - name: Rachel Leone
- position: CTF CA
- - name: Albie Snyder
- position: Treasurer
- - name: Michael Scalzetti
- position: Operations Lead
- - name: Alex Noble
- position: Tech Lead
-
- - year: 2022-2023
- org_name: RITSEC
- members:
- - name: Bradley Harker
- position: President
- - name: Max Fusco
- position: Vice President
- - name: Mohammad Eshan
- position: Director of Public Relations
- - name: Sarah Dill
- position: Secretary
- - name: Kenneth Anderson
- position: Head of Education
- - name: Anthony Ioppolo
- position: Head of Research
- - name: Michael Vaughan
- position: ISTS Competition Architect
- - name: Jacob Doll
- position: IRSeC CA
- - name: Zach Price
- position: CTF CA
- - name: Bailey Powers
- position: Treasurer
- - name: Abdulmalik Banaser
- position: Operations Lead
- - name: Alex Beaver
- position: Tech Lead
-
- - year: 2021-2022
- org_name: RITSEC
- members:
- - name: Enzo DeStephano
- position: President
- - name: Brayden Werner
- position: Head of Education
- - name: Tenchi Mata
- position: Head of Research
- - name: Alison Nakai-Lackey
- position: ISTS Competition Architect
- - name: Jason Howe
- position: IRSeC CA
- - name: Olivia Gallucci
- position: Treasurer
- - name: Jazmin Morales
- position: Secretary
- - name: Bradley Harker
- position: Director of Public Relations
- - name: Philomena Gray
- position: Operations Lead
- - name: Max Fusco
- position: Tech Lead
-
- - year: 2020-2021
- org_name: RITSEC
- members:
- - name: Jonathan Bauer
- position: President
- - name: Phillip Babey
- position: Head of Education
- - name: Enzo DeStephano
- position: Head of Research
- - name: Daniel Szafran
- position: ISTS Competition Architect
- - name: Joshua Niemann
- position: IRSeC CA
- - name: Spencer Roth
- position: Treasurer
- - name: Jason Howe
- position: Secretary
- - name: Danielle Schloss
- position: Director of Public Relations
- - name: Kyle Schleich
- position: Operations Lead
- - name: Ayobami 'Emmanuel' Adewale
- position: Tech Lead
- - year: 2019-2020
- org_name: RITSEC
- members:
- - name: Shannon McHale
- position: President
- - name: Owen Siebert
- position: Head of Education
- - name: Ian Furr
- position: Head of Research
- - name: Jack McKenna
- position: ISTS Competition Architect
- - name: Quintin Walters
- position: IRSEC CA
- - name: Amanda Brown
- position: Treasurer
- - name: Jon Bauer
- position: Secretary
- - name: Adrianna Visca
- position: Director of Public Relations
- - name: Evan Mikulski/Kyle Schleich
- position: Operations Lead
- - name: Sunggwan Choi
- position: Tech Lead
- - year: 2018-2019
- org_name: RITSEC
- members:
- - name: Micah Martin
- position: President
- - name: Russell Babarsky
- position: Head of Education
- - name: Nick O'Brien
- position: Head of Research
- - name: Sean Newman
- position: Competition Architect
- - name: Shannon McHale
- position: Treasurer
- - name: Jack McKenna
- position: Secretary
- - name: Alicen Dipiano
- position: Director of Public Relations
- - name: Brandon Adler
- position: Operations Lead
- - name: Scott Brink
- position: Tech Lead
- - year: 2017-2018
- multi_org: yes
- organizations:
- - org_name: RC3
- members:
- - name: Sean Sun
- position: President
- - name: Ohan Fillbach
- position: Vice President
- - name: Kristen Tumacder
- position: Competition Architect
- - name: Sean Newman
- position: Secretary
- - name: Michael Milkovich/Shannon McHale
- position: Treasurer
- - name: Bryson McIver
- position: Web Admin
- - name: Susan Lunn
- position: Operations
- - name: Megan Fritts, Bill Stackpole
- position: Faculty Advisor
- - org_name: SPARSA
- members:
- - name: Micah Martin
- position: President
- - name: Kyle Carretto
- position: Vice President of Practices
- - name: Cameron Clark
- position: Vice President of Research
- - name: Josh Stuts
- position: Treasurer
- - name: Russell Babarsky
- position: Secretary
- - name: Bo Yuan
- position: Faculty Advisor
- - year: 2016-2017
- multi_org: yes
- organizations:
- - org_name: RC3
- members:
- - name: Ben Bornholm
- position: President
- - name: Nicholas Piazza
- position: Vice President
- - name: Brad Campbell
- position: Tech Lead
- - name: Sarah Jacobus/Sean Sun
- position: Competition Architect
- - name: Sean Sun/Ohan Fillbach
- position: Web
- - name: Michael Milkovich
- position: Treasurer
- - name: Kristen Tumacder
- position: Secretary
- - org_name: SPARSA
- members:
- - name: Jesse Buonanno
- position: President
- - name: Cameron Clark
- position: Vice President of Practices
- - name: Dave Kukfa
- position: Vice President of Research
- - name: Brandon Adler
- position: Treasurer
- - name: Jon Myers
- position: Secretary
- - name: Bo Yuan
- position: Faculty Advisor
- - year: 2015-2016
- multi_org: yes
- organizations:
- - org_name: RC3
- members:
- - name: Scott Vincent
- position: President
- - name: Sean McConnell
- position: Vice President
- - name: Ed Mead
- position: Tech Lead
- - name: Luke Matarazzo
- position: Competition Architect
- - name: Jaime Geiger
- position: Web
- - name: Ben Bornholm
- position: Treasurer
- - name: Pooja Sharma
- position: Secretary
- - org_name: SPARSA
- members:
- - name: Corrine Smith
- position: President
- - name: Tyler Fornes
- position: Vice President of Research
- - name: Jesse Buonanno
- position: Treasurer
- - name: Peter Muller
- position: Secretary
- - name: Jared Stroud and Bryan Harmat
- position: Graduate Advisor
- - name: Bo Yuan
- position: Faculty Advisor
- - year: 2014-2015
- multi_org: yes
- organizations:
- - org_name: RC3
- members:
- - name: Jon Barber/Jaime Geiger
- position: President
- - name: Jaime Geiger/Nicholas Piazza
- position: Vice President
- - name: Scott Vincent
- position: Vice President of Administration
- - name: Sean McConnell
- position: Vice President of Technology
- - name: Ben Bornholm
- position: Treasurer
- - name: Sean McConnell/Luke Christian
- position: Secretary
- - org_name: SPARSA
- members:
- - name: Bryan Harmat
- position: President
- - name: Jared Stroud
- position: Vice President of Practices
- - name: Jon Barber/Stanley Chan
- position: Vice President of Research
- - name: Mike O’Gorman/Peter Muller
- position: Treasurer
- - name: Corinne Smith
- position: Secretary
- - name: Stanley Chan
- position: Graduate Advisor
- - name: Bo Yuan
- position: Faculty Advisor
- - year: 2013-2014
- multi_org: yes
- organizations:
- - org_name: RC3
- members:
- - name: Brandon Maur and Thomas Desrosiers
- position: Founders
- - name: Zuhdi "Z" Abdelkarim
- position: President
- - name: Daniyal Syed
- position: Vice President
- - name: Jon Barber
- position: Vice President of Technology
- - org_name: SPARSA
- members:
- - name: Ben Kelley
- position: President
- - name: Bryan Harmat
- position: Vice President of Practices
- - name: Lucas Duffey/Stanley Chan
- position: Vice President of Research
- - name: Claire McKenna
- position: Treasurer
- - name: Jared Stroud
- position: Secretary
- - name: Ben Andrews
- position: Graduate Advisor
- - name: Bo Yuan
- position: Faculty Advisor
-
- - year: 2012-2013
- org_name: SPARSA
- members:
- - name: Stanley Chan
- position: President
- - name: Ben Kelley
- position: Vice President of Practices
- - name: Brandon Myers
- position: Vice President of Research
- - name: Lucas Duffey
- position: Treasurer
- - name: Kayla Green
- position: Secretary
- - name: Chaim Sanders
- position: Graduate Advisor
- - name: Gary Scarborough and Bo Yuan
- position: Faculty Advisor
- - year: 2011-2012
- org_name: SPARSA
- members:
- - name: Ryan Peck
- position: President
- - name: Neil Zimmerman
- position: Vice President of Practices
- - name: Chaim Sanders
- position: Vice President of Research
- - name: Lucas Duffey
- position: Treasurer
- - name: Stanley Chan
- position: Secretary
- - name: Gary Scarborough
- position: Faculty Advisor
- - year: 2010-2011
- org_name: SPARSA
- members:
- - name: Jacob Ruppal
- position: President
- - name: Chaim Sanders
- position: Vice President of Practices
- - name: Ryan Peck
- position: Treasurer
- - name: Michael Tortora
- position: Secretary
- - name: Gary Scarborough
- position: Faculty Advisor
- - year: 2009-2010
- org_name: SPARSA
- members:
- - name: Conner Finlay
- position: President
- - name: Jacob Ruppal
- position: Vice President of Practices
- - name: Josh Smith
- position: Vice President of Research
- - name: Chaim Sanders
- position: Treasurer
- - name: Neil Zimmerman
- position: Secretary
- - year: 2007-2008
- org_name: SPARSA
- members:
- - name: Alex Getty
- position: President
- - name: Connor Finlay
- position: Vice President of Practices
- - name: Josh Smith
- position: Vice President of Research
- - name: Adam Burke
- position: Treasurer
- - name: Jacob Ruppal
- position: Secretary
- - year: 2006-2007
- org_name: SPARSA
- members:
- - name: Jason Batchelor
- position: President
- - name: Alex Getty
- position: Vice President of Practices
- - name: Nick Carpenter
- position: Vice President of Research
- - year: 2005-2006
- org_name: SPARSA
- members:
- - name: Jason Batchelor
- position: Vice President of Practices
- - year: 2004-2005
- org_name: SPARSA
- members:
- - name: Jeff Volante
- position: President
- - name: Jim Farrelly
- position: Vice President of Practices
- - name: Sara Berg
- position: Vice President of Research
- - name: Brian Luteran
- position: Treasurer
- - name: Jason Batchelor
- position: Secretary
- - year: 2003-2004
- org_name: SPARSA
- members:
- - name: Keith LeClaire
- position: President
- - year: 2002-2003
- org_name: SPARSA
- members:
- - name: Steve Frank
- position: President
- - name: Jeff Volante
- position: Vice President of Practices
- - name: Keith LeClaire
- position: Vice President of Research
- - name: Katie Hathaway
- position: Treasurer
- - name: Jim Farrelly
- position: Secretary
- - year: 2001-2002
- org_name: SPARSA
- members:
- - name: Jared Campbell
- position: President
- - name: Matt Hile
- position: Vice President of Practices
- - name: Gena Daley
- position: Vice President of Research
- - name: Reina Smith
- position: Treasurer
- - name: Aksh Sehgal
- position: Secretary
diff --git a/_data/alumni.yml b/_data/alumni.yml
deleted file mode 100644
index 4bd248be..00000000
--- a/_data/alumni.yml
+++ /dev/null
@@ -1,312 +0,0 @@
-sections:
- - title: Alumni
- description: Meet all of our wonderful alumni!
-
-alumni:
- - year: 2025
- name: Sharad Khanna
- - year: 2025
- name: Chris (Kip) Rath
- - year: 2025
- name: Michael Scalzetti
- - year: 2025
- name: Kyle Mullen
- - year: 2025
- name: Rachel Leone
- - year: 2025
- name: Asa Horn
- - year: 2025
- name: Sophia Larson
- - year: 2025
- name: Sohan Saimbhi
- - year: 2025
- name: Anthony Ioppolo
- - year: 2025
- name: Kyri Lea
- - year: 2025
- name: Sierra Kennedy
- - year: 2025
- name: Jacob Highfield
- - year: 2025
- name: Aaron Schwager
- - year: 2025
- name: Drew Young
- - year: 2025
- name: Zach Price
- - year: 2025
- name: Atharv Mungikar
- - year: 2025
- name: Hal Williams
- - year: 2025
- name: Rich Kleinhenz
- - year: 2025
- name: Cipriana Sorenson
- - year: 2025
- name: Jenna Weinman
- - year: 2025
- name: Danielle Schloss
-
- - year: 2024
- name: Ryan Cheevers-Brown
- - year: 2024
- name: Seth Teller
- - year: 2024
- name: Colin O'Rourke
- - year: 2024
- name: Allison Jankowski
- - year: 2024
- name: Alex Beaver
- - year: 2024
- name: Christopher Dutko
- - year: 2024
- name: Joseph Abbate
- - year: 2024
- name: Kat Nayan
- - year: 2024
- name: Alec Bhaskaran
- - year: 2024
- name: Max Fusco
- - year: 2024
- name: Jenna Weinman
- - year: 2024
- name: Bradley Harker
- - year: 2024
- name: Jason Howe
- - year: 2024
- name: Sarah Dill
- - year: 2024
- name: Bailey Powers
- - year: 2024
- name: Kenneth Anderson
- - year: 2024
- name: Jack Audino
- - year: 2024
- name: Nathan Belcher
- - year: 2024
- name: Olivia Gallucci
- - year: 2024
- name: George Link
- - year: 2024
- name: Alec Miller
-
- - year: 2023
- name: Abdulmalik Banaser
- - year: 2023
- name: Aedan (AT) Taylor
- - year: 2023
- name: Aidan Kies
- - year: 2023
- name: Alison Nakai-Lackey
- - year: 2023
- name: Brayden Werner
- - year: 2023
- name: Cameron Carey
- - year: 2023
- name: Evan Mikulski
- - year: 2023
- name: Kayla Hodgson
- - year: 2023
- name: Mike Turkowski
- - year: 2023
- name: Pranav Sarma
- - year: 2023
- name: Rayhan Baig
- - year: 2023
- name: Saakshi Gupta
- - year: 2023
- name: Salomi Rao
- - year: 2023
- name: Sarah Dill
- - year: 2023
- name: Sarthak Mathur
- - year: 2023
- name: Sma Das
- - year: 2023
- name: Spencer Roth
-
- - year: 2022
- name: Enzo DeStephano
- - year: 2022
- name: Jake McLellan
- - year: 2022
- name: Loudon Mehling
- - year: 2022
- name: Fred Rybin
- - year: 2022
- name: Brendan McGlynn
- - year: 2022
- name: Phillip Babey
- - year: 2022
- name: Ayobami Adawale
- - year: 2022
- name: Philomena Gray
- - year: 2022
- name: Andrew Quan
- - year: 2022
- name: Ian Stroszeck
- - year: 2022
- name: Chris Sequeira
- - year: 2022
- name: Andrew Afonso
- - year: 2022
- name: Josh Brown
- - year: 2022
- name: Mona Naveed
- - year: 2022
- name: Michael Madden
- - year: 2022
- name: Anna Volpova
- - year: 2022
- name: Valerie Lidiak
- - year: 2022
- name: Patrick Marchione
- - year: 2022
- name: Patrick Lamanna
- - year: 2022
- name: Stuart Nevans Locke
- - year: 2022
- name: Omar Aljaloud
- - year: 2022
- name: Chris Cheney
-
- - year: 2021
- name: Mohammed Alshehri
- - year: 2021
- name: Daniel Szafran
- - year: 2021
- name: Adrianna Visca
- - year: 2021
- name: Jonathan Bauer
- - year: 2021
- name: Marc Barclay
- - year: 2021
- name: Connor Leavesley
- - year: 2021
- name: Becca Fried
- - year: 2021
- name: Julie McGlensey
- - year: 2021
- name: Shannon McHale
- - year: 2021
- name: Zach Jorgensen
- - year: 2021
- name: Emily Wu
- - year: 2021
- name: Simon Buchheit
- - year: 2021
- name: Joshua Niemann
- - year: 2021
- name: Adriano DeCastro
- - year: 2021
- name: Jared Albert
- - year: 2021
- name: Ali Alamri
- - year: 2021
- name: Adin Drabkin
-
- - year: 2020
- name: Ian Furr
- - year: 2020
- name: Quintin Walters
- - year: 2020
- name: Owen Siebert
- - year: 2020
- name: Brandon Adler
- - year: 2020
- name: Jack McKenna
- - year: 2020
- name: Kyle Schleich
- - year: 2019
- name: Scott Brink
- - year: 2019
- name: Micah Martin
- - year: 2019
- name: Jim Maskelony
- - year: 2019
- name: Nick O’Brien
- - year: 2018
- name: Kyle Carretto
- - year: 2018
- name: Lucas Christian
- - year: 2014
- name: Daniyal Syed
- - year: 2012
- name: Ryan Peck
- - year: 2012
- name: Brian Muller
- - year: 2012
- name: Corey Sinay
- - year: 2012
- name: Rusty Bower
- - year: 2012
- name: Zack Allen
- - year: 2012
- name: James Gimbi
- - year: 2012
- name: Kirk Pinto
- - year: 2012
- name: James Brigden
- - year: 2012
- name: David Pearson
- - year: 2011
- name: Michael Tortora
- - year: 2011
- name: Susy Munoz
- - year: 2011
- name: Silas Cutler
- - year: 2011
- name: Jacob Ruppal
- - year: 2011
- name: Jacob Valletta
- - year: 2011
- name: Alex Shagla-McKotch
- - year: 2010
- name: Liz Kiewiet
- - year: 2010
- name: Tim Guyot
- - year: 2010
- name: Gerry Brunelle
- - year: 2010
- name: Conner Finlay
- - year: 2010
- name: Josh Smith
- - year: 2010
- name: Nathan Przybyszewski
- - year: 2009
- name: Aidan Blake
- - year: 2009
- name: Adam Burke
- - year: 2009
- name: Alex Getty
- - year: 2008
- name: Jason Batchelor
- - year: 2007
- name: Derek Anderson
- - year: 2007
- name: Nick Carpenter
- - year: 2006
- name: Sara Berg
- - year: 2006
- name: Greg Snyder
- - year: 2006
- name: Brian Luteran
- - year: 2006
- name: Jim Farrelly
- - year: 2006
- name: Jeff Volante
- - year: 2006
- name: Aron Stern
- - year: 2005
- name: Blake Darche
- - year: 2004
- name: Matthew Repicky
- - year: 2004
- name: Steve Frank
- - year: 2004
- name: Keith LeClaire Jr.
- - year: 2003
- name: Alex Moundalexis
- - year: 2003
- name: Aksh Sehgal
- - year: 2003
- name: Jeremy Beyette
diff --git a/_data/education.yml b/_data/education.yml
deleted file mode 100644
index 6def4a17..00000000
--- a/_data/education.yml
+++ /dev/null
@@ -1,154 +0,0 @@
----
-sections:
- - title: Spring 2026
- description:
- Education Slides - more about some of our favorite topics with our
- project-focused education system
- sets:
- - title: Week 1 | Intro to Ops
- description: Introduction to Ops
- lessons:
- - title: Education Slides
- description: Introduction to Ops
- url: https://docs.google.com/presentation/d/12sa6PnpnNiof13Ip_wCSu9uFcNjIXGWqKJjZlxgJSwI/edit?slide=id.g38da96f4c2a_0_604#slide=id.g38da96f4c2a_0_604
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 2 | Penteration Testing
- description: Penteration Testing
- lessons:
- - title: Education Slides
- description: Penteration Testing
- url: https://docs.google.com/presentation/d/1w_KRCtv4oZpnsXQB2CuwM-1rjo9WnMoJX8l_nk9ZkMU/edit
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 3 | Web3 Security
- description: Web3 Security
- lessons:
- - title: Education Slides
- description: Web3 Security
- url: https://docs.google.com/presentation/d/13nXXHyiZZnpkej7JUqYfsXenCswZ3GoOffN0rzu7xXM/edit
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 4 | OT Security
- description: OT Security
- lessons:
- - title: Education Slides
- description: OT Security
- url: https://docs.google.com/presentation/d/1KZTbm6Sw0srkcW9tJgRdafkL1yNHRHeYmHAvpOlMhFA/edit?slide=id.g38da96f4c2a_0_604#slide=id.g38da96f4c2a_0_604
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
-
- - title: Fall 2025
- description:
- Education Slides - more about some of our favorite topics with our
- project-focused education system
- sets:
- - title: Week 1 | Intro to RITSEC
- description: Introduction to RITSEC
- lessons:
- - title: Education Slides
- description: Welcome to RITSEC (2025-2026)
- url: https://docs.google.com/presentation/d/1FTrOHBGc8fqchM6ScoFtfYr96FoHx0uIb3_nKTLp_GE/edit?slide=id.g1e7aa6c9685_0_0#slide=id.g1e7aa6c9685_0_0
- - title: Demo Challenges
- description: No VM needed this week!
- url: https://flags.ritsec.club
- - title: Week 2 | Intro to CSEC
- description: Introduction to Cybersecurity
- lessons:
- - title: Education Slides
- description: Introduction to Cybersecurity
- url: https://docs.google.com/presentation/d/1XOdJYfZYkPdp2csiPy7rtz7sXloQrdAJNsp_RyBHLcc/edit?slide=id.g1e7aa6c9685_0_0#slide=id.g1e7aa6c9685_0_0
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 3 | Intro to Linux
- description: Introduction to Linux
- lessons:
- - title: Education Slides
- description: Introduction to the Linux Operating System
- url: https://docs.google.com/presentation/d/1BylGCmyZDcSzIPrq7tFQeeLfUrERDSdk1k1suUavcJg/edit?slide=id.g1e7aa6c9685_0_0#slide=id.g1e7aa6c9685_0_0
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 4 | Intro to Windows
- description: Introduction to Windows
- lessons:
- - title: Education Slides
- description: Introduction to the Windows Operating System
- url: https://docs.google.com/presentation/d/1Gv4KzZHQlNQM3G0nyRA0-gXx4TQeVRYAypddDSuz_90/edit?slide=id.g1e7aa6c9685_0_0#slide=id.g1e7aa6c9685_0_0
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 5 | Intro to Networking
- description: Introduction to Networking
- lessons:
- - title: Education Slides
- description: Introduction to Networking
- url: https://docs.google.com/presentation/d/1PQ1S-k2qqt0mQIK4Kk2X94ionfNHQUSufSjI6o4ZENM/edit?slide=id.g1e7aa6c9685_0_0#slide=id.g1e7aa6c9685_0_0
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 6 | Career Fair Prep
- description: Career Fair Preparations
- lessons:
- - title: Education Slides
- description: Preparation for the Fall 2025 Career Fair
- url: https://docs.google.com/presentation/d/14XDgC3sirOr2Wz6Z_pWCpCwcL76JZzITUtN52XtLpPA/edit?slide=id.g1e7aa6c9685_0_0#slide=id.g1e7aa6c9685_0_0
- - title: Week 7 | Intro to Core Services
- description: Introduction to Core Services
- lessons:
- - title: Education Slides
- description: Introduction to Core Services
- url: https://docs.google.com/presentation/d/15up682g7ttvppNp4yHaBy9t0P7SNyTGoxILy_NjUlEY/edit?slide=id.g1e7aa6c9685_0_0#slide=id.g1e7aa6c9685_0_0
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 8 | Intro to Cloud
- description: Introduction to Cloud Services
- lessons:
- - title: Education Slides
- description: Introduction to Cloud
- url: https://docs.google.com/presentation/d/1LZ-vWZG1iSom3b9RMl6CH8DZe_w65mplvyd3agcyH50/edit?slide=id.g38f20c7b97a_0_412#slide=id.g38f20c7b97a_0_412
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 9 | Intro to Blue Team
- description: Introduction to Blue Teaming
- lessons:
- - title: Education Slides
- description: Introduction to Blue Teaming
- url: https://docs.google.com/presentation/d/1jSgjJ1nGZNnfu5AvSsUsyqKU4IBw2tZHBBH_VeIUIuI/edit?slide=id.g38f20c7b97a_0_412#slide=id.g38f20c7b97a_0_412
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 10 | Intro to Black Team
- description: Introduction to Black Teaming
- lessons:
- - title: Education Slides
- description: Introduction to Black Teaming
- url: https://docs.google.com/presentation/d/1nUrVO8Nz2JvkDHfWaJpK19tUFgWLEbp-fx3RJTcnZNc/edit?slide=id.g38f20c7b97a_0_412#slide=id.g38f20c7b97a_0_412
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 11 | Hardware Security
- description: Hardware Security Fundamentals
- lessons:
- - title: Education Slides
- description: Hardware Security Fundamentals
- url: https://docs.google.com/presentation/d/1_J8Tr370di-4vF6po9H_WcUZzB6T_J395gCfwbbezeE/edit?slide=id.g38f20c7b97a_0_412#slide=id.g38f20c7b97a_0_412
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
- - title: Week 12 | Artificial Intelligence in Cybersecurity
- description: Introduction to Artificial Intelligence in Cybersecurity
- lessons:
- - title: Education Slides
- description: Artificial Intelligence in Cybersecurity
- url: https://docs.google.com/presentation/d/1PQskkLsIpFj3Y83pSQOsOz815xBcYz3mLW1QF7ved-0/edit?slide=id.g38f20c7b97a_0_412#slide=id.g38f20c7b97a_0_412
- - title: Demo Challenges
- description: Deploy the VM from the stack
- url: https://flags.ritsec.club
diff --git a/_data/events.yml b/_data/events.yml
deleted file mode 100644
index 172f15f2..00000000
--- a/_data/events.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-sections:
- - title: Events
- description: Our upcoming events, including meetings and competitions.
-
- events:
- - title: ISTS
- date: February 27th-March 1st, 2026
- location: Rochester, NY (Invite Only)
- image: "assets/images/ists2025.jpg"
- url: https://ists.io/
-
- - title: IRSeC
- date: November 1st, 2025
- location: Rochester, NY
- image: "assets/images/irsec2024.jpg"
- url: https://irsec.club/
-
- - title: Weekly Education Meeting
- date: Fridays 12:00-2:30 PM
- location: Rochester, NY
- image: "assets/images/education.jpg"
- url: https://twitch.tv/ritsec
-
- - title: Weekly Research Meeting
- date: Fridays 2:30-4:00 PM
- location: Rochester, NY
- image: "assets/images/research.jpg"
- url: https://twitch.tv/ritsec
-
- - title: RITSEC CTF
- date: April 3rd-5th, 2026
- location: Virtual & Rochester, NY
- image: "assets/images/ritsec_ctf_2026.png"
- url: https://ctf.ritsec.club
-
- - title: Virtual Career Fair Eve
- date: 6:00-8:00 PM October 6th, 2025
- location: Virtual & Rochester, NY
- image: "assets/images/ritsec_logo_final-07.png"
-
- - title: In-Person Career Fair Eve
- date: 6:00-8:00 PM October 7th, 2025
- location: Rochester, NY
- image: "assets/images/cfe2024.JPEG"
diff --git a/_data/gallery.yml b/_data/gallery.yml
deleted file mode 100644
index 64d3bb6e..00000000
--- a/_data/gallery.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-sections:
- - title: Gallery
-
- photos:
- - image: "assets/images/ists2025.jpg"
- title: "ISTS 2025"
- caption: "The Information Security Talent Search (ISTS) is a three-day cybersecurity competition held each spring at RIT. Teams from RIT and universities nationwide face a wide range of challenges designed to span many aspects of the security industry. Competitors test their incident response skills and offensive capabilities through a CTF, King-of-the-Hill (KoTH), business report writing, and a themed game—all while defending a fully student-built infrastructure."
- link: https://ists.io/
- - image: "assets/images/irsec2024.jpg"
- title: "IRSeC 2024"
- caption: "The Incident Response Security Competition (IRSeC) is our internal beginner-friendly red vs. blue competition, hosted in the fall semester at RIT. Through IRSeC, we aim to provide RIT students with some initial defensive and incident response experience. IRSeC also features an entirely student-run red team comprised of RITSEC members."
- link: https://irsec.club/
\ No newline at end of file
diff --git a/_data/groups.yml b/_data/groups.yml
deleted file mode 100644
index ebf9a40c..00000000
--- a/_data/groups.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-sections:
- - title: Groups
- - title: Partnerships
- groups:
- - name: WiCyS @ RIT
- meeting_time: Monday 4:00-5:00PM GOL-2730
- description: The WiCyS RIT Student Chapter is an all-inclusive interest group within RITSEC dedicated to making RIT’s Computing Security program more equitable. The chapter holds meetings and social events for students to come together and share their passion for security while creating a supportive network.
- - title: Competition Teams
- groups:
- - name: Collegiate Cyber Defense Competition (CCDC)
- meeting_time:
- description: Our CCDC team trains throughout the year for competitions that focus on securing and managing a fictitious corporate network. While defending against real-time cyber attacks from industry red teamers, the team must also keep critical services up and balance security with business needs. We host team tryouts every fall semester and meet weekly to prepare for the competition.
- - name: Collegiate Penetration Testing Competition (CPTC)
- meeting_time:
- description: The Collegiate Penetration Testing Competition (CPTC) is a national collegiate competition that focuses on the offensive aspects of cybersecurity. The competition simulates a real-world environment where students are tasked with attacking a network and finding vulnerabilities. Additionally, they must write reports on every vulnerability they discover. The CPTC team meets weekly to prepare.
- - title: Interest Groups
- groups:
- - name: Red Team Recruiting
- meeting_time: Wednesday 6:00-7:00PM CYB-2750
- description: Red Team is the hub for all things red teaming at RIT. We develop robust red team tools, infrastructure, and implants to play the role of an effective adversary in a red vs blue competition setting. We research and implement the latest techniques to pull networks apart and build them back better. As an RITSEC interest group we focus on developing offensive security skills, working as a team, and having fun! As an RITSEC interest program we focus on developing offensive security skills, working as a team, and having fun!
- - name: Incident Response IG
- meeting_time: Monday 6:30-7:30PM CYB-2780
- description: The incident response interest group focuses on all topics related to cyber incidents. This includes topics such as SANS PICERL & NIST Frameworks, SOC/SIEM/SOAR monitoring tools, forensics analysis, log analysis, and cyber defense techniques. We love Blue teaming and getting hands on experiences such as competitons that that can lead to a greater understanding of incident response in the professional setting. Anyone interested in Incident response, blue team, or even cyber security in general is encouraged and welcome to join.
- - name: Physical Security
- meeting_time: Tuesday 5:30-6:30PM CYB-2780
- description: In Physical Security Interest group you will learn all the basics of the world outside of the computer. You will learn to pick locks, alternative entry methods and many other things that computing security experts don't tend to think of when they are securing a system. Any level is welcome to come learn!
- - name: Team Contagion
- meeting_time: Thursday 5:00-6:00PM CYB-1710
- description: Contagion represents RITSEC in a variety of Capture the Flag (CTF) competitions. We compete at different ranges of difficulty and on both the national and international levels. Everyone is welcome to join at any skill level as we provide weekly educational presentations and demos.
- - name: OT Security
- meeting_time: Tuesday 5:00-6:00PM CYB-2750
- description: Operational Technology (OT) Security protects the computers and machines that control real-world things like power plants, water treatment facilities, traffic lights, and factory machines.
- - name: Zero-to-Hero IG
- meeting_time: Thursday 6:00-7:00PM CYB-2750
- description: Learn a little bit of everything. Build the foundation you need to go above and beyond in cybersecurity. Discover what your passion is in cybersecurity.
- - name: Wireless IG
- meeting_time: Thursday 4:00-5:00PM CYB-2780
- description: The Wireless Interest Group (aka Wiggles) focuses on all thing wireless. We focus more on cybersecurity related topics in wireless but we also go outside of this realm covering all things wireless and RF. Anyone interested in the topic or learning more is welcome to join!
- - name: Operations IG
- meeting_time: Tuesday 6:30-7:30PM CYB-2780
- description: The operations interest group focuses on various topics related to RITSEC's infrastructure. These topics could be related to hardware, virtualization, networking, automation, cloud computing, and server management. During our meeting time, we will cover a wide variety of these topics. Lastly, the OPS IG will be a pipeline to the OPS Program.
- - name: Reversing IG
- meeting_time: Monday 6:00-8:00PM CYB-1710
- description: The Reversing Interest Group revolves around the in-depth knowledge of binary applications and ultimately reversing malware. Topics such as assembly, executable formats, malware tactics, and much more will be discussed over the entire program's running. All are welcome from first years on no matter the knowledge level.
- - name: Vulnerability Research
- meeting_time: Tuesday, Thursday 7:00-10:00PM CYB-2750
- description: To introduce members of the club to the concepts of vulnerability and security research. This includes concepts such as bug bounties, code analysis, and fuzzing.
- - name: RVAPT
- meeting_time: Wednesday 6:00-7:00PM CYB-2780
- description: At RVAPT, we learn how to find and exploit vulnerabilities in networks and associated services by hands on custom labs. Each week we learn one to two ways to break in into a network and keep building up on it through out the semester.
\ No newline at end of file
diff --git a/_data/home.yml b/_data/home.yml
deleted file mode 100644
index 483c5c71..00000000
--- a/_data/home.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-sections:
- # Intro Section
- - title: RITSEC
- description: Security Through Community
-
- slideshow:
- - /assets/images/slideshow/image1.jpg
- - /assets/images/slideshow/image2.jpg
- - /assets/images/slideshow/image3.jpg
- - /assets/images/slideshow/image4.jpg
- - /assets/images/slideshow/image5.jpg
- - /assets/images/slideshow/image6.jpg
- - /assets/images/slideshow/image7.jpg
-
- # About Section
- - title: About Us
- description: RITSEC is a student club dedicated to teaching "Security Through Community." RITSEC is dedicated to educating and preparing RIT students to compete in security-related competitions, as well as showcasing RIT student talent in the current world of security today. Whether you're new to computing security or a veteran, RITSEC has a place for you. All of the activities we host to promote this learning can be found on our 'Events' page.
-
- buttons:
- - content: Learn More
- url: /about.html
-
- # Events Section
- - title: Upcoming Events
-
- empty_message: There aren't any upcoming events, check back soon! # Message if there are no events
-
- # Sponsors Section
- - title: Our Sponsors
-
- # Join Section
- - title: Join us!
-
- buttons:
- - content: Discord
- url: "http://discord.ritsec.club"
- - content: Calendar
- url: "http://calendar.ritsec.club"
diff --git a/_data/links.yml b/_data/links.yml
deleted file mode 100644
index dcd53748..00000000
--- a/_data/links.yml
+++ /dev/null
@@ -1,156 +0,0 @@
-sections:
- - title: Resources
- description: General security resources that members of the club have found useful for learning computing security skills.
-
- - title: Dev Tools for Students
- description: Free development tools for students!
-
- links:
- - title: GitHub Developer Pack
- description: Free access to dev tools, server hosting, Copilot, and more!
- url: https://education.github.com/pack
-
- - title: Azure Student Devtools
- description: Countless free Microsoft licenses and development tools!
- url: https://azureforeducation.microsoft.com/devtools
-
- - title: Coding
- description: Let's get started with some fresh coding!
-
- links:
- - title: Missing @ CSAIL
- description: Cover the entirety of your CS education in a month!
- url: https://missing.csail.mit.edu/
-
- - title: edX
- description: Harvard's FREE coding course.
- url: https://www.edx.org/
-
- - title: FreeCodeCamp
- description: Lessons, certificates, and coding interview prep.
- url: https://www.freecodecamp.org/
-
- - title: Advent of Code
- description: 25 challenges to get you through the holidays!
- url: https://adventofcode.com/
-
- - title: Intro to Linux
- description: Resources for getting started in Linux.
-
- links:
- - title: Over the Wire
- description: Want to learn Linux? Go Zero to Hero with OverTheWire!
- url: https://overthewire.org/wargames/bandit/
-
- - title: Linux Journey
- description: Want to focus on learning specific parts of Linux?
- url: https://linuxjourney.com/
-
- - title: Student Discounts
- description: Take advantage of your student status!
-
- links:
- - title: Hack the Box Academy
- description: Get discounted subscriptions for HTB Academy!
- url: https://help.hackthebox.com/en/articles/7973133-getting-the-student-subscription
-
- - title: TryHackMe
- description: 20% off annual TryHackMe subscriptions!
- url: https://help.tryhackme.com/en/articles/6494960-student-discount
-
- - title: Burp Suite Pro – 1 Month
- description: 1 month of free web pwning with pro features!
- url: https://portswigger.net/requestfreetrial/pro
-
- - title: Caido – 1 Year Free
- description: 1 free year of a great web app pentesting tool!
- url: https://caido.io/pricing
-
- - title: Maltego – Student Grant
- description: Get free access to one of the most powerful OSINT tools!
- url: https://www.maltego.com/maltego-grants/
-
- - title: Shodan Membership – Free
- description: See every device on the internet! A powerful OSINT tool
- url: https://help.shodan.io/the-basics/account-faq
-
- - title: Intro to Web
- description: Resources for getting started in Web Security.
-
- links:
- - title: HackSplaining
- description: Want to learn web exploitation? This is your resource!
- url: https://www.hacksplaining.com/lessons
-
- - title: PentesterLab
- description: Want to learn how to hack Web? PentesterLab has everything!
- url: https://pentesterlab.com/
-
- - title: Red Teaming / Penetration Testing
- description: Tools and learning for red teaming and offensive security.
-
- links:
- - title: RITSEC Red Team
- description: All of RITSEC Red Team's public tools.
- url: https://github.com/ritredteam/
-
- - title: Hack the Box
- description: Want to develop your pentesting skills? HTB is your place!
- url: https://www.hackthebox.com/
-
- - title: Windows Security Resources
- description: A list of Windows security and hacking resources.
- url: https://github.com/chryzsh/awesome-windows-security
-
- - title: Windows Red Team Resources
- description: Windows Red Team and pentesting resources!
- url: https://github.com/marcosValle/awesome-windows-red-team
-
- - title: IRed
- description: Various tools and techniques used by PenTesters/RedTeamers.
- url: https://ired.team/
-
- - title: Internet of Things (IoT)
- description: Learn about hacking all hardware connected to the Internet!
-
- links:
- - title: Awesome Embedded and IoT Security
- description: A list of awesome resources to learn everything IoT!
- url: https://github.com/fkie-cad/awesome-embedded-and-iot-security
-
- - title: Networking
- description: Learn more about how the beep boops connect!
-
- links:
- - title: IT Security Lecture
- description: Demos and info on OSI, VPN, Wireshark, and wireless!
- url: https://github.com/bkimminich/it-security-lecture/blob/master/slides/01-04-network_security.md
-
- - title: Cloud Security
- description: We don’t use servers! We use the cloud! The future is NOW!
-
- links:
- - title: Puresec
- description: AWS, Azure, Google Cloud, and other resources!
- url: https://github.com/puresec/awesome-serverless-security
-
- - title: AWS Educate
- description: Free labs and cloud skills development for students!
- url: https://aws.amazon.com/education/awseducate/
-
- - title: Azure for Students
- description: Free $100 Azure credit and Azure services!
- url: https://azure.microsoft.com/en-us/free/students
-
- - title: Bug Bounties
- description: Hack sites, get money $$$
-
- links:
- - title: Awesome Bug Bounty
- description: List of bug bounty reports. Get started here!
- url: https://github.com/djadmin/awesome-bug-bounty
-
- - title: Hacker101
- description: Learn the basics of web security, participate in bug bounties!
- url: https://www.hacker101.com/
-
diff --git a/_data/sponsors.yml b/_data/sponsors.yml
deleted file mode 100644
index b9825d2a..00000000
--- a/_data/sponsors.yml
+++ /dev/null
@@ -1,110 +0,0 @@
-sections:
- - title: Sponsors
- description:
-
- tier:
- # Titanium:
- # - title:
- # image:
- # url:
-
- Diamond:
- - title: Security Risk Advisors
- image: /assets/images/sponsors/sra.png
- url: https://sra.io/
-
- - title: Eaton Corporation
- image: /assets/images/sponsors/eaton.png
- url: https://www.eaton.com/us/en-us.html
-
- Platinum:
-
- - title: Battelle
- image: /assets/images/sponsors/battelle.jpg
- url: https://www.battelle.org/
-
- - title: FM
- image: /assets/images/sponsors/fm.png
- url: https://www.fm.com/
-
- - title: ICR Inc.
- image: /assets/images/sponsors/icrinc.jpg
- url: https://icr-team.com/
-
- - title: Amplify
- image: /assets/images/sponsors/amplify.jpeg
- url: https://amplify.com/
-
- - title: Datadog
- image: /assets/images/sponsors/datadog.png
- url: https://www.datadoghq.com/
-
- Gold:
- - title: Magnet Forensics
- image: /assets/images/sponsors/magnet.png
- url: https://www.magnetforensics.com/
-
- - title: Research Innovations Incorporated
- image: /assets/images/sponsors/rii.jpg
- url: https://www.researchinnovations.com/
-
- - title: M&T Bank
- image: /assets/images/sponsors/mt.png
- url: https://www.mtb.com/
-
- - title: Miscreants
- image: /assets/images/sponsors/miscreants.svg
- url: https://www.miscreants.co/
-
- - title: American Express
- image: /assets/images/sponsors/amex.png
- url: https://www.americanexpress.com/
-
- - title: Sharad Khanna
- image: /assets/images/sponsors/sharad.jpg
- url: https://www.linkedin.com/in/khanna-sharad/
-
- Silver:
- - title: Travelers Insurance
- image: /assets/images/sponsors/travelers.png
- url: https://www.travelers.com/
-
- - title: Lockheed Martin
- image: /assets/images/sponsors/lockheed.jpg
- url: https://www.lockheedmartin.com/
-
- - title: Wings Over
- image: /assets/images/sponsors/wingsover.png
- url: https://wingsover.com/
-
- - title: Mindex
- image: /assets/images/sponsors/mindex.jpeg
- url: https://www.mindex.com/
-
- Educational:
-
- - title: Crowdstrike
- image: /assets/images/sponsors/crowdstrike.png
- url: https://www.crowdstrike.com/
-
-
- - title: Hack The Box
- image: /assets/images/sponsors/hackthebox.png
- url: https://www.hackthebox.com/
-
- - title: Bugcrowd
- image: /assets/images/sponsors/bugcrowd.jpg
- url: https://www.bugcrowd.com/
-
- - title: MetaCTF
- image: /assets/images/sponsors/metactf.png
- url: https://metactf.com/
-
- - title: No Starch Press
- image: /assets/images/sponsors/nostarchpress.png
- url: https://nostarch.com/
-
- - title: Fortra
- image: /assets/images/sponsors/fortra-logo-forest-green.png
- url: https://fortra.com/
-
diff --git a/_includes/footer.html b/_includes/footer.html
deleted file mode 100644
index b3b20946..00000000
--- a/_includes/footer.html
+++ /dev/null
@@ -1,151 +0,0 @@
-
diff --git a/_includes/head.html b/_includes/head.html
deleted file mode 100644
index f0b9cc8f..00000000
--- a/_includes/head.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- {%- seo -%}
-
-
-
-
-
diff --git a/_includes/header.html b/_includes/header.html
deleted file mode 100644
index 4e61824f..00000000
--- a/_includes/header.html
+++ /dev/null
@@ -1,45 +0,0 @@
-{%- assign default_paths = site.pages | map: "path" -%} {%- assign page_paths =
-site.header_pages | default: default_paths -%} {%- assign titles_size =
-site.pages | map: 'title' | join: '' | size -%}
-
diff --git a/_layouts/default.html b/_layouts/default.html
deleted file mode 100644
index eb61a306..00000000
--- a/_layouts/default.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {%- include head.html -%}
-
-
-
- {%- include header.html -%}
-
-
- {{ content }}
-
-
- {%- include footer.html -%}
-
-
-
-
-
-
diff --git a/_sass/init.scss b/_sass/init.scss
deleted file mode 100644
index 272f0963..00000000
--- a/_sass/init.scss
+++ /dev/null
@@ -1,51 +0,0 @@
-@charset "utf-8";
-
-// Default variables
-
-html {
- transition: all 0.3s ease;
-}
-
-// Dark mode styles
-html {
- // Base variables
- --background-color: #0d0d0f;
- --background-image: url(/assets/images/bg-dark.svg);
- --border-color: rgba(255, 255, 255, 0.1);
- --text-color: #ffffff;
- --light-text-color: #ccc;
- --link-color: #ff7613;
- --card-color: #26262b;
- --card-color-light: #2d2d33;
-
- // Header variables
- --header-color: rgba(18, 16, 19, 0.35);
- --header-color-mobile: rgba(18, 16, 19, 0.95);
- // --header-image-url: url(/assets/images/ritsec_logo_final-05.png);
- --header-image-url: url(/assets/images/ritsec_logo_final-05.png); //Halloween Logo
-}
- html.light {
- // Base variables
- --background-color: #F1F1F1;
- --background-image: url(/assets/images/bg-light.svg);
- --border-color: rgba(0, 0, 0, 0.1);
- --text-color: #000000;
- --light-text-color: #525252;
- --link-color: #ff7613;
- --card-color: #f3f3f4;
- --card-color-light: #e2e2e7;
-
- // Header variables
- --header-color: rgba(211, 210, 211, 0.35);
- --header-color-mobile: rgba(211, 210, 211, 0.95);
- // --header-image-url: url(/assets/images/ritsec_logo_final-05.png);
- --header-image-url: url(/assets/images/ritsec_logo_final-05.png); //Halloween Logo
-
- // Home page variables
- --gradient-1: #e6e6e6;
- --gradient-2: #cbcbcb;
- --gradient-3: #b2b2b2;
- }
-
-@import "main", "pages/home", "pages/about", "pages/education", "pages/events", "pages/gallery", "pages/links", "pages/sponsors",
- "pages/alumni", "pages/groups";
diff --git a/_sass/main.scss b/_sass/main.scss
deleted file mode 100644
index 41480c31..00000000
--- a/_sass/main.scss
+++ /dev/null
@@ -1,439 +0,0 @@
-*,
-*::before,
-*::after {
- box-sizing: inherit;
-}
-
-* {
- box-sizing: border-box;
- vertical-align: baseline;
- font-weight: inherit;
- font-family: inherit;
- font-style: inherit;
- font-size: 16px;
- border: 0 none;
- outline: 0;
- padding: 0;
- margin: 0;
-}
-
-html,
-body {
- width: 100%;
- overflow-x: hidden;
-}
-
-/** Scrollbar **/
-// ::-webkit-scrollbar {
-// width: 0;
-// -webkit-appearance: none;
-// }
-
-/** Links **/
-:link {
- color: var(--text-color);
- opacity: 1;
- transition: 0.1s ease-in-out;
-
- &:hover {
- opacity: 0.7;
- }
-}
-
-body {
- margin: 0;
- padding: 0;
- font-family: "JetBrains Mono", Monospace, Sans-Serif;
- font-weight: 400;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- overflow-wrap: break-word;
- color: var(--text-color);
- background-image: var(--background-image);
- background-attachment: fixed;
- max-width: 100%;
- height: 100%;
- min-height: 100%;
- display: flex;
- flex-direction: column;
- overflow-x: hidden;
-}
-
-/** Header **/
-.header {
- position: sticky;
- width: 100%;
- min-height: 64px;
- z-index: 100;
- top: 0;
- display: flex;
- align-items: center;
-
- background-color: var(--header-color);
- backdrop-filter: blur(16px);
- border-bottom: 1px solid transparent;
- transition: all 0.15s ease-in-out;
-}
-
-.border-bottom {
- border-bottom: 1px solid var(--border-color);
-}
-
-.header-wrapper {
- display: flex;
- flex: 1 1;
- justify-content: space-evenly;
- align-items: center;
- max-width: 80rem;
- margin: 0 auto;
- padding: 0 16px;
-}
-
-.header-image-container {
- width: 80%;
- z-index: 105;
-}
-
-.header-image-container,
-.header-image-container a {
- display: flex;
- align-items: center;
- height: 100%;
-}
-
-.header-image {
- // width: 264px;
- height: 48px;
- content: var(--header-image-url);
- z-index: 105;
-}
-
-.navbar-slash {
- color:#E69132;
-}
-
-.navbar-links {
- display: flex;
- justify-content: space-around;
- width: 65%;
- z-index: 20;
-
- li {
- list-style: none;
- }
-
- a {
- display: flex;
- color: var(--text-color);
- opacity: 0.7;
- text-decoration: none;
- font-size: 1rem;
- font-weight: 600;
- margin-left: 1rem;
-
- transition: 0.15s ease-in-out;
-
- &:hover {
- opacity: 1;
- }
- }
-}
-
-.navbar-burger {
- display: none;
- cursor: pointer;
- z-index: 20;
-
- div {
- width: 25px;
- height: 2px;
- background-color: var(--text-color);
- opacity: 0.7;
- margin: 5px;
- transition: all 0.3s ease;
- }
-}
-
-@media screen and (max-width: 1024px) {
- body {
- overflow-x: hidden;
- }
-
- .navbar-links {
- position: absolute;
- top: 0;
- right: 0;
- height: 100vh;
- background-color: var(--header-color-mobile);
- backdrop-filter: blur(16px);
- border-left: 1px solid var(--border-color);
- display: flex;
- flex-direction: column;
- justify-content: start;
- gap: 20px;
- padding-top: 64px;
- z-index: 15;
- width: 40%;
-
- transform: translateX(100%);
- transition: transform 0.5s ease-in-out;
-
- li {
- opacity: 0;
- }
- }
-
- .navbar-burger {
- display: block;
- }
-}
-
-.navbar-active {
- transform: translateX(0);
-}
-
-.navbar-burger-active {
- .line-1 {
- transform: rotate(-45deg) translate(-5px, 5px);
- }
- .line-2 {
- opacity: 0;
- }
- .line-3 {
- transform: rotate(45deg) translate(-5px, -5px);
- }
-}
-
-// .navbar-theme-toggle_container {
-// height: 100%;
-// border: 1px solid blue;
-// display: flex;
-// justify-content: center;
-// align-items: center;
-// }
-
-// .navbar-theme-toggle {
-// cursor: pointer;
-// border: 1px solid red;
-// width: 16px;
-// height: 16px;
-// fill: var(--text-color);
-// opacity: 0.7;
-
-// transition: 0.15s ease-in-out;
-
-// &:hover {
-// opacity: 1;
-// }
-// }
-
-@keyframes navbar-link-fade {
- from {
- opacity: 0;
- transform: translateX(50px);
- }
- to {
- opacity: 1;
- transform: translateX(0);
- }
-}
-
-/** Footer **/
-.site-footer {
- background: var(--background-color);
- height: auto;
- width: 100%;
- padding: 1rem;
- border-top: 1px solid var(--border-color);
- display: flex;
- align-items: center;
-}
-
-.footer-wrapper {
- width: 100%;
- max-width: 48rem;
- margin: 0 auto;
- display: flex;
- flex-direction: column;
- align-items: center;
- text-align: center;
-}
-
-.footer-info-container {
- width: 100%;
- height: 100%;
- display: flex;
- align-items: center;
- text-align: left;
-
- @media (max-width: 576px) {
- flex-direction: column;
- text-align: center;
- }
-}
-
-.footer-title-container {
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: column;
- align-items: flex-start;
-
- @media (max-width: 576px) {
- justify-content: center;
- align-items: center;
- flex-direction: row;
- gap: 12px;
- margin-bottom: 8px;
- }
-}
-
-.footer-title {
- color: var(--text-color);
- font-size: 1.5rem;
- font-weight: 700;
- margin-bottom: 4px;
-}
-
-.footer-description-container {
- width: 100%;
- height: 100%;
- font-size: 1rem;
- color: var(--text-color);
- opacity: 0.75;
-
- @media (max-width: 576px) {
- font-size: 0.85rem;
- }
-}
-
-.email:link {
- color: var(--text-color);
- text-decoration: underline;
- text-decoration-color: var(--link-color);
- opacity: 0.7;
- transition: 0.1s ease-in-out;
-}
-
-.email:hover {
- color: var(--link-color);
- opacity: 1;
-}
-
-.email:visited {
- color: var(--link-color);
-}
-
-.footer-social-container {
- width: 100%;
- height: 100%;
- margin-top: 20px;
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- gap: 12px;
-}
-
-.social-link {
- width: 40px;
- height: 40px;
- padding: 10px;
- border: 1px solid var(--border-color);
- display: flex;
- justify-content: center;
- align-items: center;
- color: var(--text-color);
- opacity: 0.7;
- text-decoration: none;
- transition: 0.1s ease-in-out;
-
- svg {
- width: 20px;
- height: 20px;
- }
-
- &:hover {
- opacity: 1;
- }
-}
-
-@media (max-width: 768px) {
- .footer-wrapper {
- flex-direction: column;
- }
- .footer-col-wrapper {
- margin: 0.25rem 0;
- }
-}
-
-/** Content **/
-.heading-title {
- font-style: normal;
- font-weight: 800;
- text-align: center;
- color: var(--text-color);
- margin-top: 60px;
- font-size: 4rem;
- line-height: 4rem;
-}
-
-.heading-description {
- font-style: normal;
- font-weight: 600;
- text-align: center;
- color: var(--light-text-color);
- margin-top: 24px;
- font-size: 1.3rem;
- line-height: 2rem;
-}
-
-// Dark Light Toggle Switch
-.toggle {
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
- width: 42px;
- height: 22px;
- display: inline-block;
- position: relative;
- border-radius: 50px;
- overflow: hidden;
- outline: none;
- border: none;
- margin-top:1rem;
- cursor: pointer;
- background-color: #707070;
- transition: background-color ease 0.3s;
-}
-
-.toggle:before {
- content: "";
- display: block;
- position: absolute;
- z-index: 2;
- width: 18px;
- height: 18px;
- background: #fff;
- left: 2px;
- top: 2px;
- border-radius: 50%;
- font: 10px/18px Helvetica;
- text-transform: uppercase;
- font-weight: bold;
- text-indent: -22px;
- word-spacing: 37px;
- color: #fff;
- text-shadow: -1px -1px rgba(0,0,0,0.15);
- white-space: nowrap;
- box-shadow: 0 1px 2px rgba(0,0,0,0.2);
- transition: all cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s;
-}
-
-.toggle:checked {
- background-color: #202020;
-}
-
-.toggle:checked:before {
- left: 22px;
-}
\ No newline at end of file
diff --git a/_sass/pages/about.scss b/_sass/pages/about.scss
deleted file mode 100644
index dcb02dae..00000000
--- a/_sass/pages/about.scss
+++ /dev/null
@@ -1,300 +0,0 @@
-.about-container {
- width: 100%;
- max-width: 120rem;
- margin: auto;
-}
-
-.about-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.about-description_container {
- width: 100%;
- max-width: 70%;
-
- @media (max-width: 1028px) {
- max-width: 90%;
- }
-}
-
-.about-groups-container {
- width: 80%;
- display: flex;
- align-items: center;
- justify-content: space-evenly;
- flex-wrap: wrap;
-}
-
-.group_container {
- margin: 1rem;
- min-width: 40%;
- flex: 1;
- background: var(--card-color);
- border-radius: 1rem;
- padding: 1rem;
- box-sizing: border-box;
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- justify-content: space-evenly;
-
- .group_title {
- display: flex;
- align-self: flex-start;
- justify-content: space-between;
- width: 100%;
- margin: 0;
-
- .group_name {
- font-size: 1.5rem;
- font-weight: 500;
- margin: 0;
- }
-
- .group_meeting {
- color: #AAA;
- margin: 0;
- }
- }
-
- hr {
- width: 4rem;
- margin: 0.5rem 0;
- border-top: 2px solid white;
- }
-
- .group_description {
- font-size: 0.8rem;
- }
-}
-
-.about-section-heading {
- font-style: normal;
- font-weight: 800;
- text-align: center;
- color: var(--text-color);
- margin-top: 40px;
- font-size: 2.5rem;
- line-height: 2.5rem;
-}
-
-.about-section-description {
- font-style: normal;
- font-weight: 600;
- text-align: center;
- color: var(--light-text-color);
- margin-top: 18px;
- font-size: 1.3rem;
- line-height: 2rem;
-}
-
-.members-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-}
-
-.members-container {
- width: 100%;
- max-width: 100%;
- display: flex;
- justify-content: center;
-
- margin-top: 30px;
- margin-bottom: 48px;
- @media (min-width: 576px) {
- margin-top: 46px;
- margin-bottom: 69px;
- }
-}
-
-.members-grid {
- width: 100%;
- max-width: 70%;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 32px;
- justify-content: center;
-
- @media (max-width: 1024px) {
- max-width: 90%;
- }
-}
-
-.member_container {
- background: var(--card-color);
- position: relative;
- width: 250px;
- height: 350px;
- border-radius: 16px;
- display: grid;
- grid-template-rows: 1fr 120px;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2);
- overflow: hidden;
-}
-
-.member_avatar-container {
- position: relative;
- border-radius: 16px 16px 0 0;
- overflow: hidden;
- width: 100%;
- height: 100%;
- vertical-align: middle;
-}
-
-.member_avatar {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translateX(-50%) translateY(-50%);
- width: 100%;
- height: 100%;
- object-fit: cover;
- box-shadow: 0px 4px 64px rgba(0, 0, 0, 0.2);
- // border-radius: 16px 16px 0 0;
-}
-
-.member_info {
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- padding: 6px 20px;
- overflow: hidden;
-}
-
-.member_title {
- font-size: 1.15rem;
- font-weight: 700;
- color: var(--text-color);
- margin-bottom: 4px;
-
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- flex-shrink: 0;
-}
-
-.member_details {
- font-size: 1rem;
- font-weight: 400;
- overflow: hidden;
- white-space: nowrap;
- flex-grow: 1;
- text-align: center;
-}
-
-.member_socials {
- width: 100%;
- margin-top: 8px;
- display: flex;
- justify-content: center;
- gap: 14px;
-}
-
-.member_social-link {
- height: 20px;
- width: 20px;
- color: var(--light-text-color);
- transition: 0.1s ease-in-out;
-}
-
-.member_social-link:hover {
- opacity: 1;
- color: var(--link-color);
-}
-
-.about-socials-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.about-social-container {
- width: 100%;
- max-width: 60%;
- padding: 1.5rem 0;
- display: flex;
- flex-direction: row;
- gap: 32px;
- justify-content: space-evenly;
- align-items: center;
-
- @media (max-width: 1256px) {
- max-width: 100%;
- padding: 1rem;
- }
-
- @media (max-width: 900px) {
- flex-direction: column;
- }
-}
-
-.about-past-eboard-section {
- text-align: center;
-
- .about-past-eboard-container .about-past-eboard {
- .past-eboard-year {
- font-size: 1.75rem;
- color: #e69138;
- margin-top: 1rem;
- }
-
- .past-eboard-orgname {
- color: #e69138;
- margin: 0.5rem 0;
- }
-
- .past-eboard-orgs-container {
- display: flex;
- align-items: flex-start;
- justify-content: space-evenly;
- flex-wrap: wrap;
- width: 60%;
- margin: 1rem auto;
-
- .past-eboard-org {
- margin: 0 0.5rem;
- }
- }
- }
-}
-
-@media only screen and (max-width: 768px) {
- .about-groups-container {
- width: 100% !important;
-
- .group_container {
- min-width: 100% !important;
-
- .group_title {
- flex-direction: column;
- }
- }
- }
-}
diff --git a/_sass/pages/alumni.scss b/_sass/pages/alumni.scss
deleted file mode 100644
index 0dc16fb9..00000000
--- a/_sass/pages/alumni.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-.alumni-section {
- text-align: center;
-
- .alumni-container .graduation-group {
- .graduation-year {
- font-size: 2.5rem;
- color: #e69138;
- margin-top: 1rem;
- }
-
- .alumni-group {
- display: flex;
- align-items: flex-start;
- justify-content: space-evenly;
- flex-wrap: wrap;
- width: 50%;
- margin: 1rem auto;
-
- .alumni-title {
- width: 30%;
- }
- }
- }
-}
diff --git a/_sass/pages/education.scss b/_sass/pages/education.scss
deleted file mode 100644
index 2d0fdb34..00000000
--- a/_sass/pages/education.scss
+++ /dev/null
@@ -1,57 +0,0 @@
-.education-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.education-set-container {
- width: 100%;
- display: flex;
- flex-direction: column;
- gap: 32px;
-
- margin-top: 30px;
- margin-bottom: 48px;
- @media (min-width: 576px) {
- margin-top: 38px;
- margin-bottom: 60px;
- }
-}
-
-.education-set {
- width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- text-align: center;
-}
-
-.education-set_title {
- color: var(--text-color);
- font-size: 1.5rem;
- font-weight: 700;
-}
-
-.education-set_description {
- color: var(--text-color);
- opacity: 0.7;
- font-size: 1rem;
- margin: 0.25rem 0 1rem;
-}
-
-.education-set_lesson-container {
- width: 100%;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 16px 32px;
- justify-content: center;
-}
diff --git a/_sass/pages/events.scss b/_sass/pages/events.scss
deleted file mode 100644
index d93dab42..00000000
--- a/_sass/pages/events.scss
+++ /dev/null
@@ -1,127 +0,0 @@
-.events-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.events-container {
- width: 100%;
- max-width: 100%;
- display: flex;
- justify-content: center;
-
- margin-top: 30px;
- margin-bottom: 48px;
- @media (min-width: 576px) {
- margin-top: 38px;
- margin-bottom: 60px;
- }
-}
-
-.events-grid {
- width: 100%;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 32px;
- justify-content: center;
-}
-
-.event_container {
- background: var(--card-color);
- position: relative;
- width: 450px;
- height: 350px;
- border-radius: 16px;
- display: grid;
- grid-template-rows: 1fr 80px;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2);
- overflow: hidden;
-}
-
-.event_image-container {
- position: relative;
- border-radius: 16px 16px 0 0;
- overflow: hidden;
- width: 100%;
- height: 100%;
- vertical-align: middle;
-}
-
-.event_image {
- width: 100%;
- height: 100%;
- object-fit: cover;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translateX(-50%) translateY(-50%);
- box-shadow: 0px 4px 64px rgba(0, 0, 0, 0.2);
- border-radius: 16px 16px 0 0;
- transition: all 0.3s ease;
-}
-
-.event_info {
- width: 100%;
- height: 100%;
- display: grid;
- grid-template-columns: 1fr 3rem;
- align-items: center;
- padding: 6px 20px;
-}
-
-.event_info-container {
- width: 100%;
- max-width: 412px;
- overflow: hidden;
-}
-
-.event_title {
- font-size: 1.15rem;
- font-weight: 700;
- color: var(--text-color);
- margin-bottom: 4px;
-
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.event_details {
- display: flex;
- color: var(--light-text-color);
-}
-
-.event_date {
- color: var(--link-color);
- opacity: 0.9;
- margin-right: 10px;
-}
-
-.event_link-container {
- width: 100%;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.event_link {
- cursor: pointer;
- height: 1.5rem;
- width: 1.5rem;
- color: var(--light-text-color);
- transition: all 0.1s ease-in-out;
-
- &:hover {
- color: var(--link-color);
- }
-}
diff --git a/_sass/pages/gallery.scss b/_sass/pages/gallery.scss
deleted file mode 100644
index 183f2109..00000000
--- a/_sass/pages/gallery.scss
+++ /dev/null
@@ -1,126 +0,0 @@
-.gallery-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.gallery-container {
- width: 100%;
- max-width: 100%;
- display: flex;
- justify-content: center;
-
- margin-top: 30px;
- margin-bottom: 48px;
- @media (min-width: 576px) {
- margin-top: 46px;
- margin-bottom: 69px;
- }
-}
-
-.gallery-grid {
- width: 100%;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 32px;
- justify-content: center;
-}
-
-.gallery-photo {
- position: relative;
- width: 650px;
- height: 450px;
- border-radius: 8px;
- border: 1px solid #e69138;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2);
- cursor: pointer;
- overflow: hidden;
-
- @media (max-width: 576px) {
- height: 350px;
- }
-}
-
-.gallery-photo_image {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translateX(-50%) translateY(-50%);
- max-width: auto;
- max-height: 100%;
- transition: all 0.3s ease;
-}
-
-.gallery-photo_caption-container {
- position: absolute;
- background-color: var(--header-color-mobile);
- color: var(--light-text-color);
- width: 100%;
- height: 20%;
- bottom: 0;
- padding: 1rem;
- display: flex;
- flex-direction: column;
-
- transition: all 0.3s ease;
-}
-
-.gallery-photo_caption-title {
- font-size: 1.25rem;
- font-weight: 700;
- color: var(--text-color);
- opacity: 0.85;
- transition: all 0.3s ease;
-}
-
-.gallery-photo_caption-description {
- font-size: 1rem;
- line-height: 1.25rem;
- color: var(--text-color);
- opacity: 0.6;
-
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- overflow: hidden;
- text-overflow: ellipsis;
-
- transition: all 0.3s ease;
-
- @media (max-width: 576px) {
- line-height: 1rem;
- -webkit-line-clamp: 1;
- }
-}
-
-.gallery-photo:hover {
- .gallery-photo_image {
- opacity: 0.7;
- }
-
- .gallery-photo_caption-container {
- height: 30%;
- }
-
- .gallery-photo_caption-title {
- opacity: 1;
- }
-
- .gallery-photo_caption-description {
- opacity: 0.75;
- -webkit-line-clamp: 4;
-
- @media (max-width: 576px) {
- -webkit-line-clamp: 3;
- }
- }
-}
diff --git a/_sass/pages/groups.scss b/_sass/pages/groups.scss
deleted file mode 100644
index 2770e65c..00000000
--- a/_sass/pages/groups.scss
+++ /dev/null
@@ -1,19 +0,0 @@
-.group-url-button {
- text-align: center;
- width: 10rem;
- margin-top:1rem;
- padding: 0.75rem 0;
- background-color: var(--card-color);
- border: 1px solid var(--border-color);
- border-radius: 6px;
- color: var(--text-color);
- opacity: 0.85;
- text-decoration: none;
- transition: all 0.15s ease-in-out;
- font-size: 1rem;
- line-height: 1.25rem;
-
- &:hover {
- opacity: 1;
- }
- }
\ No newline at end of file
diff --git a/_sass/pages/home.scss b/_sass/pages/home.scss
deleted file mode 100644
index dec0e5a3..00000000
--- a/_sass/pages/home.scss
+++ /dev/null
@@ -1,441 +0,0 @@
-// Intro Section
-.intro-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.home-scroll-prompt {
- width: 100%;
- height: 36px;
- display: flex;
- justify-content: center;
- align-items: center;
- margin-top: 32px;
-}
-
-.home-scroll_border {
- stroke: var(--text-color);
-}
-
-.home-scroll_center {
- fill: var(--text-color);
-}
-
-.slideshow {
- background: linear-gradient(126.6deg, rgba(255, 255, 255, 0.12) 28.69%, rgba(255, 255, 255, 0) 100%);
- backdrop-filter: blur(140px);
- border-radius: 16px;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100%;
- max-width: 1100px;
- padding: 2%;
- aspect-ratio: 1.67;
- img {
- border-radius: 8px !important;
- box-shadow: 0px 4px 64px rgba(0, 0, 0, 0.2) !important;
- }
- margin-top: 40px;
- margin-bottom: 40px;
- @media (min-width: 576px) {
- margin-top: 62px;
- margin-bottom: 120px;
- }
-}
-
-.slideshow_wrapper {
- position: relative;
- border-radius: 8px;
- overflow: hidden;
- width: 100%;
- height: 100%;
- vertical-align: middle;
-}
-
-.slideshow_image {
- width: 100%;
- height: 100%;
- object-fit: cover;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translateX(-50%) translateY(-50%);
- box-shadow: 0px 4px 64px rgba(0, 0, 0, 0.2);
-}
-
-// .intro-bg {
-// position: absolute;
-// top: 0px;
-// left: 0px;
-// right: 0px;
-// height: 100%;
-// z-index: -1;
-// }
-
-// .intro-bg_wrapper {
-// position: absolute;
-// top: 0px;
-// left: 0px;
-// right: 0px;
-// height: 100%;
-// z-index: -1;
-// }
-
-// .intro-bg_image {
-// position: absolute;
-// inset: 0px;
-// box-sizing: border-box;
-// padding: 0px;
-// border: none;
-// margin: auto;
-// display: block;
-// width: 0px;
-// height: 0px;
-// min-width: 100%;
-// max-width: 100%;
-// min-height: 100%;
-// max-height: 100%;
-// opacity: 0.3;
-// filter: none;
-// content: var(--background-image);
-// background-size: cover;
-// background-image: none;
-// }
-
-/** About Section **/
-.home_about-section {
- width: 100%;
- max-width: 100%;
-}
-
-.home_about-sep {
- height: 0.5rem;
-}
-
-.home_about-background {
- background-image: linear-gradient(to top right, var(--gradient-2), var(--gradient-3));
- padding: 4rem 0;
-}
-
-.home_about-container {
- max-width: 80rem;
- padding: 0 1.25rem;
- margin: 0 auto;
-
- @media (min-width: 640px) {
- padding: 0px 5rem;
- }
-}
-
-.home_about-content {
- margin: 0 auto;
-
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- text-align: center;
-}
-
-.home_about-title {
- font-weight: 700;
- color: var(--text-color);
- margin-bottom: 1.5rem;
- font-size: 2.25rem;
- line-height: 2.5rem;
-}
-
-.home_about-description {
- font-weight: 400;
- color: var(--light-text-color);
- font-size: 1.25rem;
- line-height: 1.75rem;
-}
-
-.home_about-button-container {
- display: flex;
- flex-direction: row;
- gap: 1rem;
- margin-top: 1.75rem;
-}
-
-.home_about-button {
- text-align: center;
- width: 10rem;
- padding: 0.75rem 0;
- background-color: var(--card-color);
- border: 1px solid var(--border-color);
- border-radius: 6px;
- color: var(--text-color);
- opacity: 0.85;
- text-decoration: none;
- transition: all 0.15s ease-in-out;
- font-size: 1rem;
- line-height: 1.25rem;
-
- &:hover {
- opacity: 1;
- }
-}
-
-/** Events Section **/
-.home_events-sponsors-section {
- background: linear-gradient(165deg, var(--background-color) 50%, #1b171b62 0);
- padding: 4rem 0;
-}
-
-.home_events-container {
- max-width: 80rem;
- margin: 0 auto 2rem;
- padding: 0 1.25rem;
-
- @media (min-width: 640px) {
- padding: 0px 5rem;
- }
-}
-
-.home_events-title {
- color: var(--text-color);
- opacity: 0.75;
- font-size: 1.25rem;
- line-height: 1.75rem;
-}
-
-.home_events-grid {
- width: 100%;
- margin-top: 1.5rem;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 20px;
- justify-content: center;
-}
-
-.home_event {
- background-color: var(--card-color);
- width: 100%;
- cursor: pointer;
- border-radius: 8px;
- border: 1px solid transparent;
- padding: 1rem;
- opacity: 1;
- text-decoration: none;
- display: grid;
- grid-template-columns: 1fr 40px;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2);
- transition: all 0.1s ease;
-
- &:hover {
- opacity: 1;
- border: 1px solid var(--link-color);
- background-color: var(--card-color-light);
- }
-
- @media (min-width: 1178px) {
- width: 49%;
- }
-}
-
-.home_event-title {
- font-weight: 700;
- color: var(--text-color);
- margin-bottom: 0.5rem;
- font-size: 1.25rem;
- line-height: 1.5rem;
-}
-
-.home_event-description {
- display: flex;
- font-weight: 400;
- color: var(--text-color);
- opacity: 0.7;
- font-size: 1.05rem;
- line-height: 1.3rem;
-}
-
-.home_events-empty-message {
- width: 100%;
- padding: 5rem 0;
- display: flex;
- justify-content: center;
- align-items: center;
- text-align: center;
-
- font-size: 1.1rem;
- opacity: 0.75;
-}
-
-.home_events-grid {
- width: 100%;
- margin-top: 1.5rem;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 20px;
- justify-content: center;
-}
-
-.home_event-link-container {
- width: 100%;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.home_event-link-icon {
- color: var(--text-color);
- height: 1.5rem;
- width: 1.5rem;
-}
-
-/** Sponsors Section **/
-.home_sponsors-grid {
- width: 100%;
- margin-top: 1.5rem;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 36px;
- justify-content: center;
-}
-
-.home_sponsor {
- width: 250px;
- height: 300px;
- display: grid;
- grid-template-rows: 250px 50px;
- color: var(--text-color);
- text-decoration: none;
-}
-
-.home_sponsor-image {
- width: 250px;
- height: 250px;
- object-fit: contain;
- padding: 1rem;
- background: #fff;
- border-radius: 4px;
- border: 1px solid var(--border-color);
-}
-
-.home_sponsor-details {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- text-align: center;
- font-size: 1.2rem;
- font-weight: 700;
-}
-
-/** Join Section **/
-.home_join-background {
- padding: 1rem 0;
-}
-
-.home_join-section {
- width: 100%;
- max-width: 100%;
-}
-
-.home_join-title {
- font-weight: 700;
- color: var(--text-color);
- font-size: 2.25rem;
- line-height: 2.5rem;
-
- @media (max-width: 1024px) {
- font-size: 1.75rem;
- line-height: 2rem;
- }
-}
-
-.home_join-content {
- max-width: 54rem;
- margin: 0 auto;
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
-
- @media (max-width: 764px) {
- flex-direction: column;
- gap: 16px;
- }
-}
-
-.type-animate {
- overflow: hidden;
- border-right: .15em solid #E69132;
- white-space: nowrap;
- max-width: max-content;
- animation:
- typing 3.5s steps(40, end),
- blink-caret .75s step-end infinite;
-}
-
-@keyframes typing {
- from { width: 0 }
- to { width: 100% }
-}
-
-@keyframes blink-caret {
- from, to { border-color: transparent }
- 50% { border-color: #E69132; }
-}
-
-
-@function random_range($min, $max) {
- $rand: random();
- $random_range: $min + floor($rand * (($max - $min) + 1));
- @return $random_range;
-}
-
-.snow {
- $total: 200;
- position: absolute;
- width: 10px;
- height: 10px;
- background: white;
- border-radius: 50%;
-
- @for $i from 1 through $total {
- $random-x: random(1000000) * 0.0001vw;
- $random-offset: random_range(-100000, 100000) * 0.0001vw;
- $random-x-end: $random-x + $random-offset;
- $random-x-end-yoyo: $random-x + ($random-offset / 2);
- $random-yoyo-time: random_range(30000, 80000) / 100000;
- $random-yoyo-y: $random-yoyo-time * 100vh;
- $random-scale: random(10000) * 0.0001;
- $fall-duration: random_range(10, 30) * 1s;
- $fall-delay: random(30) * -1s;
-
- &:nth-child(#{$i}) {
- opacity: random(10000) * 0.0001;
- transform: translate($random-x, -10px) scale($random-scale);
- animation: fall-#{$i} $fall-duration $fall-delay linear infinite;
- }
-
- @keyframes fall-#{$i} {
- #{percentage($random-yoyo-time)} {
- transform: translate($random-x-end, $random-yoyo-y) scale($random-scale);
- }
-
- to {
- transform: translate($random-x-end-yoyo, 100vh) scale($random-scale);
- }
- }
- }
-}
diff --git a/_sass/pages/links.scss b/_sass/pages/links.scss
deleted file mode 100644
index b69c0db9..00000000
--- a/_sass/pages/links.scss
+++ /dev/null
@@ -1,113 +0,0 @@
-.links-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.links-container {
- width: 100%;
- max-width: 100%;
- display: flex;
- justify-content: center;
-
- margin-top: 30px;
- margin-bottom: 48px;
- @media (min-width: 576px) {
- margin-top: 46px;
- margin-bottom: 69px;
- }
-}
-
-.links-grid {
- width: 100%;
- display: flex;
- flex-direction: column;
- flex-flow: wrap;
- gap: 32px;
- justify-content: center;
-}
-
-.link_container {
- background-color: var(--card-color);
- color: white;
- text-decoration: none;
- position: relative;
- cursor: pointer;
- width: 450px;
- height: 100px;
- border-radius: 16px;
- border: 1px solid transparent;
- display: grid;
- grid-template-columns: 1fr 80px;
- box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2);
- overflow: hidden;
- transition: all 0.1s ease-in-out;
-
- &:hover {
- border: 1px solid var(--link-color);
- background-color: var(--card-color-light);
- }
-
- &:hover,
- .link_icon {
- opacity: 1;
- color: var(--text-color);
- }
-}
-
-.link_info-container {
- width: 100%;
- height: 100%;
- max-height: 100%;
- display: grid;
- grid-template-rows: auto auto;
- padding: 16px 20px;
- overflow: hidden;
-}
-
-.link_title {
- font-size: 1.25rem;
- font-weight: 700;
- color: var(--text-color);
-
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.link_description {
- width: 100%;
- height: 100%;
- color: var(--light-text-color);
- padding-top: 4px;
-
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.link_icon-container {
- width: 100%;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.link_icon {
- cursor: pointer;
- height: 1.5rem;
- width: 1.5rem;
- color: var(--light-text-color);
- transition: all 0.1s ease-in-out;
-}
diff --git a/_sass/pages/sponsors.scss b/_sass/pages/sponsors.scss
deleted file mode 100644
index 8918ad88..00000000
--- a/_sass/pages/sponsors.scss
+++ /dev/null
@@ -1,199 +0,0 @@
-.sponsors-section {
- width: 100%;
- max-width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- position: relative;
- padding: 0px 32px;
-
- @media (min-width: 576px) {
- padding: 0px 64px;
- }
-}
-
-.sponsor-tier {
- width: 100%;
-}
-
-.sponsors-container {
- width: 100%;
- max-width: 100%;
- display: flex;
- justify-content: center;
-
- margin-top: 30px;
- margin-bottom: 48px;
- @media (min-width: 576px) {
- margin-top: 46px;
- margin-bottom: 69px;
- }
-}
-
-.sponsors-grid {
- max-width: 70rem;
- display: flex;
- flex-direction: row;
- flex-flow: wrap;
- gap: 32px;
- justify-content: center;
-}
-
-.sponsor-tier-container {
- display: flex;
- flex-flow: row wrap;
- justify-content: space-around;
-}
-
-.sponsor {
- width: 300px;
- display: flex;
- flex-direction: column;
- border: 1px solid var(--border-color);
- border-radius: 4px;
- background-color: rgba(0, 0, 0, 0.1);
- grid-template-columns: 1fr 300px;
- align-items: center;
- padding: 1rem;
- margin: 30px 15px;
-}
-
-.sponsor-info {
- width: 100%;
- max-height: 100%;
- padding-right: 5%;
- text-align: center;
- display: flex;
- flex-direction: column;
-}
-
-.sponsor-title {
- font-size: 2rem;
- margin-top:1.5rem;
- line-height: 2rem;
- font-weight: 700;
- color: var(--text-color);
- text-decoration: none;
- min-height: 2.5em;
- line-height: 1.2em;
- display: flex;
- justify-content: center;
- flex-direction: column;
-}
-
-.sponsor-description {
- width: 100%;
- font-size: 1rem;
- line-height: 1.5rem;
- color: var(--text-color);
- opacity: 0.7;
- margin: 1rem 0 1.5rem;
-
- display: -webkit-box;
- -webkit-line-clamp: 12;
- -webkit-box-orient: vertical;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.sponsor-button {
- text-align: center;
- width: 8rem;
- margin: auto;
- padding: 0.5rem 0;
- background-color: var(--card-color);
- border: 1px solid var(--border-color);
- border-radius: 6px;
- color: var(--text-color);
- opacity: 0.85;
- text-decoration: none;
- transition: all 0.15s ease-in-out;
- font-size: 0.75rem;
- line-height: 1rem;
-
- &:hover {
- opacity: 1;
- }
-}
-
-.become-a-sponsor {
- font-size: 1.25rem;
- width: 16rem;
- padding: 1rem;
- color: #e69138;
-}
-
-.sponsor-image-container {
- width: 100%;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
- align-content: center;
-}
-
-.sponsor-image-wrapper {
- width: 200px;
- height: 200px;
- opacity: 1;
- cursor: pointer;
- border-radius: 8px;
- transition: all 0.15s ease;
-
- &:hover {
- opacity: 0.75;
- }
-}
-
-.sponsor-image {
- background: #fff;
- padding: 1rem;
- width: 100%;
- height: 100%;
- object-fit: contain;
- border: 1px solid var(--border-color);
- border-radius: 8px;
-}
-
-@media (max-width: 1024px) {
-
- .sponsor-description {
- -webkit-line-clamp: 6;
- margin: 0.25rem 0 0.5rem;
- }
-
- .sponsor-image-wrapper {
- height: 200px;
- width: 200px;
- }
-}
-
-.sponsor-tier-title{
- font-size: 2.5rem;
- text-align: center;
- color: var(--text-color);
-}
-
-.titanium {
- color: #7A7772
-}
-
-.diamond {
- color: #b9f2ff;
-}
-
-.platinum {
- color: #e5e4e2;
-}
-
-.gold {
- color: #ffd700;
-}
-
-.silver {
- color: #c0c0c0;
-}
-
-.bronze {
- color: #b08d57;
-}
\ No newline at end of file
diff --git a/assets/css/style.scss b/assets/css/style.scss
deleted file mode 100644
index b1e1c0fd..00000000
--- a/assets/css/style.scss
+++ /dev/null
@@ -1,4 +0,0 @@
----
----
-
-@import "init";
diff --git a/assets/images/2021eboard/alison.jpeg b/assets/images/2021eboard/alison.jpeg
deleted file mode 100644
index 8796e95e..00000000
Binary files a/assets/images/2021eboard/alison.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/brad.jpeg b/assets/images/2021eboard/brad.jpeg
deleted file mode 100644
index 0357d8bc..00000000
Binary files a/assets/images/2021eboard/brad.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/brayden.jpeg b/assets/images/2021eboard/brayden.jpeg
deleted file mode 100644
index acec4c0c..00000000
Binary files a/assets/images/2021eboard/brayden.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/enzo.jpeg b/assets/images/2021eboard/enzo.jpeg
deleted file mode 100644
index e97a6587..00000000
Binary files a/assets/images/2021eboard/enzo.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/jason.jpeg b/assets/images/2021eboard/jason.jpeg
deleted file mode 100644
index 44ac7af3..00000000
Binary files a/assets/images/2021eboard/jason.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/jazmin.jpeg b/assets/images/2021eboard/jazmin.jpeg
deleted file mode 100644
index 6a000549..00000000
Binary files a/assets/images/2021eboard/jazmin.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/max.jpeg b/assets/images/2021eboard/max.jpeg
deleted file mode 100644
index ee1bc65f..00000000
Binary files a/assets/images/2021eboard/max.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/olivia.jpeg b/assets/images/2021eboard/olivia.jpeg
deleted file mode 100644
index 9f8d070b..00000000
Binary files a/assets/images/2021eboard/olivia.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/philo.jpeg b/assets/images/2021eboard/philo.jpeg
deleted file mode 100644
index ba8a1345..00000000
Binary files a/assets/images/2021eboard/philo.jpeg and /dev/null differ
diff --git a/assets/images/2021eboard/tenchi.jpeg b/assets/images/2021eboard/tenchi.jpeg
deleted file mode 100644
index f0d5752b..00000000
Binary files a/assets/images/2021eboard/tenchi.jpeg and /dev/null differ
diff --git a/assets/images/2022eboard/alex.jpg b/assets/images/2022eboard/alex.jpg
deleted file mode 100644
index e7bd8df5..00000000
Binary files a/assets/images/2022eboard/alex.jpg and /dev/null differ
diff --git a/assets/images/2022eboard/anthony.png b/assets/images/2022eboard/anthony.png
deleted file mode 100644
index 73630af9..00000000
Binary files a/assets/images/2022eboard/anthony.png and /dev/null differ
diff --git a/assets/images/2022eboard/bailey.jpeg b/assets/images/2022eboard/bailey.jpeg
deleted file mode 100644
index 193b1202..00000000
Binary files a/assets/images/2022eboard/bailey.jpeg and /dev/null differ
diff --git a/assets/images/2022eboard/eshan.JPG b/assets/images/2022eboard/eshan.JPG
deleted file mode 100644
index b47f7313..00000000
Binary files a/assets/images/2022eboard/eshan.JPG and /dev/null differ
diff --git a/assets/images/2022eboard/jacob.jpeg b/assets/images/2022eboard/jacob.jpeg
deleted file mode 100644
index 7e930505..00000000
Binary files a/assets/images/2022eboard/jacob.jpeg and /dev/null differ
diff --git a/assets/images/2022eboard/kenny.jpeg b/assets/images/2022eboard/kenny.jpeg
deleted file mode 100644
index 592bd30a..00000000
Binary files a/assets/images/2022eboard/kenny.jpeg and /dev/null differ
diff --git a/assets/images/2022eboard/malik.jpeg b/assets/images/2022eboard/malik.jpeg
deleted file mode 100644
index a5b77d2b..00000000
Binary files a/assets/images/2022eboard/malik.jpeg and /dev/null differ
diff --git a/assets/images/2022eboard/mav.png b/assets/images/2022eboard/mav.png
deleted file mode 100644
index 6f51ff7f..00000000
Binary files a/assets/images/2022eboard/mav.png and /dev/null differ
diff --git a/assets/images/2022eboard/mav1.png b/assets/images/2022eboard/mav1.png
deleted file mode 100644
index 52d74178..00000000
Binary files a/assets/images/2022eboard/mav1.png and /dev/null differ
diff --git a/assets/images/2022eboard/mav2.png b/assets/images/2022eboard/mav2.png
deleted file mode 100644
index 15560c88..00000000
Binary files a/assets/images/2022eboard/mav2.png and /dev/null differ
diff --git a/assets/images/2022eboard/sarah.JPG b/assets/images/2022eboard/sarah.JPG
deleted file mode 100644
index 5963114c..00000000
Binary files a/assets/images/2022eboard/sarah.JPG and /dev/null differ
diff --git a/assets/images/2022eboard/zachp.png b/assets/images/2022eboard/zachp.png
deleted file mode 100644
index ef6250ac..00000000
Binary files a/assets/images/2022eboard/zachp.png and /dev/null differ
diff --git a/assets/images/2023eboard/albies.png b/assets/images/2023eboard/albies.png
deleted file mode 100644
index 0f364f7b..00000000
Binary files a/assets/images/2023eboard/albies.png and /dev/null differ
diff --git a/assets/images/2023eboard/alexn.jpg b/assets/images/2023eboard/alexn.jpg
deleted file mode 100644
index 8ddc461a..00000000
Binary files a/assets/images/2023eboard/alexn.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/anthonyi.png b/assets/images/2023eboard/anthonyi.png
deleted file mode 100644
index 73630af9..00000000
Binary files a/assets/images/2023eboard/anthonyi.png and /dev/null differ
diff --git a/assets/images/2023eboard/chasek.jpg b/assets/images/2023eboard/chasek.jpg
deleted file mode 100644
index 5a9fd2bb..00000000
Binary files a/assets/images/2023eboard/chasek.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/jacka.jpg b/assets/images/2023eboard/jacka.jpg
deleted file mode 100644
index a5f70589..00000000
Binary files a/assets/images/2023eboard/jacka.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/kaseyk.jpg b/assets/images/2023eboard/kaseyk.jpg
deleted file mode 100644
index 8291a762..00000000
Binary files a/assets/images/2023eboard/kaseyk.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/kennetha.jpg b/assets/images/2023eboard/kennetha.jpg
deleted file mode 100644
index 2bbfe410..00000000
Binary files a/assets/images/2023eboard/kennetha.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/michaels.jpg b/assets/images/2023eboard/michaels.jpg
deleted file mode 100644
index 41ea9745..00000000
Binary files a/assets/images/2023eboard/michaels.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/rachell.jpg b/assets/images/2023eboard/rachell.jpg
deleted file mode 100644
index 4ddc3cce..00000000
Binary files a/assets/images/2023eboard/rachell.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/rainaf.jpg b/assets/images/2023eboard/rainaf.jpg
deleted file mode 100644
index c2fd20fd..00000000
Binary files a/assets/images/2023eboard/rainaf.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/rossm.png b/assets/images/2023eboard/rossm.png
deleted file mode 100644
index c81fbf38..00000000
Binary files a/assets/images/2023eboard/rossm.png and /dev/null differ
diff --git a/assets/images/2023eboard/sophiel.jpg b/assets/images/2023eboard/sophiel.jpg
deleted file mode 100644
index 6d0c1c6a..00000000
Binary files a/assets/images/2023eboard/sophiel.jpg and /dev/null differ
diff --git a/assets/images/2023eboard/zachprice.jpg b/assets/images/2023eboard/zachprice.jpg
deleted file mode 100644
index c8a4378d..00000000
Binary files a/assets/images/2023eboard/zachprice.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/alexn.jpg b/assets/images/2024eboard/alexn.jpg
deleted file mode 100644
index d174206a..00000000
Binary files a/assets/images/2024eboard/alexn.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/chasek.jpg b/assets/images/2024eboard/chasek.jpg
deleted file mode 100644
index 85328aad..00000000
Binary files a/assets/images/2024eboard/chasek.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/dan.png b/assets/images/2024eboard/dan.png
deleted file mode 100644
index 51ebbbb1..00000000
Binary files a/assets/images/2024eboard/dan.png and /dev/null differ
diff --git a/assets/images/2024eboard/david.png b/assets/images/2024eboard/david.png
deleted file mode 100644
index e523738d..00000000
Binary files a/assets/images/2024eboard/david.png and /dev/null differ
diff --git a/assets/images/2024eboard/drew.jpeg b/assets/images/2024eboard/drew.jpeg
deleted file mode 100644
index 4ffe9871..00000000
Binary files a/assets/images/2024eboard/drew.jpeg and /dev/null differ
diff --git a/assets/images/2024eboard/kip.jpg b/assets/images/2024eboard/kip.jpg
deleted file mode 100644
index 913bf274..00000000
Binary files a/assets/images/2024eboard/kip.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/leah.jpg b/assets/images/2024eboard/leah.jpg
deleted file mode 100644
index 8e410b6a..00000000
Binary files a/assets/images/2024eboard/leah.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/lukas.jpg b/assets/images/2024eboard/lukas.jpg
deleted file mode 100644
index 8e8c8818..00000000
Binary files a/assets/images/2024eboard/lukas.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/maxim.png b/assets/images/2024eboard/maxim.png
deleted file mode 100644
index 0ce800af..00000000
Binary files a/assets/images/2024eboard/maxim.png and /dev/null differ
diff --git a/assets/images/2024eboard/testing.txt b/assets/images/2024eboard/testing.txt
deleted file mode 100644
index 872701f1..00000000
--- a/assets/images/2024eboard/testing.txt
+++ /dev/null
@@ -1 +0,0 @@
-testing this
diff --git a/assets/images/2024eboard/will.jpg b/assets/images/2024eboard/will.jpg
deleted file mode 100644
index dc515b71..00000000
Binary files a/assets/images/2024eboard/will.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/will2.0.jpg b/assets/images/2024eboard/will2.0.jpg
deleted file mode 100644
index fbe28998..00000000
Binary files a/assets/images/2024eboard/will2.0.jpg and /dev/null differ
diff --git a/assets/images/2024eboard/yonmo.jpeg b/assets/images/2024eboard/yonmo.jpeg
deleted file mode 100644
index a5198c88..00000000
Binary files a/assets/images/2024eboard/yonmo.jpeg and /dev/null differ
diff --git a/assets/images/2025eboard/John.jpg b/assets/images/2025eboard/John.jpg
deleted file mode 100644
index 28d0cf8b..00000000
Binary files a/assets/images/2025eboard/John.jpg and /dev/null differ
diff --git a/assets/images/bg-dark.svg b/assets/images/bg-dark.svg
deleted file mode 100644
index 186ab8fc..00000000
--- a/assets/images/bg-dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/bg-light.svg b/assets/images/bg-light.svg
deleted file mode 100644
index 00674a80..00000000
--- a/assets/images/bg-light.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/cfe.jpg b/assets/images/cfe.jpg
deleted file mode 100644
index 299788df..00000000
Binary files a/assets/images/cfe.jpg and /dev/null differ
diff --git a/assets/images/ctf_22.png b/assets/images/ctf_22.png
deleted file mode 100644
index 6de55578..00000000
Binary files a/assets/images/ctf_22.png and /dev/null differ
diff --git a/assets/images/education.jpg b/assets/images/education.jpg
deleted file mode 100644
index f1d35163..00000000
Binary files a/assets/images/education.jpg and /dev/null differ
diff --git a/assets/images/favicon.ico b/assets/images/favicon.ico
deleted file mode 100644
index cdd2ae4d..00000000
Binary files a/assets/images/favicon.ico and /dev/null differ
diff --git a/assets/images/irsec2021.jpeg b/assets/images/irsec2021.jpeg
deleted file mode 100644
index c71b3fe6..00000000
Binary files a/assets/images/irsec2021.jpeg and /dev/null differ
diff --git a/assets/images/irsec2022.jpg b/assets/images/irsec2022.jpg
deleted file mode 100644
index c2818232..00000000
Binary files a/assets/images/irsec2022.jpg and /dev/null differ
diff --git a/assets/images/irsec2023.JPG b/assets/images/irsec2023.JPG
deleted file mode 100644
index 32fd6275..00000000
Binary files a/assets/images/irsec2023.JPG and /dev/null differ
diff --git a/assets/images/ists2022.JPG b/assets/images/ists2022.JPG
deleted file mode 100644
index 87644b49..00000000
Binary files a/assets/images/ists2022.JPG and /dev/null differ
diff --git a/assets/images/ists2023.jpg b/assets/images/ists2023.jpg
deleted file mode 100644
index da146869..00000000
Binary files a/assets/images/ists2023.jpg and /dev/null differ
diff --git a/assets/images/ists2024.jpg b/assets/images/ists2024.jpg
deleted file mode 100644
index f2eb0ce0..00000000
Binary files a/assets/images/ists2024.jpg and /dev/null differ
diff --git a/assets/images/meta.jpeg b/assets/images/meta.jpeg
deleted file mode 100644
index d9843c46..00000000
Binary files a/assets/images/meta.jpeg and /dev/null differ
diff --git a/assets/images/research.jpg b/assets/images/research.jpg
deleted file mode 100644
index d395c878..00000000
Binary files a/assets/images/research.jpg and /dev/null differ
diff --git a/assets/images/ritsec_ctf_2023_1024.png b/assets/images/ritsec_ctf_2023_1024.png
deleted file mode 100644
index ebd79308..00000000
Binary files a/assets/images/ritsec_ctf_2023_1024.png and /dev/null differ
diff --git a/assets/images/ritsec_ctf_2024.jpg b/assets/images/ritsec_ctf_2024.jpg
deleted file mode 100644
index f68bef1d..00000000
Binary files a/assets/images/ritsec_ctf_2024.jpg and /dev/null differ
diff --git a/assets/images/ritsec_ctf_2025.svg b/assets/images/ritsec_ctf_2025.svg
deleted file mode 100644
index 18378ece..00000000
--- a/assets/images/ritsec_ctf_2025.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/ritsec_fall.png b/assets/images/ritsec_fall.png
deleted file mode 100644
index 6dc18252..00000000
Binary files a/assets/images/ritsec_fall.png and /dev/null differ
diff --git a/assets/images/ritsec_logo_final-07.png b/assets/images/ritsec_logo_final-07.png
deleted file mode 100644
index 38ea9875..00000000
Binary files a/assets/images/ritsec_logo_final-07.png and /dev/null differ
diff --git a/assets/js/index.js b/assets/js/index.js
deleted file mode 100644
index 6b4ed8db..00000000
--- a/assets/js/index.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Header
-$(window).scroll(function () {
- var scroll = $(window).scrollTop();
-
- if (scroll >= 80) {
- $(".header").addClass("border-bottom");
- } else {
- $(".header").removeClass("border-bottom");
- }
-});
-
-(() => {
- $(".navbar-burger").click(() => {
- $(".navbar-links").toggleClass("navbar-active");
- $(".navbar-burger").toggleClass("navbar-burger-active");
-
- $(".navbar-links li").each((i, el) => {
- if (el.style.animation) {
- el.style.animation = "";
- } else {
- el.style.animation = `navbar-link-fade 0.5s ease forwards 0.2s`;
- }
- });
- });
-})();
-
-// Slideshow
-$("#slideshow > img:gt(0)").hide();
-
-setInterval(function () {
- $("#slideshow > img:first")
- .fadeOut(1000)
- .next()
- .fadeIn(1000)
- .end()
- .appendTo("#slideshow");
-}, 5000);
-
-//Dark Light Toggle
-toggleButton = document.querySelector("#toggle-mode")
-function isLight() {
- return localStorage.getItem("light-mode");
-}
-function toggleRootClass() {
- document.documentElement.classList.toggle('light');
-}
-function toggleLocalStorageItem() {
- if (isLight()) {
- localStorage.removeItem("light-mode");
- } else {
- localStorage.setItem("light-mode", "set");
- }
-}
-if (isLight()) {
- toggleRootClass();
- toggleButton.checked = true;
-}
-toggleButton.addEventListener("click", () => {
- toggleLocalStorageItem();
- toggleRootClass();
-});
-
-
-// window.addEventListener('scroll', function() {
-// document.body.style.backgroundPositionY = -window.pageYOffset/8 + "px";
-// });
diff --git a/astro.config.mjs b/astro.config.mjs
new file mode 100644
index 00000000..543c9526
--- /dev/null
+++ b/astro.config.mjs
@@ -0,0 +1,17 @@
+// @ts-check
+import { defineConfig } from "astro/config";
+
+import mdx from "@astrojs/mdx";
+
+import expressiveCode from "astro-expressive-code";
+
+import react from "@astrojs/react";
+
+import sitemap from "@astrojs/sitemap";
+
+// https://astro.build/config
+export default defineConfig({
+ site: "https://aeshus.github.io",
+ base: "/ritsec.github.io",
+ integrations: [expressiveCode(), mdx(), react(), sitemap()],
+});
diff --git a/import_log.txt b/import_log.txt
new file mode 100644
index 00000000..85f0f7b4
--- /dev/null
+++ b/import_log.txt
@@ -0,0 +1,12 @@
+file:///home/aeshus/Projects/ritsec.github.io/import_videos.js:1
+const fs = require('fs');
+ ^
+
+ReferenceError: require is not defined in ES module scope, you can use import instead
+This file is being treated as an ES module because it has a '.js' file extension and '/home/aeshus/Projects/ritsec.github.io/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
+ at file:///home/aeshus/Projects/ritsec.github.io/import_videos.js:1:12
+ at ModuleJob.run (node:internal/modules/esm/module_job:413:25)
+ at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:654:26)
+ at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)
+
+Node.js v25.2.1
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..e829150f
--- /dev/null
+++ b/package.json
@@ -0,0 +1,38 @@
+{
+ "name": "ritsec-github-io",
+ "type": "module",
+ "version": "0.0.1",
+ "scripts": {
+ "dev": "astro dev",
+ "build": "astro build",
+ "preview": "astro preview",
+ "astro": "astro"
+ },
+ "dependencies": {
+ "@astrojs/check": "^0.9.6",
+ "@astrojs/mdx": "^4.3.13",
+ "@astrojs/react": "^4.4.2",
+ "@astrojs/sitemap": "^3.7.0",
+ "@fontsource/ibm-plex-mono": "^5.2.7",
+ "@fontsource/ibm-plex-sans": "^5.2.8",
+ "@lucide/astro": "^0.562.0",
+ "@resvg/resvg-js": "^2.6.2",
+ "@types/react": "^19.2.7",
+ "@types/react-dom": "^19.2.3",
+ "astro": "^5.16.4",
+ "astro-expressive-code": "^0.41.5",
+ "embla-carousel": "^8.6.0",
+ "embla-carousel-auto-scroll": "^8.6.0",
+ "embla-carousel-autoplay": "^8.6.0",
+ "embla-carousel-fade": "^8.6.0",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
+ "satori": "^0.19.1",
+ "sharp": "^0.34.5",
+ "typescript": "^5.9.3"
+ },
+ "devDependencies": {
+ "prettier": "^3.7.4",
+ "prettier-plugin-astro": "^0.14.1"
+ }
+}
diff --git a/pages/404.html b/pages/404.html
deleted file mode 100644
index 214d2dd2..00000000
--- a/pages/404.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: default
----
-
-
-
-
-
404
-
-
Page not found
-
diff --git a/pages/about.html b/pages/about.html
deleted file mode 100644
index 43338bc4..00000000
--- a/pages/about.html
+++ /dev/null
@@ -1,115 +0,0 @@
----
-layout: default
-title: About
-permalink: /about.html
----
-
-{%- assign about_section = site.data.about.sections[0] -%} {%- assign
-members_section = site.data.about.sections[1] -%} {%- assign socials_section = site.data.about.sections[2] -%}
-
-
-
- {{ about_section.title }}
-
-
{{ about_section.description }}
-
-
-
-
- {{ members_section.title }}
-
-
{{ members_section.description }}
-
-
-
- {%- for member in members_section.members -%}
-
-
-

-
-
-
- {{member.name}}
- '{{member.grad_year}}
-
-
{{member.position}}
{{member.pronouns}}
-
- {%- if member.socials.github -%}
-
-
-
- {%- endif -%} {%- if member.socials.linkedin -%}
-
-
-
- {%- endif -%} {%- if member.socials.email -%}
-
-
-
- {%- endif -%} {%- if member.socials.other -%}
-
-
-
- {%- endif -%}
-
-
-
- {%- endfor -%}
-
-
-
-
- Legacy E-Boards
-
- {%- for eboard in site.data.about.past_eboards -%}
-
-
{{ eboard.year }}
- {%- if eboard.multi_org -%}
-
- {%- for org in eboard.organizations -%}
-
-
{{ org.org_name }}
-
- {%- for member in org.members -%}
-
{{ member.position }}: {{ member.name }}
- {%- endfor -%}
-
-
- {%- endfor -%}
-
- {%- else -%}
-
{{ eboard.org_name }}
-
- {%- for member in eboard.members -%}
-
{{ member.position }}: {{ member.name }}
- {%- endfor -%}
-
- {%- endif -%}
-
- {%- endfor -%}
-
-
-
diff --git a/pages/alumni.html b/pages/alumni.html
deleted file mode 100644
index 334294f4..00000000
--- a/pages/alumni.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: default
-title: Alumni
-permalink: /alumni.html
----
-
-{%- assign data = site.data.alumni -%} {%- assign alumni = site.data.alumni.alumni | group_by:"year" | sort: "name" | reverse -%}
-
- {%- for section in data.sections -%}
-
- {{ section.title }}
- {{ section.description }}
-
- {%- for grad_year in alumni -%}
-
-
{{ grad_year.name }}
-
- {%- for alum in grad_year.items -%}
-
{{ alum.name }}
- {%- endfor -%}
-
-
- {%- endfor -%}
-
-
- {%- endfor -%}
-
diff --git a/pages/education.html b/pages/education.html
deleted file mode 100644
index bca4bde2..00000000
--- a/pages/education.html
+++ /dev/null
@@ -1,49 +0,0 @@
----
-layout: default
-title: Education
-permalink: /education.html
----
-
-{%- assign data = site.data.education -%}
-
- {%- for section in data.sections -%}
-
- {{ section.title }}
- {{ section.description }}
-
- {%- for set in section.sets reversed -%}
-
-
{{set.title}}
-
{{set.description}}
-
-
- {%- endfor -%}
-
-
- {%- endfor -%}
-
diff --git a/pages/events.html b/pages/events.html
deleted file mode 100644
index f43a2b45..00000000
--- a/pages/events.html
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: default
-title: Events
-permalink: /events.html
----
-
-{%- assign data = site.data.events -%}
-
- {%- for section in data.sections -%}
-
- {{ section.title }}
- {{ section.description }}
-
-
-
- {%- for event in section.events -%}
-
-
-

-
-
-
-
{{event.title}}
-
-
{{event.date}}
-
{{event.location}}
-
-
- {%- if event.url -%}
-
- {%- endif -%}
-
-
- {%- endfor -%}
-
-
-
- {%- endfor -%}
-
diff --git a/pages/gallery.html b/pages/gallery.html
deleted file mode 100644
index 73e1327a..00000000
--- a/pages/gallery.html
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
-title: Gallery
-permalink: /gallery.html
----
-
-{%- assign data = site.data.gallery -%}
-
- {%- for section in data.sections -%}
-
- {{ section.title }}
- {{ section.description }}
-
-
- {%- endfor -%}
-
diff --git a/pages/groups.html b/pages/groups.html
deleted file mode 100644
index d23ce0db..00000000
--- a/pages/groups.html
+++ /dev/null
@@ -1,78 +0,0 @@
----
-layout: default
-title: Groups
-permalink: /groups.html
----
-
-{%- assign about_section = site.data.groups.sections[0] -%}
-{%- assign partnerships_section = site.data.groups.sections[1] -%}
-{%- assign competition_teams_section = site.data.groups.sections[2] -%}
-{%- assign interest_groups_section = site.data.groups.sections[3] -%}
-
-
-
-
- {{ about_section.title }}
-
-
-
-
-
- {{ partnerships_section.title }}
-
- {%- for group in partnerships_section.groups -%}
-
-
-
{{ group.name }}
-
{{ group.meeting_time }}
-
-
-
{{ group.description }}
- {%- if group.url -%}
-
{{ group.url-title }}
- {%- endif -%}
-
- {%- endfor -%}
-
-
-
-
-
- {{ competition_teams_section.title }}
-
- {%- for group in competition_teams_section.groups -%}
-
-
-
{{ group.name }}
-
{{ group.meeting_time }}
-
-
-
{{ group.description }}
- {%- if group.url -%}
-
{{ group.url-title }}
- {%- endif -%}
-
- {%- endfor -%}
-
-
-
-
-
- {{ interest_groups_section.title }}
-
- {%- for group in interest_groups_section.groups -%}
-
-
-
{{ group.name }}
-
{{ group.meeting_time }}
-
-
-
{{ group.description }}
- {%- if group.url -%}
-
{{ group.url-title }}
- {%- endif -%}
-
- {%- endfor -%}
-
-
-
\ No newline at end of file
diff --git a/pages/index.html b/pages/index.html
deleted file mode 100644
index 45319a2d..00000000
--- a/pages/index.html
+++ /dev/null
@@ -1,110 +0,0 @@
----
-layout: default
-title: Home
-permalink: /
----
-
-{%- assign sections = site.data.home.sections -%} {%- assign intro_section_data = sections[0] -%} {%- assign about_section_data =
-sections[1] -%} {%- assign events_section_data = sections[2] -%} {%- assign sponsors_section_data = sections[3] -%} {%- assign
-join_section_data = sections[4] -%} {%- assign events_data = site.data.events.sections[0] -%} {%- assign sponsors_data =
-site.data.sponsors.sections[0] -%}
-
-
-
-
- {{ intro_section_data.title }}
- {{ intro_section_data.description }}
-
-
- {%- for imageUrl in intro_section_data.slideshow -%} {%- if imageUrl -%}
-

- {%- endif -%} {%- endfor -%}
-
-
-
-
-
-
-
-
-
-
- {%- if join_section_data.title -%}
-
{{ join_section_data.title }}
- {%- endif -%}{%- if join_section_data.buttons -%} {%- for button in join_section_data.buttons -%}
-
{{ button.content }}
- {%- endfor -%} {%- endif -%}
-
-
-
-
-
-
-
-
-
-
- {%- if about_section_data.title -%}
-
{{ about_section_data.title }}
- {%- endif -%} {%- if about_section_data.description -%}
-
{{ about_section_data.description }}
- {%- endif -%} {%- if about_section_data.buttons -%}
-
- {%- endif -%}
-
-
-
-
-
-
-
-
diff --git a/pages/links.html b/pages/links.html
deleted file mode 100644
index 13a4283f..00000000
--- a/pages/links.html
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: default
-title: Links
-permalink: /links.html
----
-
-{%- assign data = site.data.links -%}
-
- {%- for section in data.sections -%}
-
- {%- if section.title -%}
- {{ section.title }}
- {%- endif -%} {%- if section.description -%}
- {{ section.description }}
- {%- endif -%}
-
-
-
- {%- endfor -%}
-
diff --git a/pages/sponsors.html b/pages/sponsors.html
deleted file mode 100644
index ac3a3a5f..00000000
--- a/pages/sponsors.html
+++ /dev/null
@@ -1,41 +0,0 @@
----
-layout: default
-title: Sponsors
-permalink: /sponsors.html
----
-
-{%- assign data = site.data.sponsors -%}
-
- {%- for section in data.sections -%}
-
- {%- endfor -%}
-
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 00000000..112887e7
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,5366 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@astrojs/check':
+ specifier: ^0.9.6
+ version: 0.9.6(prettier-plugin-astro@0.14.1)(prettier@3.7.4)(typescript@5.9.3)
+ '@astrojs/mdx':
+ specifier: ^4.3.13
+ version: 4.3.13(astro@5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2))
+ '@astrojs/react':
+ specifier: ^4.4.2
+ version: 4.4.2(@types/node@24.10.2)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(yaml@2.8.2)
+ '@astrojs/sitemap':
+ specifier: ^3.7.0
+ version: 3.7.0
+ '@fontsource/ibm-plex-mono':
+ specifier: ^5.2.7
+ version: 5.2.7
+ '@fontsource/ibm-plex-sans':
+ specifier: ^5.2.8
+ version: 5.2.8
+ '@lucide/astro':
+ specifier: ^0.562.0
+ version: 0.562.0(astro@5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2))
+ '@resvg/resvg-js':
+ specifier: ^2.6.2
+ version: 2.6.2
+ '@types/react':
+ specifier: ^19.2.7
+ version: 19.2.7
+ '@types/react-dom':
+ specifier: ^19.2.3
+ version: 19.2.3(@types/react@19.2.7)
+ astro:
+ specifier: ^5.16.4
+ version: 5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2)
+ astro-expressive-code:
+ specifier: ^0.41.5
+ version: 0.41.5(astro@5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2))
+ embla-carousel:
+ specifier: ^8.6.0
+ version: 8.6.0
+ embla-carousel-auto-scroll:
+ specifier: ^8.6.0
+ version: 8.6.0(embla-carousel@8.6.0)
+ embla-carousel-autoplay:
+ specifier: ^8.6.0
+ version: 8.6.0(embla-carousel@8.6.0)
+ embla-carousel-fade:
+ specifier: ^8.6.0
+ version: 8.6.0(embla-carousel@8.6.0)
+ react:
+ specifier: ^19.2.3
+ version: 19.2.3
+ react-dom:
+ specifier: ^19.2.3
+ version: 19.2.3(react@19.2.3)
+ satori:
+ specifier: ^0.19.1
+ version: 0.19.1
+ sharp:
+ specifier: ^0.34.5
+ version: 0.34.5
+ typescript:
+ specifier: ^5.9.3
+ version: 5.9.3
+ devDependencies:
+ prettier:
+ specifier: ^3.7.4
+ version: 3.7.4
+ prettier-plugin-astro:
+ specifier: ^0.14.1
+ version: 0.14.1
+
+packages:
+
+ '@astrojs/check@0.9.6':
+ resolution: {integrity: sha512-jlaEu5SxvSgmfGIFfNgcn5/f+29H61NJzEMfAZ82Xopr4XBchXB1GVlcJsE+elUlsYSbXlptZLX+JMG3b/wZEA==}
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.0.0
+
+ '@astrojs/compiler@2.13.0':
+ resolution: {integrity: sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==}
+
+ '@astrojs/internal-helpers@0.7.5':
+ resolution: {integrity: sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==}
+
+ '@astrojs/language-server@2.16.3':
+ resolution: {integrity: sha512-yO5K7RYCMXUfeDlnU6UnmtnoXzpuQc0yhlaCNZ67k1C/MiwwwvMZz+LGa+H35c49w5QBfvtr4w4Zcf5PcH8uYA==}
+ hasBin: true
+ peerDependencies:
+ prettier: ^3.0.0
+ prettier-plugin-astro: '>=0.11.0'
+ peerDependenciesMeta:
+ prettier:
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+
+ '@astrojs/markdown-remark@6.3.10':
+ resolution: {integrity: sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==}
+
+ '@astrojs/markdown-remark@6.3.9':
+ resolution: {integrity: sha512-hX2cLC/KW74Io1zIbn92kI482j9J7LleBLGCVU9EP3BeH5MVrnFawOnqD0t/q6D1Z+ZNeQG2gNKMslCcO36wng==}
+
+ '@astrojs/mdx@4.3.13':
+ resolution: {integrity: sha512-IHDHVKz0JfKBy3//52JSiyWv089b7GVSChIXLrlUOoTLWowG3wr2/8hkaEgEyd/vysvNQvGk+QhysXpJW5ve6Q==}
+ engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
+ peerDependencies:
+ astro: ^5.0.0
+
+ '@astrojs/prism@3.3.0':
+ resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==}
+ engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
+
+ '@astrojs/react@4.4.2':
+ resolution: {integrity: sha512-1tl95bpGfuaDMDn8O3x/5Dxii1HPvzjvpL2YTuqOOrQehs60I2DKiDgh1jrKc7G8lv+LQT5H15V6QONQ+9waeQ==}
+ engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
+ peerDependencies:
+ '@types/react': ^17.0.50 || ^18.0.21 || ^19.0.0
+ '@types/react-dom': ^17.0.17 || ^18.0.6 || ^19.0.0
+ react: ^17.0.2 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.2 || ^18.0.0 || ^19.0.0
+
+ '@astrojs/sitemap@3.7.0':
+ resolution: {integrity: sha512-+qxjUrz6Jcgh+D5VE1gKUJTA3pSthuPHe6Ao5JCxok794Lewx8hBFaWHtOnN0ntb2lfOf7gvOi9TefUswQ/ZVA==}
+
+ '@astrojs/telemetry@3.3.0':
+ resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==}
+ engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
+
+ '@astrojs/yaml2ts@0.2.2':
+ resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==}
+
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.28.5':
+ resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.28.5':
+ resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.28.5':
+ resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.28.3':
+ resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.28.5':
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.28.4':
+ resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.28.5':
+ resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1':
+ resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1':
+ resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.5':
+ resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.5':
+ resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
+ engines: {node: '>=6.9.0'}
+
+ '@capsizecss/unpack@3.0.1':
+ resolution: {integrity: sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==}
+ engines: {node: '>=18'}
+
+ '@ctrl/tinycolor@4.2.0':
+ resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==}
+ engines: {node: '>=14'}
+
+ '@emmetio/abbreviation@2.3.3':
+ resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==}
+
+ '@emmetio/css-abbreviation@2.1.8':
+ resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==}
+
+ '@emmetio/css-parser@0.4.1':
+ resolution: {integrity: sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==}
+
+ '@emmetio/html-matcher@1.3.0':
+ resolution: {integrity: sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==}
+
+ '@emmetio/scanner@1.0.4':
+ resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==}
+
+ '@emmetio/stream-reader-utils@0.1.0':
+ resolution: {integrity: sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==}
+
+ '@emmetio/stream-reader@2.2.0':
+ resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==}
+
+ '@emnapi/runtime@1.7.1':
+ resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
+
+ '@esbuild/aix-ppc64@0.25.12':
+ resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.25.12':
+ resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.25.12':
+ resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.25.12':
+ resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.25.12':
+ resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.25.12':
+ resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.25.12':
+ resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.25.12':
+ resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.25.12':
+ resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.25.12':
+ resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.25.12':
+ resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.25.12':
+ resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.25.12':
+ resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.25.12':
+ resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.25.12':
+ resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.25.12':
+ resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.25.12':
+ resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.12':
+ resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.12':
+ resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.12':
+ resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.25.12':
+ resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.25.12':
+ resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.12':
+ resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.12':
+ resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@expressive-code/core@0.41.5':
+ resolution: {integrity: sha512-II5TEy5eOoXiqPwqtpSqwamUd7lZS3YH3ofxR1ZyQMmygqORZn8/7SzgfF8G0kB7uKCBzFZT6RgKgCuHcJuPpA==}
+
+ '@expressive-code/plugin-frames@0.41.5':
+ resolution: {integrity: sha512-qU0cvAQGfRLX7XwGf3/+hqIVmAc/mNNTlqVLR0iBfJF6EKvtP3R7/uAlPrAxnxQxn0meTazCz8D+PsPyOpHKrQ==}
+
+ '@expressive-code/plugin-shiki@0.41.5':
+ resolution: {integrity: sha512-gw6OWvnmDmvcKJ5AZSzl2VkuixJMQ/zWSwPLFNzitqCa8aPfIFunb0K8IIOsE43LELgOWkie9lRFspOxwDVwrg==}
+
+ '@expressive-code/plugin-text-markers@0.41.5':
+ resolution: {integrity: sha512-0DSiTsjWFEz6/iuLOGNNy2GaeCW41OwnVJMKx1tS+XKeQxAL89UkZP3egWNzxjWNHNMzEv3ZWWWYqbonEQlv/Q==}
+
+ '@fontsource/ibm-plex-mono@5.2.7':
+ resolution: {integrity: sha512-MKAb8qV+CaiMQn2B0dIi1OV3565NYzp3WN5b4oT6LTkk+F0jR6j0ZN+5BKJiIhffDC3rtBULsYZE65+0018z9w==}
+
+ '@fontsource/ibm-plex-sans@5.2.8':
+ resolution: {integrity: sha512-eztSXjDhPhcpxNIiGTgMebdLP9qS4rWkysuE1V7c+DjOR0qiezaiDaTwQE7bTnG5HxAY/8M43XKDvs3cYq6ZYQ==}
+
+ '@img/colour@1.0.0':
+ resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
+ engines: {node: '>=18'}
+
+ '@img/sharp-darwin-arm64@0.34.5':
+ resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.34.5':
+ resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linux-arm64@0.34.5':
+ resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-arm@0.34.5':
+ resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-ppc64@0.34.5':
+ resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-riscv64@0.34.5':
+ resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-s390x@0.34.5':
+ resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-x64@0.34.5':
+ resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-wasm32@0.34.5':
+ resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-arm64@0.34.5':
+ resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@img/sharp-win32-ia32@0.34.5':
+ resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.34.5':
+ resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@lucide/astro@0.562.0':
+ resolution: {integrity: sha512-Rdtykh/VmH3M7n4ckBWY2X7wTMyJX/At5MuJDZ+5M+QZNebxAa75TU7xmM0OVmQj60UsHvdmqRIRNTqEYIieKg==}
+ peerDependencies:
+ astro: ^4 || ^5
+
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@oslojs/encoding@1.1.0':
+ resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
+
+ '@resvg/resvg-js-android-arm-eabi@2.6.2':
+ resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [android]
+
+ '@resvg/resvg-js-android-arm64@2.6.2':
+ resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@resvg/resvg-js-darwin-arm64@2.6.2':
+ resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@resvg/resvg-js-darwin-x64@2.6.2':
+ resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2':
+ resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@resvg/resvg-js-linux-arm64-gnu@2.6.2':
+ resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@resvg/resvg-js-linux-arm64-musl@2.6.2':
+ resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@resvg/resvg-js-linux-x64-gnu@2.6.2':
+ resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@resvg/resvg-js-linux-x64-musl@2.6.2':
+ resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@resvg/resvg-js-win32-arm64-msvc@2.6.2':
+ resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@resvg/resvg-js-win32-ia32-msvc@2.6.2':
+ resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@resvg/resvg-js-win32-x64-msvc@2.6.2':
+ resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@resvg/resvg-js@2.6.2':
+ resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==}
+ engines: {node: '>= 10'}
+
+ '@rolldown/pluginutils@1.0.0-beta.27':
+ resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.53.3':
+ resolution: {integrity: sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.53.3':
+ resolution: {integrity: sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.53.3':
+ resolution: {integrity: sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.53.3':
+ resolution: {integrity: sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.53.3':
+ resolution: {integrity: sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.53.3':
+ resolution: {integrity: sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.53.3':
+ resolution: {integrity: sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.53.3':
+ resolution: {integrity: sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-arm64-gnu@4.53.3':
+ resolution: {integrity: sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-arm64-musl@4.53.3':
+ resolution: {integrity: sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-loong64-gnu@4.53.3':
+ resolution: {integrity: sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==}
+ cpu: [loong64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.53.3':
+ resolution: {integrity: sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.53.3':
+ resolution: {integrity: sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-riscv64-musl@4.53.3':
+ resolution: {integrity: sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-linux-s390x-gnu@4.53.3':
+ resolution: {integrity: sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-gnu@4.53.3':
+ resolution: {integrity: sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rollup/rollup-linux-x64-musl@4.53.3':
+ resolution: {integrity: sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@rollup/rollup-openharmony-arm64@4.53.3':
+ resolution: {integrity: sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rollup/rollup-win32-arm64-msvc@4.53.3':
+ resolution: {integrity: sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.53.3':
+ resolution: {integrity: sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-gnu@4.53.3':
+ resolution: {integrity: sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.53.3':
+ resolution: {integrity: sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==}
+ cpu: [x64]
+ os: [win32]
+
+ '@shikijs/core@3.19.0':
+ resolution: {integrity: sha512-L7SrRibU7ZoYi1/TrZsJOFAnnHyLTE1SwHG1yNWjZIVCqjOEmCSuK2ZO9thnRbJG6TOkPp+Z963JmpCNw5nzvA==}
+
+ '@shikijs/engine-javascript@3.19.0':
+ resolution: {integrity: sha512-ZfWJNm2VMhKkQIKT9qXbs76RRcT0SF/CAvEz0+RkpUDAoDaCx0uFdCGzSRiD9gSlhm6AHkjdieOBJMaO2eC1rQ==}
+
+ '@shikijs/engine-oniguruma@3.19.0':
+ resolution: {integrity: sha512-1hRxtYIJfJSZeM5ivbUXv9hcJP3PWRo5prG/V2sWwiubUKTa+7P62d2qxCW8jiVFX4pgRHhnHNp+qeR7Xl+6kg==}
+
+ '@shikijs/langs@3.19.0':
+ resolution: {integrity: sha512-dBMFzzg1QiXqCVQ5ONc0z2ebyoi5BKz+MtfByLm0o5/nbUu3Iz8uaTCa5uzGiscQKm7lVShfZHU1+OG3t5hgwg==}
+
+ '@shikijs/themes@3.19.0':
+ resolution: {integrity: sha512-H36qw+oh91Y0s6OlFfdSuQ0Ld+5CgB/VE6gNPK+Hk4VRbVG/XQgkjnt4KzfnnoO6tZPtKJKHPjwebOCfjd6F8A==}
+
+ '@shikijs/types@3.19.0':
+ resolution: {integrity: sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ==}
+
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+
+ '@shuding/opentype.js@1.4.0-beta.0':
+ resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==}
+ engines: {node: '>= 8.0.0'}
+ hasBin: true
+
+ '@swc/helpers@0.5.17':
+ resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/fontkit@2.0.8':
+ resolution: {integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==}
+
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/nlcst@2.0.3':
+ resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
+
+ '@types/node@17.0.45':
+ resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+
+ '@types/node@24.10.2':
+ resolution: {integrity: sha512-WOhQTZ4G8xZ1tjJTvKOpyEVSGgOTvJAfDK3FNFgELyaTpzhdgHVHeqW8V+UJvzF5BT+/B54T/1S2K6gd9c7bbA==}
+
+ '@types/react-dom@19.2.3':
+ resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
+ peerDependencies:
+ '@types/react': ^19.2.0
+
+ '@types/react@19.2.7':
+ resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==}
+
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+
+ '@vitejs/plugin-react@4.7.0':
+ resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+
+ '@volar/kit@2.4.27':
+ resolution: {integrity: sha512-ilZoQDMLzqmSsImJRWx4YiZ4FcvvPrPnFVmL6hSsIWB6Bn3qc7k88J9yP32dagrs5Y8EXIlvvD/mAFaiuEOACQ==}
+ peerDependencies:
+ typescript: '*'
+
+ '@volar/language-core@2.4.27':
+ resolution: {integrity: sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==}
+
+ '@volar/language-server@2.4.27':
+ resolution: {integrity: sha512-SymGNkErcHg8GjiG65iQN8sLkhqu1pwKhFySmxeBuYq5xFYagKBW36eiNITXQTdvT0tutI1GXcXdq/FdE/IyjA==}
+
+ '@volar/language-service@2.4.27':
+ resolution: {integrity: sha512-SxKZ8yLhpWa7Y5e/RDxtNfm7j7xsXp/uf2urijXEffRNpPSmVdfzQrFFy5d7l8PNpZy+bHg+yakmqBPjQN+MOw==}
+
+ '@volar/source-map@2.4.27':
+ resolution: {integrity: sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==}
+
+ '@volar/typescript@2.4.27':
+ resolution: {integrity: sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==}
+
+ '@vscode/emmet-helper@2.11.0':
+ resolution: {integrity: sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==}
+
+ '@vscode/l10n@0.0.18':
+ resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==}
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ajv-draft-04@1.0.0:
+ resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
+ peerDependencies:
+ ajv: ^8.5.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ aria-query@5.3.2:
+ resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
+ engines: {node: '>= 0.4'}
+
+ array-iterate@2.0.1:
+ resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ astro-expressive-code@0.41.5:
+ resolution: {integrity: sha512-6jfABbPO0fkRD1ROAPBQtJR2p7gjbmk/GjfblOpo5Z7F+gwhL7+s8bEhLz9GdW10yfbn+gJvwEf7f9Lu2clh2A==}
+ peerDependencies:
+ astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0
+
+ astro@5.16.4:
+ resolution: {integrity: sha512-rgXI/8/tnO3Y9tfAaUyg/8beKhlIMltbiC8Q6jCoAfEidOyaue4KYKzbe0gJIb6qEdEaG3Kf3BY3EOSLkbWOLg==}
+ engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
+ hasBin: true
+
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ base-64@1.0.0:
+ resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==}
+
+ base64-js@0.0.8:
+ resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==}
+ engines: {node: '>= 0.4'}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ baseline-browser-mapping@2.9.11:
+ resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==}
+ hasBin: true
+
+ bcp-47-match@2.0.3:
+ resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ boxen@8.0.1:
+ resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==}
+ engines: {node: '>=18'}
+
+ brotli@1.3.3:
+ resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==}
+
+ browserslist@4.28.1:
+ resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ camelcase@8.0.0:
+ resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
+ engines: {node: '>=16'}
+
+ camelize@1.0.1:
+ resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
+
+ caniuse-lite@1.0.30001761:
+ resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ ci-info@4.3.1:
+ resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==}
+ engines: {node: '>=8'}
+
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+ clone@2.1.2:
+ resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
+ engines: {node: '>=0.8'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+
+ common-ancestor-path@1.0.1:
+ resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie-es@1.2.2:
+ resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
+
+ cookie@1.1.1:
+ resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
+ engines: {node: '>=18'}
+
+ crossws@0.3.5:
+ resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
+
+ css-background-parser@0.1.0:
+ resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==}
+
+ css-box-shadow@1.0.0-3:
+ resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==}
+
+ css-color-keywords@1.0.0:
+ resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
+ engines: {node: '>=4'}
+
+ css-gradient-parser@0.0.17:
+ resolution: {integrity: sha512-w2Xy9UMMwlKtou0vlRnXvWglPAceXCTtcmVSo8ZBUvqCV5aXEFP/PC6d+I464810I9FT++UACwTD5511bmGPUg==}
+ engines: {node: '>=16'}
+
+ css-select@5.2.2:
+ resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
+
+ css-selector-parser@3.3.0:
+ resolution: {integrity: sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==}
+
+ css-to-react-native@3.2.0:
+ resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
+
+ css-tree@2.2.1:
+ resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ css-tree@3.1.0:
+ resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+ css-what@6.2.2:
+ resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
+ engines: {node: '>= 6'}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ csso@5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+
+ csstype@3.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decode-named-character-reference@1.2.0:
+ resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ deterministic-object-hash@2.0.2:
+ resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==}
+ engines: {node: '>=18'}
+
+ devalue@5.6.0:
+ resolution: {integrity: sha512-BaD1s81TFFqbD6Uknni42TrolvEWA1Ih5L+OiHWmi4OYMJVwAYPGtha61I9KxTf52OvVHozHyjPu8zljqdF3uA==}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ dfa@1.2.0:
+ resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==}
+
+ diff@5.2.0:
+ resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==}
+ engines: {node: '>=0.3.1'}
+
+ direction@2.0.1:
+ resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==}
+ hasBin: true
+
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
+ dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+ domutils@3.2.2:
+ resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
+
+ dset@3.1.4:
+ resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
+ engines: {node: '>=4'}
+
+ electron-to-chromium@1.5.267:
+ resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==}
+
+ embla-carousel-auto-scroll@8.6.0:
+ resolution: {integrity: sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ==}
+ peerDependencies:
+ embla-carousel: 8.6.0
+
+ embla-carousel-autoplay@8.6.0:
+ resolution: {integrity: sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==}
+ peerDependencies:
+ embla-carousel: 8.6.0
+
+ embla-carousel-fade@8.6.0:
+ resolution: {integrity: sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg==}
+ peerDependencies:
+ embla-carousel: 8.6.0
+
+ embla-carousel@8.6.0:
+ resolution: {integrity: sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==}
+
+ emmet@2.4.11:
+ resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==}
+
+ emoji-regex-xs@2.0.1:
+ resolution: {integrity: sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==}
+ engines: {node: '>=10.0.0'}
+
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ entities@6.0.1:
+ resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+ engines: {node: '>=0.12'}
+
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ esbuild@0.25.12:
+ resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ eventemitter3@5.0.1:
+ resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+
+ expressive-code@0.41.5:
+ resolution: {integrity: sha512-iXl9BgDogQgzgE/WRSrcyU8upOcRZrXPMiu6tegEHML57YLQ65S0E3/sjAXmMZy0GXoPs60s9jbwoMo/mdEQOg==}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-uri@3.1.0:
+ resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ fflate@0.7.4:
+ resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
+
+ flattie@1.1.1:
+ resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==}
+ engines: {node: '>=8'}
+
+ fontace@0.3.1:
+ resolution: {integrity: sha512-9f5g4feWT1jWT8+SbL85aLIRLIXUaDygaM2xPXRmzPYxrOMNok79Lr3FGJoKVNKibE0WCunNiEVG2mwuE+2qEg==}
+
+ fontkit@2.0.4:
+ resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-east-asian-width@1.4.0:
+ resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
+ engines: {node: '>=18'}
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
+ h3@1.15.4:
+ resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
+ hast-util-from-parse5@8.0.3:
+ resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
+
+ hast-util-has-property@3.0.0:
+ resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==}
+
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+
+ hast-util-raw@9.1.0:
+ resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
+
+ hast-util-select@6.0.4:
+ resolution: {integrity: sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==}
+
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
+ hast-util-to-parse5@8.0.1:
+ resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==}
+
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ hastscript@9.0.1:
+ resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
+
+ hex-rgb@4.3.0:
+ resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==}
+ engines: {node: '>=6'}
+
+ html-escaper@3.0.3:
+ resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==}
+
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+ http-cache-semantics@4.2.0:
+ resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
+
+ import-meta-resolve@4.2.0:
+ resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==}
+
+ inline-style-parser@0.2.7:
+ resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
+
+ iron-webcrypto@1.2.1:
+ resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@4.1.1:
+ resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
+ hasBin: true
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsonc-parser@2.3.1:
+ resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==}
+
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
+ kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+
+ kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+
+ linebreak@1.1.0:
+ resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
+ magicast@0.5.1:
+ resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==}
+
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ mdast-util-definitions@6.0.0:
+ resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
+
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
+
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-hast@13.2.1:
+ resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
+
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ mdn-data@2.0.28:
+ resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
+
+ mdn-data@2.12.2:
+ resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
+ mrmime@2.0.1:
+ resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
+ engines: {node: '>=10'}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ muggle-string@0.4.1:
+ resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ neotraverse@0.6.18:
+ resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==}
+ engines: {node: '>= 10'}
+
+ nlcst-to-string@4.0.0:
+ resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
+
+ node-fetch-native@1.6.7:
+ resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
+
+ node-mock-http@1.0.4:
+ resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==}
+
+ node-releases@2.0.27:
+ resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ ofetch@1.5.1:
+ resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
+
+ ohash@2.0.11:
+ resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
+
+ oniguruma-parser@0.12.1:
+ resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
+
+ oniguruma-to-es@4.3.4:
+ resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==}
+
+ p-limit@6.2.0:
+ resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==}
+ engines: {node: '>=18'}
+
+ p-queue@8.1.1:
+ resolution: {integrity: sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==}
+ engines: {node: '>=18'}
+
+ p-timeout@6.1.4:
+ resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==}
+ engines: {node: '>=14.16'}
+
+ package-manager-detector@1.6.0:
+ resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==}
+
+ pako@0.2.9:
+ resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
+
+ parse-css-color@0.2.1:
+ resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==}
+
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ parse-latin@7.0.0:
+ resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
+
+ parse5@7.3.0:
+ resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+ piccolore@0.1.3:
+ resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ postcss-nested@6.2.0:
+ resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prettier-plugin-astro@0.14.1:
+ resolution: {integrity: sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==}
+ engines: {node: ^14.15.0 || >=16.0.0}
+
+ prettier@3.7.4:
+ resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ prismjs@1.30.0:
+ resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
+ engines: {node: '>=6'}
+
+ prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+
+ property-information@7.1.0:
+ resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+
+ radix3@1.1.2:
+ resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
+
+ react-dom@19.2.3:
+ resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==}
+ peerDependencies:
+ react: ^19.2.3
+
+ react-refresh@0.17.0:
+ resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
+ engines: {node: '>=0.10.0'}
+
+ react@19.2.3:
+ resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==}
+ engines: {node: '>=0.10.0'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.1.0:
+ resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
+
+ rehype-expressive-code@0.41.5:
+ resolution: {integrity: sha512-SzKJyu7heDpkt+XE/AqeWsYMSMocE/5mpJXD6CMgstqJHSE9bxGNcLp3zL9Wne3M5iBsS4GJyOD2syV77kRveA==}
+
+ rehype-parse@9.0.1:
+ resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
+
+ rehype-raw@7.0.0:
+ resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
+ rehype-stringify@10.0.1:
+ resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
+
+ rehype@13.0.2:
+ resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==}
+
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-mdx@3.1.1:
+ resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
+ remark-smartypants@3.0.2:
+ resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==}
+ engines: {node: '>=16.0.0'}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+ request-light@0.5.8:
+ resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==}
+
+ request-light@0.7.0:
+ resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ restructure@3.0.2:
+ resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==}
+
+ retext-latin@4.0.0:
+ resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
+
+ retext-smartypants@6.2.0:
+ resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==}
+
+ retext-stringify@4.0.0:
+ resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==}
+
+ retext@9.0.0:
+ resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==}
+
+ rollup@4.53.3:
+ resolution: {integrity: sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ s.color@0.0.15:
+ resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==}
+
+ sass-formatter@0.7.9:
+ resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==}
+
+ satori@0.19.1:
+ resolution: {integrity: sha512-/XaT/JiWLfNlgjlQdde4wXB1/6F+FEze9c3OW2QIH0ywsfOrY57YOetgESWyOFHW3JfEQ6dJAo2U9Xwb7+DDAw==}
+ engines: {node: '>=16'}
+
+ sax@1.4.3:
+ resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==}
+
+ scheduler@0.27.0:
+ resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.7.3:
+ resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ sharp@0.34.5:
+ resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+
+ shiki@3.19.0:
+ resolution: {integrity: sha512-77VJr3OR/VUZzPiStyRhADmO2jApMM0V2b1qf0RpfWya8Zr1PeZev5AEpPGAAKWdiYUtcZGBE4F5QvJml1PvWA==}
+
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ sitemap@8.0.2:
+ resolution: {integrity: sha512-LwktpJcyZDoa0IL6KT++lQ53pbSrx2c9ge41/SeLTyqy2XUNA6uR4+P9u5IVo5lPeL2arAcOKn1aZAxoYbCKlQ==}
+ engines: {node: '>=14.0.0', npm: '>=6.0.0'}
+ hasBin: true
+
+ smol-toml@1.5.2:
+ resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==}
+ engines: {node: '>= 18'}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ stream-replace-string@2.0.0:
+ resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string.prototype.codepointat@0.2.1:
+ resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
+
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
+ engines: {node: '>=12'}
+
+ style-to-js@1.1.21:
+ resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
+
+ style-to-object@1.0.14:
+ resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
+
+ suf-log@2.5.3:
+ resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==}
+
+ svgo@4.0.0:
+ resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+ tiny-inflate@1.0.3:
+ resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
+
+ tinyexec@1.0.2:
+ resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
+ engines: {node: '>=18'}
+
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
+ engines: {node: '>=12.0.0'}
+
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ tsconfck@3.1.6:
+ resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+ engines: {node: '>=16'}
+
+ typesafe-path@0.2.2:
+ resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==}
+
+ typescript-auto-import-cache@0.3.6:
+ resolution: {integrity: sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==}
+
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+ ultrahtml@1.6.0:
+ resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==}
+
+ uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+
+ undici-types@7.16.0:
+ resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
+
+ unicode-properties@1.4.1:
+ resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==}
+
+ unicode-trie@2.0.0:
+ resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==}
+
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
+ unifont@0.6.0:
+ resolution: {integrity: sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA==}
+
+ unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+
+ unist-util-is@6.0.1:
+ resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
+
+ unist-util-modify-children@4.0.0:
+ resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
+ unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-children@3.0.0:
+ resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==}
+
+ unist-util-visit-parents@6.0.2:
+ resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==}
+
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+
+ unstorage@1.17.3:
+ resolution: {integrity: sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.8.0
+ '@azure/cosmos': ^4.2.0
+ '@azure/data-tables': ^13.3.0
+ '@azure/identity': ^4.6.0
+ '@azure/keyvault-secrets': ^4.9.0
+ '@azure/storage-blob': ^12.26.0
+ '@capacitor/preferences': ^6.0.3 || ^7.0.0
+ '@deno/kv': '>=0.9.0'
+ '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0
+ '@planetscale/database': ^1.19.0
+ '@upstash/redis': ^1.34.3
+ '@vercel/blob': '>=0.27.1'
+ '@vercel/functions': ^2.2.12 || ^3.0.0
+ '@vercel/kv': ^1.0.1
+ aws4fetch: ^1.0.20
+ db0: '>=0.2.1'
+ idb-keyval: ^6.2.1
+ ioredis: ^5.4.2
+ uploadthing: ^7.4.4
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@deno/kv':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/blob':
+ optional: true
+ '@vercel/functions':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ aws4fetch:
+ optional: true
+ db0:
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+ uploadthing:
+ optional: true
+
+ update-browserslist-db@1.2.3:
+ resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
+ vfile-message@4.0.3:
+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ vite@6.4.1:
+ resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ jiti: '>=1.21.0'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ vitefu@1.1.1:
+ resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
+ volar-service-css@0.0.68:
+ resolution: {integrity: sha512-lJSMh6f3QzZ1tdLOZOzovLX0xzAadPhx8EKwraDLPxBndLCYfoTvnNuiFFV8FARrpAlW5C0WkH+TstPaCxr00Q==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-emmet@0.0.68:
+ resolution: {integrity: sha512-nHvixrRQ83EzkQ4G/jFxu9Y4eSsXS/X2cltEPDM+K9qZmIv+Ey1w0tg1+6caSe8TU5Hgw4oSTwNMf/6cQb3LzQ==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-html@0.0.68:
+ resolution: {integrity: sha512-fru9gsLJxy33xAltXOh4TEdi312HP80hpuKhpYQD4O5hDnkNPEBdcQkpB+gcX0oK0VxRv1UOzcGQEUzWCVHLfA==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-prettier@0.0.68:
+ resolution: {integrity: sha512-grUmWHkHlebMOd6V8vXs2eNQUw/bJGJMjekh/EPf/p2ZNTK0Uyz7hoBRngcvGfJHMsSXZH8w/dZTForIW/4ihw==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ prettier: ^2.2 || ^3.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+ prettier:
+ optional: true
+
+ volar-service-typescript-twoslash-queries@0.0.68:
+ resolution: {integrity: sha512-NugzXcM0iwuZFLCJg47vI93su5YhTIweQuLmZxvz5ZPTaman16JCvmDZexx2rd5T/75SNuvvZmrTOTNYUsfe5w==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-typescript@0.0.68:
+ resolution: {integrity: sha512-z7B/7CnJ0+TWWFp/gh2r5/QwMObHNDiQiv4C9pTBNI2Wxuwymd4bjEORzrJ/hJ5Yd5+OzeYK+nFCKevoGEEeKw==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ volar-service-yaml@0.0.68:
+ resolution: {integrity: sha512-84XgE02LV0OvTcwfqhcSwVg4of3MLNUWPMArO6Aj8YXqyEVnPu8xTEMY2btKSq37mVAPuaEVASI4e3ptObmqcA==}
+ peerDependencies:
+ '@volar/language-service': ~2.4.0
+ peerDependenciesMeta:
+ '@volar/language-service':
+ optional: true
+
+ vscode-css-languageservice@6.3.9:
+ resolution: {integrity: sha512-1tLWfp+TDM5ZuVWht3jmaY5y7O6aZmpeXLoHl5bv1QtRsRKt4xYGRMmdJa5Pqx/FTkgRbsna9R+Gn2xE+evVuA==}
+
+ vscode-html-languageservice@5.6.1:
+ resolution: {integrity: sha512-5Mrqy5CLfFZUgkyhNZLA1Ye5g12Cb/v6VM7SxUzZUaRKWMDz4md+y26PrfRTSU0/eQAl3XpO9m2og+GGtDMuaA==}
+
+ vscode-json-languageservice@4.1.8:
+ resolution: {integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==}
+ engines: {npm: '>=7.0.0'}
+
+ vscode-jsonrpc@8.2.0:
+ resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
+ engines: {node: '>=14.0.0'}
+
+ vscode-languageserver-protocol@3.17.5:
+ resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
+
+ vscode-languageserver-textdocument@1.0.12:
+ resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
+
+ vscode-languageserver-types@3.17.5:
+ resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
+
+ vscode-languageserver@9.0.1:
+ resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
+ hasBin: true
+
+ vscode-nls@5.2.0:
+ resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
+
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
+
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+
+ which-pm-runs@1.1.0:
+ resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==}
+ engines: {node: '>=4'}
+
+ widest-line@5.0.0:
+ resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
+ engines: {node: '>=18'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
+ engines: {node: '>=18'}
+
+ xxhash-wasm@1.1.0:
+ resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yaml-language-server@1.19.2:
+ resolution: {integrity: sha512-9F3myNmJzUN/679jycdMxqtydPSDRAarSj3wPiF7pchEPnO9Dg07Oc+gIYLqXR4L+g+FSEVXXv2+mr54StLFOg==}
+ hasBin: true
+
+ yaml@2.7.1:
+ resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
+ yaml@2.8.2:
+ resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+
+ yocto-queue@1.2.2:
+ resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==}
+ engines: {node: '>=12.20'}
+
+ yocto-spinner@0.2.3:
+ resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==}
+ engines: {node: '>=18.19'}
+
+ yoctocolors@2.1.2:
+ resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==}
+ engines: {node: '>=18'}
+
+ yoga-layout@3.2.1:
+ resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==}
+
+ zod-to-json-schema@3.25.0:
+ resolution: {integrity: sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==}
+ peerDependencies:
+ zod: ^3.25 || ^4
+
+ zod-to-ts@1.2.0:
+ resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==}
+ peerDependencies:
+ typescript: ^4.9.4 || ^5.0.2
+ zod: ^3
+
+ zod@3.25.76:
+ resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+
+snapshots:
+
+ '@astrojs/check@0.9.6(prettier-plugin-astro@0.14.1)(prettier@3.7.4)(typescript@5.9.3)':
+ dependencies:
+ '@astrojs/language-server': 2.16.3(prettier-plugin-astro@0.14.1)(prettier@3.7.4)(typescript@5.9.3)
+ chokidar: 4.0.3
+ kleur: 4.1.5
+ typescript: 5.9.3
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - prettier
+ - prettier-plugin-astro
+
+ '@astrojs/compiler@2.13.0': {}
+
+ '@astrojs/internal-helpers@0.7.5': {}
+
+ '@astrojs/language-server@2.16.3(prettier-plugin-astro@0.14.1)(prettier@3.7.4)(typescript@5.9.3)':
+ dependencies:
+ '@astrojs/compiler': 2.13.0
+ '@astrojs/yaml2ts': 0.2.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@volar/kit': 2.4.27(typescript@5.9.3)
+ '@volar/language-core': 2.4.27
+ '@volar/language-server': 2.4.27
+ '@volar/language-service': 2.4.27
+ muggle-string: 0.4.1
+ tinyglobby: 0.2.15
+ volar-service-css: 0.0.68(@volar/language-service@2.4.27)
+ volar-service-emmet: 0.0.68(@volar/language-service@2.4.27)
+ volar-service-html: 0.0.68(@volar/language-service@2.4.27)
+ volar-service-prettier: 0.0.68(@volar/language-service@2.4.27)(prettier@3.7.4)
+ volar-service-typescript: 0.0.68(@volar/language-service@2.4.27)
+ volar-service-typescript-twoslash-queries: 0.0.68(@volar/language-service@2.4.27)
+ volar-service-yaml: 0.0.68(@volar/language-service@2.4.27)
+ vscode-html-languageservice: 5.6.1
+ vscode-uri: 3.1.0
+ optionalDependencies:
+ prettier: 3.7.4
+ prettier-plugin-astro: 0.14.1
+ transitivePeerDependencies:
+ - typescript
+
+ '@astrojs/markdown-remark@6.3.10':
+ dependencies:
+ '@astrojs/internal-helpers': 0.7.5
+ '@astrojs/prism': 3.3.0
+ github-slugger: 2.0.0
+ hast-util-from-html: 2.0.3
+ hast-util-to-text: 4.0.2
+ import-meta-resolve: 4.2.0
+ js-yaml: 4.1.1
+ mdast-util-definitions: 6.0.0
+ rehype-raw: 7.0.0
+ rehype-stringify: 10.0.1
+ remark-gfm: 4.0.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ remark-smartypants: 3.0.2
+ shiki: 3.19.0
+ smol-toml: 1.5.2
+ unified: 11.0.5
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.2
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/markdown-remark@6.3.9':
+ dependencies:
+ '@astrojs/internal-helpers': 0.7.5
+ '@astrojs/prism': 3.3.0
+ github-slugger: 2.0.0
+ hast-util-from-html: 2.0.3
+ hast-util-to-text: 4.0.2
+ import-meta-resolve: 4.2.0
+ js-yaml: 4.1.1
+ mdast-util-definitions: 6.0.0
+ rehype-raw: 7.0.0
+ rehype-stringify: 10.0.1
+ remark-gfm: 4.0.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ remark-smartypants: 3.0.2
+ shiki: 3.19.0
+ smol-toml: 1.5.2
+ unified: 11.0.5
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.2
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/mdx@4.3.13(astro@5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2))':
+ dependencies:
+ '@astrojs/markdown-remark': 6.3.10
+ '@mdx-js/mdx': 3.1.1
+ acorn: 8.15.0
+ astro: 5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2)
+ es-module-lexer: 1.7.0
+ estree-util-visit: 2.0.0
+ hast-util-to-html: 9.0.5
+ piccolore: 0.1.3
+ rehype-raw: 7.0.0
+ remark-gfm: 4.0.1
+ remark-smartypants: 3.0.2
+ source-map: 0.7.6
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/prism@3.3.0':
+ dependencies:
+ prismjs: 1.30.0
+
+ '@astrojs/react@4.4.2(@types/node@24.10.2)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(yaml@2.8.2)':
+ dependencies:
+ '@types/react': 19.2.7
+ '@types/react-dom': 19.2.3(@types/react@19.2.7)
+ '@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@24.10.2)(yaml@2.8.2))
+ react: 19.2.3
+ react-dom: 19.2.3(react@19.2.3)
+ ultrahtml: 1.6.0
+ vite: 6.4.1(@types/node@24.10.2)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - '@types/node'
+ - jiti
+ - less
+ - lightningcss
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+
+ '@astrojs/sitemap@3.7.0':
+ dependencies:
+ sitemap: 8.0.2
+ stream-replace-string: 2.0.0
+ zod: 3.25.76
+
+ '@astrojs/telemetry@3.3.0':
+ dependencies:
+ ci-info: 4.3.1
+ debug: 4.4.3
+ dlv: 1.1.3
+ dset: 3.1.4
+ is-docker: 3.0.0
+ is-wsl: 3.1.0
+ which-pm-runs: 1.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@astrojs/yaml2ts@0.2.2':
+ dependencies:
+ yaml: 2.8.2
+
+ '@babel/code-frame@7.27.1':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.28.5
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.28.5': {}
+
+ '@babel/core@7.28.5':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.5
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5)
+ '@babel/helpers': 7.28.4
+ '@babel/parser': 7.28.5
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.5
+ '@babel/types': 7.28.5
+ '@jridgewell/remapping': 2.3.5
+ convert-source-map: 2.0.0
+ debug: 4.4.3
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.28.5':
+ dependencies:
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
+
+ '@babel/helper-compilation-targets@7.27.2':
+ dependencies:
+ '@babel/compat-data': 7.28.5
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.28.1
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-globals@7.28.0': {}
+
+ '@babel/helper-module-imports@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.5
+ '@babel/types': 7.28.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+ '@babel/traverse': 7.28.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-plugin-utils@7.27.1': {}
+
+ '@babel/helper-string-parser@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.28.5': {}
+
+ '@babel/helper-validator-option@7.27.1': {}
+
+ '@babel/helpers@7.28.4':
+ dependencies:
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.5
+
+ '@babel/parser@7.28.5':
+ dependencies:
+ '@babel/types': 7.28.5
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.5)':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/template@7.27.2':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+
+ '@babel/traverse@7.28.5':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.5
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.5
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.5
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.28.5':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
+ '@capsizecss/unpack@3.0.1':
+ dependencies:
+ fontkit: 2.0.4
+
+ '@ctrl/tinycolor@4.2.0': {}
+
+ '@emmetio/abbreviation@2.3.3':
+ dependencies:
+ '@emmetio/scanner': 1.0.4
+
+ '@emmetio/css-abbreviation@2.1.8':
+ dependencies:
+ '@emmetio/scanner': 1.0.4
+
+ '@emmetio/css-parser@0.4.1':
+ dependencies:
+ '@emmetio/stream-reader': 2.2.0
+ '@emmetio/stream-reader-utils': 0.1.0
+
+ '@emmetio/html-matcher@1.3.0':
+ dependencies:
+ '@emmetio/scanner': 1.0.4
+
+ '@emmetio/scanner@1.0.4': {}
+
+ '@emmetio/stream-reader-utils@0.1.0': {}
+
+ '@emmetio/stream-reader@2.2.0': {}
+
+ '@emnapi/runtime@1.7.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@esbuild/aix-ppc64@0.25.12':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/android-arm@0.25.12':
+ optional: true
+
+ '@esbuild/android-x64@0.25.12':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/darwin-x64@0.25.12':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-arm@0.25.12':
+ optional: true
+
+ '@esbuild/linux-ia32@0.25.12':
+ optional: true
+
+ '@esbuild/linux-loong64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.25.12':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-s390x@0.25.12':
+ optional: true
+
+ '@esbuild/linux-x64@0.25.12':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/sunos-x64@0.25.12':
+ optional: true
+
+ '@esbuild/win32-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/win32-ia32@0.25.12':
+ optional: true
+
+ '@esbuild/win32-x64@0.25.12':
+ optional: true
+
+ '@expressive-code/core@0.41.5':
+ dependencies:
+ '@ctrl/tinycolor': 4.2.0
+ hast-util-select: 6.0.4
+ hast-util-to-html: 9.0.5
+ hast-util-to-text: 4.0.2
+ hastscript: 9.0.1
+ postcss: 8.5.6
+ postcss-nested: 6.2.0(postcss@8.5.6)
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.2
+
+ '@expressive-code/plugin-frames@0.41.5':
+ dependencies:
+ '@expressive-code/core': 0.41.5
+
+ '@expressive-code/plugin-shiki@0.41.5':
+ dependencies:
+ '@expressive-code/core': 0.41.5
+ shiki: 3.19.0
+
+ '@expressive-code/plugin-text-markers@0.41.5':
+ dependencies:
+ '@expressive-code/core': 0.41.5
+
+ '@fontsource/ibm-plex-mono@5.2.7': {}
+
+ '@fontsource/ibm-plex-sans@5.2.8': {}
+
+ '@img/colour@1.0.0': {}
+
+ '@img/sharp-darwin-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-arm@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-ppc64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-ppc64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-riscv64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-riscv64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-s390x@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-wasm32@0.34.5':
+ dependencies:
+ '@emnapi/runtime': 1.7.1
+ optional: true
+
+ '@img/sharp-win32-arm64@0.34.5':
+ optional: true
+
+ '@img/sharp-win32-ia32@0.34.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.34.5':
+ optional: true
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@lucide/astro@0.562.0(astro@5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2))':
+ dependencies:
+ astro: 5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2)
+
+ '@mdx-js/mdx@3.1.1':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ acorn: 8.15.0
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.15.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@oslojs/encoding@1.1.0': {}
+
+ '@resvg/resvg-js-android-arm-eabi@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-android-arm64@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-darwin-arm64@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-darwin-x64@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm64-gnu@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm64-musl@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-x64-gnu@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-linux-x64-musl@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-win32-arm64-msvc@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-win32-ia32-msvc@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js-win32-x64-msvc@2.6.2':
+ optional: true
+
+ '@resvg/resvg-js@2.6.2':
+ optionalDependencies:
+ '@resvg/resvg-js-android-arm-eabi': 2.6.2
+ '@resvg/resvg-js-android-arm64': 2.6.2
+ '@resvg/resvg-js-darwin-arm64': 2.6.2
+ '@resvg/resvg-js-darwin-x64': 2.6.2
+ '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2
+ '@resvg/resvg-js-linux-arm64-gnu': 2.6.2
+ '@resvg/resvg-js-linux-arm64-musl': 2.6.2
+ '@resvg/resvg-js-linux-x64-gnu': 2.6.2
+ '@resvg/resvg-js-linux-x64-musl': 2.6.2
+ '@resvg/resvg-js-win32-arm64-msvc': 2.6.2
+ '@resvg/resvg-js-win32-ia32-msvc': 2.6.2
+ '@resvg/resvg-js-win32-x64-msvc': 2.6.2
+
+ '@rolldown/pluginutils@1.0.0-beta.27': {}
+
+ '@rollup/pluginutils@5.3.0(rollup@4.53.3)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 4.53.3
+
+ '@rollup/rollup-android-arm-eabi@4.53.3':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.53.3':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.53.3':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.53.3':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.53.3':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-loong64-gnu@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-gnu@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.53.3':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.53.3':
+ optional: true
+
+ '@rollup/rollup-openharmony-arm64@4.53.3':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.53.3':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.53.3':
+ optional: true
+
+ '@rollup/rollup-win32-x64-gnu@4.53.3':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.53.3':
+ optional: true
+
+ '@shikijs/core@3.19.0':
+ dependencies:
+ '@shikijs/types': 3.19.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+ '@shikijs/engine-javascript@3.19.0':
+ dependencies:
+ '@shikijs/types': 3.19.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.4
+
+ '@shikijs/engine-oniguruma@3.19.0':
+ dependencies:
+ '@shikijs/types': 3.19.0
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@3.19.0':
+ dependencies:
+ '@shikijs/types': 3.19.0
+
+ '@shikijs/themes@3.19.0':
+ dependencies:
+ '@shikijs/types': 3.19.0
+
+ '@shikijs/types@3.19.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ '@shikijs/vscode-textmate@10.0.2': {}
+
+ '@shuding/opentype.js@1.4.0-beta.0':
+ dependencies:
+ fflate: 0.7.4
+ string.prototype.codepointat: 0.2.1
+
+ '@swc/helpers@0.5.17':
+ dependencies:
+ tslib: 2.8.1
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.28.0
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.28.5
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+
+ '@types/babel__traverse@7.28.0':
+ dependencies:
+ '@babel/types': 7.28.5
+
+ '@types/debug@4.1.12':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/estree-jsx@1.0.5':
+ dependencies:
+ '@types/estree': 1.0.8
+
+ '@types/estree@1.0.8': {}
+
+ '@types/fontkit@2.0.8':
+ dependencies:
+ '@types/node': 24.10.2
+
+ '@types/hast@3.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/mdx@2.0.13': {}
+
+ '@types/ms@2.1.0': {}
+
+ '@types/nlcst@2.0.3':
+ dependencies:
+ '@types/unist': 3.0.3
+
+ '@types/node@17.0.45': {}
+
+ '@types/node@24.10.2':
+ dependencies:
+ undici-types: 7.16.0
+
+ '@types/react-dom@19.2.3(@types/react@19.2.7)':
+ dependencies:
+ '@types/react': 19.2.7
+
+ '@types/react@19.2.7':
+ dependencies:
+ csstype: 3.2.3
+
+ '@types/sax@1.2.7':
+ dependencies:
+ '@types/node': 24.10.2
+
+ '@types/unist@2.0.11': {}
+
+ '@types/unist@3.0.3': {}
+
+ '@ungap/structured-clone@1.3.0': {}
+
+ '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@24.10.2)(yaml@2.8.2))':
+ dependencies:
+ '@babel/core': 7.28.5
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5)
+ '@rolldown/pluginutils': 1.0.0-beta.27
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.17.0
+ vite: 6.4.1(@types/node@24.10.2)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@volar/kit@2.4.27(typescript@5.9.3)':
+ dependencies:
+ '@volar/language-service': 2.4.27
+ '@volar/typescript': 2.4.27
+ typesafe-path: 0.2.2
+ typescript: 5.9.3
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+
+ '@volar/language-core@2.4.27':
+ dependencies:
+ '@volar/source-map': 2.4.27
+
+ '@volar/language-server@2.4.27':
+ dependencies:
+ '@volar/language-core': 2.4.27
+ '@volar/language-service': 2.4.27
+ '@volar/typescript': 2.4.27
+ path-browserify: 1.0.1
+ request-light: 0.7.0
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-protocol: 3.17.5
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+
+ '@volar/language-service@2.4.27':
+ dependencies:
+ '@volar/language-core': 2.4.27
+ vscode-languageserver-protocol: 3.17.5
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+
+ '@volar/source-map@2.4.27': {}
+
+ '@volar/typescript@2.4.27':
+ dependencies:
+ '@volar/language-core': 2.4.27
+ path-browserify: 1.0.1
+ vscode-uri: 3.1.0
+
+ '@vscode/emmet-helper@2.11.0':
+ dependencies:
+ emmet: 2.4.11
+ jsonc-parser: 2.3.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+ vscode-uri: 3.1.0
+
+ '@vscode/l10n@0.0.18': {}
+
+ acorn-jsx@5.3.2(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+
+ acorn@8.15.0: {}
+
+ ajv-draft-04@1.0.0(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
+ ajv@8.17.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.0
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+ ansi-align@3.0.1:
+ dependencies:
+ string-width: 4.2.3
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.2.2: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.3: {}
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ arg@5.0.2: {}
+
+ argparse@2.0.1: {}
+
+ aria-query@5.3.2: {}
+
+ array-iterate@2.0.1: {}
+
+ astring@1.9.0: {}
+
+ astro-expressive-code@0.41.5(astro@5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2)):
+ dependencies:
+ astro: 5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2)
+ rehype-expressive-code: 0.41.5
+
+ astro@5.16.4(@types/node@24.10.2)(rollup@4.53.3)(typescript@5.9.3)(yaml@2.8.2):
+ dependencies:
+ '@astrojs/compiler': 2.13.0
+ '@astrojs/internal-helpers': 0.7.5
+ '@astrojs/markdown-remark': 6.3.9
+ '@astrojs/telemetry': 3.3.0
+ '@capsizecss/unpack': 3.0.1
+ '@oslojs/encoding': 1.1.0
+ '@rollup/pluginutils': 5.3.0(rollup@4.53.3)
+ acorn: 8.15.0
+ aria-query: 5.3.2
+ axobject-query: 4.1.0
+ boxen: 8.0.1
+ ci-info: 4.3.1
+ clsx: 2.1.1
+ common-ancestor-path: 1.0.1
+ cookie: 1.1.1
+ cssesc: 3.0.0
+ debug: 4.4.3
+ deterministic-object-hash: 2.0.2
+ devalue: 5.6.0
+ diff: 5.2.0
+ dlv: 1.1.3
+ dset: 3.1.4
+ es-module-lexer: 1.7.0
+ esbuild: 0.25.12
+ estree-walker: 3.0.3
+ flattie: 1.1.1
+ fontace: 0.3.1
+ github-slugger: 2.0.0
+ html-escaper: 3.0.3
+ http-cache-semantics: 4.2.0
+ import-meta-resolve: 4.2.0
+ js-yaml: 4.1.1
+ magic-string: 0.30.21
+ magicast: 0.5.1
+ mrmime: 2.0.1
+ neotraverse: 0.6.18
+ p-limit: 6.2.0
+ p-queue: 8.1.1
+ package-manager-detector: 1.6.0
+ piccolore: 0.1.3
+ picomatch: 4.0.3
+ prompts: 2.4.2
+ rehype: 13.0.2
+ semver: 7.7.3
+ shiki: 3.19.0
+ smol-toml: 1.5.2
+ svgo: 4.0.0
+ tinyexec: 1.0.2
+ tinyglobby: 0.2.15
+ tsconfck: 3.1.6(typescript@5.9.3)
+ ultrahtml: 1.6.0
+ unifont: 0.6.0
+ unist-util-visit: 5.0.0
+ unstorage: 1.17.3
+ vfile: 6.0.3
+ vite: 6.4.1(@types/node@24.10.2)(yaml@2.8.2)
+ vitefu: 1.1.1(vite@6.4.1(@types/node@24.10.2)(yaml@2.8.2))
+ xxhash-wasm: 1.1.0
+ yargs-parser: 21.1.1
+ yocto-spinner: 0.2.3
+ zod: 3.25.76
+ zod-to-json-schema: 3.25.0(zod@3.25.76)
+ zod-to-ts: 1.2.0(typescript@5.9.3)(zod@3.25.76)
+ optionalDependencies:
+ sharp: 0.34.5
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@types/node'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - idb-keyval
+ - ioredis
+ - jiti
+ - less
+ - lightningcss
+ - rollup
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - typescript
+ - uploadthing
+ - yaml
+
+ axobject-query@4.1.0: {}
+
+ bail@2.0.2: {}
+
+ base-64@1.0.0: {}
+
+ base64-js@0.0.8: {}
+
+ base64-js@1.5.1: {}
+
+ baseline-browser-mapping@2.9.11: {}
+
+ bcp-47-match@2.0.3: {}
+
+ boolbase@1.0.0: {}
+
+ boxen@8.0.1:
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 8.0.0
+ chalk: 5.6.2
+ cli-boxes: 3.0.0
+ string-width: 7.2.0
+ type-fest: 4.41.0
+ widest-line: 5.0.0
+ wrap-ansi: 9.0.2
+
+ brotli@1.3.3:
+ dependencies:
+ base64-js: 1.5.1
+
+ browserslist@4.28.1:
+ dependencies:
+ baseline-browser-mapping: 2.9.11
+ caniuse-lite: 1.0.30001761
+ electron-to-chromium: 1.5.267
+ node-releases: 2.0.27
+ update-browserslist-db: 1.2.3(browserslist@4.28.1)
+
+ camelcase@8.0.0: {}
+
+ camelize@1.0.1: {}
+
+ caniuse-lite@1.0.30001761: {}
+
+ ccount@2.0.1: {}
+
+ chalk@5.6.2: {}
+
+ character-entities-html4@2.1.0: {}
+
+ character-entities-legacy@3.0.0: {}
+
+ character-entities@2.0.2: {}
+
+ character-reference-invalid@2.0.1: {}
+
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
+
+ ci-info@4.3.1: {}
+
+ cli-boxes@3.0.0: {}
+
+ cliui@8.0.1:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+
+ clone@2.1.2: {}
+
+ clsx@2.1.1: {}
+
+ collapse-white-space@2.1.0: {}
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ comma-separated-tokens@2.0.3: {}
+
+ commander@11.1.0: {}
+
+ common-ancestor-path@1.0.1: {}
+
+ convert-source-map@2.0.0: {}
+
+ cookie-es@1.2.2: {}
+
+ cookie@1.1.1: {}
+
+ crossws@0.3.5:
+ dependencies:
+ uncrypto: 0.1.3
+
+ css-background-parser@0.1.0: {}
+
+ css-box-shadow@1.0.0-3: {}
+
+ css-color-keywords@1.0.0: {}
+
+ css-gradient-parser@0.0.17: {}
+
+ css-select@5.2.2:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.2.2
+ domhandler: 5.0.3
+ domutils: 3.2.2
+ nth-check: 2.1.1
+
+ css-selector-parser@3.3.0: {}
+
+ css-to-react-native@3.2.0:
+ dependencies:
+ camelize: 1.0.1
+ css-color-keywords: 1.0.0
+ postcss-value-parser: 4.2.0
+
+ css-tree@2.2.1:
+ dependencies:
+ mdn-data: 2.0.28
+ source-map-js: 1.2.1
+
+ css-tree@3.1.0:
+ dependencies:
+ mdn-data: 2.12.2
+ source-map-js: 1.2.1
+
+ css-what@6.2.2: {}
+
+ cssesc@3.0.0: {}
+
+ csso@5.0.5:
+ dependencies:
+ css-tree: 2.2.1
+
+ csstype@3.2.3: {}
+
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+
+ decode-named-character-reference@1.2.0:
+ dependencies:
+ character-entities: 2.0.2
+
+ defu@6.1.4: {}
+
+ dequal@2.0.3: {}
+
+ destr@2.0.5: {}
+
+ detect-libc@2.1.2: {}
+
+ deterministic-object-hash@2.0.2:
+ dependencies:
+ base-64: 1.0.0
+
+ devalue@5.6.0: {}
+
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
+ dfa@1.2.0: {}
+
+ diff@5.2.0: {}
+
+ direction@2.0.1: {}
+
+ dlv@1.1.3: {}
+
+ dom-serializer@2.0.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+
+ domelementtype@2.3.0: {}
+
+ domhandler@5.0.3:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domutils@3.2.2:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+
+ dset@3.1.4: {}
+
+ electron-to-chromium@1.5.267: {}
+
+ embla-carousel-auto-scroll@8.6.0(embla-carousel@8.6.0):
+ dependencies:
+ embla-carousel: 8.6.0
+
+ embla-carousel-autoplay@8.6.0(embla-carousel@8.6.0):
+ dependencies:
+ embla-carousel: 8.6.0
+
+ embla-carousel-fade@8.6.0(embla-carousel@8.6.0):
+ dependencies:
+ embla-carousel: 8.6.0
+
+ embla-carousel@8.6.0: {}
+
+ emmet@2.4.11:
+ dependencies:
+ '@emmetio/abbreviation': 2.3.3
+ '@emmetio/css-abbreviation': 2.1.8
+
+ emoji-regex-xs@2.0.1: {}
+
+ emoji-regex@10.6.0: {}
+
+ emoji-regex@8.0.0: {}
+
+ entities@4.5.0: {}
+
+ entities@6.0.1: {}
+
+ es-module-lexer@1.7.0: {}
+
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.15.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ esbuild@0.25.12:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.12
+ '@esbuild/android-arm': 0.25.12
+ '@esbuild/android-arm64': 0.25.12
+ '@esbuild/android-x64': 0.25.12
+ '@esbuild/darwin-arm64': 0.25.12
+ '@esbuild/darwin-x64': 0.25.12
+ '@esbuild/freebsd-arm64': 0.25.12
+ '@esbuild/freebsd-x64': 0.25.12
+ '@esbuild/linux-arm': 0.25.12
+ '@esbuild/linux-arm64': 0.25.12
+ '@esbuild/linux-ia32': 0.25.12
+ '@esbuild/linux-loong64': 0.25.12
+ '@esbuild/linux-mips64el': 0.25.12
+ '@esbuild/linux-ppc64': 0.25.12
+ '@esbuild/linux-riscv64': 0.25.12
+ '@esbuild/linux-s390x': 0.25.12
+ '@esbuild/linux-x64': 0.25.12
+ '@esbuild/netbsd-arm64': 0.25.12
+ '@esbuild/netbsd-x64': 0.25.12
+ '@esbuild/openbsd-arm64': 0.25.12
+ '@esbuild/openbsd-x64': 0.25.12
+ '@esbuild/openharmony-arm64': 0.25.12
+ '@esbuild/sunos-x64': 0.25.12
+ '@esbuild/win32-arm64': 0.25.12
+ '@esbuild/win32-ia32': 0.25.12
+ '@esbuild/win32-x64': 0.25.12
+
+ escalade@3.2.0: {}
+
+ escape-html@1.0.3: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
+
+ estree-util-is-identifier-name@3.0.0: {}
+
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.6
+
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
+
+ estree-walker@2.0.2: {}
+
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ eventemitter3@5.0.1: {}
+
+ expressive-code@0.41.5:
+ dependencies:
+ '@expressive-code/core': 0.41.5
+ '@expressive-code/plugin-frames': 0.41.5
+ '@expressive-code/plugin-shiki': 0.41.5
+ '@expressive-code/plugin-text-markers': 0.41.5
+
+ extend@3.0.2: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-uri@3.1.0: {}
+
+ fdir@6.5.0(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
+
+ fflate@0.7.4: {}
+
+ flattie@1.1.1: {}
+
+ fontace@0.3.1:
+ dependencies:
+ '@types/fontkit': 2.0.8
+ fontkit: 2.0.4
+
+ fontkit@2.0.4:
+ dependencies:
+ '@swc/helpers': 0.5.17
+ brotli: 1.3.3
+ clone: 2.1.2
+ dfa: 1.2.0
+ fast-deep-equal: 3.1.3
+ restructure: 3.0.2
+ tiny-inflate: 1.0.3
+ unicode-properties: 1.4.1
+ unicode-trie: 2.0.0
+
+ fsevents@2.3.3:
+ optional: true
+
+ gensync@1.0.0-beta.2: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-east-asian-width@1.4.0: {}
+
+ github-slugger@2.0.0: {}
+
+ h3@1.15.4:
+ dependencies:
+ cookie-es: 1.2.2
+ crossws: 0.3.5
+ defu: 6.1.4
+ destr: 2.0.5
+ iron-webcrypto: 1.2.1
+ node-mock-http: 1.0.4
+ radix3: 1.1.2
+ ufo: 1.6.1
+ uncrypto: 0.1.3
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ hast-util-from-parse5: 8.0.3
+ parse5: 7.3.0
+ vfile: 6.0.3
+ vfile-message: 4.0.3
+
+ hast-util-from-parse5@8.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ hastscript: 9.0.1
+ property-information: 7.1.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+
+ hast-util-has-property@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-is-element@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-parse-selector@4.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-raw@9.1.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ '@ungap/structured-clone': 1.3.0
+ hast-util-from-parse5: 8.0.3
+ hast-util-to-parse5: 8.0.1
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ parse5: 7.3.0
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+ hast-util-select@6.0.4:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ bcp-47-match: 2.0.3
+ comma-separated-tokens: 2.0.3
+ css-selector-parser: 3.3.0
+ devlop: 1.1.0
+ direction: 2.0.1
+ hast-util-has-property: 3.0.0
+ hast-util-to-string: 3.0.1
+ hast-util-whitespace: 3.0.0
+ nth-check: 2.1.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ hast-util-to-estree@3.1.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.21
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ hast-util-to-parse5@8.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+ hast-util-to-string@3.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hast-util-to-text@4.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+
+ hast-util-whitespace@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ hastscript@9.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 4.0.0
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+
+ hex-rgb@4.3.0: {}
+
+ html-escaper@3.0.3: {}
+
+ html-void-elements@3.0.0: {}
+
+ http-cache-semantics@4.2.0: {}
+
+ import-meta-resolve@4.2.0: {}
+
+ inline-style-parser@0.2.7: {}
+
+ iron-webcrypto@1.2.1: {}
+
+ is-alphabetical@2.0.1: {}
+
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+
+ is-decimal@2.0.1: {}
+
+ is-docker@3.0.0: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-hexadecimal@2.0.1: {}
+
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
+ is-plain-obj@4.1.0: {}
+
+ is-wsl@3.1.0:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@4.1.1:
+ dependencies:
+ argparse: 2.0.1
+
+ jsesc@3.1.0: {}
+
+ json-schema-traverse@1.0.0: {}
+
+ json5@2.2.3: {}
+
+ jsonc-parser@2.3.1: {}
+
+ jsonc-parser@3.3.1: {}
+
+ kleur@3.0.3: {}
+
+ kleur@4.1.5: {}
+
+ linebreak@1.1.0:
+ dependencies:
+ base64-js: 0.0.8
+ unicode-trie: 2.0.0
+
+ lodash@4.17.21: {}
+
+ longest-streak@3.1.0: {}
+
+ lru-cache@10.4.3: {}
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ magicast@0.5.1:
+ dependencies:
+ '@babel/parser': 7.28.5
+ '@babel/types': 7.28.5
+ source-map-js: 1.2.1
+
+ markdown-extensions@2.0.0: {}
+
+ markdown-table@3.0.4: {}
+
+ mdast-util-definitions@6.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.0
+
+ mdast-util-find-and-replace@3.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
+
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
+
+ mdast-util-gfm-footnote@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-table@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm@3.1.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.1
+
+ mdast-util-to-hast@13.2.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
+ mdn-data@2.0.28: {}
+
+ mdn-data@2.12.2: {}
+
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-table@2.1.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-mdx-expression@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
+
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-character@2.1.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-chunked@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-classify-character@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-combine-extensions@2.0.1:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-decode-string@2.0.1:
+ dependencies:
+ decode-named-character-reference: 1.2.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-encode@2.0.1: {}
+
+ micromark-util-events-to-acorn@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-util-html-tag-name@2.0.1: {}
+
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
+
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-util-symbol@2.0.1: {}
+
+ micromark-util-types@2.0.2: {}
+
+ micromark@4.0.2:
+ dependencies:
+ '@types/debug': 4.1.12
+ debug: 4.4.3
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mrmime@2.0.1: {}
+
+ ms@2.1.3: {}
+
+ muggle-string@0.4.1: {}
+
+ nanoid@3.3.11: {}
+
+ neotraverse@0.6.18: {}
+
+ nlcst-to-string@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+
+ node-fetch-native@1.6.7: {}
+
+ node-mock-http@1.0.4: {}
+
+ node-releases@2.0.27: {}
+
+ normalize-path@3.0.0: {}
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+ ofetch@1.5.1:
+ dependencies:
+ destr: 2.0.5
+ node-fetch-native: 1.6.7
+ ufo: 1.6.1
+
+ ohash@2.0.11: {}
+
+ oniguruma-parser@0.12.1: {}
+
+ oniguruma-to-es@4.3.4:
+ dependencies:
+ oniguruma-parser: 0.12.1
+ regex: 6.1.0
+ regex-recursion: 6.0.2
+
+ p-limit@6.2.0:
+ dependencies:
+ yocto-queue: 1.2.2
+
+ p-queue@8.1.1:
+ dependencies:
+ eventemitter3: 5.0.1
+ p-timeout: 6.1.4
+
+ p-timeout@6.1.4: {}
+
+ package-manager-detector@1.6.0: {}
+
+ pako@0.2.9: {}
+
+ parse-css-color@0.2.1:
+ dependencies:
+ color-name: 1.1.4
+ hex-rgb: 4.3.0
+
+ parse-entities@4.0.2:
+ dependencies:
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.2.0
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+
+ parse-latin@7.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ '@types/unist': 3.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-modify-children: 4.0.0
+ unist-util-visit-children: 3.0.0
+ vfile: 6.0.3
+
+ parse5@7.3.0:
+ dependencies:
+ entities: 6.0.1
+
+ path-browserify@1.0.1: {}
+
+ piccolore@0.1.3: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+ picomatch@4.0.3: {}
+
+ postcss-nested@6.2.0(postcss@8.5.6):
+ dependencies:
+ postcss: 8.5.6
+ postcss-selector-parser: 6.1.2
+
+ postcss-selector-parser@6.1.2:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-value-parser@4.2.0: {}
+
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ prettier-plugin-astro@0.14.1:
+ dependencies:
+ '@astrojs/compiler': 2.13.0
+ prettier: 3.7.4
+ sass-formatter: 0.7.9
+
+ prettier@3.7.4: {}
+
+ prismjs@1.30.0: {}
+
+ prompts@2.4.2:
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+
+ property-information@7.1.0: {}
+
+ radix3@1.1.2: {}
+
+ react-dom@19.2.3(react@19.2.3):
+ dependencies:
+ react: 19.2.3
+ scheduler: 0.27.0
+
+ react-refresh@0.17.0: {}
+
+ react@19.2.3: {}
+
+ readdirp@4.1.2: {}
+
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.1(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ regex-utilities@2.3.0: {}
+
+ regex@6.1.0:
+ dependencies:
+ regex-utilities: 2.3.0
+
+ rehype-expressive-code@0.41.5:
+ dependencies:
+ expressive-code: 0.41.5
+
+ rehype-parse@9.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-from-html: 2.0.3
+ unified: 11.0.5
+
+ rehype-raw@7.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-raw: 9.1.0
+ vfile: 6.0.3
+
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
+
+ rehype-stringify@10.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+ unified: 11.0.5
+
+ rehype@13.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ rehype-parse: 9.0.1
+ rehype-stringify: 10.0.1
+ unified: 11.0.5
+
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-mdx@3.1.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ remark-smartypants@3.0.2:
+ dependencies:
+ retext: 9.0.0
+ retext-smartypants: 6.2.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
+ unified: 11.0.5
+
+ request-light@0.5.8: {}
+
+ request-light@0.7.0: {}
+
+ require-directory@2.1.1: {}
+
+ require-from-string@2.0.2: {}
+
+ restructure@3.0.2: {}
+
+ retext-latin@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ parse-latin: 7.0.0
+ unified: 11.0.5
+
+ retext-smartypants@6.2.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-visit: 5.0.0
+
+ retext-stringify@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+ unified: 11.0.5
+
+ retext@9.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ retext-latin: 4.0.0
+ retext-stringify: 4.0.0
+ unified: 11.0.5
+
+ rollup@4.53.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.53.3
+ '@rollup/rollup-android-arm64': 4.53.3
+ '@rollup/rollup-darwin-arm64': 4.53.3
+ '@rollup/rollup-darwin-x64': 4.53.3
+ '@rollup/rollup-freebsd-arm64': 4.53.3
+ '@rollup/rollup-freebsd-x64': 4.53.3
+ '@rollup/rollup-linux-arm-gnueabihf': 4.53.3
+ '@rollup/rollup-linux-arm-musleabihf': 4.53.3
+ '@rollup/rollup-linux-arm64-gnu': 4.53.3
+ '@rollup/rollup-linux-arm64-musl': 4.53.3
+ '@rollup/rollup-linux-loong64-gnu': 4.53.3
+ '@rollup/rollup-linux-ppc64-gnu': 4.53.3
+ '@rollup/rollup-linux-riscv64-gnu': 4.53.3
+ '@rollup/rollup-linux-riscv64-musl': 4.53.3
+ '@rollup/rollup-linux-s390x-gnu': 4.53.3
+ '@rollup/rollup-linux-x64-gnu': 4.53.3
+ '@rollup/rollup-linux-x64-musl': 4.53.3
+ '@rollup/rollup-openharmony-arm64': 4.53.3
+ '@rollup/rollup-win32-arm64-msvc': 4.53.3
+ '@rollup/rollup-win32-ia32-msvc': 4.53.3
+ '@rollup/rollup-win32-x64-gnu': 4.53.3
+ '@rollup/rollup-win32-x64-msvc': 4.53.3
+ fsevents: 2.3.3
+
+ s.color@0.0.15: {}
+
+ sass-formatter@0.7.9:
+ dependencies:
+ suf-log: 2.5.3
+
+ satori@0.19.1:
+ dependencies:
+ '@shuding/opentype.js': 1.4.0-beta.0
+ css-background-parser: 0.1.0
+ css-box-shadow: 1.0.0-3
+ css-gradient-parser: 0.0.17
+ css-to-react-native: 3.2.0
+ emoji-regex-xs: 2.0.1
+ escape-html: 1.0.3
+ linebreak: 1.1.0
+ parse-css-color: 0.2.1
+ postcss-value-parser: 4.2.0
+ yoga-layout: 3.2.1
+
+ sax@1.4.3: {}
+
+ scheduler@0.27.0: {}
+
+ semver@6.3.1: {}
+
+ semver@7.7.3: {}
+
+ sharp@0.34.5:
+ dependencies:
+ '@img/colour': 1.0.0
+ detect-libc: 2.1.2
+ semver: 7.7.3
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.34.5
+ '@img/sharp-darwin-x64': 0.34.5
+ '@img/sharp-libvips-darwin-arm64': 1.2.4
+ '@img/sharp-libvips-darwin-x64': 1.2.4
+ '@img/sharp-libvips-linux-arm': 1.2.4
+ '@img/sharp-libvips-linux-arm64': 1.2.4
+ '@img/sharp-libvips-linux-ppc64': 1.2.4
+ '@img/sharp-libvips-linux-riscv64': 1.2.4
+ '@img/sharp-libvips-linux-s390x': 1.2.4
+ '@img/sharp-libvips-linux-x64': 1.2.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ '@img/sharp-linux-arm': 0.34.5
+ '@img/sharp-linux-arm64': 0.34.5
+ '@img/sharp-linux-ppc64': 0.34.5
+ '@img/sharp-linux-riscv64': 0.34.5
+ '@img/sharp-linux-s390x': 0.34.5
+ '@img/sharp-linux-x64': 0.34.5
+ '@img/sharp-linuxmusl-arm64': 0.34.5
+ '@img/sharp-linuxmusl-x64': 0.34.5
+ '@img/sharp-wasm32': 0.34.5
+ '@img/sharp-win32-arm64': 0.34.5
+ '@img/sharp-win32-ia32': 0.34.5
+ '@img/sharp-win32-x64': 0.34.5
+
+ shiki@3.19.0:
+ dependencies:
+ '@shikijs/core': 3.19.0
+ '@shikijs/engine-javascript': 3.19.0
+ '@shikijs/engine-oniguruma': 3.19.0
+ '@shikijs/langs': 3.19.0
+ '@shikijs/themes': 3.19.0
+ '@shikijs/types': 3.19.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ sisteransi@1.0.5: {}
+
+ sitemap@8.0.2:
+ dependencies:
+ '@types/node': 17.0.45
+ '@types/sax': 1.2.7
+ arg: 5.0.2
+ sax: 1.4.3
+
+ smol-toml@1.5.2: {}
+
+ source-map-js@1.2.1: {}
+
+ source-map@0.7.6: {}
+
+ space-separated-tokens@2.0.2: {}
+
+ stream-replace-string@2.0.0: {}
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.4.0
+ strip-ansi: 7.1.2
+
+ string.prototype.codepointat@0.2.1: {}
+
+ stringify-entities@4.0.4:
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.2:
+ dependencies:
+ ansi-regex: 6.2.2
+
+ style-to-js@1.1.21:
+ dependencies:
+ style-to-object: 1.0.14
+
+ style-to-object@1.0.14:
+ dependencies:
+ inline-style-parser: 0.2.7
+
+ suf-log@2.5.3:
+ dependencies:
+ s.color: 0.0.15
+
+ svgo@4.0.0:
+ dependencies:
+ commander: 11.1.0
+ css-select: 5.2.2
+ css-tree: 3.1.0
+ css-what: 6.2.2
+ csso: 5.0.5
+ picocolors: 1.1.1
+ sax: 1.4.3
+
+ tiny-inflate@1.0.3: {}
+
+ tinyexec@1.0.2: {}
+
+ tinyglobby@0.2.15:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+
+ trim-lines@3.0.1: {}
+
+ trough@2.2.0: {}
+
+ tsconfck@3.1.6(typescript@5.9.3):
+ optionalDependencies:
+ typescript: 5.9.3
+
+ tslib@2.8.1: {}
+
+ type-fest@4.41.0: {}
+
+ typesafe-path@0.2.2: {}
+
+ typescript-auto-import-cache@0.3.6:
+ dependencies:
+ semver: 7.7.3
+
+ typescript@5.9.3: {}
+
+ ufo@1.6.1: {}
+
+ ultrahtml@1.6.0: {}
+
+ uncrypto@0.1.3: {}
+
+ undici-types@7.16.0: {}
+
+ unicode-properties@1.4.1:
+ dependencies:
+ base64-js: 1.5.1
+ unicode-trie: 2.0.0
+
+ unicode-trie@2.0.0:
+ dependencies:
+ pako: 0.2.9
+ tiny-inflate: 1.0.3
+
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
+ unifont@0.6.0:
+ dependencies:
+ css-tree: 3.1.0
+ ofetch: 1.5.1
+ ohash: 2.0.11
+
+ unist-util-find-after@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+
+ unist-util-is@6.0.1:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-modify-children@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ array-iterate: 2.0.1
+
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-remove-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.0
+
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-children@3.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-parents@6.0.2:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+
+ unist-util-visit@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.1
+ unist-util-visit-parents: 6.0.2
+
+ unstorage@1.17.3:
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 4.0.3
+ destr: 2.0.5
+ h3: 1.15.4
+ lru-cache: 10.4.3
+ node-fetch-native: 1.6.7
+ ofetch: 1.5.1
+ ufo: 1.6.1
+
+ update-browserslist-db@1.2.3(browserslist@4.28.1):
+ dependencies:
+ browserslist: 4.28.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ util-deprecate@1.0.2: {}
+
+ vfile-location@5.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
+
+ vfile-message@4.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.3
+
+ vite@6.4.1(@types/node@24.10.2)(yaml@2.8.2):
+ dependencies:
+ esbuild: 0.25.12
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.53.3
+ tinyglobby: 0.2.15
+ optionalDependencies:
+ '@types/node': 24.10.2
+ fsevents: 2.3.3
+ yaml: 2.8.2
+
+ vitefu@1.1.1(vite@6.4.1(@types/node@24.10.2)(yaml@2.8.2)):
+ optionalDependencies:
+ vite: 6.4.1(@types/node@24.10.2)(yaml@2.8.2)
+
+ volar-service-css@0.0.68(@volar/language-service@2.4.27):
+ dependencies:
+ vscode-css-languageservice: 6.3.9
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.27
+
+ volar-service-emmet@0.0.68(@volar/language-service@2.4.27):
+ dependencies:
+ '@emmetio/css-parser': 0.4.1
+ '@emmetio/html-matcher': 1.3.0
+ '@vscode/emmet-helper': 2.11.0
+ vscode-uri: 3.1.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.27
+
+ volar-service-html@0.0.68(@volar/language-service@2.4.27):
+ dependencies:
+ vscode-html-languageservice: 5.6.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.27
+
+ volar-service-prettier@0.0.68(@volar/language-service@2.4.27)(prettier@3.7.4):
+ dependencies:
+ vscode-uri: 3.1.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.27
+ prettier: 3.7.4
+
+ volar-service-typescript-twoslash-queries@0.0.68(@volar/language-service@2.4.27):
+ dependencies:
+ vscode-uri: 3.1.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.27
+
+ volar-service-typescript@0.0.68(@volar/language-service@2.4.27):
+ dependencies:
+ path-browserify: 1.0.1
+ semver: 7.7.3
+ typescript-auto-import-cache: 0.3.6
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-nls: 5.2.0
+ vscode-uri: 3.1.0
+ optionalDependencies:
+ '@volar/language-service': 2.4.27
+
+ volar-service-yaml@0.0.68(@volar/language-service@2.4.27):
+ dependencies:
+ vscode-uri: 3.1.0
+ yaml-language-server: 1.19.2
+ optionalDependencies:
+ '@volar/language-service': 2.4.27
+
+ vscode-css-languageservice@6.3.9:
+ dependencies:
+ '@vscode/l10n': 0.0.18
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+ vscode-uri: 3.1.0
+
+ vscode-html-languageservice@5.6.1:
+ dependencies:
+ '@vscode/l10n': 0.0.18
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+ vscode-uri: 3.1.0
+
+ vscode-json-languageservice@4.1.8:
+ dependencies:
+ jsonc-parser: 3.3.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+ vscode-nls: 5.2.0
+ vscode-uri: 3.1.0
+
+ vscode-jsonrpc@8.2.0: {}
+
+ vscode-languageserver-protocol@3.17.5:
+ dependencies:
+ vscode-jsonrpc: 8.2.0
+ vscode-languageserver-types: 3.17.5
+
+ vscode-languageserver-textdocument@1.0.12: {}
+
+ vscode-languageserver-types@3.17.5: {}
+
+ vscode-languageserver@9.0.1:
+ dependencies:
+ vscode-languageserver-protocol: 3.17.5
+
+ vscode-nls@5.2.0: {}
+
+ vscode-uri@3.1.0: {}
+
+ web-namespaces@2.0.1: {}
+
+ which-pm-runs@1.1.0: {}
+
+ widest-line@5.0.0:
+ dependencies:
+ string-width: 7.2.0
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@9.0.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ string-width: 7.2.0
+ strip-ansi: 7.1.2
+
+ xxhash-wasm@1.1.0: {}
+
+ y18n@5.0.8: {}
+
+ yallist@3.1.1: {}
+
+ yaml-language-server@1.19.2:
+ dependencies:
+ '@vscode/l10n': 0.0.18
+ ajv: 8.17.1
+ ajv-draft-04: 1.0.0(ajv@8.17.1)
+ lodash: 4.17.21
+ prettier: 3.7.4
+ request-light: 0.5.8
+ vscode-json-languageservice: 4.1.8
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+ vscode-uri: 3.1.0
+ yaml: 2.7.1
+
+ yaml@2.7.1: {}
+
+ yaml@2.8.2: {}
+
+ yargs-parser@21.1.1: {}
+
+ yargs@17.7.2:
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+
+ yocto-queue@1.2.2: {}
+
+ yocto-spinner@0.2.3:
+ dependencies:
+ yoctocolors: 2.1.2
+
+ yoctocolors@2.1.2: {}
+
+ yoga-layout@3.2.1: {}
+
+ zod-to-json-schema@3.25.0(zod@3.25.76):
+ dependencies:
+ zod: 3.25.76
+
+ zod-to-ts@1.2.0(typescript@5.9.3)(zod@3.25.76):
+ dependencies:
+ typescript: 5.9.3
+ zod: 3.25.76
+
+ zod@3.25.76: {}
+
+ zwitch@2.0.4: {}
diff --git a/public/favicon.svg b/public/favicon.svg
new file mode 100644
index 00000000..c3b6ce91
--- /dev/null
+++ b/public/favicon.svg
@@ -0,0 +1 @@
+
diff --git a/assets/images/ritsec_logo_final-05.png b/public/og-image.png
similarity index 100%
rename from assets/images/ritsec_logo_final-05.png
rename to public/og-image.png
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 00000000..c20f7f0e
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://ritsec.club/sitemap-index.xml
diff --git a/assets/sponsorship.pdf b/public/sponsorship.pdf
similarity index 100%
rename from assets/sponsorship.pdf
rename to public/sponsorship.pdf
diff --git a/assets/images/cfe2024.JPEG b/src/assets/cfe2024.jpg
similarity index 100%
rename from assets/images/cfe2024.JPEG
rename to src/assets/cfe2024.jpg
diff --git a/assets/images/ritsec_ctf_2025_resized.svg b/src/assets/ctf2025.svg
similarity index 99%
rename from assets/images/ritsec_ctf_2025_resized.svg
rename to src/assets/ctf2025.svg
index 48657c82..74b829f4 100644
--- a/assets/images/ritsec_ctf_2025_resized.svg
+++ b/src/assets/ctf2025.svg
@@ -1,8 +1,8 @@