diff --git a/.forgejo/workflows/build_preview.yml b/.forgejo/workflows/build_preview.yml
new file mode 100644
index 0000000..5adfa81
--- /dev/null
+++ b/.forgejo/workflows/build_preview.yml
@@ -0,0 +1,70 @@
+on:
+  push:
+    tags:
+      - '[0-9]+\.[0-9]+\.[0-9]+pre[0-9]+'
+
+jobs:
+  checking:
+    runs-on: docker
+    container: node:lts
+    steps:
+      - name: Checkout source code
+        uses: https://code.forgejo.org/actions/checkout@v3
+      - name: Install packages
+        run: npm install
+      - name: Run astro check (linting +  static analysis)
+        run: npm run astro check
+
+  build-site:
+    needs: [checking]
+    if: success()
+    runs-on: dind
+    steps:
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v3
+      - name: Login to Docker Hub
+        uses: docker/login-action@v3
+        with:
+          registry: forgejo.neshweb.net
+          username: ${{ secrets.FORGEJO_USERNAME }}
+          password: ${{ secrets.FORGEJO_TOKEN }}
+      - name: Push to Package Registry
+        uses: docker/build-push-action@v5
+        with:
+          push: true
+          tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:preview
+
+  publish:
+    needs: [build-site]
+    if: success()
+    runs-on: docker
+    steps:
+      - name: Release New Version
+        uses: https://code.forgejo.org/actions/forgejo-release@v1
+        with:
+          direction: upload
+          url: https://forgejo.neshweb.net
+          release-dir: release
+          token: ${{ secrets.FORGEJO_TOKEN }}
+          tag: ${{  github.ref_name }}
+          prerelease: true
+
+  # doesn't work atm
+  # unlighthouse:
+  #   needs: [publish]
+  #   if: success()
+  #   runs-on: docker
+  #   container: registry.gitlab.com/gitlab-ci-utils/lighthouse:latest
+  #   services:
+  #     website:
+  #       image: forgejo.neshweb.net/firq/firq-dev-website:preview
+  #   steps:
+  #     - name: Install Dependencies
+  #       run: npm install @unlighthouse/cli puppeteer
+  #     - name: Run unlighthouse
+  #       run: node_modules/.bin/unlighthouse-ci
+  #     - name: Upload reports
+  #       uses: actions/upload-artifact@v3
+  #       with:
+  #         name: unlighthouse-reports
+  #         path: unlighthouse-reports/
diff --git a/.forgejo/workflows/build_release.yml b/.forgejo/workflows/build_release.yml
new file mode 100644
index 0000000..0d46014
--- /dev/null
+++ b/.forgejo/workflows/build_release.yml
@@ -0,0 +1,49 @@
+on:
+  push:
+    tags:
+      - '[0-9]+\.[0-9]+\.[0-9]+'
+
+jobs:
+  checking:
+    runs-on: docker
+    container: node:lts
+    steps:
+      - name: Checkout source code
+        uses: https://code.forgejo.org/actions/checkout@v3
+      - name: Install packages
+        run: npm install
+      - name: Run astro check (linting +  static analysis)
+        run: npm run astro check
+
+  build-site:
+    needs: [checking]
+    if: success()
+    runs-on: dind
+    steps:
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v3
+      - name: Login to Docker Hub
+        uses: docker/login-action@v3
+        with:
+          registry: forgejo.neshweb.net
+          username: ${{ secrets.FORGEJO_USERNAME }}
+          password: ${{ secrets.FORGEJO_TOKEN }}
+      - name: Push to Package Registry
+        uses: docker/build-push-action@v5
+        with:
+          push: true
+          tags: forgejo.neshweb.net/firq/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:latest
+
+  release:
+    needs: [build-site]
+    if: success()
+    runs-on: docker
+    steps:
+      - name: Release New Version
+        uses: https://code.forgejo.org/actions/forgejo-release@v1
+        with:
+          direction: upload
+          url: https://forgejo.neshweb.net
+          release-dir: release
+          token: ${{ secrets.FORGEJO_TOKEN }}
+          tag: ${{  github.ref_name }}
diff --git a/.forgejo/workflows/linting.yml b/.forgejo/workflows/linting.yml
new file mode 100644
index 0000000..b759eae
--- /dev/null
+++ b/.forgejo/workflows/linting.yml
@@ -0,0 +1,16 @@
+on:
+  push:
+    branches:
+      - "**"
+
+jobs:
+  checking:
+    runs-on: docker
+    container: node:lts
+    steps:
+      - name: Checkout source code
+        uses: https://code.forgejo.org/actions/checkout@v3
+      - name: Install packages
+        run: npm install
+      - name: Run astro check (linting +  static analysis)
+        run: npm run astro check
diff --git a/.forgejo/workflows/unlighthouse.yml b/.forgejo/workflows/unlighthouse.yml
new file mode 100644
index 0000000..3c45612
--- /dev/null
+++ b/.forgejo/workflows/unlighthouse.yml
@@ -0,0 +1,98 @@
+on:
+  push:
+    tags:
+      - '[0-9]+\.[0-9]+\.[0-9]+unlighthouse[0-9]+'
+      - '[0-9]+\.[0-9]+\.[0-9]+ulh[0-9]+'
+
+jobs:
+  unlighthouse:
+    runs-on: docker
+    container: forgejo.neshweb.net/ci-docker-images/unlighthouse:latest
+    steps:
+      - name: Checkout repository
+        uses: https://code.forgejo.org/actions/checkout@v3 
+      - name: Run unlighthouse
+        run: unlighthouse-ci --site "https://preview.firq.dev/"
+      - name: Prepare artifacts
+        run: cp serve.json unlighthouse-reports
+      - name: Upload reports
+        uses: actions/upload-artifact@v3
+        with:
+          name: unlighthouse-reports
+          path: unlighthouse-reports/
+
+  deploy-unlighthouse-files:
+    needs: [ unlighthouse ]
+    if: success()
+    runs-on: docker
+    env: 
+      DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
+      DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
+    steps:
+      - name: Install and update ssh + rsync
+        run: |
+            which rsync || ( apt update -y && apt install rsync -y)
+            which ssh-agent || ( apt update -y && apt install openssh-client -y)            
+      - name: Downloading static site artifacts
+        uses: actions/download-artifact@v3
+        with:
+          name: unlighthouse-reports
+          path: public
+      - name: Install SSH Key
+        uses: https://github.com/shimataro/ssh-key-action@v2
+        with:
+          key: ${{ secrets.SSH_PRIVATE_KEY }}
+          known_hosts: unnecessary
+      - name: Adding Known Hosts
+        run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
+      - name: Stop screen session, delete old files
+        uses: https://github.com/appleboy/ssh-action@master
+        with:
+          host: ${{ env.DEPLOY_HOST }}
+          username: ${{ env.DEPLOY_USER }}
+          key: ${{ secrets.SSH_PRIVATE_KEY }}
+          script: |
+            screen -X -S firq_dev-unlighthouse kill
+            rm -r -f firq_dev/unlighthouse/*            
+      - name: Copy files using rsync
+        run: rsync -az --stats public/* ${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}:~/firq_dev/unlighthouse
+      - name: Check files on deploy target
+        uses: https://github.com/appleboy/ssh-action@master
+        with:
+          host: ${{ env.DEPLOY_HOST }}
+          username: ${{ env.DEPLOY_USER }}
+          key: ${{ secrets.SSH_PRIVATE_KEY }}
+          script: |
+            cd firq_dev
+            find unlighthouse -maxdepth 1 -printf "%p\n"            
+
+  deploy-unlighthouse-site:
+    needs: [ deploy-unlighthouse-files ]
+    if: success()
+    runs-on: docker
+    env: 
+      DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
+      DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
+    steps:
+      - name: Install and update ssh + rsync
+        run: |
+            which rsync || ( apt update -y && apt install rsync -y)
+            which ssh-agent || ( apt update -y && apt install openssh-client -y)            
+      - name: Install SSH Key
+        uses: https://github.com/shimataro/ssh-key-action@v2
+        with:
+          key: ${{ secrets.SSH_PRIVATE_KEY }}
+          known_hosts: unnecessary
+      - name: Adding Known Hosts
+        run: ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
+      - name: Start new screen session
+        uses: https://github.com/appleboy/ssh-action@master
+        with:
+          host: ${{ env.DEPLOY_HOST }}
+          username: ${{ env.DEPLOY_USER }}
+          key: ${{ secrets.SSH_PRIVATE_KEY }}
+          script: |
+            PATH="$HOME/.local/bin:$PATH"
+            screen -ls | grep 'firq_dev-unlighthouse' | awk '{print $1}' | xargs -I % -t screen -X -S % quit
+            cd firq_dev
+            screen -S firq_dev-unlighthouse -dm serve unlighthouse/ -p ${{ secrets.UNLIGHTHOUSE_DEPLOY_PORT }}   
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b4b159d..b1e4881 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,6 +2,7 @@ stages:
   - validate
   - build
   - deploy
+  - benchmark
   - post_deploy
   - scripts
 
@@ -60,11 +61,11 @@ deploy-site:
     - echo "Getting artifacts"
     - ls public
     - echo "Stopping screen session, cleaning"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill; rm -r -f public/*;"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill; rm -r -f firq_dev/public/*;"
     - echo "Copying to proxmox machine"
-    - rsync -az --stats public $DEPLOY_USER@$DEPLOY_HOST:~/.
+    - rsync -az --stats public/* $DEPLOY_USER@$DEPLOY_HOST:~/firq_dev/public
     - echo "Restarting screen session"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "find maintenance public -maxdepth 1 -printf '%p\n'; screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd firq_dev; find maintenance public -maxdepth 1 -printf "%p\n"; screen -S firq_dev-public -dm serve public/ -p 9000'
     - echo "Website is up on https://firq.dev/"
 
 deploy-testing:
@@ -79,13 +80,52 @@ deploy-testing:
     - echo "Getting artifacts"
     - ls public
     - echo "Stopping screen session, cleaning"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S staging-firq-npx kill; rm -r -f staging/*;"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-staging kill; rm -r -f firq_dev/staging/*;"
     - echo "Copying to proxmox machine"
-    - rsync -az --stats public/* $DEPLOY_USER@$DEPLOY_HOST:~/staging
+    - rsync -az --stats public/* $DEPLOY_USER@$DEPLOY_HOST:~/firq_dev/staging
     - echo "Restarting screen session"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "find staging -maxdepth 1 -printf '%p\n'; screen -S staging-firq-npx -dm npx serve staging/ -p 9100 -c serve.json"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd firq_dev; find staging -maxdepth 1 -printf "%p\n"; screen -S firq_dev-staging -dm serve staging/ -p 9100'
     - echo "Staging environment is up!"
 
+unlighthouse:
+  image: registry.gitlab.com/gitlab-ci-utils/lighthouse:latest
+  stage: benchmark
+  when: manual
+  except:
+    - main
+    - tags
+  before_script:
+    - npm install @unlighthouse/cli puppeteer
+    - mkdir unlighthouse-reports
+  script:
+    - node_modules/.bin/unlighthouse-ci
+    - cp public/serve.json unlighthouse-reports
+  artifacts:
+    paths:
+      - unlighthouse-reports
+    expire_in: 1 day
+
+unlighthouse-publish:
+  stage: benchmark
+  when: on_success
+  needs:
+    - unlighthouse
+  except:
+    - tags
+    - main
+  before_script:
+    - *ssh_default
+  script:
+    - echo "Getting artifacts"
+    - ls unlighthouse-reports
+    - echo "Stopping screen session, cleaning"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-unlighthouse kill; rm -r -f firq_dev/unlighthouse/*;"
+    - echo "Copying to proxmox machine"
+    - rsync -az --stats unlighthouse-reports/* $DEPLOY_USER@$DEPLOY_HOST:~/firq_dev/unlighthouse
+    - echo "Restarting screen session"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd firq_dev; find unlighthouse -maxdepth 1 -printf "%p\n"; screen -S firq_dev-unlighthouse -dm serve unlighthouse/ -p 9101'
+    - echo "Unlighthouse results are up!"
+
 success_notification:
   stage: post_deploy
   before_script:
@@ -119,12 +159,13 @@ maintenance-mode:
   before_script:
     - *ssh_default
   only:
+    - tags
     - main
   script:
     - echo "Stopping screen session"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill;"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill;" || true
     - echo "Enabeling maintenance mode"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve maintenance/ -p 9000 -c serve.json"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-maintenance -dm serve firq_dev/maintenance/ -p 9000'
     - echo "Maintenance Website is up on https://firq.dev/"
 
 redeploy-site:
@@ -138,9 +179,9 @@ redeploy-site:
     - *ssh_default
   script:
     - echo "Stopping screen session"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S website-firq-npx kill" || true
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill" || true
     - echo "Restarting screen session"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S website-firq-npx -dm npx serve public/ -p 9000 -c serve.json"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-public -dm serve firq_dev/public/ -p 9000'
     - echo "Website is up on https://firq.dev/"
 
 redeploy-staging:
@@ -153,7 +194,37 @@ redeploy-staging:
     - *ssh_default
   script:
     - echo "Stopping screen session"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S staging-firq-npx kill" || true
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-staging kill" || true
     - echo "Restarting screen session"
-    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -S staging-firq-npx -dm npx serve staging/ -p 9100 -c serve.json"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-staging -dm serve firq_dev/staging/ -p 9100'
     - echo "Staging environment is up!"
+
+redeploy-unlighthouse:
+  stage: scripts
+  when: manual
+  except:
+    - main
+    - tags
+  before_script:
+    - *ssh_default
+  script:
+    - echo "Stopping screen session"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-unlighthouse kill" || true
+    - echo "Restarting screen session"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-unlighthouse -dm serve firq_dev/unlighthouse/ -p 9101'
+    - echo "Staging environment is up!"
+
+maintenance-deploy:
+  stage: scripts
+  when: manual
+  only:
+    - main
+    - tags
+  before_script:
+    - *ssh_default
+  script:
+    - echo "Stopping screen session"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S firq_dev-public kill;" || true
+    - echo "Enabeling maintenance mode"
+    - ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; screen -S firq_dev-maintenance -dm serve firq_dev/maintenance/ -p 9000'
+    - echo "Maintenance Website is up on https://firq.dev/"
diff --git a/.old.gitlab-ci.yml b/.old.gitlab-ci.yml
deleted file mode 100644
index 74095ea..0000000
--- a/.old.gitlab-ci.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-image: node:lts
-pages:
-  cache:
-    paths:
-      - node_modules/
-  script:
-    - npm install
-    - npm run build
-  artifacts:
-    paths:
-      - public
-    expire_in: 3 days
-  only:
-    - main
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..ff5ea15
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,12 @@
+{
+    "files.exclude": {
+        "**/.git": true,
+        "**/.svn": true,
+        "**/.hg": true,
+        "**/CVS": true,
+        "**/.DS_Store": true,
+        "**/Thumbs.db": true,
+        "**/__pycache__": true
+    },
+    "hide-files.files": []
+}
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..1d81c70
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,16 @@
+FROM node:lts AS build
+WORKDIR /app
+COPY . .
+RUN npm i
+RUN npm run build
+
+FROM forgejo.neshweb.net/ci-docker-images/website-serve:latest AS runtime
+
+COPY --from=build /app/dist /public
+COPY --from=build /app/serve.json /public/serve.json
+RUN rm -r /public/data/
+
+ENV PORT 8081
+EXPOSE 8081
+
+CMD [ "serve", "public/", "-p", "8081" ]
diff --git a/astro.config.mjs b/astro.config.mjs
index b870a24..4313843 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -1,14 +1,14 @@
 import { defineConfig } from 'astro/config';
 
-// https://astro.build/config
 import sitemap from "@astrojs/sitemap";
+import mdx from "@astrojs/mdx";
 
 // https://astro.build/config
 export default defineConfig({
   sitemap: true,
   base: '/',
-  outDir: 'public',
+  outDir: 'dist',
   publicDir: 'static',
   site: 'https://firq.dev/',
-  integrations: [sitemap()]
+  integrations: [sitemap(), mdx()]
 });
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 2f2f3d3..ae02b32 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,16 +1,22 @@
 {
 	"name": "@firq/fgosite",
-	"version": "0.1.3",
+	"version": "0.1.27",
 	"lockfileVersion": 2,
 	"requires": true,
 	"packages": {
 		"": {
 			"name": "@firq/fgosite",
-			"version": "0.1.3",
+			"version": "0.1.27",
 			"dependencies": {
-				"@astrojs/sitemap": "^1.2.1",
-				"astro": "^2.8.0",
-				"iconoir": "^6.1.0"
+				"@astro-community/astro-embed-youtube": "^0.4.3",
+				"@astrojs/check": "^0.3.3",
+				"@astrojs/mdx": "^2.0.3",
+				"@astrojs/sitemap": "^3.0.3",
+				"astro": "^4.2.1",
+				"autoprefixer": "^10.4.16",
+				"iconoir": "^7.2.0",
+				"postcss-preset-env": "^9.3.0",
+				"typescript": "^5.3.3"
 			}
 		},
 		"node_modules/@ampproject/remapping": {
@@ -25,152 +31,230 @@
 				"node": ">=6.0.0"
 			}
 		},
+		"node_modules/@astro-community/astro-embed-youtube": {
+			"version": "0.4.3",
+			"resolved": "https://registry.npmjs.org/@astro-community/astro-embed-youtube/-/astro-embed-youtube-0.4.3.tgz",
+			"integrity": "sha512-zXtPmR9yxrTo6cuLhH8v+r62bsXbsLJgsU2FiZalPr4bXJxAUQEIlG46S/qK0AEXi9uNShKqy4+zBaJ98xTVEg==",
+			"dependencies": {
+				"lite-youtube-embed": "^0.2.0"
+			},
+			"peerDependencies": {
+				"astro": "^2.0.0 || ^3.0.0-beta || ^4.0.0-beta"
+			}
+		},
+		"node_modules/@astrojs/check": {
+			"version": "0.3.3",
+			"resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.3.3.tgz",
+			"integrity": "sha512-IpglE0PNWEXmRY0y67EYuLwiyMxRUuZuG1oP+tIgqeQEy45g1pBMIWpGnNXdoVRbChHDWMSFd2kLUtgzBUHnRQ==",
+			"dependencies": {
+				"@astrojs/language-server": "^2.5.4",
+				"chokidar": "^3.5.3",
+				"fast-glob": "^3.3.1",
+				"kleur": "^4.1.5",
+				"yargs": "^17.7.2"
+			},
+			"bin": {
+				"astro-check": "dist/bin.js"
+			},
+			"peerDependencies": {
+				"typescript": "^5.0.0"
+			}
+		},
 		"node_modules/@astrojs/compiler": {
-			"version": "1.5.4",
-			"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-1.5.4.tgz",
-			"integrity": "sha512-Muk0Nr1Yp2KQ9cwPBKiw+YbTHYGT8ag4RXV+P+4d2nkO2iya46nONzvH4Yv8S/sldL2ij17HGxFMmlPAxaSr6A=="
+			"version": "2.3.4",
+			"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.3.4.tgz",
+			"integrity": "sha512-33/YtWoBCE0cBUNy1kh78FCDXBoBANX87ShgATlAHECYbG2+buNTAgq4Xgz4t5NgnEHPN21GIBC2Mvvwisoutw=="
 		},
 		"node_modules/@astrojs/internal-helpers": {
-			"version": "0.1.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.1.1.tgz",
-			"integrity": "sha512-+LySbvFbjv2nO2m/e78suleQOGEru4Cnx73VsZbrQgB2u7A4ddsQg3P2T0zC0e10jgcT+c6nNlKeLpa6nRhQIg=="
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.2.1.tgz",
+			"integrity": "sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A=="
 		},
 		"node_modules/@astrojs/language-server": {
-			"version": "1.0.8",
-			"resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-1.0.8.tgz",
-			"integrity": "sha512-gssRxLGb8XnvKpqSzrDW5jdzdFnXD7eBXVkPCkkt2hv7Qzb+SAzv6hVgMok3jDCxpR1aeB+XNd9Qszj2h29iog==",
+			"version": "2.5.4",
+			"resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.5.4.tgz",
+			"integrity": "sha512-diTs8AW5TvpO6LWEyuAMAC1ydH1tnVJmv2dRrcczklJZcfY9/eYLbGtKiC9rEQH3BwvFdnphroMUEprzCiqSMg==",
 			"dependencies": {
-				"@astrojs/compiler": "^1.4.2",
-				"@jridgewell/trace-mapping": "^0.3.14",
-				"@vscode/emmet-helper": "^2.8.4",
-				"events": "^3.3.0",
-				"prettier": "^2.8.8",
-				"prettier-plugin-astro": "^0.9.1",
-				"vscode-css-languageservice": "^6.2.1",
-				"vscode-html-languageservice": "^5.0.0",
-				"vscode-languageserver": "^8.0.1",
-				"vscode-languageserver-protocol": "^3.17.1",
-				"vscode-languageserver-textdocument": "^1.0.4",
-				"vscode-languageserver-types": "^3.17.1",
-				"vscode-uri": "^3.0.3"
+				"@astrojs/compiler": "^2.2.2",
+				"@jridgewell/sourcemap-codec": "^1.4.15",
+				"@volar/kit": "~1.10.9",
+				"@volar/language-core": "~1.10.9",
+				"@volar/language-server": "~1.10.9",
+				"@volar/language-service": "~1.10.9",
+				"@volar/source-map": "~1.10.9",
+				"@volar/typescript": "~1.10.9",
+				"fast-glob": "^3.2.12",
+				"muggle-string": "^0.3.1",
+				"volar-service-css": "0.0.16",
+				"volar-service-emmet": "0.0.16",
+				"volar-service-html": "0.0.16",
+				"volar-service-prettier": "0.0.16",
+				"volar-service-typescript": "0.0.16",
+				"volar-service-typescript-twoslash-queries": "0.0.16",
+				"vscode-html-languageservice": "^5.1.0",
+				"vscode-uri": "^3.0.8"
 			},
 			"bin": {
 				"astro-ls": "bin/nodeServer.js"
-			}
-		},
-		"node_modules/@astrojs/markdown-remark": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-2.2.1.tgz",
-			"integrity": "sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==",
-			"dependencies": {
-				"@astrojs/prism": "^2.1.2",
-				"github-slugger": "^1.4.0",
-				"import-meta-resolve": "^2.1.0",
-				"rehype-raw": "^6.1.1",
-				"rehype-stringify": "^9.0.3",
-				"remark-gfm": "^3.0.1",
-				"remark-parse": "^10.0.1",
-				"remark-rehype": "^10.1.0",
-				"remark-smartypants": "^2.0.0",
-				"shiki": "^0.14.1",
-				"unified": "^10.1.2",
-				"unist-util-visit": "^4.1.0",
-				"vfile": "^5.3.2"
 			},
 			"peerDependencies": {
-				"astro": "^2.5.0"
+				"prettier": "^3.0.0",
+				"prettier-plugin-astro": ">=0.11.0"
+			},
+			"peerDependenciesMeta": {
+				"prettier": {
+					"optional": true
+				},
+				"prettier-plugin-astro": {
+					"optional": true
+				}
 			}
 		},
-		"node_modules/@astrojs/markdown-remark/node_modules/github-slugger": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz",
-			"integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw=="
+		"node_modules/@astrojs/language-server/node_modules/@jridgewell/sourcemap-codec": {
+			"version": "1.4.15",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
 		},
-		"node_modules/@astrojs/prism": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-2.1.2.tgz",
-			"integrity": "sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==",
+		"node_modules/@astrojs/markdown-remark": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.0.1.tgz",
+			"integrity": "sha512-RU4ESnqvyLpj8WZs0n5elS6idaDdtIIm7mIpMaRNPCebpxMjfcfdwcmBwz83ktAj5d2eO5bC3z92TcGdli+lRw==",
 			"dependencies": {
-				"prismjs": "^1.28.0"
+				"@astrojs/prism": "^3.0.0",
+				"github-slugger": "^2.0.0",
+				"import-meta-resolve": "^4.0.0",
+				"mdast-util-definitions": "^6.0.0",
+				"rehype-raw": "^7.0.0",
+				"rehype-stringify": "^10.0.0",
+				"remark-gfm": "^4.0.0",
+				"remark-parse": "^11.0.0",
+				"remark-rehype": "^11.0.0",
+				"remark-smartypants": "^2.0.0",
+				"shikiji": "^0.6.13",
+				"unified": "^11.0.4",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.1"
+			}
+		},
+		"node_modules/@astrojs/mdx": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-2.0.3.tgz",
+			"integrity": "sha512-wFjQX5CihU5B4UAQNwc2R48ph0flpc6/yvDCFANE0agtgI2+BaVcAjuW0EhGOQCZ65dQDqnFKE0lvGs7EADYpg==",
+			"dependencies": {
+				"@astrojs/markdown-remark": "4.0.1",
+				"@mdx-js/mdx": "^3.0.0",
+				"acorn": "^8.11.2",
+				"es-module-lexer": "^1.4.1",
+				"estree-util-visit": "^2.0.0",
+				"github-slugger": "^2.0.0",
+				"gray-matter": "^4.0.3",
+				"hast-util-to-html": "^9.0.0",
+				"kleur": "^4.1.4",
+				"rehype-raw": "^7.0.0",
+				"remark-gfm": "^4.0.0",
+				"remark-smartypants": "^2.0.0",
+				"source-map": "^0.7.4",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.1"
 			},
 			"engines": {
-				"node": ">=16.12.0"
+				"node": ">=18.14.1"
+			},
+			"peerDependencies": {
+				"astro": "^4.0.0"
+			}
+		},
+		"node_modules/@astrojs/prism": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz",
+			"integrity": "sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==",
+			"dependencies": {
+				"prismjs": "^1.29.0"
+			},
+			"engines": {
+				"node": ">=18.14.1"
 			}
 		},
 		"node_modules/@astrojs/sitemap": {
-			"version": "1.2.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-1.2.1.tgz",
-			"integrity": "sha512-nlKP1qc1ENZ61w+ep5RdsObjYWso4QdLGC5WyzssnKkgVDijHT61s/tHFfBWHhxqdjcw4x1V1um/eSQZPDTR3Q==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.0.3.tgz",
+			"integrity": "sha512-+GRKp1yho9dpHBcMcU6JpbL41k0yYZghOkNsMRb8QIRflbGHvd787tdv9oIZ5NJj0SqAuOlqp2UpqLkJXuAe2A==",
 			"dependencies": {
 				"sitemap": "^7.1.1",
-				"zod": "^3.17.3"
+				"zod": "^3.22.4"
 			}
 		},
 		"node_modules/@astrojs/telemetry": {
-			"version": "2.1.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-2.1.1.tgz",
-			"integrity": "sha512-4pRhyeQr0MLB5PKYgkdu+YE8sSpMbHL8dUuslBWBIdgcYjtD1SufPMBI8pgXJ+xlwrQJHKKfK2X1KonHYuOS9A==",
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.0.4.tgz",
+			"integrity": "sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==",
 			"dependencies": {
-				"ci-info": "^3.3.1",
+				"ci-info": "^3.8.0",
 				"debug": "^4.3.4",
 				"dlv": "^1.1.3",
 				"dset": "^3.1.2",
 				"is-docker": "^3.0.0",
-				"is-wsl": "^2.2.0",
-				"undici": "^5.22.0",
+				"is-wsl": "^3.0.0",
 				"which-pm-runs": "^1.1.0"
 			},
 			"engines": {
-				"node": ">=16.12.0"
+				"node": ">=18.14.1"
 			}
 		},
-		"node_modules/@astrojs/webapi": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/@astrojs/webapi/-/webapi-2.2.0.tgz",
-			"integrity": "sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==",
-			"dependencies": {
-				"undici": "^5.22.0"
+		"node_modules/@astrojs/telemetry/node_modules/ci-info": {
+			"version": "3.9.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+			"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/sibiraj-s"
+				}
+			],
+			"engines": {
+				"node": ">=8"
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
-			"integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
+			"version": "7.23.5",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+			"integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
 			"dependencies": {
-				"@babel/highlight": "^7.22.5"
+				"@babel/highlight": "^7.23.4",
+				"chalk": "^2.4.2"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/compat-data": {
-			"version": "7.22.6",
-			"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz",
-			"integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==",
+			"version": "7.23.5",
+			"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+			"integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/core": {
-			"version": "7.22.8",
-			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz",
-			"integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz",
+			"integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==",
 			"dependencies": {
 				"@ampproject/remapping": "^2.2.0",
-				"@babel/code-frame": "^7.22.5",
-				"@babel/generator": "^7.22.7",
-				"@babel/helper-compilation-targets": "^7.22.6",
-				"@babel/helper-module-transforms": "^7.22.5",
-				"@babel/helpers": "^7.22.6",
-				"@babel/parser": "^7.22.7",
-				"@babel/template": "^7.22.5",
-				"@babel/traverse": "^7.22.8",
-				"@babel/types": "^7.22.5",
-				"@nicolo-ribaudo/semver-v6": "^6.3.3",
-				"convert-source-map": "^1.7.0",
+				"@babel/code-frame": "^7.23.5",
+				"@babel/generator": "^7.23.6",
+				"@babel/helper-compilation-targets": "^7.23.6",
+				"@babel/helper-module-transforms": "^7.23.3",
+				"@babel/helpers": "^7.23.6",
+				"@babel/parser": "^7.23.6",
+				"@babel/template": "^7.22.15",
+				"@babel/traverse": "^7.23.6",
+				"@babel/types": "^7.23.6",
+				"convert-source-map": "^2.0.0",
 				"debug": "^4.1.0",
 				"gensync": "^1.0.0-beta.2",
-				"json5": "^2.2.2"
+				"json5": "^2.2.3",
+				"semver": "^6.3.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -180,12 +264,20 @@
 				"url": "https://opencollective.com/babel"
 			}
 		},
+		"node_modules/@babel/core/node_modules/semver": {
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+			"bin": {
+				"semver": "bin/semver.js"
+			}
+		},
 		"node_modules/@babel/generator": {
-			"version": "7.22.7",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz",
-			"integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+			"integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
 			"dependencies": {
-				"@babel/types": "^7.22.5",
+				"@babel/types": "^7.23.6",
 				"@jridgewell/gen-mapping": "^0.3.2",
 				"@jridgewell/trace-mapping": "^0.3.17",
 				"jsesc": "^2.5.1"
@@ -206,38 +298,43 @@
 			}
 		},
 		"node_modules/@babel/helper-compilation-targets": {
-			"version": "7.22.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz",
-			"integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+			"integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
 			"dependencies": {
-				"@babel/compat-data": "^7.22.6",
-				"@babel/helper-validator-option": "^7.22.5",
-				"@nicolo-ribaudo/semver-v6": "^6.3.3",
-				"browserslist": "^4.21.9",
-				"lru-cache": "^5.1.1"
+				"@babel/compat-data": "^7.23.5",
+				"@babel/helper-validator-option": "^7.23.5",
+				"browserslist": "^4.22.2",
+				"lru-cache": "^5.1.1",
+				"semver": "^6.3.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
-			},
-			"peerDependencies": {
-				"@babel/core": "^7.0.0"
+			}
+		},
+		"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+			"bin": {
+				"semver": "bin/semver.js"
 			}
 		},
 		"node_modules/@babel/helper-environment-visitor": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
-			"integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
+			"version": "7.22.20",
+			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+			"integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-function-name": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
-			"integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+			"version": "7.23.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+			"integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
 			"dependencies": {
-				"@babel/template": "^7.22.5",
-				"@babel/types": "^7.22.5"
+				"@babel/template": "^7.22.15",
+				"@babel/types": "^7.23.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -255,32 +352,32 @@
 			}
 		},
 		"node_modules/@babel/helper-module-imports": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
-			"integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
+			"version": "7.22.15",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+			"integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
 			"dependencies": {
-				"@babel/types": "^7.22.5"
+				"@babel/types": "^7.22.15"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-module-transforms": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz",
-			"integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==",
+			"version": "7.23.3",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+			"integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
 			"dependencies": {
-				"@babel/helper-environment-visitor": "^7.22.5",
-				"@babel/helper-module-imports": "^7.22.5",
+				"@babel/helper-environment-visitor": "^7.22.20",
+				"@babel/helper-module-imports": "^7.22.15",
 				"@babel/helper-simple-access": "^7.22.5",
-				"@babel/helper-split-export-declaration": "^7.22.5",
-				"@babel/helper-validator-identifier": "^7.22.5",
-				"@babel/template": "^7.22.5",
-				"@babel/traverse": "^7.22.5",
-				"@babel/types": "^7.22.5"
+				"@babel/helper-split-export-declaration": "^7.22.6",
+				"@babel/helper-validator-identifier": "^7.22.20"
 			},
 			"engines": {
 				"node": ">=6.9.0"
+			},
+			"peerDependencies": {
+				"@babel/core": "^7.0.0"
 			}
 		},
 		"node_modules/@babel/helper-plugin-utils": {
@@ -314,49 +411,49 @@
 			}
 		},
 		"node_modules/@babel/helper-string-parser": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
-			"integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
+			"version": "7.23.4",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+			"integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
-			"integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
+			"version": "7.22.20",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-validator-option": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
-			"integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
+			"version": "7.23.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+			"integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helpers": {
-			"version": "7.22.6",
-			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz",
-			"integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz",
+			"integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==",
 			"dependencies": {
-				"@babel/template": "^7.22.5",
-				"@babel/traverse": "^7.22.6",
-				"@babel/types": "^7.22.5"
+				"@babel/template": "^7.22.15",
+				"@babel/traverse": "^7.23.6",
+				"@babel/types": "^7.23.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
-			"integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
+			"version": "7.23.4",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+			"integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.22.5",
-				"chalk": "^2.0.0",
+				"@babel/helper-validator-identifier": "^7.22.20",
+				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0"
 			},
 			"engines": {
@@ -364,9 +461,9 @@
 			}
 		},
 		"node_modules/@babel/parser": {
-			"version": "7.22.7",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz",
-			"integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+			"integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
 			"bin": {
 				"parser": "bin/babel-parser.js"
 			},
@@ -407,32 +504,32 @@
 			}
 		},
 		"node_modules/@babel/template": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
-			"integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
+			"version": "7.22.15",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+			"integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
 			"dependencies": {
-				"@babel/code-frame": "^7.22.5",
-				"@babel/parser": "^7.22.5",
-				"@babel/types": "^7.22.5"
+				"@babel/code-frame": "^7.22.13",
+				"@babel/parser": "^7.22.15",
+				"@babel/types": "^7.22.15"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/traverse": {
-			"version": "7.22.8",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz",
-			"integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz",
+			"integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==",
 			"dependencies": {
-				"@babel/code-frame": "^7.22.5",
-				"@babel/generator": "^7.22.7",
-				"@babel/helper-environment-visitor": "^7.22.5",
-				"@babel/helper-function-name": "^7.22.5",
+				"@babel/code-frame": "^7.23.5",
+				"@babel/generator": "^7.23.6",
+				"@babel/helper-environment-visitor": "^7.22.20",
+				"@babel/helper-function-name": "^7.23.0",
 				"@babel/helper-hoist-variables": "^7.22.5",
 				"@babel/helper-split-export-declaration": "^7.22.6",
-				"@babel/parser": "^7.22.7",
-				"@babel/types": "^7.22.5",
-				"debug": "^4.1.0",
+				"@babel/parser": "^7.23.6",
+				"@babel/types": "^7.23.6",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			},
 			"engines": {
@@ -440,18 +537,879 @@
 			}
 		},
 		"node_modules/@babel/types": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
-			"integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+			"integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
 			"dependencies": {
-				"@babel/helper-string-parser": "^7.22.5",
-				"@babel/helper-validator-identifier": "^7.22.5",
+				"@babel/helper-string-parser": "^7.23.4",
+				"@babel/helper-validator-identifier": "^7.22.20",
 				"to-fast-properties": "^2.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
+		"node_modules/@csstools/cascade-layer-name-parser": {
+			"version": "1.0.6",
+			"resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.6.tgz",
+			"integrity": "sha512-HkxRNs6ZIV0VjLFw6k5G8K35vd9r+O8B1Vr+QVD8M5Y44eQxyHtc42BdF74FQatXACPnitOR1+sRx2oWdnKTQw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"node_modules/@csstools/color-helpers": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.0.0.tgz",
+			"integrity": "sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			}
+		},
+		"node_modules/@csstools/css-calc": {
+			"version": "1.1.5",
+			"resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.5.tgz",
+			"integrity": "sha512-UhI5oSRAUtTHY3MyGahqn0ZzQOHVoPpfvUcOmYipAZ1rILAvCBoyiLSsa/clv1Xxct0SMKIq93KO5Bfl1cb6tQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"node_modules/@csstools/css-color-parser": {
+			"version": "1.5.0",
+			"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.5.0.tgz",
+			"integrity": "sha512-PUhSg1MgU2sjYhA6moOmxYesqVqYTJwcVw12boTNbDX7Af+VK02MkgvmBBY2Z2qU6UN5HOQ+wrF0qQJGsTFY7w==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/color-helpers": "^4.0.0",
+				"@csstools/css-calc": "^1.1.5"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"node_modules/@csstools/css-parser-algorithms": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.4.0.tgz",
+			"integrity": "sha512-/PPLr2g5PAUCKAPEbfyk6/baZA+WJHQtUhPkoCQMpyRE8I0lXrG1QFRN8e5s3ZYxM8d/g5BZc6lH3s8Op7/VEg==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"node_modules/@csstools/css-tokenizer": {
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.2.tgz",
+			"integrity": "sha512-wCDUe/MAw7npAHFLyW3QjSyLA66S5QFaV1jIXlNQvdJ8RzXDSgALa49eWcUO6P55ARQaz0TsDdAgdRgkXFYY8g==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			}
+		},
+		"node_modules/@csstools/media-query-list-parser": {
+			"version": "2.1.6",
+			"resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.6.tgz",
+			"integrity": "sha512-R6AKl9vaU0It7D7TR2lQn0pre5aQfdeqHRePlaRCY8rHL3l9eVlNRpsEVDKFi/zAjzv68CxH2M5kqbhPFPKjvw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"node_modules/@csstools/postcss-cascade-layers": {
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.2.tgz",
+			"integrity": "sha512-PqM+jvg5T2tB4FHX+akrMGNWAygLupD4FNUjcv4PSvtVuWZ6ISxuo37m4jFGU7Jg3rCfloGzKd0+xfr5Ec3vZQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-color-function": {
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.8.tgz",
+			"integrity": "sha512-jvbF7eCRbIcxWqby0kk2Mt85QtGzRRpFFYdlJCJ80Tuiv43PY+auS/nBl8pDQQ4Ndm4vsm4IC/wCZDcJUmpJmg==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-color-mix-function": {
+			"version": "2.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.8.tgz",
+			"integrity": "sha512-sGhk+TdZ2TeXspc6LSYSYC8WgzLlxoknUaObKgB0mk+dNjRQgSSIeCU+qrCwvHmwM+uTNKtiS8mntDzyQLHTTA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-exponential-functions": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.2.tgz",
+			"integrity": "sha512-VRIYrwNCkZRqzsGB4jGT+XcNXsoiwyqy0Vf7C3I/5OPcf7WcWK3G1sBYFqqgWLGtpwc7m1m8TcorGY1xdh5abg==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-font-format-keywords": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.1.tgz",
+			"integrity": "sha512-D1lcG2sfotTq6yBEOMV3myFxJLT10F3DLYZJMbiny5YToqzHWodZen8WId3UTimm0mEHitXqAUNL5jdd6RzVdA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-gamut-mapping": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.1.tgz",
+			"integrity": "sha512-GDVzfNbnc7x3GusFklvt0mYXIWVzxEtEtTFEW664NgZh/5V7Z89hZKBMl9piOAHXuxijfHtE+kul/ShfeLUvcA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-gradients-interpolation-method": {
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.8.tgz",
+			"integrity": "sha512-bmvCNzuUvWPPdgASh0T14ffTay/FdzXsXfp0wXT1pYoUPmkH9M6yyxwPEkHq5djjzSb2jiLl4Ta3XM1uOREQ2w==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-hwb-function": {
+			"version": "3.0.7",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.7.tgz",
+			"integrity": "sha512-iXs1gxKtev8YNP5bOF26TAsnMfcxnCRLpKItQ067RphYECKEK/xWm4Z0r4ChmV1U1eq+lbdH5ZIb2cju4o5akA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-ic-unit": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.3.tgz",
+			"integrity": "sha512-MpcmIL0/uMm/cFWh5V/9nbKKJ7jRr2qTYW5Q6zoE6HZ6uzOBJr2KRERv5/x8xzEBQ1MthDT7iP1EBp9luSQy7g==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3",
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-initial": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz",
+			"integrity": "sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-is-pseudo-class": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.4.tgz",
+			"integrity": "sha512-vTVO/uZixpTVAOQt3qZRUFJ/K1L03OfNkeJ8sFNDVNdVy/zW0h1L5WT7HIPMDUkvSrxQkFaCCybTZkUP7UESlQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-logical-float-and-clear": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz",
+			"integrity": "sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-logical-overflow": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz",
+			"integrity": "sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-logical-overscroll-behavior": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz",
+			"integrity": "sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-logical-resize": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz",
+			"integrity": "sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-logical-viewport-units": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.4.tgz",
+			"integrity": "sha512-jetp/ArGAniWbjWBh5UQ07ztawfSbqCFd0QelX4R4pVIxrXahUEhz5VZHebMPVCg02J8GsQn0br6fdRpY6t7lw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-tokenizer": "^2.2.2"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-media-minmax": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.1.tgz",
+			"integrity": "sha512-mBY46/Hr+A8cDjoX0OoPRBOVrkANym9540dSB9rN3dllPZdM1E112i/tVxWsrR1s1yE9gfF0pk+7lf9l+qSeHA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/media-query-list-parser": "^2.1.6"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.4.tgz",
+			"integrity": "sha512-IaIZZhH0Qy9UDn7u+N3cuwwPG0Po3ZKOdDh+ClR7xvisSqniG+PuVrOEWYJrFKOt2//UHLhd7KHDqr2u9LKS9Q==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/media-query-list-parser": "^2.1.6"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-nested-calc": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.1.tgz",
+			"integrity": "sha512-bwwababZpWRm0ByHaWBxTsDGTMhZKmtUNl3Wt0Eom8AY7ORgXx5qF9SSk1vEFrCi+HOfJT6M6W5KPgzXuQNRwQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-normalize-display-values": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz",
+			"integrity": "sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-oklab-function": {
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.8.tgz",
+			"integrity": "sha512-L4xrwbgg+k08v+a88LDxJeIM6+kqaBJlYb/QgmEMfQpUbrfXTp87DuRc7utcRdDvY+qWK5vqz3h1xUtceB5LJQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-progressive-custom-properties": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.3.tgz",
+			"integrity": "sha512-WipTVh6JTMQfeIrzDV4wEPsV9NTzMK2jwXxyH6CGBktuWdivHnkioP/smp1x/0QDPQyx7NTS14RB+GV3zZZYEw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-relative-color-syntax": {
+			"version": "2.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.8.tgz",
+			"integrity": "sha512-wu/Oh7QKINpRXnmLMUbObVNlqwr843PSF4a3x3fMC0I+vUeoGqMfZuSPFtT+NnYYxfzUjEZ091GURPxee22VLQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-scope-pseudo-class": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz",
+			"integrity": "sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-stepped-value-functions": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.3.tgz",
+			"integrity": "sha512-hzo9Wr3u7JJiM65/EyHgE/gJpBzhDwBSGOobFs2YQ0ZNTywUliYQoYJud1KKlByMRuhqvDLh9V95eIkLf/fZTQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-text-decoration-shorthand": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz",
+			"integrity": "sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/color-helpers": "^4.0.0",
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-trigonometric-functions": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.3.tgz",
+			"integrity": "sha512-T/npTbDuMZ3vktEMuA05p1oeVd12Sy47qZP1vFhzNMUOdXGCK9vlm0tUSIlV5DdlbTJqKqq9FhGitZH9VTKrfQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/postcss-unset-value": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz",
+			"integrity": "sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/@csstools/selector-specificity": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz",
+			"integrity": "sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
 		"node_modules/@emmetio/abbreviation": {
 			"version": "2.3.3",
 			"resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz",
@@ -473,10 +1431,25 @@
 			"resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz",
 			"integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA=="
 		},
+		"node_modules/@esbuild/aix-ppc64": {
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz",
+			"integrity": "sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==",
+			"cpu": [
+				"ppc64"
+			],
+			"optional": true,
+			"os": [
+				"aix"
+			],
+			"engines": {
+				"node": ">=12"
+			}
+		},
 		"node_modules/@esbuild/android-arm": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
-			"integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz",
+			"integrity": "sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==",
 			"cpu": [
 				"arm"
 			],
@@ -489,9 +1462,9 @@
 			}
 		},
 		"node_modules/@esbuild/android-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
-			"integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz",
+			"integrity": "sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==",
 			"cpu": [
 				"arm64"
 			],
@@ -504,9 +1477,9 @@
 			}
 		},
 		"node_modules/@esbuild/android-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
-			"integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz",
+			"integrity": "sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==",
 			"cpu": [
 				"x64"
 			],
@@ -519,9 +1492,9 @@
 			}
 		},
 		"node_modules/@esbuild/darwin-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
-			"integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz",
+			"integrity": "sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==",
 			"cpu": [
 				"arm64"
 			],
@@ -534,9 +1507,9 @@
 			}
 		},
 		"node_modules/@esbuild/darwin-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
-			"integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz",
+			"integrity": "sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==",
 			"cpu": [
 				"x64"
 			],
@@ -549,9 +1522,9 @@
 			}
 		},
 		"node_modules/@esbuild/freebsd-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
-			"integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz",
+			"integrity": "sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==",
 			"cpu": [
 				"arm64"
 			],
@@ -564,9 +1537,9 @@
 			}
 		},
 		"node_modules/@esbuild/freebsd-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
-			"integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz",
+			"integrity": "sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==",
 			"cpu": [
 				"x64"
 			],
@@ -579,9 +1552,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-arm": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
-			"integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz",
+			"integrity": "sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==",
 			"cpu": [
 				"arm"
 			],
@@ -594,9 +1567,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
-			"integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz",
+			"integrity": "sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==",
 			"cpu": [
 				"arm64"
 			],
@@ -609,9 +1582,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-ia32": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
-			"integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz",
+			"integrity": "sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==",
 			"cpu": [
 				"ia32"
 			],
@@ -624,9 +1597,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-loong64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
-			"integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz",
+			"integrity": "sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==",
 			"cpu": [
 				"loong64"
 			],
@@ -639,9 +1612,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-mips64el": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
-			"integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz",
+			"integrity": "sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==",
 			"cpu": [
 				"mips64el"
 			],
@@ -654,9 +1627,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-ppc64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
-			"integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz",
+			"integrity": "sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==",
 			"cpu": [
 				"ppc64"
 			],
@@ -669,9 +1642,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-riscv64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
-			"integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz",
+			"integrity": "sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==",
 			"cpu": [
 				"riscv64"
 			],
@@ -684,9 +1657,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-s390x": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
-			"integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz",
+			"integrity": "sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==",
 			"cpu": [
 				"s390x"
 			],
@@ -699,9 +1672,9 @@
 			}
 		},
 		"node_modules/@esbuild/linux-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
-			"integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz",
+			"integrity": "sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==",
 			"cpu": [
 				"x64"
 			],
@@ -714,9 +1687,9 @@
 			}
 		},
 		"node_modules/@esbuild/netbsd-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
-			"integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz",
+			"integrity": "sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==",
 			"cpu": [
 				"x64"
 			],
@@ -729,9 +1702,9 @@
 			}
 		},
 		"node_modules/@esbuild/openbsd-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
-			"integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz",
+			"integrity": "sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==",
 			"cpu": [
 				"x64"
 			],
@@ -744,9 +1717,9 @@
 			}
 		},
 		"node_modules/@esbuild/sunos-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
-			"integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz",
+			"integrity": "sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==",
 			"cpu": [
 				"x64"
 			],
@@ -759,9 +1732,9 @@
 			}
 		},
 		"node_modules/@esbuild/win32-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
-			"integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz",
+			"integrity": "sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==",
 			"cpu": [
 				"arm64"
 			],
@@ -774,9 +1747,9 @@
 			}
 		},
 		"node_modules/@esbuild/win32-ia32": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
-			"integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz",
+			"integrity": "sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==",
 			"cpu": [
 				"ia32"
 			],
@@ -789,9 +1762,9 @@
 			}
 		},
 		"node_modules/@esbuild/win32-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
-			"integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz",
+			"integrity": "sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==",
 			"cpu": [
 				"x64"
 			],
@@ -846,12 +1819,38 @@
 				"@jridgewell/sourcemap-codec": "1.4.14"
 			}
 		},
-		"node_modules/@nicolo-ribaudo/semver-v6": {
-			"version": "6.3.3",
-			"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz",
-			"integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==",
-			"bin": {
-				"semver": "bin/semver.js"
+		"node_modules/@mdx-js/mdx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.0.tgz",
+			"integrity": "sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==",
+			"dependencies": {
+				"@types/estree": "^1.0.0",
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdx": "^2.0.0",
+				"collapse-white-space": "^2.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-build-jsx": "^3.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"estree-util-to-js": "^2.0.0",
+				"estree-walker": "^3.0.0",
+				"hast-util-to-estree": "^3.0.0",
+				"hast-util-to-jsx-runtime": "^2.0.0",
+				"markdown-extensions": "^2.0.0",
+				"periscopic": "^3.0.0",
+				"remark-mdx": "^3.0.0",
+				"remark-parse": "^11.0.0",
+				"remark-rehype": "^11.0.0",
+				"source-map": "^0.7.0",
+				"unified": "^11.0.0",
+				"unist-util-position-from-estree": "^2.0.0",
+				"unist-util-stringify-position": "^4.0.0",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
 			}
 		},
 		"node_modules/@nodelib/fs.scandir": {
@@ -886,29 +1885,210 @@
 				"node": ">= 8"
 			}
 		},
-		"node_modules/@pkgr/utils": {
-			"version": "2.4.2",
-			"resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
-			"integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==",
+		"node_modules/@rollup/rollup-android-arm-eabi": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
+			"integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
+			"cpu": [
+				"arm"
+			],
+			"optional": true,
+			"os": [
+				"android"
+			]
+		},
+		"node_modules/@rollup/rollup-android-arm64": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
+			"integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
+			"cpu": [
+				"arm64"
+			],
+			"optional": true,
+			"os": [
+				"android"
+			]
+		},
+		"node_modules/@rollup/rollup-darwin-arm64": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
+			"integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
+			"cpu": [
+				"arm64"
+			],
+			"optional": true,
+			"os": [
+				"darwin"
+			]
+		},
+		"node_modules/@rollup/rollup-darwin-x64": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
+			"integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
+			"cpu": [
+				"x64"
+			],
+			"optional": true,
+			"os": [
+				"darwin"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
+			"integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
+			"cpu": [
+				"arm"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-arm-musleabihf": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
+			"integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
+			"cpu": [
+				"arm"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-arm64-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
+			"integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
+			"cpu": [
+				"arm64"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-arm64-musl": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
+			"integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
+			"cpu": [
+				"arm64"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
+			"integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
+			"cpu": [
+				"ppc64"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-riscv64-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
+			"integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
+			"cpu": [
+				"riscv64"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-s390x-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
+			"integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
+			"cpu": [
+				"s390x"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-x64-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
+			"integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
+			"cpu": [
+				"x64"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-linux-x64-musl": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
+			"integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
+			"cpu": [
+				"x64"
+			],
+			"optional": true,
+			"os": [
+				"linux"
+			]
+		},
+		"node_modules/@rollup/rollup-win32-arm64-msvc": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
+			"integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
+			"cpu": [
+				"arm64"
+			],
+			"optional": true,
+			"os": [
+				"win32"
+			]
+		},
+		"node_modules/@rollup/rollup-win32-ia32-msvc": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
+			"integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
+			"cpu": [
+				"ia32"
+			],
+			"optional": true,
+			"os": [
+				"win32"
+			]
+		},
+		"node_modules/@rollup/rollup-win32-x64-msvc": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
+			"integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
+			"cpu": [
+				"x64"
+			],
+			"optional": true,
+			"os": [
+				"win32"
+			]
+		},
+		"node_modules/@types/acorn": {
+			"version": "4.0.6",
+			"resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz",
+			"integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==",
 			"dependencies": {
-				"cross-spawn": "^7.0.3",
-				"fast-glob": "^3.3.0",
-				"is-glob": "^4.0.3",
-				"open": "^9.1.0",
-				"picocolors": "^1.0.0",
-				"tslib": "^2.6.0"
-			},
-			"engines": {
-				"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/unts"
+				"@types/estree": "*"
 			}
 		},
 		"node_modules/@types/babel__core": {
-			"version": "7.20.1",
-			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz",
-			"integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==",
+			"version": "7.20.5",
+			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+			"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
 			"dependencies": {
 				"@babel/parser": "^7.20.7",
 				"@babel/types": "^7.20.7",
@@ -918,87 +2098,95 @@
 			}
 		},
 		"node_modules/@types/babel__generator": {
-			"version": "7.6.4",
-			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
-			"integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
+			"version": "7.6.8",
+			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+			"integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
 			"dependencies": {
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"node_modules/@types/babel__template": {
-			"version": "7.4.1",
-			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
-			"integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
+			"version": "7.4.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+			"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
 			"dependencies": {
 				"@babel/parser": "^7.1.0",
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"node_modules/@types/babel__traverse": {
-			"version": "7.20.1",
-			"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz",
-			"integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==",
+			"version": "7.20.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz",
+			"integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==",
 			"dependencies": {
 				"@babel/types": "^7.20.7"
 			}
 		},
 		"node_modules/@types/debug": {
-			"version": "4.1.8",
-			"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz",
-			"integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==",
+			"version": "4.1.12",
+			"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
+			"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
 			"dependencies": {
 				"@types/ms": "*"
 			}
 		},
+		"node_modules/@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
+		},
+		"node_modules/@types/estree-jsx": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz",
+			"integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==",
+			"dependencies": {
+				"@types/estree": "*"
+			}
+		},
 		"node_modules/@types/hast": {
-			"version": "2.3.4",
-			"resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
-			"integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz",
+			"integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==",
 			"dependencies": {
 				"@types/unist": "*"
 			}
 		},
-		"node_modules/@types/json5": {
-			"version": "0.0.30",
-			"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.30.tgz",
-			"integrity": "sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA=="
-		},
 		"node_modules/@types/mdast": {
-			"version": "3.0.11",
-			"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz",
-			"integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==",
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz",
+			"integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==",
 			"dependencies": {
 				"@types/unist": "*"
 			}
 		},
+		"node_modules/@types/mdx": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz",
+			"integrity": "sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg=="
+		},
 		"node_modules/@types/ms": {
-			"version": "0.7.31",
-			"resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
-			"integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
+			"version": "0.7.34",
+			"resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
+			"integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g=="
 		},
 		"node_modules/@types/nlcst": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.0.tgz",
-			"integrity": "sha512-3TGCfOcy8R8mMQ4CNSNOe3PG66HttvjcLzCoOpvXvDtfWOTi+uT/rxeOKm/qEwbM4SNe1O/PjdiBK2YcTjU4OQ==",
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.4.tgz",
+			"integrity": "sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==",
 			"dependencies": {
-				"@types/unist": "*"
+				"@types/unist": "^2"
 			}
 		},
+		"node_modules/@types/nlcst/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
 		"node_modules/@types/node": {
 			"version": "18.14.6",
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz",
 			"integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA=="
 		},
-		"node_modules/@types/parse5": {
-			"version": "6.0.3",
-			"resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
-			"integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g=="
-		},
-		"node_modules/@types/resolve": {
-			"version": "1.20.2",
-			"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
-			"integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="
-		},
 		"node_modules/@types/sax": {
 			"version": "1.2.4",
 			"resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz",
@@ -1008,14 +2196,82 @@
 			}
 		},
 		"node_modules/@types/unist": {
-			"version": "2.0.6",
-			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
-			"integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
+			"integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ=="
 		},
-		"node_modules/@types/yargs-parser": {
-			"version": "21.0.0",
-			"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
-			"integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA=="
+		"node_modules/@ungap/structured-clone": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+			"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
+		},
+		"node_modules/@volar/kit": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/kit/-/kit-1.10.10.tgz",
+			"integrity": "sha512-V2SyUPCPUhueqH8j5t48LJ0QsjExGSXzTv/XOdkUHV7hJ/ekyRGFqKxcfBtMq/nK6Tgu2G1ba+6u0d7e6wKcQw==",
+			"dependencies": {
+				"@volar/language-service": "1.10.10",
+				"typesafe-path": "^0.2.2",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-uri": "^3.0.8"
+			},
+			"peerDependencies": {
+				"typescript": "*"
+			}
+		},
+		"node_modules/@volar/language-core": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.10.10.tgz",
+			"integrity": "sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==",
+			"dependencies": {
+				"@volar/source-map": "1.10.10"
+			}
+		},
+		"node_modules/@volar/language-server": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-1.10.10.tgz",
+			"integrity": "sha512-F2PRBU+CRjT7L9qe8bjof/uz/LbAXVmgwNU2gOSX2y1bUl3E8DHmD0dB6pwIVublvkx+Ivg/0r3Z6oyxfPPruQ==",
+			"dependencies": {
+				"@volar/language-core": "1.10.10",
+				"@volar/language-service": "1.10.10",
+				"@volar/typescript": "1.10.10",
+				"@vscode/l10n": "^0.0.16",
+				"path-browserify": "^1.0.1",
+				"request-light": "^0.7.0",
+				"vscode-languageserver": "^9.0.1",
+				"vscode-languageserver-protocol": "^3.17.5",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"node_modules/@volar/language-service": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-1.10.10.tgz",
+			"integrity": "sha512-P4fiPWDI6fLGO6BghlksCVHs1nr9gvWAMDyma3Bca4aowxXusxjUVTsnJq0EVorIN5uIr1Xel4B/tNdXt/IKyw==",
+			"dependencies": {
+				"@volar/language-core": "1.10.10",
+				"@volar/source-map": "1.10.10",
+				"vscode-languageserver-protocol": "^3.17.5",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"node_modules/@volar/source-map": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.10.10.tgz",
+			"integrity": "sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==",
+			"dependencies": {
+				"muggle-string": "^0.3.1"
+			}
+		},
+		"node_modules/@volar/typescript": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.10.10.tgz",
+			"integrity": "sha512-4a2r5bdUub2m+mYVnLu2wt59fuoYWe7nf0uXtGHU8QQ5LDNfzAR0wK7NgDiQ9rcl2WT3fxT2AA9AylAwFtj50A==",
+			"dependencies": {
+				"@volar/language-core": "1.10.10",
+				"path-browserify": "^1.0.1"
+			}
 		},
 		"node_modules/@vscode/emmet-helper": {
 			"version": "2.9.2",
@@ -1035,14 +2291,14 @@
 			"integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A=="
 		},
 		"node_modules/@vscode/l10n": {
-			"version": "0.0.14",
-			"resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.14.tgz",
-			"integrity": "sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg=="
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz",
+			"integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg=="
 		},
 		"node_modules/acorn": {
-			"version": "8.10.0",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
-			"integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
+			"version": "8.11.2",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+			"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
 			"bin": {
 				"acorn": "bin/acorn"
 			},
@@ -1050,6 +2306,14 @@
 				"node": ">=0.4.0"
 			}
 		},
+		"node_modules/acorn-jsx": {
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+			"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+			"peerDependencies": {
+				"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+			}
+		},
 		"node_modules/ansi-align": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
@@ -1106,11 +2370,6 @@
 				"url": "https://github.com/chalk/ansi-regex?sponsor=1"
 			}
 		},
-		"node_modules/ansi-sequence-parser": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz",
-			"integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ=="
-		},
 		"node_modules/ansi-styles": {
 			"version": "3.2.1",
 			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -1147,6 +2406,14 @@
 				"sprintf-js": "~1.0.2"
 			}
 		},
+		"node_modules/aria-query": {
+			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+			"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+			"dependencies": {
+				"dequal": "^2.0.3"
+			}
+		},
 		"node_modules/array-iterate": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz",
@@ -1156,82 +2423,113 @@
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
+		"node_modules/astring": {
+			"version": "1.8.6",
+			"resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz",
+			"integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==",
+			"bin": {
+				"astring": "bin/astring"
+			}
+		},
 		"node_modules/astro": {
-			"version": "2.8.0",
-			"resolved": "https://registry.npmjs.org/astro/-/astro-2.8.0.tgz",
-			"integrity": "sha512-bqdhE9039dzi0mqaWGO9rMk5HKxTn5TckxFmRPUdsV1qmbpghXtwuERHblfJu5etQofV6WVEyTrouG+BLRkqfA==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/astro/-/astro-4.2.1.tgz",
+			"integrity": "sha512-TcrveW2/lohmljrbTUgcDxajEdF1yK+zBvb7SXroloGix/d4jkegO6GANFgvyy0zprMyajW7qgJEFyhWUX86Vw==",
 			"dependencies": {
-				"@astrojs/compiler": "^1.5.3",
-				"@astrojs/internal-helpers": "^0.1.1",
-				"@astrojs/language-server": "^1.0.0",
-				"@astrojs/markdown-remark": "^2.2.1",
-				"@astrojs/telemetry": "^2.1.1",
-				"@astrojs/webapi": "^2.2.0",
-				"@babel/core": "^7.22.5",
-				"@babel/generator": "^7.22.5",
-				"@babel/parser": "^7.22.5",
+				"@astrojs/compiler": "^2.3.4",
+				"@astrojs/internal-helpers": "0.2.1",
+				"@astrojs/markdown-remark": "4.1.0",
+				"@astrojs/telemetry": "3.0.4",
+				"@babel/core": "^7.23.3",
+				"@babel/generator": "^7.23.3",
+				"@babel/parser": "^7.23.3",
 				"@babel/plugin-transform-react-jsx": "^7.22.5",
-				"@babel/traverse": "^7.22.5",
-				"@babel/types": "^7.22.5",
-				"@types/babel__core": "^7.20.1",
-				"@types/yargs-parser": "^21.0.0",
-				"acorn": "^8.9.0",
-				"boxen": "^6.2.1",
+				"@babel/traverse": "^7.23.3",
+				"@babel/types": "^7.23.3",
+				"@types/babel__core": "^7.20.4",
+				"acorn": "^8.11.2",
+				"aria-query": "^5.3.0",
+				"axobject-query": "^4.0.0",
+				"boxen": "^7.1.1",
 				"chokidar": "^3.5.3",
-				"ci-info": "^3.8.0",
+				"ci-info": "^4.0.0",
+				"clsx": "^2.0.0",
 				"common-ancestor-path": "^1.0.1",
-				"cookie": "^0.5.0",
+				"cookie": "^0.6.0",
 				"debug": "^4.3.4",
-				"deepmerge-ts": "^4.3.0",
+				"deterministic-object-hash": "^2.0.1",
 				"devalue": "^4.3.2",
 				"diff": "^5.1.0",
-				"es-module-lexer": "^1.3.0",
-				"esbuild": "^0.17.19",
-				"estree-walker": "3.0.0",
-				"execa": "^6.1.0",
-				"fast-glob": "^3.2.12",
+				"dlv": "^1.1.3",
+				"dset": "^3.1.3",
+				"es-module-lexer": "^1.4.1",
+				"esbuild": "^0.19.6",
+				"estree-walker": "^3.0.3",
+				"execa": "^8.0.1",
+				"fast-glob": "^3.3.2",
+				"flattie": "^1.1.0",
 				"github-slugger": "^2.0.0",
 				"gray-matter": "^4.0.3",
 				"html-escaper": "^3.0.3",
+				"http-cache-semantics": "^4.1.1",
 				"js-yaml": "^4.1.0",
 				"kleur": "^4.1.4",
-				"magic-string": "^0.27.0",
+				"magic-string": "^0.30.3",
+				"mdast-util-to-hast": "13.0.2",
 				"mime": "^3.0.0",
-				"ora": "^6.3.1",
-				"p-limit": "^4.0.0",
+				"ora": "^7.0.1",
+				"p-limit": "^5.0.0",
+				"p-queue": "^8.0.1",
 				"path-to-regexp": "^6.2.1",
-				"preferred-pm": "^3.0.3",
+				"preferred-pm": "^3.1.2",
+				"probe-image-size": "^7.2.3",
 				"prompts": "^2.4.2",
-				"rehype": "^12.0.1",
-				"semver": "^7.5.3",
+				"rehype": "^13.0.1",
+				"resolve": "^1.22.4",
+				"semver": "^7.5.4",
 				"server-destroy": "^1.0.1",
-				"shiki": "^0.14.1",
-				"string-width": "^5.1.2",
+				"shikiji": "^0.9.18",
+				"string-width": "^7.0.0",
 				"strip-ansi": "^7.1.0",
-				"tsconfig-resolver": "^3.0.1",
-				"typescript": "*",
-				"unist-util-visit": "^4.1.2",
-				"vfile": "^5.3.7",
-				"vite": "^4.3.9",
-				"vitefu": "^0.2.4",
-				"which-pm": "^2.0.0",
+				"tsconfck": "^3.0.0",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.1",
+				"vite": "^5.0.10",
+				"vitefu": "^0.2.5",
+				"which-pm": "^2.1.1",
 				"yargs-parser": "^21.1.1",
-				"zod": "^3.20.6"
+				"zod": "^3.22.4"
 			},
 			"bin": {
 				"astro": "astro.js"
 			},
 			"engines": {
-				"node": ">=16.12.0",
+				"node": ">=18.14.1",
 				"npm": ">=6.14.0"
 			},
-			"peerDependencies": {
-				"sharp": ">=0.31.0"
-			},
-			"peerDependenciesMeta": {
-				"sharp": {
-					"optional": true
-				}
+			"optionalDependencies": {
+				"sharp": "^0.32.6"
+			}
+		},
+		"node_modules/astro/node_modules/@astrojs/markdown-remark": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.1.0.tgz",
+			"integrity": "sha512-JnIy6zk+6f/SgSVMZecZFxQt0faT1uBckwYCuBxKH1hYYJsal8OOe+tx6JxfnyaV+xViyjUvQ28mmn+p/F5LkQ==",
+			"dependencies": {
+				"@astrojs/prism": "^3.0.0",
+				"github-slugger": "^2.0.0",
+				"import-meta-resolve": "^4.0.0",
+				"mdast-util-definitions": "^6.0.0",
+				"rehype-raw": "^7.0.0",
+				"rehype-stringify": "^10.0.0",
+				"remark-gfm": "^4.0.0",
+				"remark-parse": "^11.0.0",
+				"remark-rehype": "^11.0.0",
+				"remark-smartypants": "^2.0.0",
+				"shikiji": "^0.9.18",
+				"unified": "^11.0.4",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.1"
 			}
 		},
 		"node_modules/astro/node_modules/argparse": {
@@ -1250,31 +2548,64 @@
 				"js-yaml": "bin/js-yaml.js"
 			}
 		},
-		"node_modules/astro/node_modules/p-limit": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
-			"integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+		"node_modules/astro/node_modules/shikiji": {
+			"version": "0.9.19",
+			"resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.19.tgz",
+			"integrity": "sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==",
 			"dependencies": {
-				"yocto-queue": "^1.0.0"
-			},
-			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
+				"shikiji-core": "0.9.19"
 			}
 		},
-		"node_modules/astro/node_modules/yocto-queue": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
-			"integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
-			"engines": {
-				"node": ">=12.20"
+		"node_modules/autoprefixer": {
+			"version": "10.4.16",
+			"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
+			"integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
+			"funding": [
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/postcss/"
+				},
+				{
+					"type": "tidelift",
+					"url": "https://tidelift.com/funding/github/npm/autoprefixer"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
+			"dependencies": {
+				"browserslist": "^4.21.10",
+				"caniuse-lite": "^1.0.30001538",
+				"fraction.js": "^4.3.6",
+				"normalize-range": "^0.1.2",
+				"picocolors": "^1.0.0",
+				"postcss-value-parser": "^4.2.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
+			"bin": {
+				"autoprefixer": "bin/autoprefixer"
+			},
+			"engines": {
+				"node": "^10 || ^12 || >=14"
+			},
+			"peerDependencies": {
+				"postcss": "^8.1.0"
 			}
 		},
+		"node_modules/axobject-query": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
+			"integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
+			"dependencies": {
+				"dequal": "^2.0.3"
+			}
+		},
+		"node_modules/b4a": {
+			"version": "1.6.4",
+			"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
+			"integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==",
+			"optional": true
+		},
 		"node_modules/bail": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
@@ -1284,6 +2615,11 @@
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
+		"node_modules/base-64": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz",
+			"integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="
+		},
 		"node_modules/base64-js": {
 			"version": "1.5.1",
 			"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -1303,14 +2639,6 @@
 				}
 			]
 		},
-		"node_modules/big-integer": {
-			"version": "1.6.51",
-			"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
-			"integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
-			"engines": {
-				"node": ">=0.6"
-			}
-		},
 		"node_modules/binary-extensions": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -1330,116 +2658,73 @@
 			}
 		},
 		"node_modules/boxen": {
-			"version": "6.2.1",
-			"resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz",
-			"integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz",
+			"integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==",
 			"dependencies": {
 				"ansi-align": "^3.0.1",
-				"camelcase": "^6.2.0",
-				"chalk": "^4.1.2",
+				"camelcase": "^7.0.1",
+				"chalk": "^5.2.0",
 				"cli-boxes": "^3.0.0",
-				"string-width": "^5.0.1",
-				"type-fest": "^2.5.0",
+				"string-width": "^5.1.2",
+				"type-fest": "^2.13.0",
 				"widest-line": "^4.0.1",
-				"wrap-ansi": "^8.0.1"
+				"wrap-ansi": "^8.1.0"
 			},
 			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+				"node": ">=14.16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/boxen/node_modules/ansi-styles": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-			"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-			"dependencies": {
-				"color-convert": "^2.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			},
-			"funding": {
-				"url": "https://github.com/chalk/ansi-styles?sponsor=1"
-			}
-		},
 		"node_modules/boxen/node_modules/chalk": {
-			"version": "4.1.2",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-			"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-			"dependencies": {
-				"ansi-styles": "^4.1.0",
-				"supports-color": "^7.1.0"
-			},
+			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+			"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
 			"engines": {
-				"node": ">=10"
+				"node": "^12.17.0 || ^14.13 || >=16.0.0"
 			},
 			"funding": {
 				"url": "https://github.com/chalk/chalk?sponsor=1"
 			}
 		},
-		"node_modules/boxen/node_modules/color-convert": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-			"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+		"node_modules/boxen/node_modules/emoji-regex": {
+			"version": "9.2.2",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+			"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+		},
+		"node_modules/boxen/node_modules/string-width": {
+			"version": "5.1.2",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+			"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
 			"dependencies": {
-				"color-name": "~1.1.4"
+				"eastasianwidth": "^0.2.0",
+				"emoji-regex": "^9.2.2",
+				"strip-ansi": "^7.0.1"
 			},
 			"engines": {
-				"node": ">=7.0.0"
-			}
-		},
-		"node_modules/boxen/node_modules/color-name": {
-			"version": "1.1.4",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-			"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
-		},
-		"node_modules/boxen/node_modules/has-flag": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-			"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/boxen/node_modules/supports-color": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-			"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-			"dependencies": {
-				"has-flag": "^4.0.0"
+				"node": ">=12"
 			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/bplist-parser": {
-			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
-			"integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
-			"dependencies": {
-				"big-integer": "^1.6.44"
-			},
-			"engines": {
-				"node": ">= 5.10.0"
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
 			}
 		},
 		"node_modules/browserslist": {
-			"version": "4.21.9",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
-			"integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
+			"version": "4.22.2",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+			"integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
 			"funding": [
 				{
 					"type": "opencollective",
@@ -1455,10 +2740,10 @@
 				}
 			],
 			"dependencies": {
-				"caniuse-lite": "^1.0.30001503",
-				"electron-to-chromium": "^1.4.431",
-				"node-releases": "^2.0.12",
-				"update-browserslist-db": "^1.0.11"
+				"caniuse-lite": "^1.0.30001565",
+				"electron-to-chromium": "^1.4.601",
+				"node-releases": "^2.0.14",
+				"update-browserslist-db": "^1.0.13"
 			},
 			"bin": {
 				"browserslist": "cli.js"
@@ -1490,46 +2775,21 @@
 				"ieee754": "^1.2.1"
 			}
 		},
-		"node_modules/bundle-name": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz",
-			"integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==",
-			"dependencies": {
-				"run-applescript": "^5.0.0"
-			},
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/busboy": {
-			"version": "1.6.0",
-			"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
-			"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
-			"dependencies": {
-				"streamsearch": "^1.1.0"
-			},
-			"engines": {
-				"node": ">=10.16.0"
-			}
-		},
 		"node_modules/camelcase": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-			"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz",
+			"integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==",
 			"engines": {
-				"node": ">=10"
+				"node": ">=14.16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/caniuse-lite": {
-			"version": "1.0.30001512",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001512.tgz",
-			"integrity": "sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==",
+			"version": "1.0.30001634",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz",
+			"integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==",
 			"funding": [
 				{
 					"type": "opencollective",
@@ -1594,6 +2854,15 @@
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
+		"node_modules/character-reference-invalid": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+			"integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
 		"node_modules/chokidar": {
 			"version": "3.5.3",
 			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -1620,10 +2889,16 @@
 				"fsevents": "~2.3.2"
 			}
 		},
+		"node_modules/chownr": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+			"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+			"optional": true
+		},
 		"node_modules/ci-info": {
-			"version": "3.8.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
-			"integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
+			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
 			"funding": [
 				{
 					"type": "github",
@@ -1660,9 +2935,9 @@
 			}
 		},
 		"node_modules/cli-spinners": {
-			"version": "2.9.0",
-			"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz",
-			"integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==",
+			"version": "2.9.2",
+			"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
+			"integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
 			"engines": {
 				"node": ">=6"
 			},
@@ -1670,12 +2945,130 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/clone": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
-			"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+		"node_modules/cliui": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+			"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+			"dependencies": {
+				"string-width": "^4.2.0",
+				"strip-ansi": "^6.0.1",
+				"wrap-ansi": "^7.0.0"
+			},
 			"engines": {
-				"node": ">=0.8"
+				"node": ">=12"
+			}
+		},
+		"node_modules/cliui/node_modules/ansi-regex": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+			"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/cliui/node_modules/ansi-styles": {
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+			"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+			"dependencies": {
+				"color-convert": "^2.0.1"
+			},
+			"engines": {
+				"node": ">=8"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/ansi-styles?sponsor=1"
+			}
+		},
+		"node_modules/cliui/node_modules/color-convert": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+			"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+			"dependencies": {
+				"color-name": "~1.1.4"
+			},
+			"engines": {
+				"node": ">=7.0.0"
+			}
+		},
+		"node_modules/cliui/node_modules/color-name": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+			"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+		},
+		"node_modules/cliui/node_modules/emoji-regex": {
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+			"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+		},
+		"node_modules/cliui/node_modules/string-width": {
+			"version": "4.2.3",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+			"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+			"dependencies": {
+				"emoji-regex": "^8.0.0",
+				"is-fullwidth-code-point": "^3.0.0",
+				"strip-ansi": "^6.0.1"
+			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/cliui/node_modules/strip-ansi": {
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+			"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+			"dependencies": {
+				"ansi-regex": "^5.0.1"
+			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/cliui/node_modules/wrap-ansi": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+			"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+			"dependencies": {
+				"ansi-styles": "^4.0.0",
+				"string-width": "^4.1.0",
+				"strip-ansi": "^6.0.0"
+			},
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+			}
+		},
+		"node_modules/clsx": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
+			"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
+			"engines": {
+				"node": ">=6"
+			}
+		},
+		"node_modules/collapse-white-space": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz",
+			"integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==",
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
+		"node_modules/color": {
+			"version": "4.2.3",
+			"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+			"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
+			"optional": true,
+			"dependencies": {
+				"color-convert": "^2.0.1",
+				"color-string": "^1.9.0"
+			},
+			"engines": {
+				"node": ">=12.5.0"
 			}
 		},
 		"node_modules/color-convert": {
@@ -1691,6 +3084,34 @@
 			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
 			"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
 		},
+		"node_modules/color-string": {
+			"version": "1.9.1",
+			"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
+			"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
+			"optional": true,
+			"dependencies": {
+				"color-name": "^1.0.0",
+				"simple-swizzle": "^0.2.2"
+			}
+		},
+		"node_modules/color/node_modules/color-convert": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+			"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+			"optional": true,
+			"dependencies": {
+				"color-name": "~1.1.4"
+			},
+			"engines": {
+				"node": ">=7.0.0"
+			}
+		},
+		"node_modules/color/node_modules/color-name": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+			"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+			"optional": true
+		},
 		"node_modules/comma-separated-tokens": {
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
@@ -1706,14 +3127,14 @@
 			"integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="
 		},
 		"node_modules/convert-source-map": {
-			"version": "1.9.0",
-			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
-			"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+			"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
 		},
 		"node_modules/cookie": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
-			"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+			"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
 			"engines": {
 				"node": ">= 0.6"
 			}
@@ -1731,6 +3152,103 @@
 				"node": ">= 8"
 			}
 		},
+		"node_modules/css-blank-pseudo": {
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz",
+			"integrity": "sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/css-has-pseudo": {
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.1.tgz",
+			"integrity": "sha512-WwoVKqNxApfEI7dWFyaHoeFCcUPD+lPyjL6lNpRUNX7IyIUuVpawOTwwA5D0ZR6V2xQZonNPVj8kEcxzEaAQfQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13",
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/css-prefers-color-scheme": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz",
+			"integrity": "sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/cssdb": {
+			"version": "7.10.0",
+			"resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.10.0.tgz",
+			"integrity": "sha512-yGZ5tmA57gWh/uvdQBHs45wwFY0IBh3ypABk5sEubPBPSzXzkNgsWReqx7gdx6uhC+QoFBe+V8JwBB9/hQ6cIA==",
+			"funding": [
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				}
+			]
+		},
+		"node_modules/cssesc": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+			"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+			"bin": {
+				"cssesc": "bin/cssesc"
+			},
+			"engines": {
+				"node": ">=4"
+			}
+		},
 		"node_modules/debug": {
 			"version": "4.3.4",
 			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -1759,96 +3277,28 @@
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
-		"node_modules/deepmerge-ts": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-4.3.0.tgz",
-			"integrity": "sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw==",
-			"engines": {
-				"node": ">=12.4.0"
-			}
-		},
-		"node_modules/default-browser": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz",
-			"integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==",
+		"node_modules/decompress-response": {
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+			"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+			"optional": true,
 			"dependencies": {
-				"bundle-name": "^3.0.0",
-				"default-browser-id": "^3.0.0",
-				"execa": "^7.1.1",
-				"titleize": "^3.0.0"
+				"mimic-response": "^3.1.0"
 			},
 			"engines": {
-				"node": ">=14.16"
+				"node": ">=10"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/default-browser-id": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz",
-			"integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==",
-			"dependencies": {
-				"bplist-parser": "^0.2.0",
-				"untildify": "^4.0.0"
-			},
+		"node_modules/deep-extend": {
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+			"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+			"optional": true,
 			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/default-browser/node_modules/execa": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-			"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
-			"dependencies": {
-				"cross-spawn": "^7.0.3",
-				"get-stream": "^6.0.1",
-				"human-signals": "^4.3.0",
-				"is-stream": "^3.0.0",
-				"merge-stream": "^2.0.0",
-				"npm-run-path": "^5.1.0",
-				"onetime": "^6.0.0",
-				"signal-exit": "^3.0.7",
-				"strip-final-newline": "^3.0.0"
-			},
-			"engines": {
-				"node": "^14.18.0 || ^16.14.0 || >=18.0.0"
-			},
-			"funding": {
-				"url": "https://github.com/sindresorhus/execa?sponsor=1"
-			}
-		},
-		"node_modules/default-browser/node_modules/human-signals": {
-			"version": "4.3.1",
-			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-			"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
-			"engines": {
-				"node": ">=14.18.0"
-			}
-		},
-		"node_modules/defaults": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
-			"integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
-			"dependencies": {
-				"clone": "^1.0.2"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/define-lazy-prop": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
-			"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
+				"node": ">=4.0.0"
 			}
 		},
 		"node_modules/dequal": {
@@ -1859,11 +3309,43 @@
 				"node": ">=6"
 			}
 		},
+		"node_modules/detect-libc": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz",
+			"integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==",
+			"optional": true,
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/deterministic-object-hash": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz",
+			"integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==",
+			"dependencies": {
+				"base-64": "^1.0.0"
+			},
+			"engines": {
+				"node": ">=18"
+			}
+		},
 		"node_modules/devalue": {
 			"version": "4.3.2",
 			"resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz",
 			"integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg=="
 		},
+		"node_modules/devlop": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+			"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+			"dependencies": {
+				"dequal": "^2.0.0"
+			},
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
 		"node_modules/diff": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
@@ -1878,9 +3360,9 @@
 			"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
 		},
 		"node_modules/dset": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz",
-			"integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz",
+			"integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==",
 			"engines": {
 				"node": ">=4"
 			}
@@ -1891,33 +3373,53 @@
 			"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
 		},
 		"node_modules/electron-to-chromium": {
-			"version": "1.4.451",
-			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.451.tgz",
-			"integrity": "sha512-YYbXHIBxAHe3KWvGOJOuWa6f3tgow44rBW+QAuwVp2DvGqNZeE//K2MowNdWS7XE8li5cgQDrX1LdBr41LufkA=="
+			"version": "1.4.615",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz",
+			"integrity": "sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng=="
 		},
 		"node_modules/emmet": {
-			"version": "2.4.5",
-			"resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.5.tgz",
-			"integrity": "sha512-xOiVNINJFh0dMik+KzXSEYbAnFLTnadEzanxj7+F15uIf6avQwu3uPa1wI/8AFtOWKZ8lHg7TjC83wXcPhgOPw==",
+			"version": "2.4.6",
+			"resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.6.tgz",
+			"integrity": "sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==",
 			"dependencies": {
 				"@emmetio/abbreviation": "^2.3.3",
 				"@emmetio/css-abbreviation": "^2.1.8"
 			}
 		},
 		"node_modules/emoji-regex": {
-			"version": "9.2.2",
-			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
-			"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+			"version": "10.3.0",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz",
+			"integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw=="
+		},
+		"node_modules/end-of-stream": {
+			"version": "1.4.4",
+			"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+			"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+			"optional": true,
+			"dependencies": {
+				"once": "^1.4.0"
+			}
+		},
+		"node_modules/entities": {
+			"version": "4.5.0",
+			"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+			"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+			"engines": {
+				"node": ">=0.12"
+			},
+			"funding": {
+				"url": "https://github.com/fb55/entities?sponsor=1"
+			}
 		},
 		"node_modules/es-module-lexer": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz",
-			"integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA=="
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+			"integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w=="
 		},
 		"node_modules/esbuild": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
-			"integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz",
+			"integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==",
 			"hasInstallScript": true,
 			"bin": {
 				"esbuild": "bin/esbuild"
@@ -1926,28 +3428,29 @@
 				"node": ">=12"
 			},
 			"optionalDependencies": {
-				"@esbuild/android-arm": "0.17.19",
-				"@esbuild/android-arm64": "0.17.19",
-				"@esbuild/android-x64": "0.17.19",
-				"@esbuild/darwin-arm64": "0.17.19",
-				"@esbuild/darwin-x64": "0.17.19",
-				"@esbuild/freebsd-arm64": "0.17.19",
-				"@esbuild/freebsd-x64": "0.17.19",
-				"@esbuild/linux-arm": "0.17.19",
-				"@esbuild/linux-arm64": "0.17.19",
-				"@esbuild/linux-ia32": "0.17.19",
-				"@esbuild/linux-loong64": "0.17.19",
-				"@esbuild/linux-mips64el": "0.17.19",
-				"@esbuild/linux-ppc64": "0.17.19",
-				"@esbuild/linux-riscv64": "0.17.19",
-				"@esbuild/linux-s390x": "0.17.19",
-				"@esbuild/linux-x64": "0.17.19",
-				"@esbuild/netbsd-x64": "0.17.19",
-				"@esbuild/openbsd-x64": "0.17.19",
-				"@esbuild/sunos-x64": "0.17.19",
-				"@esbuild/win32-arm64": "0.17.19",
-				"@esbuild/win32-ia32": "0.17.19",
-				"@esbuild/win32-x64": "0.17.19"
+				"@esbuild/aix-ppc64": "0.19.10",
+				"@esbuild/android-arm": "0.19.10",
+				"@esbuild/android-arm64": "0.19.10",
+				"@esbuild/android-x64": "0.19.10",
+				"@esbuild/darwin-arm64": "0.19.10",
+				"@esbuild/darwin-x64": "0.19.10",
+				"@esbuild/freebsd-arm64": "0.19.10",
+				"@esbuild/freebsd-x64": "0.19.10",
+				"@esbuild/linux-arm": "0.19.10",
+				"@esbuild/linux-arm64": "0.19.10",
+				"@esbuild/linux-ia32": "0.19.10",
+				"@esbuild/linux-loong64": "0.19.10",
+				"@esbuild/linux-mips64el": "0.19.10",
+				"@esbuild/linux-ppc64": "0.19.10",
+				"@esbuild/linux-riscv64": "0.19.10",
+				"@esbuild/linux-s390x": "0.19.10",
+				"@esbuild/linux-x64": "0.19.10",
+				"@esbuild/netbsd-x64": "0.19.10",
+				"@esbuild/openbsd-x64": "0.19.10",
+				"@esbuild/sunos-x64": "0.19.10",
+				"@esbuild/win32-arm64": "0.19.10",
+				"@esbuild/win32-ia32": "0.19.10",
+				"@esbuild/win32-x64": "0.19.10"
 			}
 		},
 		"node_modules/escalade": {
@@ -1978,41 +3481,113 @@
 				"node": ">=4"
 			}
 		},
-		"node_modules/estree-walker": {
+		"node_modules/estree-util-attach-comments": {
 			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.0.tgz",
-			"integrity": "sha512-s6ceX0NFiU/vKPiKvFdR83U1Zffu7upwZsGwpoqfg5rbbq1l50WQ5hCeIvM6E6oD4shUHCYMsiFPns4Jk0YfMQ=="
-		},
-		"node_modules/events": {
-			"version": "3.3.0",
-			"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-			"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-			"engines": {
-				"node": ">=0.8.x"
+			"resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz",
+			"integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==",
+			"dependencies": {
+				"@types/estree": "^1.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
 			}
 		},
+		"node_modules/estree-util-build-jsx": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz",
+			"integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==",
+			"dependencies": {
+				"@types/estree-jsx": "^1.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"estree-walker": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/estree-util-is-identifier-name": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
+			"integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==",
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/estree-util-to-js": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz",
+			"integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==",
+			"dependencies": {
+				"@types/estree-jsx": "^1.0.0",
+				"astring": "^1.8.0",
+				"source-map": "^0.7.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/estree-util-visit": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz",
+			"integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==",
+			"dependencies": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/unist": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/estree-walker": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+			"integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+			"dependencies": {
+				"@types/estree": "^1.0.0"
+			}
+		},
+		"node_modules/eventemitter3": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+			"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
+		},
 		"node_modules/execa": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz",
-			"integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+			"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 			"dependencies": {
 				"cross-spawn": "^7.0.3",
-				"get-stream": "^6.0.1",
-				"human-signals": "^3.0.1",
+				"get-stream": "^8.0.1",
+				"human-signals": "^5.0.0",
 				"is-stream": "^3.0.0",
 				"merge-stream": "^2.0.0",
 				"npm-run-path": "^5.1.0",
 				"onetime": "^6.0.0",
-				"signal-exit": "^3.0.7",
+				"signal-exit": "^4.1.0",
 				"strip-final-newline": "^3.0.0"
 			},
 			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+				"node": ">=16.17"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/execa?sponsor=1"
 			}
 		},
+		"node_modules/expand-template": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
+			"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
+			"optional": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/extend": {
 			"version": "3.0.2",
 			"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -2029,10 +3604,16 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/fast-fifo": {
+			"version": "1.3.2",
+			"resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+			"integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
+			"optional": true
+		},
 		"node_modules/fast-glob": {
-			"version": "3.3.0",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz",
-			"integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==",
+			"version": "3.3.2",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+			"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
 			"dependencies": {
 				"@nodelib/fs.stat": "^2.0.2",
 				"@nodelib/fs.walk": "^1.2.3",
@@ -2045,17 +3626,17 @@
 			}
 		},
 		"node_modules/fastq": {
-			"version": "1.15.0",
-			"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
-			"integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
+			"version": "1.16.0",
+			"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
+			"integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
 			"dependencies": {
 				"reusify": "^1.0.4"
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
 			},
@@ -2087,10 +3668,36 @@
 				"pkg-dir": "^4.2.0"
 			}
 		},
+		"node_modules/flattie": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.0.tgz",
+			"integrity": "sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw==",
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/fraction.js": {
+			"version": "4.3.7",
+			"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+			"integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+			"engines": {
+				"node": "*"
+			},
+			"funding": {
+				"type": "patreon",
+				"url": "https://github.com/sponsors/rawify"
+			}
+		},
+		"node_modules/fs-constants": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+			"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+			"optional": true
+		},
 		"node_modules/fsevents": {
-			"version": "2.3.2",
-			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-			"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+			"version": "2.3.3",
+			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+			"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
 			"hasInstallScript": true,
 			"optional": true,
 			"os": [
@@ -2101,9 +3708,12 @@
 			}
 		},
 		"node_modules/function-bind": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-			"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+			"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
 		},
 		"node_modules/gensync": {
 			"version": "1.0.0-beta.2",
@@ -2113,17 +3723,42 @@
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/get-stream": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
-			"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+		"node_modules/get-caller-file": {
+			"version": "2.0.5",
+			"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+			"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
 			"engines": {
-				"node": ">=10"
+				"node": "6.* || 8.* || >= 10.*"
+			}
+		},
+		"node_modules/get-east-asian-width": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz",
+			"integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==",
+			"engines": {
+				"node": ">=18"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/get-stream": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+			"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+			"engines": {
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/github-from-package": {
+			"version": "0.0.0",
+			"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+			"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
+			"optional": true
+		},
 		"node_modules/github-slugger": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz",
@@ -2149,9 +3784,9 @@
 			}
 		},
 		"node_modules/graceful-fs": {
-			"version": "4.2.10",
-			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-			"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
 		},
 		"node_modules/gray-matter": {
 			"version": "4.0.3",
@@ -2167,17 +3802,6 @@
 				"node": ">=6.0"
 			}
 		},
-		"node_modules/has": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-			"dependencies": {
-				"function-bind": "^1.1.1"
-			},
-			"engines": {
-				"node": ">= 0.4.0"
-			}
-		},
 		"node_modules/has-flag": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -2186,17 +3810,28 @@
 				"node": ">=4"
 			}
 		},
-		"node_modules/hast-to-hyperscript": {
-			"version": "10.0.2",
-			"resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-10.0.2.tgz",
-			"integrity": "sha512-h8tn/orfy9WJmp8kFysl2ksOMOOBghdXRtq4O/xeEpse4WNynokzLkeK4AwMOHKUs/lPnx9xX0LqSVGoTFaqhg==",
+		"node_modules/hasown": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+			"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
 			"dependencies": {
-				"@types/unist": "^2.0.0",
-				"comma-separated-tokens": "^2.0.0",
-				"property-information": "^6.0.0",
-				"space-separated-tokens": "^2.0.0",
-				"style-to-object": "^0.4.0",
-				"web-namespaces": "^2.0.0"
+				"function-bind": "^1.1.2"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
+		"node_modules/hast-util-from-html": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz",
+			"integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==",
+			"dependencies": {
+				"@types/hast": "^3.0.0",
+				"devlop": "^1.1.0",
+				"hast-util-from-parse5": "^8.0.0",
+				"parse5": "^7.0.0",
+				"vfile": "^6.0.0",
+				"vfile-message": "^4.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2204,16 +3839,17 @@
 			}
 		},
 		"node_modules/hast-util-from-parse5": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.1.tgz",
-			"integrity": "sha512-R6PoNcUs89ZxLJmMWsVbwSWuz95/9OriyQZ3e2ybwqGsRXzhA6gv49rgGmQvLbZuSNDv9fCg7vV7gXUsvtUFaA==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz",
+			"integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"@types/unist": "^2.0.0",
-				"hastscript": "^7.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
+				"devlop": "^1.0.0",
+				"hastscript": "^8.0.0",
 				"property-information": "^6.0.0",
-				"vfile": "^5.0.0",
-				"vfile-location": "^4.0.0",
+				"vfile": "^6.0.0",
+				"vfile-location": "^5.0.0",
 				"web-namespaces": "^2.0.0"
 			},
 			"funding": {
@@ -2222,11 +3858,11 @@
 			}
 		},
 		"node_modules/hast-util-parse-selector": {
-			"version": "3.1.1",
-			"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz",
-			"integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz",
+			"integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==",
 			"dependencies": {
-				"@types/hast": "^2.0.0"
+				"@types/hast": "^3.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2234,19 +3870,21 @@
 			}
 		},
 		"node_modules/hast-util-raw": {
-			"version": "7.2.3",
-			"resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz",
-			"integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz",
+			"integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"@types/parse5": "^6.0.0",
-				"hast-util-from-parse5": "^7.0.0",
-				"hast-util-to-parse5": "^7.0.0",
-				"html-void-elements": "^2.0.0",
-				"parse5": "^6.0.0",
-				"unist-util-position": "^4.0.0",
-				"unist-util-visit": "^4.0.0",
-				"vfile": "^5.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
+				"@ungap/structured-clone": "^1.0.0",
+				"hast-util-from-parse5": "^8.0.0",
+				"hast-util-to-parse5": "^8.0.0",
+				"html-void-elements": "^3.0.0",
+				"mdast-util-to-hast": "^13.0.0",
+				"parse5": "^7.0.0",
+				"unist-util-position": "^5.0.0",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.0",
 				"web-namespaces": "^2.0.0",
 				"zwitch": "^2.0.0"
 			},
@@ -2255,18 +3893,46 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
-		"node_modules/hast-util-to-html": {
-			"version": "8.0.4",
-			"resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz",
-			"integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==",
+		"node_modules/hast-util-to-estree": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz",
+			"integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"@types/unist": "^2.0.0",
+				"@types/estree": "^1.0.0",
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"comma-separated-tokens": "^2.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-attach-comments": "^3.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"hast-util-whitespace": "^3.0.0",
+				"mdast-util-mdx-expression": "^2.0.0",
+				"mdast-util-mdx-jsx": "^3.0.0",
+				"mdast-util-mdxjs-esm": "^2.0.0",
+				"property-information": "^6.0.0",
+				"space-separated-tokens": "^2.0.0",
+				"style-to-object": "^0.4.0",
+				"unist-util-position": "^5.0.0",
+				"zwitch": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/hast-util-to-html": {
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz",
+			"integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==",
+			"dependencies": {
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
 				"ccount": "^2.0.0",
 				"comma-separated-tokens": "^2.0.0",
-				"hast-util-raw": "^7.0.0",
-				"hast-util-whitespace": "^2.0.0",
-				"html-void-elements": "^2.0.0",
+				"hast-util-raw": "^9.0.0",
+				"hast-util-whitespace": "^3.0.0",
+				"html-void-elements": "^3.0.0",
+				"mdast-util-to-hast": "^13.0.0",
 				"property-information": "^6.0.0",
 				"space-separated-tokens": "^2.0.0",
 				"stringify-entities": "^4.0.0",
@@ -2277,15 +3943,55 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
-		"node_modules/hast-util-to-parse5": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.0.0.tgz",
-			"integrity": "sha512-YHiS6aTaZ3N0Q3nxaY/Tj98D6kM8QX5Q8xqgg8G45zR7PvWnPGPP0vcKCgb/moIydEJ/QWczVrX0JODCVeoV7A==",
+		"node_modules/hast-util-to-jsx-runtime": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz",
+			"integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"@types/parse5": "^6.0.0",
-				"hast-to-hyperscript": "^10.0.0",
+				"@types/estree": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
+				"comma-separated-tokens": "^2.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"hast-util-whitespace": "^3.0.0",
+				"mdast-util-mdx-expression": "^2.0.0",
+				"mdast-util-mdx-jsx": "^3.0.0",
+				"mdast-util-mdxjs-esm": "^2.0.0",
 				"property-information": "^6.0.0",
+				"space-separated-tokens": "^2.0.0",
+				"style-to-object": "^1.0.0",
+				"unist-util-position": "^5.0.0",
+				"vfile-message": "^4.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz",
+			"integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ=="
+		},
+		"node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz",
+			"integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==",
+			"dependencies": {
+				"inline-style-parser": "0.2.2"
+			}
+		},
+		"node_modules/hast-util-to-parse5": {
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz",
+			"integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==",
+			"dependencies": {
+				"@types/hast": "^3.0.0",
+				"comma-separated-tokens": "^2.0.0",
+				"devlop": "^1.0.0",
+				"property-information": "^6.0.0",
+				"space-separated-tokens": "^2.0.0",
 				"web-namespaces": "^2.0.0",
 				"zwitch": "^2.0.0"
 			},
@@ -2295,22 +4001,25 @@
 			}
 		},
 		"node_modules/hast-util-whitespace": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
-			"integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+			"integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+			"dependencies": {
+				"@types/hast": "^3.0.0"
+			},
 			"funding": {
 				"type": "opencollective",
 				"url": "https://opencollective.com/unified"
 			}
 		},
 		"node_modules/hastscript": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz",
-			"integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==",
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz",
+			"integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
+				"@types/hast": "^3.0.0",
 				"comma-separated-tokens": "^2.0.0",
-				"hast-util-parse-selector": "^3.0.0",
+				"hast-util-parse-selector": "^4.0.0",
 				"property-information": "^6.0.0",
 				"space-separated-tokens": "^2.0.0"
 			},
@@ -2325,26 +4034,46 @@
 			"integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ=="
 		},
 		"node_modules/html-void-elements": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
-			"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
+			"integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
 			"funding": {
 				"type": "github",
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
+		"node_modules/http-cache-semantics": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
+		},
 		"node_modules/human-signals": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
-			"integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+			"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
 			"engines": {
-				"node": ">=12.20.0"
+				"node": ">=16.17.0"
 			}
 		},
 		"node_modules/iconoir": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/iconoir/-/iconoir-6.1.0.tgz",
-			"integrity": "sha512-K8Jrqkp51MdcDBzfiSY2vt9gHsujwEmoOHlWI2Wk++cgVvR1bP+fMLFmwBTPHduZ3aOK95snE6rUmlLPH7Yhnw=="
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/iconoir/-/iconoir-7.2.0.tgz",
+			"integrity": "sha512-uGaTCzdvQUAfNMDM2yJieGVM2KbW+8/8nkyLVtvXX+79tHQWxgPhpvk9g7rnZcbQuZ/YFAdP+0HB3eAmk+l2qw==",
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/iconoir"
+			}
+		},
+		"node_modules/iconv-lite": {
+			"version": "0.4.24",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+			"dependencies": {
+				"safer-buffer": ">= 2.1.2 < 3"
+			},
+			"engines": {
+				"node": ">=0.10.0"
+			}
 		},
 		"node_modules/ieee754": {
 			"version": "1.2.1",
@@ -2366,9 +4095,9 @@
 			]
 		},
 		"node_modules/import-meta-resolve": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz",
-			"integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz",
+			"integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==",
 			"funding": {
 				"type": "github",
 				"url": "https://github.com/sponsors/wooorm"
@@ -2379,11 +4108,45 @@
 			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
 		},
+		"node_modules/ini": {
+			"version": "1.3.8",
+			"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+			"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+			"optional": true
+		},
 		"node_modules/inline-style-parser": {
 			"version": "0.1.1",
 			"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
 			"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
 		},
+		"node_modules/is-alphabetical": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+			"integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
+		"node_modules/is-alphanumerical": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+			"integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+			"dependencies": {
+				"is-alphabetical": "^2.0.0",
+				"is-decimal": "^2.0.0"
+			},
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
+		"node_modules/is-arrayish": {
+			"version": "0.3.2",
+			"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+			"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+			"optional": true
+		},
 		"node_modules/is-binary-path": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -2418,16 +4181,25 @@
 			}
 		},
 		"node_modules/is-core-module": {
-			"version": "2.11.0",
-			"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
-			"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+			"version": "2.13.1",
+			"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+			"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
 			"dependencies": {
-				"has": "^1.0.3"
+				"hasown": "^2.0.0"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
+		"node_modules/is-decimal": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+			"integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
 		"node_modules/is-docker": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
@@ -2477,6 +4249,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/is-hexadecimal": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+			"integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
 		"node_modules/is-inside-container": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
@@ -2524,6 +4305,14 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/is-reference": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
+			"integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
+			"dependencies": {
+				"@types/estree": "*"
+			}
+		},
 		"node_modules/is-stream": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
@@ -2547,25 +4336,14 @@
 			}
 		},
 		"node_modules/is-wsl": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
-			"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+			"integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
 			"dependencies": {
-				"is-docker": "^2.0.0"
+				"is-inside-container": "^1.0.0"
 			},
 			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/is-wsl/node_modules/is-docker": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
-			"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
-			"bin": {
-				"is-docker": "cli.js"
-			},
-			"engines": {
-				"node": ">=8"
+				"node": ">=16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -2636,6 +4414,11 @@
 				"node": ">=6"
 			}
 		},
+		"node_modules/lite-youtube-embed": {
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/lite-youtube-embed/-/lite-youtube-embed-0.2.0.tgz",
+			"integrity": "sha512-XXXAk5sbvtjjwbie3XG+6HppgTm1HTGL/Uk9z9NkJH53o7puZLur434heHzAjkS60hZB3vT4ls25zl5rMiX4EA=="
+		},
 		"node_modules/load-yaml-file": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz",
@@ -2650,14 +4433,6 @@
 				"node": ">=6"
 			}
 		},
-		"node_modules/load-yaml-file/node_modules/strip-bom": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-			"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
-			"engines": {
-				"node": ">=4"
-			}
-		},
 		"node_modules/locate-path": {
 			"version": "6.0.0",
 			"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -2672,6 +4447,11 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/lodash.merge": {
+			"version": "4.6.2",
+			"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+		},
 		"node_modules/log-symbols": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz",
@@ -2716,16 +4496,32 @@
 			}
 		},
 		"node_modules/magic-string": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
-			"integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
+			"version": "0.30.5",
+			"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
+			"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
 			"dependencies": {
-				"@jridgewell/sourcemap-codec": "^1.4.13"
+				"@jridgewell/sourcemap-codec": "^1.4.15"
 			},
 			"engines": {
 				"node": ">=12"
 			}
 		},
+		"node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec": {
+			"version": "1.4.15",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+		},
+		"node_modules/markdown-extensions": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz",
+			"integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==",
+			"engines": {
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/markdown-table": {
 			"version": "3.0.3",
 			"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz",
@@ -2736,13 +4532,13 @@
 			}
 		},
 		"node_modules/mdast-util-definitions": {
-			"version": "5.1.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz",
-			"integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz",
+			"integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"@types/unist": "^2.0.0",
-				"unist-util-visit": "^4.0.0"
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
+				"unist-util-visit": "^5.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2750,14 +4546,14 @@
 			}
 		},
 		"node_modules/mdast-util-find-and-replace": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz",
-			"integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz",
+			"integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
 				"escape-string-regexp": "^5.0.0",
-				"unist-util-is": "^5.0.0",
-				"unist-util-visit-parents": "^5.0.0"
+				"unist-util-is": "^6.0.0",
+				"unist-util-visit-parents": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2776,22 +4572,22 @@
 			}
 		},
 		"node_modules/mdast-util-from-markdown": {
-			"version": "1.3.1",
-			"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz",
-			"integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz",
+			"integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"@types/unist": "^2.0.0",
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
 				"decode-named-character-reference": "^1.0.0",
-				"mdast-util-to-string": "^3.1.0",
-				"micromark": "^3.0.0",
-				"micromark-util-decode-numeric-character-reference": "^1.0.0",
-				"micromark-util-decode-string": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"unist-util-stringify-position": "^3.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"mdast-util-to-string": "^4.0.0",
+				"micromark": "^4.0.0",
+				"micromark-util-decode-numeric-character-reference": "^2.0.0",
+				"micromark-util-decode-string": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unist-util-stringify-position": "^4.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2799,17 +4595,17 @@
 			}
 		},
 		"node_modules/mdast-util-gfm": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz",
-			"integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz",
+			"integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==",
 			"dependencies": {
-				"mdast-util-from-markdown": "^1.0.0",
-				"mdast-util-gfm-autolink-literal": "^1.0.0",
-				"mdast-util-gfm-footnote": "^1.0.0",
-				"mdast-util-gfm-strikethrough": "^1.0.0",
-				"mdast-util-gfm-table": "^1.0.0",
-				"mdast-util-gfm-task-list-item": "^1.0.0",
-				"mdast-util-to-markdown": "^1.0.0"
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-gfm-autolink-literal": "^2.0.0",
+				"mdast-util-gfm-footnote": "^2.0.0",
+				"mdast-util-gfm-strikethrough": "^2.0.0",
+				"mdast-util-gfm-table": "^2.0.0",
+				"mdast-util-gfm-task-list-item": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2817,14 +4613,15 @@
 			}
 		},
 		"node_modules/mdast-util-gfm-autolink-literal": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz",
-			"integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz",
+			"integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
 				"ccount": "^2.0.0",
-				"mdast-util-find-and-replace": "^2.0.0",
-				"micromark-util-character": "^1.0.0"
+				"devlop": "^1.0.0",
+				"mdast-util-find-and-replace": "^3.0.0",
+				"micromark-util-character": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2832,13 +4629,15 @@
 			}
 		},
 		"node_modules/mdast-util-gfm-footnote": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz",
-			"integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz",
+			"integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-markdown": "^1.3.0",
-				"micromark-util-normalize-identifier": "^1.0.0"
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.1.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2846,12 +4645,13 @@
 			}
 		},
 		"node_modules/mdast-util-gfm-strikethrough": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz",
-			"integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
+			"integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-markdown": "^1.3.0"
+				"@types/mdast": "^4.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2859,14 +4659,15 @@
 			}
 		},
 		"node_modules/mdast-util-gfm-table": {
-			"version": "1.0.7",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz",
-			"integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
+			"integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
 				"markdown-table": "^3.0.0",
-				"mdast-util-from-markdown": "^1.0.0",
-				"mdast-util-to-markdown": "^1.3.0"
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2874,12 +4675,88 @@
 			}
 		},
 		"node_modules/mdast-util-gfm-task-list-item": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz",
-			"integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
+			"integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-markdown": "^1.3.0"
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/mdast-util-mdx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz",
+			"integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==",
+			"dependencies": {
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-mdx-expression": "^2.0.0",
+				"mdast-util-mdx-jsx": "^3.0.0",
+				"mdast-util-mdxjs-esm": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/mdast-util-mdx-expression": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz",
+			"integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==",
+			"dependencies": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/mdast-util-mdx-jsx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz",
+			"integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==",
+			"dependencies": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
+				"ccount": "^2.0.0",
+				"devlop": "^1.1.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0",
+				"parse-entities": "^4.0.0",
+				"stringify-entities": "^4.0.0",
+				"unist-util-remove-position": "^5.0.0",
+				"unist-util-stringify-position": "^4.0.0",
+				"vfile-message": "^4.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/mdast-util-mdxjs-esm": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
+			"integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
+			"dependencies": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2887,12 +4764,12 @@
 			}
 		},
 		"node_modules/mdast-util-phrasing": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz",
-			"integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz",
+			"integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"unist-util-is": "^5.0.0"
+				"@types/mdast": "^4.0.0",
+				"unist-util-is": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2900,18 +4777,18 @@
 			}
 		},
 		"node_modules/mdast-util-to-hast": {
-			"version": "12.3.0",
-			"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz",
-			"integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==",
+			"version": "13.0.2",
+			"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz",
+			"integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"@types/mdast": "^3.0.0",
-				"mdast-util-definitions": "^5.0.0",
-				"micromark-util-sanitize-uri": "^1.1.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"@ungap/structured-clone": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
 				"trim-lines": "^3.0.0",
-				"unist-util-generated": "^2.0.0",
-				"unist-util-position": "^4.0.0",
-				"unist-util-visit": "^4.0.0"
+				"unist-util-position": "^5.0.0",
+				"unist-util-visit": "^5.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2919,17 +4796,17 @@
 			}
 		},
 		"node_modules/mdast-util-to-markdown": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz",
-			"integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz",
+			"integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"@types/unist": "^2.0.0",
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
 				"longest-streak": "^3.0.0",
-				"mdast-util-phrasing": "^3.0.0",
-				"mdast-util-to-string": "^3.0.0",
-				"micromark-util-decode-string": "^1.0.0",
-				"unist-util-visit": "^4.0.0",
+				"mdast-util-phrasing": "^4.0.0",
+				"mdast-util-to-string": "^4.0.0",
+				"micromark-util-decode-string": "^2.0.0",
+				"unist-util-visit": "^5.0.0",
 				"zwitch": "^2.0.0"
 			},
 			"funding": {
@@ -2938,11 +4815,11 @@
 			}
 		},
 		"node_modules/mdast-util-to-string": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
-			"integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
+			"integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0"
+				"@types/mdast": "^4.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -2963,9 +4840,9 @@
 			}
 		},
 		"node_modules/micromark": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz",
-			"integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz",
+			"integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -2980,26 +4857,26 @@
 				"@types/debug": "^4.0.0",
 				"debug": "^4.0.0",
 				"decode-named-character-reference": "^1.0.0",
-				"micromark-core-commonmark": "^1.0.1",
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-combine-extensions": "^1.0.0",
-				"micromark-util-decode-numeric-character-reference": "^1.0.0",
-				"micromark-util-encode": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-resolve-all": "^1.0.0",
-				"micromark-util-sanitize-uri": "^1.0.0",
-				"micromark-util-subtokenize": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.1",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-core-commonmark": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-combine-extensions": "^2.0.0",
+				"micromark-util-decode-numeric-character-reference": "^2.0.0",
+				"micromark-util-encode": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-resolve-all": "^2.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
+				"micromark-util-subtokenize": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-core-commonmark": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz",
-			"integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz",
+			"integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3012,36 +4889,36 @@
 			],
 			"dependencies": {
 				"decode-named-character-reference": "^1.0.0",
-				"micromark-factory-destination": "^1.0.0",
-				"micromark-factory-label": "^1.0.0",
-				"micromark-factory-space": "^1.0.0",
-				"micromark-factory-title": "^1.0.0",
-				"micromark-factory-whitespace": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-classify-character": "^1.0.0",
-				"micromark-util-html-tag-name": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-resolve-all": "^1.0.0",
-				"micromark-util-subtokenize": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.1",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-factory-destination": "^2.0.0",
+				"micromark-factory-label": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-factory-title": "^2.0.0",
+				"micromark-factory-whitespace": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-classify-character": "^2.0.0",
+				"micromark-util-html-tag-name": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-resolve-all": "^2.0.0",
+				"micromark-util-subtokenize": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-extension-gfm": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz",
-			"integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
+			"integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
 			"dependencies": {
-				"micromark-extension-gfm-autolink-literal": "^1.0.0",
-				"micromark-extension-gfm-footnote": "^1.0.0",
-				"micromark-extension-gfm-strikethrough": "^1.0.0",
-				"micromark-extension-gfm-table": "^1.0.0",
-				"micromark-extension-gfm-tagfilter": "^1.0.0",
-				"micromark-extension-gfm-task-list-item": "^1.0.0",
-				"micromark-util-combine-extensions": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-extension-gfm-autolink-literal": "^2.0.0",
+				"micromark-extension-gfm-footnote": "^2.0.0",
+				"micromark-extension-gfm-strikethrough": "^2.0.0",
+				"micromark-extension-gfm-table": "^2.0.0",
+				"micromark-extension-gfm-tagfilter": "^2.0.0",
+				"micromark-extension-gfm-task-list-item": "^2.0.0",
+				"micromark-util-combine-extensions": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -3049,14 +4926,14 @@
 			}
 		},
 		"node_modules/micromark-extension-gfm-autolink-literal": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz",
-			"integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz",
+			"integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==",
 			"dependencies": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-sanitize-uri": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -3064,18 +4941,18 @@
 			}
 		},
 		"node_modules/micromark-extension-gfm-footnote": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz",
-			"integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz",
+			"integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==",
 			"dependencies": {
-				"micromark-core-commonmark": "^1.0.0",
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-sanitize-uri": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-core-commonmark": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -3083,16 +4960,16 @@
 			}
 		},
 		"node_modules/micromark-extension-gfm-strikethrough": {
-			"version": "1.0.7",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz",
-			"integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz",
+			"integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==",
 			"dependencies": {
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-classify-character": "^1.0.0",
-				"micromark-util-resolve-all": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-classify-character": "^2.0.0",
+				"micromark-util-resolve-all": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -3100,15 +4977,15 @@
 			}
 		},
 		"node_modules/micromark-extension-gfm-table": {
-			"version": "1.0.7",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz",
-			"integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz",
+			"integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==",
 			"dependencies": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -3116,11 +4993,11 @@
 			}
 		},
 		"node_modules/micromark-extension-gfm-tagfilter": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz",
-			"integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
+			"integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
 			"dependencies": {
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-types": "^2.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -3128,15 +5005,112 @@
 			}
 		},
 		"node_modules/micromark-extension-gfm-task-list-item": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz",
-			"integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz",
+			"integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==",
 			"dependencies": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/micromark-extension-mdx-expression": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz",
+			"integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==",
+			"funding": [
+				{
+					"type": "GitHub Sponsors",
+					"url": "https://github.com/sponsors/unifiedjs"
+				},
+				{
+					"type": "OpenCollective",
+					"url": "https://opencollective.com/unified"
+				}
+			],
+			"dependencies": {
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-factory-mdx-expression": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-events-to-acorn": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			}
+		},
+		"node_modules/micromark-extension-mdx-jsx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz",
+			"integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==",
+			"dependencies": {
+				"@types/acorn": "^4.0.0",
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"micromark-factory-mdx-expression": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"vfile-message": "^4.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/micromark-extension-mdx-md": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz",
+			"integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==",
+			"dependencies": {
+				"micromark-util-types": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/micromark-extension-mdxjs": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz",
+			"integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==",
+			"dependencies": {
+				"acorn": "^8.0.0",
+				"acorn-jsx": "^5.0.0",
+				"micromark-extension-mdx-expression": "^3.0.0",
+				"micromark-extension-mdx-jsx": "^3.0.0",
+				"micromark-extension-mdx-md": "^2.0.0",
+				"micromark-extension-mdxjs-esm": "^3.0.0",
+				"micromark-util-combine-extensions": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/micromark-extension-mdxjs-esm": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz",
+			"integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==",
+			"dependencies": {
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-core-commonmark": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-events-to-acorn": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unist-util-position-from-estree": "^2.0.0",
+				"vfile-message": "^4.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -3144,9 +5118,9 @@
 			}
 		},
 		"node_modules/micromark-factory-destination": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz",
-			"integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz",
+			"integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3158,15 +5132,15 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-factory-label": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz",
-			"integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz",
+			"integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3178,16 +5152,41 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			}
+		},
+		"node_modules/micromark-factory-mdx-expression": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz",
+			"integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==",
+			"funding": [
+				{
+					"type": "GitHub Sponsors",
+					"url": "https://github.com/sponsors/unifiedjs"
+				},
+				{
+					"type": "OpenCollective",
+					"url": "https://opencollective.com/unified"
+				}
+			],
+			"dependencies": {
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-events-to-acorn": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unist-util-position-from-estree": "^2.0.0",
+				"vfile-message": "^4.0.0"
 			}
 		},
 		"node_modules/micromark-factory-space": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz",
-			"integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz",
+			"integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3199,14 +5198,14 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-factory-title": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz",
-			"integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz",
+			"integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3218,16 +5217,16 @@
 				}
 			],
 			"dependencies": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-factory-whitespace": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz",
-			"integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz",
+			"integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3239,16 +5238,16 @@
 				}
 			],
 			"dependencies": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-character": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
-			"integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz",
+			"integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3260,14 +5259,14 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-chunked": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz",
-			"integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz",
+			"integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3279,13 +5278,13 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-classify-character": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz",
-			"integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz",
+			"integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3297,15 +5296,15 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-combine-extensions": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz",
-			"integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz",
+			"integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3317,14 +5316,14 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-decode-numeric-character-reference": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz",
-			"integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz",
+			"integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3336,13 +5335,13 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-decode-string": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz",
-			"integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz",
+			"integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3355,15 +5354,15 @@
 			],
 			"dependencies": {
 				"decode-named-character-reference": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-decode-numeric-character-reference": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-decode-numeric-character-reference": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-encode": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz",
-			"integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz",
+			"integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3375,10 +5374,35 @@
 				}
 			]
 		},
+		"node_modules/micromark-util-events-to-acorn": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz",
+			"integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==",
+			"funding": [
+				{
+					"type": "GitHub Sponsors",
+					"url": "https://github.com/sponsors/unifiedjs"
+				},
+				{
+					"type": "OpenCollective",
+					"url": "https://opencollective.com/unified"
+				}
+			],
+			"dependencies": {
+				"@types/acorn": "^4.0.0",
+				"@types/estree": "^1.0.0",
+				"@types/unist": "^3.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-visit": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"vfile-message": "^4.0.0"
+			}
+		},
 		"node_modules/micromark-util-html-tag-name": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz",
-			"integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz",
+			"integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3391,9 +5415,9 @@
 			]
 		},
 		"node_modules/micromark-util-normalize-identifier": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz",
-			"integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz",
+			"integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3405,13 +5429,13 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-resolve-all": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz",
-			"integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz",
+			"integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3423,13 +5447,13 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-sanitize-uri": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz",
-			"integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz",
+			"integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3441,15 +5465,15 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-encode": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-encode": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-subtokenize": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz",
-			"integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz",
+			"integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3461,16 +5485,16 @@
 				}
 			],
 			"dependencies": {
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"node_modules/micromark-util-symbol": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz",
-			"integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz",
+			"integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3483,9 +5507,9 @@
 			]
 		},
 		"node_modules/micromark-util-types": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
-			"integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz",
+			"integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==",
 			"funding": [
 				{
 					"type": "GitHub Sponsors",
@@ -3531,23 +5555,47 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/mri": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
-			"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+		"node_modules/mimic-response": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+			"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+			"optional": true,
 			"engines": {
-				"node": ">=4"
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/minimist": {
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+			"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+			"optional": true,
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
+		"node_modules/mkdirp-classic": {
+			"version": "0.5.3",
+			"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+			"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+			"optional": true
+		},
 		"node_modules/ms": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
 		},
+		"node_modules/muggle-string": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz",
+			"integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg=="
+		},
 		"node_modules/nanoid": {
-			"version": "3.3.6",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
-			"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 			"funding": [
 				{
 					"type": "github",
@@ -3561,6 +5609,36 @@
 				"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
 			}
 		},
+		"node_modules/napi-build-utils": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
+			"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
+			"optional": true
+		},
+		"node_modules/needle": {
+			"version": "2.9.1",
+			"resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
+			"integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==",
+			"dependencies": {
+				"debug": "^3.2.6",
+				"iconv-lite": "^0.4.4",
+				"sax": "^1.2.4"
+			},
+			"bin": {
+				"needle": "bin/needle"
+			},
+			"engines": {
+				"node": ">= 4.4.x"
+			}
+		},
+		"node_modules/needle/node_modules/debug": {
+			"version": "3.2.7",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+			"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+			"dependencies": {
+				"ms": "^2.1.1"
+			}
+		},
 		"node_modules/nlcst-to-string": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz",
@@ -3573,10 +5651,28 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
+		"node_modules/node-abi": {
+			"version": "3.54.0",
+			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.54.0.tgz",
+			"integrity": "sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==",
+			"optional": true,
+			"dependencies": {
+				"semver": "^7.3.5"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/node-addon-api": {
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+			"integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
+			"optional": true
+		},
 		"node_modules/node-releases": {
-			"version": "2.0.12",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
-			"integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ=="
+			"version": "2.0.14",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+			"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
 		},
 		"node_modules/normalize-path": {
 			"version": "3.0.0",
@@ -3586,6 +5682,14 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/normalize-range": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+			"integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
 		"node_modules/npm-run-path": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
@@ -3611,6 +5715,15 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/once": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+			"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+			"optional": true,
+			"dependencies": {
+				"wrappy": "1"
+			}
+		},
 		"node_modules/onetime": {
 			"version": "6.0.0",
 			"resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
@@ -3625,40 +5738,23 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/open": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz",
-			"integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==",
-			"dependencies": {
-				"default-browser": "^4.0.0",
-				"define-lazy-prop": "^3.0.0",
-				"is-inside-container": "^1.0.0",
-				"is-wsl": "^2.2.0"
-			},
-			"engines": {
-				"node": ">=14.16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/ora": {
-			"version": "6.3.1",
-			"resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz",
-			"integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz",
+			"integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==",
 			"dependencies": {
-				"chalk": "^5.0.0",
+				"chalk": "^5.3.0",
 				"cli-cursor": "^4.0.0",
-				"cli-spinners": "^2.6.1",
+				"cli-spinners": "^2.9.0",
 				"is-interactive": "^2.0.0",
-				"is-unicode-supported": "^1.1.0",
+				"is-unicode-supported": "^1.3.0",
 				"log-symbols": "^5.1.0",
 				"stdin-discarder": "^0.1.0",
-				"strip-ansi": "^7.0.1",
-				"wcwidth": "^1.0.1"
+				"string-width": "^6.1.0",
+				"strip-ansi": "^7.1.0"
 			},
 			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+				"node": ">=16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -3675,15 +5771,31 @@
 				"url": "https://github.com/chalk/chalk?sponsor=1"
 			}
 		},
-		"node_modules/p-limit": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-			"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+		"node_modules/ora/node_modules/string-width": {
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz",
+			"integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
 			"dependencies": {
-				"yocto-queue": "^0.1.0"
+				"eastasianwidth": "^0.2.0",
+				"emoji-regex": "^10.2.1",
+				"strip-ansi": "^7.0.1"
 			},
 			"engines": {
-				"node": ">=10"
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-limit": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz",
+			"integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==",
+			"dependencies": {
+				"yocto-queue": "^1.0.0"
+			},
+			"engines": {
+				"node": ">=18"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -3703,6 +5815,57 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/p-locate/node_modules/p-limit": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+			"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+			"dependencies": {
+				"yocto-queue": "^0.1.0"
+			},
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-locate/node_modules/yocto-queue": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+			"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-queue": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz",
+			"integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==",
+			"dependencies": {
+				"eventemitter3": "^5.0.1",
+				"p-timeout": "^6.1.2"
+			},
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-timeout": {
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz",
+			"integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==",
+			"engines": {
+				"node": ">=14.16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/p-try": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -3711,6 +5874,30 @@
 				"node": ">=6"
 			}
 		},
+		"node_modules/parse-entities": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz",
+			"integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"character-entities": "^2.0.0",
+				"character-entities-legacy": "^3.0.0",
+				"character-reference-invalid": "^2.0.0",
+				"decode-named-character-reference": "^1.0.0",
+				"is-alphanumerical": "^2.0.0",
+				"is-decimal": "^2.0.0",
+				"is-hexadecimal": "^2.0.0"
+			},
+			"funding": {
+				"type": "github",
+				"url": "https://github.com/sponsors/wooorm"
+			}
+		},
+		"node_modules/parse-entities/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
 		"node_modules/parse-latin": {
 			"version": "5.0.1",
 			"resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.1.tgz",
@@ -3726,9 +5913,20 @@
 			}
 		},
 		"node_modules/parse5": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-			"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+			"version": "7.1.2",
+			"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+			"integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+			"dependencies": {
+				"entities": "^4.4.0"
+			},
+			"funding": {
+				"url": "https://github.com/inikulin/parse5?sponsor=1"
+			}
+		},
+		"node_modules/path-browserify": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+			"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
 		},
 		"node_modules/path-exists": {
 			"version": "4.0.0",
@@ -3756,6 +5954,16 @@
 			"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
 			"integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
 		},
+		"node_modules/periscopic": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
+			"integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
+			"dependencies": {
+				"@types/estree": "^1.0.0",
+				"estree-walker": "^3.0.0",
+				"is-reference": "^3.0.0"
+			}
+		},
 		"node_modules/picocolors": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -3840,9 +6048,9 @@
 			}
 		},
 		"node_modules/postcss": {
-			"version": "8.4.25",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz",
-			"integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==",
+			"version": "8.4.38",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+			"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
 			"funding": [
 				{
 					"type": "opencollective",
@@ -3858,18 +6066,748 @@
 				}
 			],
 			"dependencies": {
-				"nanoid": "^3.3.6",
+				"nanoid": "^3.3.7",
 				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.2"
+				"source-map-js": "^1.2.0"
 			},
 			"engines": {
 				"node": "^10 || ^12 || >=14"
 			}
 		},
+		"node_modules/postcss-attribute-case-insensitive": {
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz",
+			"integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==",
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.10"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/csstools"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-clamp": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz",
+			"integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==",
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": ">=7.6.0"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4.6"
+			}
+		},
+		"node_modules/postcss-color-functional-notation": {
+			"version": "6.0.3",
+			"resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.3.tgz",
+			"integrity": "sha512-2jBr3H0sk3qGh/3BkmLsOKcYyVfSlM1K2QQYVU7eW5mkg7ZOQ4aU/Rtbh7vJ9FxAfgf8iHRwXBsQkHqUxzTkXw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-color-hex-alpha": {
+			"version": "9.0.3",
+			"resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.3.tgz",
+			"integrity": "sha512-7sEHU4tAS6htlxun8AB9LDrCXoljxaC34tFVRlYKcvO+18r5fvGiXgv5bQzN40+4gXLCyWSMRK5FK31244WcCA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-color-rebeccapurple": {
+			"version": "9.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.2.tgz",
+			"integrity": "sha512-f+RDEAPW2m8UbJWkSpRfV+QxhSaQhDMihI75DVGJJh4oRIoegjheeRtINFJum9D8BqGJcvD4GLjggTvCwZ4zuA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-custom-media": {
+			"version": "10.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz",
+			"integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/cascade-layer-name-parser": "^1.0.5",
+				"@csstools/css-parser-algorithms": "^2.3.2",
+				"@csstools/css-tokenizer": "^2.2.1",
+				"@csstools/media-query-list-parser": "^2.1.5"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-custom-properties": {
+			"version": "13.3.3",
+			"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.3.tgz",
+			"integrity": "sha512-xLmILb2R83aG4X++iVFg8TWadOlc45xiyFHRZD6Yhhu2igrTHXL6C75AEWqx6k9lxrr9sK5rcfUI9JvTCxBTvA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/cascade-layer-name-parser": "^1.0.6",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-custom-selectors": {
+			"version": "7.1.6",
+			"resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz",
+			"integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/cascade-layer-name-parser": "^1.0.5",
+				"@csstools/css-parser-algorithms": "^2.3.2",
+				"@csstools/css-tokenizer": "^2.2.1",
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-dir-pseudo-class": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz",
+			"integrity": "sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-double-position-gradients": {
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.3.tgz",
+			"integrity": "sha512-QKYpwmaSm6HcdS0ndAuWSNNMv78R1oSySoh3mYBmctHWr2KWcwPJVakdOyU4lvFVW0GRu9wfIQwGeM4p3xU9ow==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3",
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-focus-visible": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz",
+			"integrity": "sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-focus-within": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz",
+			"integrity": "sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-font-variant": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
+			"integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
+			"peerDependencies": {
+				"postcss": "^8.1.0"
+			}
+		},
+		"node_modules/postcss-gap-properties": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz",
+			"integrity": "sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-image-set-function": {
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.2.tgz",
+			"integrity": "sha512-/O1xwqpJiz/apxGQi7UUfv1xUcorvkHZfvCYHPpRxxZj2WvjD0rg0+/+c+u5/Do5CpUg3XvfYxMrhcnjW1ArDQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-lab-function": {
+			"version": "6.0.8",
+			"resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.8.tgz",
+			"integrity": "sha512-agYs7R9Z5gnX837fCkH8TEQIHdhyDsMPPnpuuENt/dxoDVAykBaqbdxIN4DagOj+ZQo20iRNNJeY3MsFcdI6Sg==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-logical": {
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.1.tgz",
+			"integrity": "sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-nesting": {
+			"version": "12.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.2.tgz",
+			"integrity": "sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-opacity-percentage": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz",
+			"integrity": "sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==",
+			"funding": [
+				{
+					"type": "kofi",
+					"url": "https://ko-fi.com/mrcgrtz"
+				},
+				{
+					"type": "liberapay",
+					"url": "https://liberapay.com/mrcgrtz"
+				}
+			],
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.2"
+			}
+		},
+		"node_modules/postcss-overflow-shorthand": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz",
+			"integrity": "sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-page-break": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
+			"integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
+			"peerDependencies": {
+				"postcss": "^8"
+			}
+		},
+		"node_modules/postcss-place": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.1.tgz",
+			"integrity": "sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-preset-env": {
+			"version": "9.3.0",
+			"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz",
+			"integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"@csstools/postcss-cascade-layers": "^4.0.1",
+				"@csstools/postcss-color-function": "^3.0.7",
+				"@csstools/postcss-color-mix-function": "^2.0.7",
+				"@csstools/postcss-exponential-functions": "^1.0.1",
+				"@csstools/postcss-font-format-keywords": "^3.0.0",
+				"@csstools/postcss-gamut-mapping": "^1.0.0",
+				"@csstools/postcss-gradients-interpolation-method": "^4.0.7",
+				"@csstools/postcss-hwb-function": "^3.0.6",
+				"@csstools/postcss-ic-unit": "^3.0.2",
+				"@csstools/postcss-initial": "^1.0.0",
+				"@csstools/postcss-is-pseudo-class": "^4.0.3",
+				"@csstools/postcss-logical-float-and-clear": "^2.0.0",
+				"@csstools/postcss-logical-overflow": "^1.0.0",
+				"@csstools/postcss-logical-overscroll-behavior": "^1.0.0",
+				"@csstools/postcss-logical-resize": "^2.0.0",
+				"@csstools/postcss-logical-viewport-units": "^2.0.3",
+				"@csstools/postcss-media-minmax": "^1.1.0",
+				"@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.3",
+				"@csstools/postcss-nested-calc": "^3.0.0",
+				"@csstools/postcss-normalize-display-values": "^3.0.1",
+				"@csstools/postcss-oklab-function": "^3.0.7",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.2",
+				"@csstools/postcss-relative-color-syntax": "^2.0.7",
+				"@csstools/postcss-scope-pseudo-class": "^3.0.0",
+				"@csstools/postcss-stepped-value-functions": "^3.0.2",
+				"@csstools/postcss-text-decoration-shorthand": "^3.0.3",
+				"@csstools/postcss-trigonometric-functions": "^3.0.2",
+				"@csstools/postcss-unset-value": "^3.0.0",
+				"autoprefixer": "^10.4.16",
+				"browserslist": "^4.22.1",
+				"css-blank-pseudo": "^6.0.0",
+				"css-has-pseudo": "^6.0.0",
+				"css-prefers-color-scheme": "^9.0.0",
+				"cssdb": "^7.9.0",
+				"postcss-attribute-case-insensitive": "^6.0.2",
+				"postcss-clamp": "^4.1.0",
+				"postcss-color-functional-notation": "^6.0.2",
+				"postcss-color-hex-alpha": "^9.0.2",
+				"postcss-color-rebeccapurple": "^9.0.1",
+				"postcss-custom-media": "^10.0.2",
+				"postcss-custom-properties": "^13.3.2",
+				"postcss-custom-selectors": "^7.1.6",
+				"postcss-dir-pseudo-class": "^8.0.0",
+				"postcss-double-position-gradients": "^5.0.2",
+				"postcss-focus-visible": "^9.0.0",
+				"postcss-focus-within": "^8.0.0",
+				"postcss-font-variant": "^5.0.0",
+				"postcss-gap-properties": "^5.0.0",
+				"postcss-image-set-function": "^6.0.1",
+				"postcss-lab-function": "^6.0.7",
+				"postcss-logical": "^7.0.0",
+				"postcss-nesting": "^12.0.1",
+				"postcss-opacity-percentage": "^2.0.0",
+				"postcss-overflow-shorthand": "^5.0.0",
+				"postcss-page-break": "^3.0.4",
+				"postcss-place": "^9.0.0",
+				"postcss-pseudo-class-any-link": "^9.0.0",
+				"postcss-replace-overflow-wrap": "^4.0.0",
+				"postcss-selector-not": "^7.0.1",
+				"postcss-value-parser": "^4.2.0"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-pseudo-class-any-link": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz",
+			"integrity": "sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/csstools"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/csstools"
+				}
+			],
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.13"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-replace-overflow-wrap": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
+			"integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
+			"peerDependencies": {
+				"postcss": "^8.0.3"
+			}
+		},
+		"node_modules/postcss-selector-not": {
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz",
+			"integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==",
+			"dependencies": {
+				"postcss-selector-parser": "^6.0.10"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/csstools"
+			},
+			"peerDependencies": {
+				"postcss": "^8.4"
+			}
+		},
+		"node_modules/postcss-selector-parser": {
+			"version": "6.0.15",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
+			"integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
+			"dependencies": {
+				"cssesc": "^3.0.0",
+				"util-deprecate": "^1.0.2"
+			},
+			"engines": {
+				"node": ">=4"
+			}
+		},
+		"node_modules/postcss-value-parser": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+			"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+		},
+		"node_modules/prebuild-install": {
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
+			"integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
+			"optional": true,
+			"dependencies": {
+				"detect-libc": "^2.0.0",
+				"expand-template": "^2.0.3",
+				"github-from-package": "0.0.0",
+				"minimist": "^1.2.3",
+				"mkdirp-classic": "^0.5.3",
+				"napi-build-utils": "^1.0.1",
+				"node-abi": "^3.3.0",
+				"pump": "^3.0.0",
+				"rc": "^1.2.7",
+				"simple-get": "^4.0.0",
+				"tar-fs": "^2.0.0",
+				"tunnel-agent": "^0.6.0"
+			},
+			"bin": {
+				"prebuild-install": "bin.js"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/prebuild-install/node_modules/bl": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+			"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+			"optional": true,
+			"dependencies": {
+				"buffer": "^5.5.0",
+				"inherits": "^2.0.4",
+				"readable-stream": "^3.4.0"
+			}
+		},
+		"node_modules/prebuild-install/node_modules/buffer": {
+			"version": "5.7.1",
+			"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+			"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/feross"
+				},
+				{
+					"type": "patreon",
+					"url": "https://www.patreon.com/feross"
+				},
+				{
+					"type": "consulting",
+					"url": "https://feross.org/support"
+				}
+			],
+			"optional": true,
+			"dependencies": {
+				"base64-js": "^1.3.1",
+				"ieee754": "^1.1.13"
+			}
+		},
+		"node_modules/prebuild-install/node_modules/tar-fs": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+			"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+			"optional": true,
+			"dependencies": {
+				"chownr": "^1.1.1",
+				"mkdirp-classic": "^0.5.2",
+				"pump": "^3.0.0",
+				"tar-stream": "^2.1.4"
+			}
+		},
+		"node_modules/prebuild-install/node_modules/tar-stream": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+			"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+			"optional": true,
+			"dependencies": {
+				"bl": "^4.0.3",
+				"end-of-stream": "^1.4.1",
+				"fs-constants": "^1.0.0",
+				"inherits": "^2.0.3",
+				"readable-stream": "^3.1.1"
+			},
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/preferred-pm": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz",
-			"integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==",
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz",
+			"integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==",
 			"dependencies": {
 				"find-up": "^5.0.0",
 				"find-yarn-workspace-root2": "1.2.16",
@@ -3880,33 +6818,16 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/prettier": {
-			"version": "2.8.8",
-			"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
-			"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
-			"bin": {
-				"prettier": "bin-prettier.js"
-			},
-			"engines": {
-				"node": ">=10.13.0"
-			},
-			"funding": {
-				"url": "https://github.com/prettier/prettier?sponsor=1"
-			}
-		},
-		"node_modules/prettier-plugin-astro": {
-			"version": "0.9.1",
-			"resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.9.1.tgz",
-			"integrity": "sha512-pYZXSbdq0eElvzoIMArzv1SBn1NUXzopjlcnt6Ql8VW32PjC12NovwBjXJ6rh8qQLi7vF8jNqAbraKW03UPfag==",
+		"node_modules/preferred-pm/node_modules/which-pm": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz",
+			"integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==",
 			"dependencies": {
-				"@astrojs/compiler": "^1.0.1",
-				"prettier": "^2.8.3",
-				"sass-formatter": "^0.7.5",
-				"synckit": "^0.8.4"
+				"load-yaml-file": "^0.2.0",
+				"path-exists": "^4.0.0"
 			},
 			"engines": {
-				"node": "^14.15.0 || >=16.0.0",
-				"pnpm": ">=7.14.0"
+				"node": ">=8.15"
 			}
 		},
 		"node_modules/prismjs": {
@@ -3917,6 +6838,16 @@
 				"node": ">=6"
 			}
 		},
+		"node_modules/probe-image-size": {
+			"version": "7.2.3",
+			"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz",
+			"integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==",
+			"dependencies": {
+				"lodash.merge": "^4.6.2",
+				"needle": "^2.5.2",
+				"stream-parser": "~0.3.1"
+			}
+		},
 		"node_modules/prompts": {
 			"version": "2.4.2",
 			"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
@@ -3938,14 +6869,24 @@
 			}
 		},
 		"node_modules/property-information": {
-			"version": "6.2.0",
-			"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz",
-			"integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==",
+			"version": "6.4.0",
+			"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz",
+			"integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==",
 			"funding": {
 				"type": "github",
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
+		"node_modules/pump": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+			"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+			"optional": true,
+			"dependencies": {
+				"end-of-stream": "^1.1.0",
+				"once": "^1.3.1"
+			}
+		},
 		"node_modules/queue-microtask": {
 			"version": "1.2.3",
 			"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -3965,6 +6906,27 @@
 				}
 			]
 		},
+		"node_modules/queue-tick": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
+			"integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
+			"optional": true
+		},
+		"node_modules/rc": {
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+			"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+			"optional": true,
+			"dependencies": {
+				"deep-extend": "^0.6.0",
+				"ini": "~1.3.0",
+				"minimist": "^1.2.0",
+				"strip-json-comments": "~2.0.1"
+			},
+			"bin": {
+				"rc": "cli.js"
+			}
+		},
 		"node_modules/readable-stream": {
 			"version": "3.6.2",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
@@ -3990,14 +6952,14 @@
 			}
 		},
 		"node_modules/rehype": {
-			"version": "12.0.1",
-			"resolved": "https://registry.npmjs.org/rehype/-/rehype-12.0.1.tgz",
-			"integrity": "sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==",
+			"version": "13.0.1",
+			"resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz",
+			"integrity": "sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"rehype-parse": "^8.0.0",
-				"rehype-stringify": "^9.0.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"rehype-parse": "^9.0.0",
+				"rehype-stringify": "^10.0.0",
+				"unified": "^11.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4005,14 +6967,13 @@
 			}
 		},
 		"node_modules/rehype-parse": {
-			"version": "8.0.4",
-			"resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz",
-			"integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz",
+			"integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"hast-util-from-parse5": "^7.0.0",
-				"parse5": "^6.0.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"hast-util-from-html": "^2.0.0",
+				"unified": "^11.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4020,13 +6981,13 @@
 			}
 		},
 		"node_modules/rehype-raw": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz",
-			"integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==",
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
+			"integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"hast-util-raw": "^7.2.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"hast-util-raw": "^9.0.0",
+				"vfile": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4034,13 +6995,13 @@
 			}
 		},
 		"node_modules/rehype-stringify": {
-			"version": "9.0.3",
-			"resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.3.tgz",
-			"integrity": "sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==",
+			"version": "10.0.0",
+			"resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.0.tgz",
+			"integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"hast-util-to-html": "^8.0.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"hast-util-to-html": "^9.0.0",
+				"unified": "^11.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4048,14 +7009,29 @@
 			}
 		},
 		"node_modules/remark-gfm": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz",
-			"integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz",
+			"integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-gfm": "^2.0.0",
-				"micromark-extension-gfm": "^2.0.0",
-				"unified": "^10.0.0"
+				"@types/mdast": "^4.0.0",
+				"mdast-util-gfm": "^3.0.0",
+				"micromark-extension-gfm": "^3.0.0",
+				"remark-parse": "^11.0.0",
+				"remark-stringify": "^11.0.0",
+				"unified": "^11.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/remark-mdx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.0.tgz",
+			"integrity": "sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==",
+			"dependencies": {
+				"mdast-util-mdx": "^3.0.0",
+				"micromark-extension-mdxjs": "^3.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4063,13 +7039,14 @@
 			}
 		},
 		"node_modules/remark-parse": {
-			"version": "10.0.2",
-			"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
-			"integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
+			"integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
 			"dependencies": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-from-markdown": "^1.0.0",
-				"unified": "^10.0.0"
+				"@types/mdast": "^4.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unified": "^11.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4077,14 +7054,15 @@
 			}
 		},
 		"node_modules/remark-rehype": {
-			"version": "10.1.0",
-			"resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
-			"integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz",
+			"integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==",
 			"dependencies": {
-				"@types/hast": "^2.0.0",
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-hast": "^12.1.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"mdast-util-to-hast": "^13.0.0",
+				"unified": "^11.0.0",
+				"vfile": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4104,12 +7082,83 @@
 				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
 			}
 		},
-		"node_modules/resolve": {
-			"version": "1.22.1",
-			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
-			"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+		"node_modules/remark-smartypants/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
+		"node_modules/remark-smartypants/node_modules/unist-util-is": {
+			"version": "5.2.1",
+			"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
+			"integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
 			"dependencies": {
-				"is-core-module": "^2.9.0",
+				"@types/unist": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/remark-smartypants/node_modules/unist-util-visit": {
+			"version": "4.1.2",
+			"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+			"integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-is": "^5.0.0",
+				"unist-util-visit-parents": "^5.1.1"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/remark-smartypants/node_modules/unist-util-visit-parents": {
+			"version": "5.1.3",
+			"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+			"integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-is": "^5.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/remark-stringify": {
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
+			"integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
+			"dependencies": {
+				"@types/mdast": "^4.0.0",
+				"mdast-util-to-markdown": "^2.0.0",
+				"unified": "^11.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/request-light": {
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz",
+			"integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q=="
+		},
+		"node_modules/require-directory": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+			"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+			"engines": {
+				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/resolve": {
+			"version": "1.22.8",
+			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+			"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+			"dependencies": {
+				"is-core-module": "^2.13.0",
 				"path-parse": "^1.0.7",
 				"supports-preserve-symlinks-flag": "^1.0.0"
 			},
@@ -4157,6 +7206,11 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/restore-cursor/node_modules/signal-exit": {
+			"version": "3.0.7",
+			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+			"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+		},
 		"node_modules/retext": {
 			"version": "8.1.0",
 			"resolved": "https://registry.npmjs.org/retext/-/retext-8.1.0.tgz",
@@ -4187,6 +7241,69 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
+		"node_modules/retext-latin/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
+		"node_modules/retext-latin/node_modules/unified": {
+			"version": "10.1.2",
+			"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+			"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"bail": "^2.0.0",
+				"extend": "^3.0.0",
+				"is-buffer": "^2.0.0",
+				"is-plain-obj": "^4.0.0",
+				"trough": "^2.0.0",
+				"vfile": "^5.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-latin/node_modules/unist-util-stringify-position": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+			"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-latin/node_modules/vfile": {
+			"version": "5.3.7",
+			"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+			"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"is-buffer": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0",
+				"vfile-message": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-latin/node_modules/vfile-message": {
+			"version": "3.1.4",
+			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+			"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
 		"node_modules/retext-smartypants": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-5.2.0.tgz",
@@ -4202,6 +7319,108 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
+		"node_modules/retext-smartypants/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
+		"node_modules/retext-smartypants/node_modules/unified": {
+			"version": "10.1.2",
+			"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+			"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"bail": "^2.0.0",
+				"extend": "^3.0.0",
+				"is-buffer": "^2.0.0",
+				"is-plain-obj": "^4.0.0",
+				"trough": "^2.0.0",
+				"vfile": "^5.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-smartypants/node_modules/unist-util-is": {
+			"version": "5.2.1",
+			"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
+			"integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
+			"dependencies": {
+				"@types/unist": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-smartypants/node_modules/unist-util-stringify-position": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+			"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-smartypants/node_modules/unist-util-visit": {
+			"version": "4.1.2",
+			"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+			"integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-is": "^5.0.0",
+				"unist-util-visit-parents": "^5.1.1"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-smartypants/node_modules/unist-util-visit-parents": {
+			"version": "5.1.3",
+			"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+			"integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-is": "^5.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-smartypants/node_modules/vfile": {
+			"version": "5.3.7",
+			"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+			"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"is-buffer": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0",
+				"vfile-message": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-smartypants/node_modules/vfile-message": {
+			"version": "3.1.4",
+			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+			"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
 		"node_modules/retext-stringify": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-3.1.0.tgz",
@@ -4216,6 +7435,132 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
+		"node_modules/retext-stringify/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
+		"node_modules/retext-stringify/node_modules/unified": {
+			"version": "10.1.2",
+			"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+			"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"bail": "^2.0.0",
+				"extend": "^3.0.0",
+				"is-buffer": "^2.0.0",
+				"is-plain-obj": "^4.0.0",
+				"trough": "^2.0.0",
+				"vfile": "^5.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-stringify/node_modules/unist-util-stringify-position": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+			"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-stringify/node_modules/vfile": {
+			"version": "5.3.7",
+			"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+			"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"is-buffer": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0",
+				"vfile-message": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext-stringify/node_modules/vfile-message": {
+			"version": "3.1.4",
+			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+			"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
+		"node_modules/retext/node_modules/unified": {
+			"version": "10.1.2",
+			"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+			"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"bail": "^2.0.0",
+				"extend": "^3.0.0",
+				"is-buffer": "^2.0.0",
+				"is-plain-obj": "^4.0.0",
+				"trough": "^2.0.0",
+				"vfile": "^5.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext/node_modules/unist-util-stringify-position": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+			"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+			"dependencies": {
+				"@types/unist": "^2.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext/node_modules/vfile": {
+			"version": "5.3.7",
+			"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+			"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"is-buffer": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0",
+				"vfile-message": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/retext/node_modules/vfile-message": {
+			"version": "3.1.4",
+			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+			"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+			"dependencies": {
+				"@types/unist": "^2.0.0",
+				"unist-util-stringify-position": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
 		"node_modules/reusify": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -4226,116 +7571,39 @@
 			}
 		},
 		"node_modules/rollup": {
-			"version": "3.26.2",
-			"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.2.tgz",
-			"integrity": "sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==",
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
+			"integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
+			"dependencies": {
+				"@types/estree": "1.0.5"
+			},
 			"bin": {
 				"rollup": "dist/bin/rollup"
 			},
 			"engines": {
-				"node": ">=14.18.0",
+				"node": ">=18.0.0",
 				"npm": ">=8.0.0"
 			},
 			"optionalDependencies": {
+				"@rollup/rollup-android-arm-eabi": "4.18.0",
+				"@rollup/rollup-android-arm64": "4.18.0",
+				"@rollup/rollup-darwin-arm64": "4.18.0",
+				"@rollup/rollup-darwin-x64": "4.18.0",
+				"@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
+				"@rollup/rollup-linux-arm-musleabihf": "4.18.0",
+				"@rollup/rollup-linux-arm64-gnu": "4.18.0",
+				"@rollup/rollup-linux-arm64-musl": "4.18.0",
+				"@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
+				"@rollup/rollup-linux-riscv64-gnu": "4.18.0",
+				"@rollup/rollup-linux-s390x-gnu": "4.18.0",
+				"@rollup/rollup-linux-x64-gnu": "4.18.0",
+				"@rollup/rollup-linux-x64-musl": "4.18.0",
+				"@rollup/rollup-win32-arm64-msvc": "4.18.0",
+				"@rollup/rollup-win32-ia32-msvc": "4.18.0",
+				"@rollup/rollup-win32-x64-msvc": "4.18.0",
 				"fsevents": "~2.3.2"
 			}
 		},
-		"node_modules/run-applescript": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz",
-			"integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==",
-			"dependencies": {
-				"execa": "^5.0.0"
-			},
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/run-applescript/node_modules/execa": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
-			"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
-			"dependencies": {
-				"cross-spawn": "^7.0.3",
-				"get-stream": "^6.0.0",
-				"human-signals": "^2.1.0",
-				"is-stream": "^2.0.0",
-				"merge-stream": "^2.0.0",
-				"npm-run-path": "^4.0.1",
-				"onetime": "^5.1.2",
-				"signal-exit": "^3.0.3",
-				"strip-final-newline": "^2.0.0"
-			},
-			"engines": {
-				"node": ">=10"
-			},
-			"funding": {
-				"url": "https://github.com/sindresorhus/execa?sponsor=1"
-			}
-		},
-		"node_modules/run-applescript/node_modules/human-signals": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
-			"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
-			"engines": {
-				"node": ">=10.17.0"
-			}
-		},
-		"node_modules/run-applescript/node_modules/is-stream": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
-			"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
-			"engines": {
-				"node": ">=8"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/run-applescript/node_modules/mimic-fn": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-			"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/run-applescript/node_modules/npm-run-path": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
-			"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
-			"dependencies": {
-				"path-key": "^3.0.0"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/run-applescript/node_modules/onetime": {
-			"version": "5.1.2",
-			"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-			"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-			"dependencies": {
-				"mimic-fn": "^2.1.0"
-			},
-			"engines": {
-				"node": ">=6"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
-		"node_modules/run-applescript/node_modules/strip-final-newline": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
-			"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/run-parallel": {
 			"version": "1.2.0",
 			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -4358,22 +7626,6 @@
 				"queue-microtask": "^1.2.2"
 			}
 		},
-		"node_modules/s.color": {
-			"version": "0.0.15",
-			"resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz",
-			"integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA=="
-		},
-		"node_modules/sade": {
-			"version": "1.8.1",
-			"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
-			"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
-			"dependencies": {
-				"mri": "^1.1.0"
-			},
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/safe-buffer": {
 			"version": "5.2.1",
 			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -4393,13 +7645,10 @@
 				}
 			]
 		},
-		"node_modules/sass-formatter": {
-			"version": "0.7.6",
-			"resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.6.tgz",
-			"integrity": "sha512-hXdxU6PCkiV3XAiSnX+XLqz2ohHoEnVUlrd8LEVMAI80uB1+OTScIkH9n6qQwImZpTye1r1WG1rbGUteHNhoHg==",
-			"dependencies": {
-				"suf-log": "^2.5.3"
-			}
+		"node_modules/safer-buffer": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 		},
 		"node_modules/sax": {
 			"version": "1.2.4",
@@ -4419,9 +7668,9 @@
 			}
 		},
 		"node_modules/semver": {
-			"version": "7.5.3",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
-			"integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+			"version": "7.5.4",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+			"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 			"dependencies": {
 				"lru-cache": "^6.0.0"
 			},
@@ -4453,6 +7702,29 @@
 			"resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
 			"integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ=="
 		},
+		"node_modules/sharp": {
+			"version": "0.32.6",
+			"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz",
+			"integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==",
+			"hasInstallScript": true,
+			"optional": true,
+			"dependencies": {
+				"color": "^4.2.3",
+				"detect-libc": "^2.0.2",
+				"node-addon-api": "^6.1.0",
+				"prebuild-install": "^7.1.1",
+				"semver": "^7.5.4",
+				"simple-get": "^4.0.1",
+				"tar-fs": "^3.0.4",
+				"tunnel-agent": "^0.6.0"
+			},
+			"engines": {
+				"node": ">=14.15.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/libvips"
+			}
+		},
 		"node_modules/shebang-command": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -4472,26 +7744,83 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/shiki": {
-			"version": "0.14.3",
-			"resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.3.tgz",
-			"integrity": "sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==",
+		"node_modules/shikiji": {
+			"version": "0.6.13",
+			"resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.6.13.tgz",
+			"integrity": "sha512-4T7X39csvhT0p7GDnq9vysWddf2b6BeioiN3Ymhnt3xcy9tXmDcnsEFVxX18Z4YcQgEE/w48dLJ4pPPUcG9KkA==",
 			"dependencies": {
-				"ansi-sequence-parser": "^1.1.0",
-				"jsonc-parser": "^3.2.0",
-				"vscode-oniguruma": "^1.7.0",
-				"vscode-textmate": "^8.0.0"
+				"hast-util-to-html": "^9.0.0"
 			}
 		},
-		"node_modules/shiki/node_modules/jsonc-parser": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
-			"integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
+		"node_modules/shikiji-core": {
+			"version": "0.9.19",
+			"resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz",
+			"integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw=="
 		},
 		"node_modules/signal-exit": {
-			"version": "3.0.7",
-			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-			"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+			"engines": {
+				"node": ">=14"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
+		"node_modules/simple-concat": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+			"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/feross"
+				},
+				{
+					"type": "patreon",
+					"url": "https://www.patreon.com/feross"
+				},
+				{
+					"type": "consulting",
+					"url": "https://feross.org/support"
+				}
+			],
+			"optional": true
+		},
+		"node_modules/simple-get": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
+			"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/feross"
+				},
+				{
+					"type": "patreon",
+					"url": "https://www.patreon.com/feross"
+				},
+				{
+					"type": "consulting",
+					"url": "https://feross.org/support"
+				}
+			],
+			"optional": true,
+			"dependencies": {
+				"decompress-response": "^6.0.0",
+				"once": "^1.3.1",
+				"simple-concat": "^1.0.0"
+			}
+		},
+		"node_modules/simple-swizzle": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+			"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+			"optional": true,
+			"dependencies": {
+				"is-arrayish": "^0.3.1"
+			}
 		},
 		"node_modules/sisteransi": {
 			"version": "1.0.5",
@@ -4521,10 +7850,18 @@
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
 			"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="
 		},
+		"node_modules/source-map": {
+			"version": "0.7.4",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+			"integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+			"engines": {
+				"node": ">= 8"
+			}
+		},
 		"node_modules/source-map-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-			"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"engines": {
 				"node": ">=0.10.0"
 			}
@@ -4557,12 +7894,35 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/streamsearch": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
-			"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
-			"engines": {
-				"node": ">=10.0.0"
+		"node_modules/stream-parser": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
+			"integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==",
+			"dependencies": {
+				"debug": "2"
+			}
+		},
+		"node_modules/stream-parser/node_modules/debug": {
+			"version": "2.6.9",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+			"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+			"dependencies": {
+				"ms": "2.0.0"
+			}
+		},
+		"node_modules/stream-parser/node_modules/ms": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+			"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+		},
+		"node_modules/streamx": {
+			"version": "2.15.6",
+			"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz",
+			"integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==",
+			"optional": true,
+			"dependencies": {
+				"fast-fifo": "^1.1.0",
+				"queue-tick": "^1.0.1"
 			}
 		},
 		"node_modules/string_decoder": {
@@ -4574,16 +7934,16 @@
 			}
 		},
 		"node_modules/string-width": {
-			"version": "5.1.2",
-			"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
-			"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz",
+			"integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==",
 			"dependencies": {
-				"eastasianwidth": "^0.2.0",
-				"emoji-regex": "^9.2.2",
-				"strip-ansi": "^7.0.1"
+				"emoji-regex": "^10.3.0",
+				"get-east-asian-width": "^1.0.0",
+				"strip-ansi": "^7.1.0"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=18"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -4617,11 +7977,11 @@
 			}
 		},
 		"node_modules/strip-bom": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-			"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+			"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
 			"engines": {
-				"node": ">=8"
+				"node": ">=4"
 			}
 		},
 		"node_modules/strip-bom-string": {
@@ -4643,20 +8003,21 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/style-to-object": {
-			"version": "0.4.0",
-			"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.0.tgz",
-			"integrity": "sha512-dAjq2m87tPn/TcYTeqMhXJRhu96WYWcxMFQxs3Y9jfYpq2jG+38u4tj0Lst6DOiYXmDuNxVJ2b1Z2uPC6wTEeg==",
-			"dependencies": {
-				"inline-style-parser": "0.1.1"
+		"node_modules/strip-json-comments": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+			"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+			"optional": true,
+			"engines": {
+				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/suf-log": {
-			"version": "2.5.3",
-			"resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz",
-			"integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==",
+		"node_modules/style-to-object": {
+			"version": "0.4.4",
+			"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz",
+			"integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==",
 			"dependencies": {
-				"s.color": "0.0.15"
+				"inline-style-parser": "0.1.1"
 			}
 		},
 		"node_modules/supports-color": {
@@ -4681,30 +8042,26 @@
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
-		"node_modules/synckit": {
-			"version": "0.8.5",
-			"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
-			"integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
+		"node_modules/tar-fs": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
+			"integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
+			"optional": true,
 			"dependencies": {
-				"@pkgr/utils": "^2.3.1",
-				"tslib": "^2.5.0"
-			},
-			"engines": {
-				"node": "^14.18.0 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/unts"
+				"mkdirp-classic": "^0.5.2",
+				"pump": "^3.0.0",
+				"tar-stream": "^3.1.5"
 			}
 		},
-		"node_modules/titleize": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
-			"integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
+		"node_modules/tar-stream": {
+			"version": "3.1.6",
+			"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz",
+			"integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==",
+			"optional": true,
+			"dependencies": {
+				"b4a": "^1.6.4",
+				"fast-fifo": "^1.2.0",
+				"streamx": "^2.15.0"
 			}
 		},
 		"node_modules/to-fast-properties": {
@@ -4744,37 +8101,36 @@
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
-		"node_modules/tsconfig-resolver": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/tsconfig-resolver/-/tsconfig-resolver-3.0.1.tgz",
-			"integrity": "sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==",
-			"dependencies": {
-				"@types/json5": "^0.0.30",
-				"@types/resolve": "^1.17.0",
-				"json5": "^2.1.3",
-				"resolve": "^1.17.0",
-				"strip-bom": "^4.0.0",
-				"type-fest": "^0.13.1"
+		"node_modules/tsconfck": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.0.tgz",
+			"integrity": "sha512-w3wnsIrJNi7avf4Zb0VjOoodoO0woEqGgZGQm+LHH9przdUI+XDKsWAXwxHA1DaRTjeuZNcregSzr7RaA8zG9A==",
+			"bin": {
+				"tsconfck": "bin/tsconfck.js"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/ifiokjr"
-			}
-		},
-		"node_modules/tsconfig-resolver/node_modules/type-fest": {
-			"version": "0.13.1",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
-			"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
 			"engines": {
-				"node": ">=10"
+				"node": "^18 || >=20"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
+			"peerDependencies": {
+				"typescript": "^5.0.0"
+			},
+			"peerDependenciesMeta": {
+				"typescript": {
+					"optional": true
+				}
 			}
 		},
-		"node_modules/tslib": {
-			"version": "2.6.0",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz",
-			"integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA=="
+		"node_modules/tunnel-agent": {
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+			"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+			"optional": true,
+			"dependencies": {
+				"safe-buffer": "^5.0.1"
+			},
+			"engines": {
+				"node": "*"
+			}
 		},
 		"node_modules/type-fest": {
 			"version": "2.19.0",
@@ -4787,27 +8143,29 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/typesafe-path": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz",
+			"integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA=="
+		},
 		"node_modules/typescript": {
-			"version": "4.9.4",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
-			"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
+			"version": "5.3.3",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
+			"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
 			"bin": {
 				"tsc": "bin/tsc",
 				"tsserver": "bin/tsserver"
 			},
 			"engines": {
-				"node": ">=4.2.0"
+				"node": ">=14.17"
 			}
 		},
-		"node_modules/undici": {
-			"version": "5.22.1",
-			"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz",
-			"integrity": "sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==",
+		"node_modules/typescript-auto-import-cache": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.0.tgz",
+			"integrity": "sha512-Rq6/q4O9iyqUdjvOoyas7x/Qf9nWUMeqpP3YeTaLA+uECgfy5wOhfOS+SW/+fZ/uI/ZcKaf+2/ZhFzXh8xfofQ==",
 			"dependencies": {
-				"busboy": "^1.6.0"
-			},
-			"engines": {
-				"node": ">=14.0"
+				"semver": "^7.3.8"
 			}
 		},
 		"node_modules/unherit": {
@@ -4820,36 +8178,30 @@
 			}
 		},
 		"node_modules/unified": {
-			"version": "10.1.2",
-			"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
-			"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+			"version": "11.0.4",
+			"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz",
+			"integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==",
 			"dependencies": {
-				"@types/unist": "^2.0.0",
+				"@types/unist": "^3.0.0",
 				"bail": "^2.0.0",
+				"devlop": "^1.0.0",
 				"extend": "^3.0.0",
-				"is-buffer": "^2.0.0",
 				"is-plain-obj": "^4.0.0",
 				"trough": "^2.0.0",
-				"vfile": "^5.0.0"
+				"vfile": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
 				"url": "https://opencollective.com/unified"
 			}
 		},
-		"node_modules/unist-util-generated": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz",
-			"integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==",
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/unified"
-			}
-		},
 		"node_modules/unist-util-is": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
-			"integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+			"integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+			"dependencies": {
+				"@types/unist": "^3.0.0"
+			},
 			"funding": {
 				"type": "opencollective",
 				"url": "https://opencollective.com/unified"
@@ -4868,12 +8220,42 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
+		"node_modules/unist-util-modify-children/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
 		"node_modules/unist-util-position": {
-			"version": "4.0.3",
-			"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
-			"integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
+			"integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
 			"dependencies": {
-				"@types/unist": "^2.0.0"
+				"@types/unist": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/unist-util-position-from-estree": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz",
+			"integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==",
+			"dependencies": {
+				"@types/unist": "^3.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/unified"
+			}
+		},
+		"node_modules/unist-util-remove-position": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz",
+			"integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==",
+			"dependencies": {
+				"@types/unist": "^3.0.0",
+				"unist-util-visit": "^5.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4881,11 +8263,11 @@
 			}
 		},
 		"node_modules/unist-util-stringify-position": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
-			"integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
+			"integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
 			"dependencies": {
-				"@types/unist": "^2.0.0"
+				"@types/unist": "^3.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4893,13 +8275,13 @@
 			}
 		},
 		"node_modules/unist-util-visit": {
-			"version": "4.1.2",
-			"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
-			"integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+			"integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
 			"dependencies": {
-				"@types/unist": "^2.0.0",
-				"unist-util-is": "^5.0.0",
-				"unist-util-visit-parents": "^5.1.1"
+				"@types/unist": "^3.0.0",
+				"unist-util-is": "^6.0.0",
+				"unist-util-visit-parents": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -4918,31 +8300,28 @@
 				"url": "https://opencollective.com/unified"
 			}
 		},
+		"node_modules/unist-util-visit-children/node_modules/@types/unist": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+			"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+		},
 		"node_modules/unist-util-visit-parents": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
-			"integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
+			"integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
 			"dependencies": {
-				"@types/unist": "^2.0.0",
-				"unist-util-is": "^5.0.0"
+				"@types/unist": "^3.0.0",
+				"unist-util-is": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
 				"url": "https://opencollective.com/unified"
 			}
 		},
-		"node_modules/untildify": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
-			"integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/update-browserslist-db": {
-			"version": "1.0.11",
-			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
-			"integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
+			"version": "1.0.13",
+			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+			"integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
 			"funding": [
 				{
 					"type": "opencollective",
@@ -4973,32 +8352,14 @@
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
 		},
-		"node_modules/uvu": {
-			"version": "0.5.6",
-			"resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz",
-			"integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
-			"dependencies": {
-				"dequal": "^2.0.0",
-				"diff": "^5.0.0",
-				"kleur": "^4.0.3",
-				"sade": "^1.7.3"
-			},
-			"bin": {
-				"uvu": "bin.js"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/vfile": {
-			"version": "5.3.7",
-			"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
-			"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz",
+			"integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==",
 			"dependencies": {
-				"@types/unist": "^2.0.0",
-				"is-buffer": "^2.0.0",
-				"unist-util-stringify-position": "^3.0.0",
-				"vfile-message": "^3.0.0"
+				"@types/unist": "^3.0.0",
+				"unist-util-stringify-position": "^4.0.0",
+				"vfile-message": "^4.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -5006,12 +8367,12 @@
 			}
 		},
 		"node_modules/vfile-location": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz",
-			"integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==",
+			"version": "5.0.2",
+			"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz",
+			"integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==",
 			"dependencies": {
-				"@types/unist": "^2.0.0",
-				"vfile": "^5.0.0"
+				"@types/unist": "^3.0.0",
+				"vfile": "^6.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -5019,12 +8380,12 @@
 			}
 		},
 		"node_modules/vfile-message": {
-			"version": "3.1.3",
-			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.3.tgz",
-			"integrity": "sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
+			"integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==",
 			"dependencies": {
-				"@types/unist": "^2.0.0",
-				"unist-util-stringify-position": "^3.0.0"
+				"@types/unist": "^3.0.0",
+				"unist-util-stringify-position": "^4.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -5032,28 +8393,28 @@
 			}
 		},
 		"node_modules/vite": {
-			"version": "4.4.1",
-			"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.1.tgz",
-			"integrity": "sha512-8mmwPlsy7t+ZcTme7vdbVGuZ3Tri+lrLXr6hsF5UHdyYyARPPPMtM16QlqC9TZuCd5j3NmWs1rwka3cVSRHZTw==",
+			"version": "5.3.1",
+			"resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz",
+			"integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==",
 			"dependencies": {
-				"esbuild": "^0.18.10",
-				"postcss": "^8.4.24",
-				"rollup": "^3.25.2"
+				"esbuild": "^0.21.3",
+				"postcss": "^8.4.38",
+				"rollup": "^4.13.0"
 			},
 			"bin": {
 				"vite": "bin/vite.js"
 			},
 			"engines": {
-				"node": "^14.18.0 || >=16.0.0"
+				"node": "^18.0.0 || >=20.0.0"
 			},
 			"funding": {
 				"url": "https://github.com/vitejs/vite?sponsor=1"
 			},
 			"optionalDependencies": {
-				"fsevents": "~2.3.2"
+				"fsevents": "~2.3.3"
 			},
 			"peerDependencies": {
-				"@types/node": ">= 14",
+				"@types/node": "^18.0.0 || >=20.0.0",
 				"less": "*",
 				"lightningcss": "^1.21.0",
 				"sass": "*",
@@ -5085,10 +8446,25 @@
 				}
 			}
 		},
+		"node_modules/vite/node_modules/@esbuild/aix-ppc64": {
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+			"integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+			"cpu": [
+				"ppc64"
+			],
+			"optional": true,
+			"os": [
+				"aix"
+			],
+			"engines": {
+				"node": ">=12"
+			}
+		},
 		"node_modules/vite/node_modules/@esbuild/android-arm": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz",
-			"integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+			"integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
 			"cpu": [
 				"arm"
 			],
@@ -5101,9 +8477,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/android-arm64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz",
-			"integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+			"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
 			"cpu": [
 				"arm64"
 			],
@@ -5116,9 +8492,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/android-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz",
-			"integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+			"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
 			"cpu": [
 				"x64"
 			],
@@ -5131,9 +8507,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/darwin-arm64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz",
-			"integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+			"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
 			"cpu": [
 				"arm64"
 			],
@@ -5146,9 +8522,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/darwin-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz",
-			"integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+			"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
 			"cpu": [
 				"x64"
 			],
@@ -5161,9 +8537,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz",
-			"integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+			"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
 			"cpu": [
 				"arm64"
 			],
@@ -5176,9 +8552,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/freebsd-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz",
-			"integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+			"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
 			"cpu": [
 				"x64"
 			],
@@ -5191,9 +8567,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-arm": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz",
-			"integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+			"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
 			"cpu": [
 				"arm"
 			],
@@ -5206,9 +8582,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-arm64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz",
-			"integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+			"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
 			"cpu": [
 				"arm64"
 			],
@@ -5221,9 +8597,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-ia32": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz",
-			"integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+			"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
 			"cpu": [
 				"ia32"
 			],
@@ -5236,9 +8612,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-loong64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz",
-			"integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+			"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
 			"cpu": [
 				"loong64"
 			],
@@ -5251,9 +8627,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-mips64el": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz",
-			"integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+			"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
 			"cpu": [
 				"mips64el"
 			],
@@ -5266,9 +8642,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-ppc64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz",
-			"integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+			"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
 			"cpu": [
 				"ppc64"
 			],
@@ -5281,9 +8657,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-riscv64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz",
-			"integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+			"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
 			"cpu": [
 				"riscv64"
 			],
@@ -5296,9 +8672,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-s390x": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz",
-			"integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+			"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
 			"cpu": [
 				"s390x"
 			],
@@ -5311,9 +8687,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/linux-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz",
-			"integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+			"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
 			"cpu": [
 				"x64"
 			],
@@ -5326,9 +8702,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/netbsd-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz",
-			"integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+			"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
 			"cpu": [
 				"x64"
 			],
@@ -5341,9 +8717,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/openbsd-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz",
-			"integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+			"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
 			"cpu": [
 				"x64"
 			],
@@ -5356,9 +8732,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/sunos-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz",
-			"integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+			"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
 			"cpu": [
 				"x64"
 			],
@@ -5371,9 +8747,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/win32-arm64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz",
-			"integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+			"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
 			"cpu": [
 				"arm64"
 			],
@@ -5386,9 +8762,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/win32-ia32": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz",
-			"integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+			"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
 			"cpu": [
 				"ia32"
 			],
@@ -5401,9 +8777,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/@esbuild/win32-x64": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz",
-			"integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+			"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
 			"cpu": [
 				"x64"
 			],
@@ -5416,9 +8792,9 @@
 			}
 		},
 		"node_modules/vite/node_modules/esbuild": {
-			"version": "0.18.11",
-			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz",
-			"integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==",
+			"version": "0.21.5",
+			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+			"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
 			"hasInstallScript": true,
 			"bin": {
 				"esbuild": "bin/esbuild"
@@ -5427,36 +8803,37 @@
 				"node": ">=12"
 			},
 			"optionalDependencies": {
-				"@esbuild/android-arm": "0.18.11",
-				"@esbuild/android-arm64": "0.18.11",
-				"@esbuild/android-x64": "0.18.11",
-				"@esbuild/darwin-arm64": "0.18.11",
-				"@esbuild/darwin-x64": "0.18.11",
-				"@esbuild/freebsd-arm64": "0.18.11",
-				"@esbuild/freebsd-x64": "0.18.11",
-				"@esbuild/linux-arm": "0.18.11",
-				"@esbuild/linux-arm64": "0.18.11",
-				"@esbuild/linux-ia32": "0.18.11",
-				"@esbuild/linux-loong64": "0.18.11",
-				"@esbuild/linux-mips64el": "0.18.11",
-				"@esbuild/linux-ppc64": "0.18.11",
-				"@esbuild/linux-riscv64": "0.18.11",
-				"@esbuild/linux-s390x": "0.18.11",
-				"@esbuild/linux-x64": "0.18.11",
-				"@esbuild/netbsd-x64": "0.18.11",
-				"@esbuild/openbsd-x64": "0.18.11",
-				"@esbuild/sunos-x64": "0.18.11",
-				"@esbuild/win32-arm64": "0.18.11",
-				"@esbuild/win32-ia32": "0.18.11",
-				"@esbuild/win32-x64": "0.18.11"
+				"@esbuild/aix-ppc64": "0.21.5",
+				"@esbuild/android-arm": "0.21.5",
+				"@esbuild/android-arm64": "0.21.5",
+				"@esbuild/android-x64": "0.21.5",
+				"@esbuild/darwin-arm64": "0.21.5",
+				"@esbuild/darwin-x64": "0.21.5",
+				"@esbuild/freebsd-arm64": "0.21.5",
+				"@esbuild/freebsd-x64": "0.21.5",
+				"@esbuild/linux-arm": "0.21.5",
+				"@esbuild/linux-arm64": "0.21.5",
+				"@esbuild/linux-ia32": "0.21.5",
+				"@esbuild/linux-loong64": "0.21.5",
+				"@esbuild/linux-mips64el": "0.21.5",
+				"@esbuild/linux-ppc64": "0.21.5",
+				"@esbuild/linux-riscv64": "0.21.5",
+				"@esbuild/linux-s390x": "0.21.5",
+				"@esbuild/linux-x64": "0.21.5",
+				"@esbuild/netbsd-x64": "0.21.5",
+				"@esbuild/openbsd-x64": "0.21.5",
+				"@esbuild/sunos-x64": "0.21.5",
+				"@esbuild/win32-arm64": "0.21.5",
+				"@esbuild/win32-ia32": "0.21.5",
+				"@esbuild/win32-x64": "0.21.5"
 			}
 		},
 		"node_modules/vitefu": {
-			"version": "0.2.4",
-			"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
-			"integrity": "sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==",
+			"version": "0.2.5",
+			"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz",
+			"integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==",
 			"peerDependencies": {
-				"vite": "^3.0.0 || ^4.0.0"
+				"vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
 			},
 			"peerDependenciesMeta": {
 				"vite": {
@@ -5464,88 +8841,178 @@
 				}
 			}
 		},
-		"node_modules/vscode-css-languageservice": {
-			"version": "6.2.6",
-			"resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.6.tgz",
-			"integrity": "sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==",
+		"node_modules/volar-service-css": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.16.tgz",
+			"integrity": "sha512-gK/XD35t/P3SQrUuS8LMlCnE2ItIk+kXI6gPvBYl1NZ7O+tLH8rUWXA32YgpwNoITxYrm/G1seaq08zs4aiPvg==",
 			"dependencies": {
-				"@vscode/l10n": "^0.0.14",
-				"vscode-languageserver-textdocument": "^1.0.8",
-				"vscode-languageserver-types": "^3.17.3",
-				"vscode-uri": "^3.0.7"
+				"vscode-css-languageservice": "^6.2.10",
+				"vscode-uri": "^3.0.8"
+			},
+			"peerDependencies": {
+				"@volar/language-service": "~1.10.0"
+			},
+			"peerDependenciesMeta": {
+				"@volar/language-service": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/volar-service-emmet": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.16.tgz",
+			"integrity": "sha512-8sWWywzVJOD+PWDArOXDWbiRlM7+peydFhXJT71i4X1WPW32RyPxn6FypvciO+amqpfZP2rXfB9eibIJ+EofSQ==",
+			"dependencies": {
+				"@vscode/emmet-helper": "^2.9.2",
+				"volar-service-html": "0.0.16"
+			},
+			"peerDependencies": {
+				"@volar/language-service": "~1.10.0"
+			},
+			"peerDependenciesMeta": {
+				"@volar/language-service": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/volar-service-html": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.16.tgz",
+			"integrity": "sha512-/oEXXgry++1CnTXQBUNf9B8MZfTlYZuJfZA7Zx9MN7WS4ZPxk3BFOdal/cXH6RNR2ruNEYr5QTW9rsqtoUscag==",
+			"dependencies": {
+				"vscode-html-languageservice": "^5.1.0",
+				"vscode-uri": "^3.0.8"
+			},
+			"peerDependencies": {
+				"@volar/language-service": "~1.10.0"
+			},
+			"peerDependenciesMeta": {
+				"@volar/language-service": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/volar-service-prettier": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.16.tgz",
+			"integrity": "sha512-Kj2ZdwJGEvfYbsHW8Sjrew/7EB4PgRoas4f8yAJzUUVxIC/kvhUwLDxQc8+N2IibomN76asJGWe+i6VZZvgIkw==",
+			"peerDependencies": {
+				"@volar/language-service": "~1.10.0",
+				"prettier": "^2.2 || ^3.0"
+			},
+			"peerDependenciesMeta": {
+				"@volar/language-service": {
+					"optional": true
+				},
+				"prettier": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/volar-service-typescript": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.16.tgz",
+			"integrity": "sha512-k/qFKM2oxs/3fhbr/vcBSHnCLZ1HN3Aeh+bGvV9Lc9qIhrNyCVsDFOUJN1Qp4dI72+Y+eFSIDCLHmFEZdsP2EA==",
+			"dependencies": {
+				"path-browserify": "^1.0.1",
+				"semver": "^7.5.4",
+				"typescript-auto-import-cache": "^0.3.0",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-nls": "^5.2.0",
+				"vscode-uri": "^3.0.8"
+			},
+			"peerDependencies": {
+				"@volar/language-service": "~1.10.0",
+				"@volar/typescript": "~1.10.0"
+			},
+			"peerDependenciesMeta": {
+				"@volar/language-service": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/volar-service-typescript-twoslash-queries": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.16.tgz",
+			"integrity": "sha512-0gPrkDTD2bMj2AnSNykOKhfmPnBFE2LS1lF3LWA7qu1ChRnJF0sodwCCbbeNYJ9+yth956ApoU1BVQ8UrMg+yw==",
+			"peerDependencies": {
+				"@volar/language-service": "~1.10.0"
+			},
+			"peerDependenciesMeta": {
+				"@volar/language-service": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/vscode-css-languageservice": {
+			"version": "6.2.11",
+			"resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.11.tgz",
+			"integrity": "sha512-qn49Wa6K94LnizpVxmlYrcPf1Cb36gq1nNueW0COhi4shylXBzET5wuDbH8ZWQlJD0HM5Mmnn7WE9vQVVs+ULA==",
+			"dependencies": {
+				"@vscode/l10n": "^0.0.16",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-languageserver-types": "3.17.5",
+				"vscode-uri": "^3.0.8"
 			}
 		},
 		"node_modules/vscode-html-languageservice": {
-			"version": "5.0.6",
-			"resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.6.tgz",
-			"integrity": "sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==",
+			"version": "5.1.1",
+			"resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.1.1.tgz",
+			"integrity": "sha512-JenrspIIG/Q+93R6G3L6HdK96itSisMynE0glURqHpQbL3dKAKzdm8L40lAHNkwJeBg+BBPpAshZKv/38onrTQ==",
 			"dependencies": {
-				"@vscode/l10n": "^0.0.14",
-				"vscode-languageserver-textdocument": "^1.0.8",
-				"vscode-languageserver-types": "^3.17.3",
-				"vscode-uri": "^3.0.7"
+				"@vscode/l10n": "^0.0.16",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-languageserver-types": "^3.17.5",
+				"vscode-uri": "^3.0.8"
 			}
 		},
 		"node_modules/vscode-jsonrpc": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz",
-			"integrity": "sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==",
+			"version": "8.2.0",
+			"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+			"integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
 			"engines": {
 				"node": ">=14.0.0"
 			}
 		},
 		"node_modules/vscode-languageserver": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz",
-			"integrity": "sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+			"integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
 			"dependencies": {
-				"vscode-languageserver-protocol": "3.17.3"
+				"vscode-languageserver-protocol": "3.17.5"
 			},
 			"bin": {
 				"installServerIntoExtension": "bin/installServerIntoExtension"
 			}
 		},
 		"node_modules/vscode-languageserver-protocol": {
-			"version": "3.17.3",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz",
-			"integrity": "sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==",
+			"version": "3.17.5",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+			"integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
 			"dependencies": {
-				"vscode-jsonrpc": "8.1.0",
-				"vscode-languageserver-types": "3.17.3"
+				"vscode-jsonrpc": "8.2.0",
+				"vscode-languageserver-types": "3.17.5"
 			}
 		},
 		"node_modules/vscode-languageserver-textdocument": {
-			"version": "1.0.8",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
-			"integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz",
+			"integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA=="
 		},
 		"node_modules/vscode-languageserver-types": {
-			"version": "3.17.3",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz",
-			"integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA=="
+			"version": "3.17.5",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+			"integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
 		},
-		"node_modules/vscode-oniguruma": {
-			"version": "1.7.0",
-			"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
-			"integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA=="
-		},
-		"node_modules/vscode-textmate": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
-			"integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg=="
+		"node_modules/vscode-nls": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz",
+			"integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng=="
 		},
 		"node_modules/vscode-uri": {
-			"version": "3.0.7",
-			"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz",
-			"integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA=="
-		},
-		"node_modules/wcwidth": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
-			"integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
-			"dependencies": {
-				"defaults": "^1.0.3"
-			}
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
+			"integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw=="
 		},
 		"node_modules/web-namespaces": {
 			"version": "2.0.1",
@@ -5571,9 +9038,9 @@
 			}
 		},
 		"node_modules/which-pm": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz",
-			"integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.1.1.tgz",
+			"integrity": "sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==",
 			"dependencies": {
 				"load-yaml-file": "^0.2.0",
 				"path-exists": "^4.0.0"
@@ -5604,6 +9071,27 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/widest-line/node_modules/emoji-regex": {
+			"version": "9.2.2",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+			"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+		},
+		"node_modules/widest-line/node_modules/string-width": {
+			"version": "5.1.2",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+			"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+			"dependencies": {
+				"eastasianwidth": "^0.2.0",
+				"emoji-regex": "^9.2.2",
+				"strip-ansi": "^7.0.1"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/wrap-ansi": {
 			"version": "8.1.0",
 			"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
@@ -5631,11 +9119,63 @@
 				"url": "https://github.com/chalk/ansi-styles?sponsor=1"
 			}
 		},
+		"node_modules/wrap-ansi/node_modules/emoji-regex": {
+			"version": "9.2.2",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+			"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+		},
+		"node_modules/wrap-ansi/node_modules/string-width": {
+			"version": "5.1.2",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+			"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+			"dependencies": {
+				"eastasianwidth": "^0.2.0",
+				"emoji-regex": "^9.2.2",
+				"strip-ansi": "^7.0.1"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/wrappy": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+			"optional": true
+		},
+		"node_modules/y18n": {
+			"version": "5.0.8",
+			"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+			"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/yallist": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
 			"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
 		},
+		"node_modules/yargs": {
+			"version": "17.7.2",
+			"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+			"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+			"dependencies": {
+				"cliui": "^8.0.1",
+				"escalade": "^3.1.1",
+				"get-caller-file": "^2.0.5",
+				"require-directory": "^2.1.1",
+				"string-width": "^4.2.3",
+				"y18n": "^5.0.5",
+				"yargs-parser": "^21.1.1"
+			},
+			"engines": {
+				"node": ">=12"
+			}
+		},
 		"node_modules/yargs-parser": {
 			"version": "21.1.1",
 			"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
@@ -5644,21 +9184,58 @@
 				"node": ">=12"
 			}
 		},
-		"node_modules/yocto-queue": {
-			"version": "0.1.0",
-			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-			"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+		"node_modules/yargs/node_modules/ansi-regex": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+			"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
 			"engines": {
-				"node": ">=10"
+				"node": ">=8"
+			}
+		},
+		"node_modules/yargs/node_modules/emoji-regex": {
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+			"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+		},
+		"node_modules/yargs/node_modules/string-width": {
+			"version": "4.2.3",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+			"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+			"dependencies": {
+				"emoji-regex": "^8.0.0",
+				"is-fullwidth-code-point": "^3.0.0",
+				"strip-ansi": "^6.0.1"
+			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/yargs/node_modules/strip-ansi": {
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+			"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+			"dependencies": {
+				"ansi-regex": "^5.0.1"
+			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/yocto-queue": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+			"integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
+			"engines": {
+				"node": ">=12.20"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/zod": {
-			"version": "3.21.4",
-			"resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
-			"integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
+			"version": "3.22.4",
+			"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz",
+			"integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==",
 			"funding": {
 				"url": "https://github.com/sponsors/colinhacks"
 			}
@@ -5683,144 +9260,198 @@
 				"@jridgewell/trace-mapping": "^0.3.9"
 			}
 		},
-		"@astrojs/compiler": {
-			"version": "1.5.4",
-			"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-1.5.4.tgz",
-			"integrity": "sha512-Muk0Nr1Yp2KQ9cwPBKiw+YbTHYGT8ag4RXV+P+4d2nkO2iya46nONzvH4Yv8S/sldL2ij17HGxFMmlPAxaSr6A=="
-		},
-		"@astrojs/internal-helpers": {
-			"version": "0.1.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.1.1.tgz",
-			"integrity": "sha512-+LySbvFbjv2nO2m/e78suleQOGEru4Cnx73VsZbrQgB2u7A4ddsQg3P2T0zC0e10jgcT+c6nNlKeLpa6nRhQIg=="
-		},
-		"@astrojs/language-server": {
-			"version": "1.0.8",
-			"resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-1.0.8.tgz",
-			"integrity": "sha512-gssRxLGb8XnvKpqSzrDW5jdzdFnXD7eBXVkPCkkt2hv7Qzb+SAzv6hVgMok3jDCxpR1aeB+XNd9Qszj2h29iog==",
+		"@astro-community/astro-embed-youtube": {
+			"version": "0.4.3",
+			"resolved": "https://registry.npmjs.org/@astro-community/astro-embed-youtube/-/astro-embed-youtube-0.4.3.tgz",
+			"integrity": "sha512-zXtPmR9yxrTo6cuLhH8v+r62bsXbsLJgsU2FiZalPr4bXJxAUQEIlG46S/qK0AEXi9uNShKqy4+zBaJ98xTVEg==",
 			"requires": {
-				"@astrojs/compiler": "^1.4.2",
-				"@jridgewell/trace-mapping": "^0.3.14",
-				"@vscode/emmet-helper": "^2.8.4",
-				"events": "^3.3.0",
-				"prettier": "^2.8.8",
-				"prettier-plugin-astro": "^0.9.1",
-				"vscode-css-languageservice": "^6.2.1",
-				"vscode-html-languageservice": "^5.0.0",
-				"vscode-languageserver": "^8.0.1",
-				"vscode-languageserver-protocol": "^3.17.1",
-				"vscode-languageserver-textdocument": "^1.0.4",
-				"vscode-languageserver-types": "^3.17.1",
-				"vscode-uri": "^3.0.3"
+				"lite-youtube-embed": "^0.2.0"
 			}
 		},
-		"@astrojs/markdown-remark": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-2.2.1.tgz",
-			"integrity": "sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==",
+		"@astrojs/check": {
+			"version": "0.3.3",
+			"resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.3.3.tgz",
+			"integrity": "sha512-IpglE0PNWEXmRY0y67EYuLwiyMxRUuZuG1oP+tIgqeQEy45g1pBMIWpGnNXdoVRbChHDWMSFd2kLUtgzBUHnRQ==",
 			"requires": {
-				"@astrojs/prism": "^2.1.2",
-				"github-slugger": "^1.4.0",
-				"import-meta-resolve": "^2.1.0",
-				"rehype-raw": "^6.1.1",
-				"rehype-stringify": "^9.0.3",
-				"remark-gfm": "^3.0.1",
-				"remark-parse": "^10.0.1",
-				"remark-rehype": "^10.1.0",
-				"remark-smartypants": "^2.0.0",
-				"shiki": "^0.14.1",
-				"unified": "^10.1.2",
-				"unist-util-visit": "^4.1.0",
-				"vfile": "^5.3.2"
+				"@astrojs/language-server": "^2.5.4",
+				"chokidar": "^3.5.3",
+				"fast-glob": "^3.3.1",
+				"kleur": "^4.1.5",
+				"yargs": "^17.7.2"
+			}
+		},
+		"@astrojs/compiler": {
+			"version": "2.3.4",
+			"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.3.4.tgz",
+			"integrity": "sha512-33/YtWoBCE0cBUNy1kh78FCDXBoBANX87ShgATlAHECYbG2+buNTAgq4Xgz4t5NgnEHPN21GIBC2Mvvwisoutw=="
+		},
+		"@astrojs/internal-helpers": {
+			"version": "0.2.1",
+			"resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.2.1.tgz",
+			"integrity": "sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A=="
+		},
+		"@astrojs/language-server": {
+			"version": "2.5.4",
+			"resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.5.4.tgz",
+			"integrity": "sha512-diTs8AW5TvpO6LWEyuAMAC1ydH1tnVJmv2dRrcczklJZcfY9/eYLbGtKiC9rEQH3BwvFdnphroMUEprzCiqSMg==",
+			"requires": {
+				"@astrojs/compiler": "^2.2.2",
+				"@jridgewell/sourcemap-codec": "^1.4.15",
+				"@volar/kit": "~1.10.9",
+				"@volar/language-core": "~1.10.9",
+				"@volar/language-server": "~1.10.9",
+				"@volar/language-service": "~1.10.9",
+				"@volar/source-map": "~1.10.9",
+				"@volar/typescript": "~1.10.9",
+				"fast-glob": "^3.2.12",
+				"muggle-string": "^0.3.1",
+				"volar-service-css": "0.0.16",
+				"volar-service-emmet": "0.0.16",
+				"volar-service-html": "0.0.16",
+				"volar-service-prettier": "0.0.16",
+				"volar-service-typescript": "0.0.16",
+				"volar-service-typescript-twoslash-queries": "0.0.16",
+				"vscode-html-languageservice": "^5.1.0",
+				"vscode-uri": "^3.0.8"
 			},
 			"dependencies": {
-				"github-slugger": {
-					"version": "1.5.0",
-					"resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz",
-					"integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw=="
+				"@jridgewell/sourcemap-codec": {
+					"version": "1.4.15",
+					"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+					"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
 				}
 			}
 		},
-		"@astrojs/prism": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-2.1.2.tgz",
-			"integrity": "sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==",
+		"@astrojs/markdown-remark": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.0.1.tgz",
+			"integrity": "sha512-RU4ESnqvyLpj8WZs0n5elS6idaDdtIIm7mIpMaRNPCebpxMjfcfdwcmBwz83ktAj5d2eO5bC3z92TcGdli+lRw==",
 			"requires": {
-				"prismjs": "^1.28.0"
+				"@astrojs/prism": "^3.0.0",
+				"github-slugger": "^2.0.0",
+				"import-meta-resolve": "^4.0.0",
+				"mdast-util-definitions": "^6.0.0",
+				"rehype-raw": "^7.0.0",
+				"rehype-stringify": "^10.0.0",
+				"remark-gfm": "^4.0.0",
+				"remark-parse": "^11.0.0",
+				"remark-rehype": "^11.0.0",
+				"remark-smartypants": "^2.0.0",
+				"shikiji": "^0.6.13",
+				"unified": "^11.0.4",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.1"
+			}
+		},
+		"@astrojs/mdx": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-2.0.3.tgz",
+			"integrity": "sha512-wFjQX5CihU5B4UAQNwc2R48ph0flpc6/yvDCFANE0agtgI2+BaVcAjuW0EhGOQCZ65dQDqnFKE0lvGs7EADYpg==",
+			"requires": {
+				"@astrojs/markdown-remark": "4.0.1",
+				"@mdx-js/mdx": "^3.0.0",
+				"acorn": "^8.11.2",
+				"es-module-lexer": "^1.4.1",
+				"estree-util-visit": "^2.0.0",
+				"github-slugger": "^2.0.0",
+				"gray-matter": "^4.0.3",
+				"hast-util-to-html": "^9.0.0",
+				"kleur": "^4.1.4",
+				"rehype-raw": "^7.0.0",
+				"remark-gfm": "^4.0.0",
+				"remark-smartypants": "^2.0.0",
+				"source-map": "^0.7.4",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.1"
+			}
+		},
+		"@astrojs/prism": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz",
+			"integrity": "sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==",
+			"requires": {
+				"prismjs": "^1.29.0"
 			}
 		},
 		"@astrojs/sitemap": {
-			"version": "1.2.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-1.2.1.tgz",
-			"integrity": "sha512-nlKP1qc1ENZ61w+ep5RdsObjYWso4QdLGC5WyzssnKkgVDijHT61s/tHFfBWHhxqdjcw4x1V1um/eSQZPDTR3Q==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.0.3.tgz",
+			"integrity": "sha512-+GRKp1yho9dpHBcMcU6JpbL41k0yYZghOkNsMRb8QIRflbGHvd787tdv9oIZ5NJj0SqAuOlqp2UpqLkJXuAe2A==",
 			"requires": {
 				"sitemap": "^7.1.1",
-				"zod": "^3.17.3"
+				"zod": "^3.22.4"
 			}
 		},
 		"@astrojs/telemetry": {
-			"version": "2.1.1",
-			"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-2.1.1.tgz",
-			"integrity": "sha512-4pRhyeQr0MLB5PKYgkdu+YE8sSpMbHL8dUuslBWBIdgcYjtD1SufPMBI8pgXJ+xlwrQJHKKfK2X1KonHYuOS9A==",
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.0.4.tgz",
+			"integrity": "sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==",
 			"requires": {
-				"ci-info": "^3.3.1",
+				"ci-info": "^3.8.0",
 				"debug": "^4.3.4",
 				"dlv": "^1.1.3",
 				"dset": "^3.1.2",
 				"is-docker": "^3.0.0",
-				"is-wsl": "^2.2.0",
-				"undici": "^5.22.0",
+				"is-wsl": "^3.0.0",
 				"which-pm-runs": "^1.1.0"
-			}
-		},
-		"@astrojs/webapi": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/@astrojs/webapi/-/webapi-2.2.0.tgz",
-			"integrity": "sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==",
-			"requires": {
-				"undici": "^5.22.0"
+			},
+			"dependencies": {
+				"ci-info": {
+					"version": "3.9.0",
+					"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+					"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="
+				}
 			}
 		},
 		"@babel/code-frame": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
-			"integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
+			"version": "7.23.5",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+			"integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
 			"requires": {
-				"@babel/highlight": "^7.22.5"
+				"@babel/highlight": "^7.23.4",
+				"chalk": "^2.4.2"
 			}
 		},
 		"@babel/compat-data": {
-			"version": "7.22.6",
-			"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz",
-			"integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg=="
+			"version": "7.23.5",
+			"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+			"integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw=="
 		},
 		"@babel/core": {
-			"version": "7.22.8",
-			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz",
-			"integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz",
+			"integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==",
 			"requires": {
 				"@ampproject/remapping": "^2.2.0",
-				"@babel/code-frame": "^7.22.5",
-				"@babel/generator": "^7.22.7",
-				"@babel/helper-compilation-targets": "^7.22.6",
-				"@babel/helper-module-transforms": "^7.22.5",
-				"@babel/helpers": "^7.22.6",
-				"@babel/parser": "^7.22.7",
-				"@babel/template": "^7.22.5",
-				"@babel/traverse": "^7.22.8",
-				"@babel/types": "^7.22.5",
-				"@nicolo-ribaudo/semver-v6": "^6.3.3",
-				"convert-source-map": "^1.7.0",
+				"@babel/code-frame": "^7.23.5",
+				"@babel/generator": "^7.23.6",
+				"@babel/helper-compilation-targets": "^7.23.6",
+				"@babel/helper-module-transforms": "^7.23.3",
+				"@babel/helpers": "^7.23.6",
+				"@babel/parser": "^7.23.6",
+				"@babel/template": "^7.22.15",
+				"@babel/traverse": "^7.23.6",
+				"@babel/types": "^7.23.6",
+				"convert-source-map": "^2.0.0",
 				"debug": "^4.1.0",
 				"gensync": "^1.0.0-beta.2",
-				"json5": "^2.2.2"
+				"json5": "^2.2.3",
+				"semver": "^6.3.1"
+			},
+			"dependencies": {
+				"semver": {
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
+				}
 			}
 		},
 		"@babel/generator": {
-			"version": "7.22.7",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz",
-			"integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+			"integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
 			"requires": {
-				"@babel/types": "^7.22.5",
+				"@babel/types": "^7.23.6",
 				"@jridgewell/gen-mapping": "^0.3.2",
 				"@jridgewell/trace-mapping": "^0.3.17",
 				"jsesc": "^2.5.1"
@@ -5835,29 +9466,36 @@
 			}
 		},
 		"@babel/helper-compilation-targets": {
-			"version": "7.22.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz",
-			"integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+			"integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
 			"requires": {
-				"@babel/compat-data": "^7.22.6",
-				"@babel/helper-validator-option": "^7.22.5",
-				"@nicolo-ribaudo/semver-v6": "^6.3.3",
-				"browserslist": "^4.21.9",
-				"lru-cache": "^5.1.1"
+				"@babel/compat-data": "^7.23.5",
+				"@babel/helper-validator-option": "^7.23.5",
+				"browserslist": "^4.22.2",
+				"lru-cache": "^5.1.1",
+				"semver": "^6.3.1"
+			},
+			"dependencies": {
+				"semver": {
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
+				}
 			}
 		},
 		"@babel/helper-environment-visitor": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
-			"integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q=="
+			"version": "7.22.20",
+			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+			"integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA=="
 		},
 		"@babel/helper-function-name": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
-			"integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+			"version": "7.23.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+			"integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
 			"requires": {
-				"@babel/template": "^7.22.5",
-				"@babel/types": "^7.22.5"
+				"@babel/template": "^7.22.15",
+				"@babel/types": "^7.23.0"
 			}
 		},
 		"@babel/helper-hoist-variables": {
@@ -5869,26 +9507,23 @@
 			}
 		},
 		"@babel/helper-module-imports": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
-			"integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
+			"version": "7.22.15",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+			"integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
 			"requires": {
-				"@babel/types": "^7.22.5"
+				"@babel/types": "^7.22.15"
 			}
 		},
 		"@babel/helper-module-transforms": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz",
-			"integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==",
+			"version": "7.23.3",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+			"integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
 			"requires": {
-				"@babel/helper-environment-visitor": "^7.22.5",
-				"@babel/helper-module-imports": "^7.22.5",
+				"@babel/helper-environment-visitor": "^7.22.20",
+				"@babel/helper-module-imports": "^7.22.15",
 				"@babel/helper-simple-access": "^7.22.5",
-				"@babel/helper-split-export-declaration": "^7.22.5",
-				"@babel/helper-validator-identifier": "^7.22.5",
-				"@babel/template": "^7.22.5",
-				"@babel/traverse": "^7.22.5",
-				"@babel/types": "^7.22.5"
+				"@babel/helper-split-export-declaration": "^7.22.6",
+				"@babel/helper-validator-identifier": "^7.22.20"
 			}
 		},
 		"@babel/helper-plugin-utils": {
@@ -5913,44 +9548,44 @@
 			}
 		},
 		"@babel/helper-string-parser": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
-			"integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw=="
+			"version": "7.23.4",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+			"integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ=="
 		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
-			"integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ=="
+			"version": "7.22.20",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A=="
 		},
 		"@babel/helper-validator-option": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
-			"integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw=="
+			"version": "7.23.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+			"integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw=="
 		},
 		"@babel/helpers": {
-			"version": "7.22.6",
-			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz",
-			"integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz",
+			"integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==",
 			"requires": {
-				"@babel/template": "^7.22.5",
-				"@babel/traverse": "^7.22.6",
-				"@babel/types": "^7.22.5"
+				"@babel/template": "^7.22.15",
+				"@babel/traverse": "^7.23.6",
+				"@babel/types": "^7.23.6"
 			}
 		},
 		"@babel/highlight": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
-			"integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
+			"version": "7.23.4",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+			"integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.22.5",
-				"chalk": "^2.0.0",
+				"@babel/helper-validator-identifier": "^7.22.20",
+				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0"
 			}
 		},
 		"@babel/parser": {
-			"version": "7.22.7",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz",
-			"integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q=="
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+			"integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ=="
 		},
 		"@babel/plugin-syntax-jsx": {
 			"version": "7.22.5",
@@ -5973,42 +9608,339 @@
 			}
 		},
 		"@babel/template": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
-			"integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
+			"version": "7.22.15",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+			"integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
 			"requires": {
-				"@babel/code-frame": "^7.22.5",
-				"@babel/parser": "^7.22.5",
-				"@babel/types": "^7.22.5"
+				"@babel/code-frame": "^7.22.13",
+				"@babel/parser": "^7.22.15",
+				"@babel/types": "^7.22.15"
 			}
 		},
 		"@babel/traverse": {
-			"version": "7.22.8",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz",
-			"integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz",
+			"integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==",
 			"requires": {
-				"@babel/code-frame": "^7.22.5",
-				"@babel/generator": "^7.22.7",
-				"@babel/helper-environment-visitor": "^7.22.5",
-				"@babel/helper-function-name": "^7.22.5",
+				"@babel/code-frame": "^7.23.5",
+				"@babel/generator": "^7.23.6",
+				"@babel/helper-environment-visitor": "^7.22.20",
+				"@babel/helper-function-name": "^7.23.0",
 				"@babel/helper-hoist-variables": "^7.22.5",
 				"@babel/helper-split-export-declaration": "^7.22.6",
-				"@babel/parser": "^7.22.7",
-				"@babel/types": "^7.22.5",
-				"debug": "^4.1.0",
+				"@babel/parser": "^7.23.6",
+				"@babel/types": "^7.23.6",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			}
 		},
 		"@babel/types": {
-			"version": "7.22.5",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
-			"integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
+			"version": "7.23.6",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+			"integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
 			"requires": {
-				"@babel/helper-string-parser": "^7.22.5",
-				"@babel/helper-validator-identifier": "^7.22.5",
+				"@babel/helper-string-parser": "^7.23.4",
+				"@babel/helper-validator-identifier": "^7.22.20",
 				"to-fast-properties": "^2.0.0"
 			}
 		},
+		"@csstools/cascade-layer-name-parser": {
+			"version": "1.0.6",
+			"resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.6.tgz",
+			"integrity": "sha512-HkxRNs6ZIV0VjLFw6k5G8K35vd9r+O8B1Vr+QVD8M5Y44eQxyHtc42BdF74FQatXACPnitOR1+sRx2oWdnKTQw==",
+			"requires": {}
+		},
+		"@csstools/color-helpers": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.0.0.tgz",
+			"integrity": "sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w=="
+		},
+		"@csstools/css-calc": {
+			"version": "1.1.5",
+			"resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.5.tgz",
+			"integrity": "sha512-UhI5oSRAUtTHY3MyGahqn0ZzQOHVoPpfvUcOmYipAZ1rILAvCBoyiLSsa/clv1Xxct0SMKIq93KO5Bfl1cb6tQ==",
+			"requires": {}
+		},
+		"@csstools/css-color-parser": {
+			"version": "1.5.0",
+			"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.5.0.tgz",
+			"integrity": "sha512-PUhSg1MgU2sjYhA6moOmxYesqVqYTJwcVw12boTNbDX7Af+VK02MkgvmBBY2Z2qU6UN5HOQ+wrF0qQJGsTFY7w==",
+			"requires": {
+				"@csstools/color-helpers": "^4.0.0",
+				"@csstools/css-calc": "^1.1.5"
+			}
+		},
+		"@csstools/css-parser-algorithms": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.4.0.tgz",
+			"integrity": "sha512-/PPLr2g5PAUCKAPEbfyk6/baZA+WJHQtUhPkoCQMpyRE8I0lXrG1QFRN8e5s3ZYxM8d/g5BZc6lH3s8Op7/VEg==",
+			"requires": {}
+		},
+		"@csstools/css-tokenizer": {
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.2.tgz",
+			"integrity": "sha512-wCDUe/MAw7npAHFLyW3QjSyLA66S5QFaV1jIXlNQvdJ8RzXDSgALa49eWcUO6P55ARQaz0TsDdAgdRgkXFYY8g=="
+		},
+		"@csstools/media-query-list-parser": {
+			"version": "2.1.6",
+			"resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.6.tgz",
+			"integrity": "sha512-R6AKl9vaU0It7D7TR2lQn0pre5aQfdeqHRePlaRCY8rHL3l9eVlNRpsEVDKFi/zAjzv68CxH2M5kqbhPFPKjvw==",
+			"requires": {}
+		},
+		"@csstools/postcss-cascade-layers": {
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.2.tgz",
+			"integrity": "sha512-PqM+jvg5T2tB4FHX+akrMGNWAygLupD4FNUjcv4PSvtVuWZ6ISxuo37m4jFGU7Jg3rCfloGzKd0+xfr5Ec3vZQ==",
+			"requires": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"@csstools/postcss-color-function": {
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.8.tgz",
+			"integrity": "sha512-jvbF7eCRbIcxWqby0kk2Mt85QtGzRRpFFYdlJCJ80Tuiv43PY+auS/nBl8pDQQ4Ndm4vsm4IC/wCZDcJUmpJmg==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			}
+		},
+		"@csstools/postcss-color-mix-function": {
+			"version": "2.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.8.tgz",
+			"integrity": "sha512-sGhk+TdZ2TeXspc6LSYSYC8WgzLlxoknUaObKgB0mk+dNjRQgSSIeCU+qrCwvHmwM+uTNKtiS8mntDzyQLHTTA==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			}
+		},
+		"@csstools/postcss-exponential-functions": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.2.tgz",
+			"integrity": "sha512-VRIYrwNCkZRqzsGB4jGT+XcNXsoiwyqy0Vf7C3I/5OPcf7WcWK3G1sBYFqqgWLGtpwc7m1m8TcorGY1xdh5abg==",
+			"requires": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"@csstools/postcss-font-format-keywords": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.1.tgz",
+			"integrity": "sha512-D1lcG2sfotTq6yBEOMV3myFxJLT10F3DLYZJMbiny5YToqzHWodZen8WId3UTimm0mEHitXqAUNL5jdd6RzVdA==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"@csstools/postcss-gamut-mapping": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.1.tgz",
+			"integrity": "sha512-GDVzfNbnc7x3GusFklvt0mYXIWVzxEtEtTFEW664NgZh/5V7Z89hZKBMl9piOAHXuxijfHtE+kul/ShfeLUvcA==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"@csstools/postcss-gradients-interpolation-method": {
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.8.tgz",
+			"integrity": "sha512-bmvCNzuUvWPPdgASh0T14ffTay/FdzXsXfp0wXT1pYoUPmkH9M6yyxwPEkHq5djjzSb2jiLl4Ta3XM1uOREQ2w==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			}
+		},
+		"@csstools/postcss-hwb-function": {
+			"version": "3.0.7",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.7.tgz",
+			"integrity": "sha512-iXs1gxKtev8YNP5bOF26TAsnMfcxnCRLpKItQ067RphYECKEK/xWm4Z0r4ChmV1U1eq+lbdH5ZIb2cju4o5akA==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"@csstools/postcss-ic-unit": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.3.tgz",
+			"integrity": "sha512-MpcmIL0/uMm/cFWh5V/9nbKKJ7jRr2qTYW5Q6zoE6HZ6uzOBJr2KRERv5/x8xzEBQ1MthDT7iP1EBp9luSQy7g==",
+			"requires": {
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3",
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"@csstools/postcss-initial": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz",
+			"integrity": "sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==",
+			"requires": {}
+		},
+		"@csstools/postcss-is-pseudo-class": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.4.tgz",
+			"integrity": "sha512-vTVO/uZixpTVAOQt3qZRUFJ/K1L03OfNkeJ8sFNDVNdVy/zW0h1L5WT7HIPMDUkvSrxQkFaCCybTZkUP7UESlQ==",
+			"requires": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"@csstools/postcss-logical-float-and-clear": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz",
+			"integrity": "sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==",
+			"requires": {}
+		},
+		"@csstools/postcss-logical-overflow": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz",
+			"integrity": "sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==",
+			"requires": {}
+		},
+		"@csstools/postcss-logical-overscroll-behavior": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz",
+			"integrity": "sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==",
+			"requires": {}
+		},
+		"@csstools/postcss-logical-resize": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz",
+			"integrity": "sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"@csstools/postcss-logical-viewport-units": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.4.tgz",
+			"integrity": "sha512-jetp/ArGAniWbjWBh5UQ07ztawfSbqCFd0QelX4R4pVIxrXahUEhz5VZHebMPVCg02J8GsQn0br6fdRpY6t7lw==",
+			"requires": {
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"@csstools/postcss-media-minmax": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.1.tgz",
+			"integrity": "sha512-mBY46/Hr+A8cDjoX0OoPRBOVrkANym9540dSB9rN3dllPZdM1E112i/tVxWsrR1s1yE9gfF0pk+7lf9l+qSeHA==",
+			"requires": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/media-query-list-parser": "^2.1.6"
+			}
+		},
+		"@csstools/postcss-media-queries-aspect-ratio-number-values": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.4.tgz",
+			"integrity": "sha512-IaIZZhH0Qy9UDn7u+N3cuwwPG0Po3ZKOdDh+ClR7xvisSqniG+PuVrOEWYJrFKOt2//UHLhd7KHDqr2u9LKS9Q==",
+			"requires": {
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/media-query-list-parser": "^2.1.6"
+			}
+		},
+		"@csstools/postcss-nested-calc": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.1.tgz",
+			"integrity": "sha512-bwwababZpWRm0ByHaWBxTsDGTMhZKmtUNl3Wt0Eom8AY7ORgXx5qF9SSk1vEFrCi+HOfJT6M6W5KPgzXuQNRwQ==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"@csstools/postcss-normalize-display-values": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz",
+			"integrity": "sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"@csstools/postcss-oklab-function": {
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.8.tgz",
+			"integrity": "sha512-L4xrwbgg+k08v+a88LDxJeIM6+kqaBJlYb/QgmEMfQpUbrfXTp87DuRc7utcRdDvY+qWK5vqz3h1xUtceB5LJQ==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			}
+		},
+		"@csstools/postcss-progressive-custom-properties": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.3.tgz",
+			"integrity": "sha512-WipTVh6JTMQfeIrzDV4wEPsV9NTzMK2jwXxyH6CGBktuWdivHnkioP/smp1x/0QDPQyx7NTS14RB+GV3zZZYEw==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"@csstools/postcss-relative-color-syntax": {
+			"version": "2.0.8",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.8.tgz",
+			"integrity": "sha512-wu/Oh7QKINpRXnmLMUbObVNlqwr843PSF4a3x3fMC0I+vUeoGqMfZuSPFtT+NnYYxfzUjEZ091GURPxee22VLQ==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			}
+		},
+		"@csstools/postcss-scope-pseudo-class": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz",
+			"integrity": "sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"@csstools/postcss-stepped-value-functions": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.3.tgz",
+			"integrity": "sha512-hzo9Wr3u7JJiM65/EyHgE/gJpBzhDwBSGOobFs2YQ0ZNTywUliYQoYJud1KKlByMRuhqvDLh9V95eIkLf/fZTQ==",
+			"requires": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"@csstools/postcss-text-decoration-shorthand": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz",
+			"integrity": "sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ==",
+			"requires": {
+				"@csstools/color-helpers": "^4.0.0",
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"@csstools/postcss-trigonometric-functions": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.3.tgz",
+			"integrity": "sha512-T/npTbDuMZ3vktEMuA05p1oeVd12Sy47qZP1vFhzNMUOdXGCK9vlm0tUSIlV5DdlbTJqKqq9FhGitZH9VTKrfQ==",
+			"requires": {
+				"@csstools/css-calc": "^1.1.5",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2"
+			}
+		},
+		"@csstools/postcss-unset-value": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz",
+			"integrity": "sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==",
+			"requires": {}
+		},
+		"@csstools/selector-specificity": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz",
+			"integrity": "sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==",
+			"requires": {}
+		},
 		"@emmetio/abbreviation": {
 			"version": "2.3.3",
 			"resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz",
@@ -6030,136 +9962,142 @@
 			"resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz",
 			"integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA=="
 		},
+		"@esbuild/aix-ppc64": {
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz",
+			"integrity": "sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==",
+			"optional": true
+		},
 		"@esbuild/android-arm": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
-			"integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz",
+			"integrity": "sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==",
 			"optional": true
 		},
 		"@esbuild/android-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
-			"integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz",
+			"integrity": "sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==",
 			"optional": true
 		},
 		"@esbuild/android-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
-			"integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz",
+			"integrity": "sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==",
 			"optional": true
 		},
 		"@esbuild/darwin-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
-			"integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz",
+			"integrity": "sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==",
 			"optional": true
 		},
 		"@esbuild/darwin-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
-			"integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz",
+			"integrity": "sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==",
 			"optional": true
 		},
 		"@esbuild/freebsd-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
-			"integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz",
+			"integrity": "sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==",
 			"optional": true
 		},
 		"@esbuild/freebsd-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
-			"integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz",
+			"integrity": "sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==",
 			"optional": true
 		},
 		"@esbuild/linux-arm": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
-			"integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz",
+			"integrity": "sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==",
 			"optional": true
 		},
 		"@esbuild/linux-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
-			"integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz",
+			"integrity": "sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==",
 			"optional": true
 		},
 		"@esbuild/linux-ia32": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
-			"integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz",
+			"integrity": "sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==",
 			"optional": true
 		},
 		"@esbuild/linux-loong64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
-			"integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz",
+			"integrity": "sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==",
 			"optional": true
 		},
 		"@esbuild/linux-mips64el": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
-			"integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz",
+			"integrity": "sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==",
 			"optional": true
 		},
 		"@esbuild/linux-ppc64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
-			"integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz",
+			"integrity": "sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==",
 			"optional": true
 		},
 		"@esbuild/linux-riscv64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
-			"integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz",
+			"integrity": "sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==",
 			"optional": true
 		},
 		"@esbuild/linux-s390x": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
-			"integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz",
+			"integrity": "sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==",
 			"optional": true
 		},
 		"@esbuild/linux-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
-			"integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz",
+			"integrity": "sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==",
 			"optional": true
 		},
 		"@esbuild/netbsd-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
-			"integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz",
+			"integrity": "sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==",
 			"optional": true
 		},
 		"@esbuild/openbsd-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
-			"integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz",
+			"integrity": "sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==",
 			"optional": true
 		},
 		"@esbuild/sunos-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
-			"integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz",
+			"integrity": "sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==",
 			"optional": true
 		},
 		"@esbuild/win32-arm64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
-			"integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz",
+			"integrity": "sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==",
 			"optional": true
 		},
 		"@esbuild/win32-ia32": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
-			"integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz",
+			"integrity": "sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==",
 			"optional": true
 		},
 		"@esbuild/win32-x64": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
-			"integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz",
+			"integrity": "sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==",
 			"optional": true
 		},
 		"@jridgewell/gen-mapping": {
@@ -6196,10 +10134,35 @@
 				"@jridgewell/sourcemap-codec": "1.4.14"
 			}
 		},
-		"@nicolo-ribaudo/semver-v6": {
-			"version": "6.3.3",
-			"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz",
-			"integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg=="
+		"@mdx-js/mdx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.0.tgz",
+			"integrity": "sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==",
+			"requires": {
+				"@types/estree": "^1.0.0",
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdx": "^2.0.0",
+				"collapse-white-space": "^2.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-build-jsx": "^3.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"estree-util-to-js": "^2.0.0",
+				"estree-walker": "^3.0.0",
+				"hast-util-to-estree": "^3.0.0",
+				"hast-util-to-jsx-runtime": "^2.0.0",
+				"markdown-extensions": "^2.0.0",
+				"periscopic": "^3.0.0",
+				"remark-mdx": "^3.0.0",
+				"remark-parse": "^11.0.0",
+				"remark-rehype": "^11.0.0",
+				"source-map": "^0.7.0",
+				"unified": "^11.0.0",
+				"unist-util-position-from-estree": "^2.0.0",
+				"unist-util-stringify-position": "^4.0.0",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.0"
+			}
 		},
 		"@nodelib/fs.scandir": {
 			"version": "2.1.5",
@@ -6224,23 +10187,114 @@
 				"fastq": "^1.6.0"
 			}
 		},
-		"@pkgr/utils": {
-			"version": "2.4.2",
-			"resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
-			"integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==",
+		"@rollup/rollup-android-arm-eabi": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
+			"integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
+			"optional": true
+		},
+		"@rollup/rollup-android-arm64": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
+			"integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
+			"optional": true
+		},
+		"@rollup/rollup-darwin-arm64": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
+			"integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
+			"optional": true
+		},
+		"@rollup/rollup-darwin-x64": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
+			"integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-arm-gnueabihf": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
+			"integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-arm-musleabihf": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
+			"integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-arm64-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
+			"integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-arm64-musl": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
+			"integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-powerpc64le-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
+			"integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-riscv64-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
+			"integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-s390x-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
+			"integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-x64-gnu": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
+			"integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
+			"optional": true
+		},
+		"@rollup/rollup-linux-x64-musl": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
+			"integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
+			"optional": true
+		},
+		"@rollup/rollup-win32-arm64-msvc": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
+			"integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
+			"optional": true
+		},
+		"@rollup/rollup-win32-ia32-msvc": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
+			"integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
+			"optional": true
+		},
+		"@rollup/rollup-win32-x64-msvc": {
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
+			"integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
+			"optional": true
+		},
+		"@types/acorn": {
+			"version": "4.0.6",
+			"resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz",
+			"integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==",
 			"requires": {
-				"cross-spawn": "^7.0.3",
-				"fast-glob": "^3.3.0",
-				"is-glob": "^4.0.3",
-				"open": "^9.1.0",
-				"picocolors": "^1.0.0",
-				"tslib": "^2.6.0"
+				"@types/estree": "*"
 			}
 		},
 		"@types/babel__core": {
-			"version": "7.20.1",
-			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz",
-			"integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==",
+			"version": "7.20.5",
+			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+			"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
 			"requires": {
 				"@babel/parser": "^7.20.7",
 				"@babel/types": "^7.20.7",
@@ -6250,70 +10304,90 @@
 			}
 		},
 		"@types/babel__generator": {
-			"version": "7.6.4",
-			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
-			"integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
+			"version": "7.6.8",
+			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+			"integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
 			"requires": {
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"@types/babel__template": {
-			"version": "7.4.1",
-			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
-			"integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
+			"version": "7.4.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+			"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
 			"requires": {
 				"@babel/parser": "^7.1.0",
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"@types/babel__traverse": {
-			"version": "7.20.1",
-			"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz",
-			"integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==",
+			"version": "7.20.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz",
+			"integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==",
 			"requires": {
 				"@babel/types": "^7.20.7"
 			}
 		},
 		"@types/debug": {
-			"version": "4.1.8",
-			"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz",
-			"integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==",
+			"version": "4.1.12",
+			"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
+			"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
 			"requires": {
 				"@types/ms": "*"
 			}
 		},
+		"@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
+		},
+		"@types/estree-jsx": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz",
+			"integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==",
+			"requires": {
+				"@types/estree": "*"
+			}
+		},
 		"@types/hast": {
-			"version": "2.3.4",
-			"resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
-			"integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz",
+			"integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==",
 			"requires": {
 				"@types/unist": "*"
 			}
 		},
-		"@types/json5": {
-			"version": "0.0.30",
-			"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.30.tgz",
-			"integrity": "sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA=="
-		},
 		"@types/mdast": {
-			"version": "3.0.11",
-			"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz",
-			"integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==",
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz",
+			"integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==",
 			"requires": {
 				"@types/unist": "*"
 			}
 		},
+		"@types/mdx": {
+			"version": "2.0.10",
+			"resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz",
+			"integrity": "sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg=="
+		},
 		"@types/ms": {
-			"version": "0.7.31",
-			"resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
-			"integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
+			"version": "0.7.34",
+			"resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
+			"integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g=="
 		},
 		"@types/nlcst": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.0.tgz",
-			"integrity": "sha512-3TGCfOcy8R8mMQ4CNSNOe3PG66HttvjcLzCoOpvXvDtfWOTi+uT/rxeOKm/qEwbM4SNe1O/PjdiBK2YcTjU4OQ==",
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.4.tgz",
+			"integrity": "sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==",
 			"requires": {
-				"@types/unist": "*"
+				"@types/unist": "^2"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				}
 			}
 		},
 		"@types/node": {
@@ -6321,16 +10395,6 @@
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz",
 			"integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA=="
 		},
-		"@types/parse5": {
-			"version": "6.0.3",
-			"resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
-			"integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g=="
-		},
-		"@types/resolve": {
-			"version": "1.20.2",
-			"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
-			"integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="
-		},
 		"@types/sax": {
 			"version": "1.2.4",
 			"resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz",
@@ -6340,14 +10404,79 @@
 			}
 		},
 		"@types/unist": {
-			"version": "2.0.6",
-			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
-			"integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
+			"integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ=="
 		},
-		"@types/yargs-parser": {
-			"version": "21.0.0",
-			"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
-			"integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA=="
+		"@ungap/structured-clone": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+			"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
+		},
+		"@volar/kit": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/kit/-/kit-1.10.10.tgz",
+			"integrity": "sha512-V2SyUPCPUhueqH8j5t48LJ0QsjExGSXzTv/XOdkUHV7hJ/ekyRGFqKxcfBtMq/nK6Tgu2G1ba+6u0d7e6wKcQw==",
+			"requires": {
+				"@volar/language-service": "1.10.10",
+				"typesafe-path": "^0.2.2",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"@volar/language-core": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.10.10.tgz",
+			"integrity": "sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==",
+			"requires": {
+				"@volar/source-map": "1.10.10"
+			}
+		},
+		"@volar/language-server": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-1.10.10.tgz",
+			"integrity": "sha512-F2PRBU+CRjT7L9qe8bjof/uz/LbAXVmgwNU2gOSX2y1bUl3E8DHmD0dB6pwIVublvkx+Ivg/0r3Z6oyxfPPruQ==",
+			"requires": {
+				"@volar/language-core": "1.10.10",
+				"@volar/language-service": "1.10.10",
+				"@volar/typescript": "1.10.10",
+				"@vscode/l10n": "^0.0.16",
+				"path-browserify": "^1.0.1",
+				"request-light": "^0.7.0",
+				"vscode-languageserver": "^9.0.1",
+				"vscode-languageserver-protocol": "^3.17.5",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"@volar/language-service": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-1.10.10.tgz",
+			"integrity": "sha512-P4fiPWDI6fLGO6BghlksCVHs1nr9gvWAMDyma3Bca4aowxXusxjUVTsnJq0EVorIN5uIr1Xel4B/tNdXt/IKyw==",
+			"requires": {
+				"@volar/language-core": "1.10.10",
+				"@volar/source-map": "1.10.10",
+				"vscode-languageserver-protocol": "^3.17.5",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"@volar/source-map": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.10.10.tgz",
+			"integrity": "sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==",
+			"requires": {
+				"muggle-string": "^0.3.1"
+			}
+		},
+		"@volar/typescript": {
+			"version": "1.10.10",
+			"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.10.10.tgz",
+			"integrity": "sha512-4a2r5bdUub2m+mYVnLu2wt59fuoYWe7nf0uXtGHU8QQ5LDNfzAR0wK7NgDiQ9rcl2WT3fxT2AA9AylAwFtj50A==",
+			"requires": {
+				"@volar/language-core": "1.10.10",
+				"path-browserify": "^1.0.1"
+			}
 		},
 		"@vscode/emmet-helper": {
 			"version": "2.9.2",
@@ -6369,14 +10498,20 @@
 			}
 		},
 		"@vscode/l10n": {
-			"version": "0.0.14",
-			"resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.14.tgz",
-			"integrity": "sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg=="
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz",
+			"integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg=="
 		},
 		"acorn": {
-			"version": "8.10.0",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
-			"integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw=="
+			"version": "8.11.2",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+			"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w=="
+		},
+		"acorn-jsx": {
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+			"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+			"requires": {}
 		},
 		"ansi-align": {
 			"version": "3.0.1",
@@ -6421,11 +10556,6 @@
 			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
 			"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
 		},
-		"ansi-sequence-parser": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz",
-			"integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ=="
-		},
 		"ansi-styles": {
 			"version": "3.2.1",
 			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -6456,74 +10586,116 @@
 				"sprintf-js": "~1.0.2"
 			}
 		},
+		"aria-query": {
+			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+			"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+			"requires": {
+				"dequal": "^2.0.3"
+			}
+		},
 		"array-iterate": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz",
 			"integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="
 		},
+		"astring": {
+			"version": "1.8.6",
+			"resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz",
+			"integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg=="
+		},
 		"astro": {
-			"version": "2.8.0",
-			"resolved": "https://registry.npmjs.org/astro/-/astro-2.8.0.tgz",
-			"integrity": "sha512-bqdhE9039dzi0mqaWGO9rMk5HKxTn5TckxFmRPUdsV1qmbpghXtwuERHblfJu5etQofV6WVEyTrouG+BLRkqfA==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/astro/-/astro-4.2.1.tgz",
+			"integrity": "sha512-TcrveW2/lohmljrbTUgcDxajEdF1yK+zBvb7SXroloGix/d4jkegO6GANFgvyy0zprMyajW7qgJEFyhWUX86Vw==",
 			"requires": {
-				"@astrojs/compiler": "^1.5.3",
-				"@astrojs/internal-helpers": "^0.1.1",
-				"@astrojs/language-server": "^1.0.0",
-				"@astrojs/markdown-remark": "^2.2.1",
-				"@astrojs/telemetry": "^2.1.1",
-				"@astrojs/webapi": "^2.2.0",
-				"@babel/core": "^7.22.5",
-				"@babel/generator": "^7.22.5",
-				"@babel/parser": "^7.22.5",
+				"@astrojs/compiler": "^2.3.4",
+				"@astrojs/internal-helpers": "0.2.1",
+				"@astrojs/markdown-remark": "4.1.0",
+				"@astrojs/telemetry": "3.0.4",
+				"@babel/core": "^7.23.3",
+				"@babel/generator": "^7.23.3",
+				"@babel/parser": "^7.23.3",
 				"@babel/plugin-transform-react-jsx": "^7.22.5",
-				"@babel/traverse": "^7.22.5",
-				"@babel/types": "^7.22.5",
-				"@types/babel__core": "^7.20.1",
-				"@types/yargs-parser": "^21.0.0",
-				"acorn": "^8.9.0",
-				"boxen": "^6.2.1",
+				"@babel/traverse": "^7.23.3",
+				"@babel/types": "^7.23.3",
+				"@types/babel__core": "^7.20.4",
+				"acorn": "^8.11.2",
+				"aria-query": "^5.3.0",
+				"axobject-query": "^4.0.0",
+				"boxen": "^7.1.1",
 				"chokidar": "^3.5.3",
-				"ci-info": "^3.8.0",
+				"ci-info": "^4.0.0",
+				"clsx": "^2.0.0",
 				"common-ancestor-path": "^1.0.1",
-				"cookie": "^0.5.0",
+				"cookie": "^0.6.0",
 				"debug": "^4.3.4",
-				"deepmerge-ts": "^4.3.0",
+				"deterministic-object-hash": "^2.0.1",
 				"devalue": "^4.3.2",
 				"diff": "^5.1.0",
-				"es-module-lexer": "^1.3.0",
-				"esbuild": "^0.17.19",
-				"estree-walker": "3.0.0",
-				"execa": "^6.1.0",
-				"fast-glob": "^3.2.12",
+				"dlv": "^1.1.3",
+				"dset": "^3.1.3",
+				"es-module-lexer": "^1.4.1",
+				"esbuild": "^0.19.6",
+				"estree-walker": "^3.0.3",
+				"execa": "^8.0.1",
+				"fast-glob": "^3.3.2",
+				"flattie": "^1.1.0",
 				"github-slugger": "^2.0.0",
 				"gray-matter": "^4.0.3",
 				"html-escaper": "^3.0.3",
+				"http-cache-semantics": "^4.1.1",
 				"js-yaml": "^4.1.0",
 				"kleur": "^4.1.4",
-				"magic-string": "^0.27.0",
+				"magic-string": "^0.30.3",
+				"mdast-util-to-hast": "13.0.2",
 				"mime": "^3.0.0",
-				"ora": "^6.3.1",
-				"p-limit": "^4.0.0",
+				"ora": "^7.0.1",
+				"p-limit": "^5.0.0",
+				"p-queue": "^8.0.1",
 				"path-to-regexp": "^6.2.1",
-				"preferred-pm": "^3.0.3",
+				"preferred-pm": "^3.1.2",
+				"probe-image-size": "^7.2.3",
 				"prompts": "^2.4.2",
-				"rehype": "^12.0.1",
-				"semver": "^7.5.3",
+				"rehype": "^13.0.1",
+				"resolve": "^1.22.4",
+				"semver": "^7.5.4",
 				"server-destroy": "^1.0.1",
-				"shiki": "^0.14.1",
-				"string-width": "^5.1.2",
+				"sharp": "^0.32.6",
+				"shikiji": "^0.9.18",
+				"string-width": "^7.0.0",
 				"strip-ansi": "^7.1.0",
-				"tsconfig-resolver": "^3.0.1",
-				"typescript": "*",
-				"unist-util-visit": "^4.1.2",
-				"vfile": "^5.3.7",
-				"vite": "^4.3.9",
-				"vitefu": "^0.2.4",
-				"which-pm": "^2.0.0",
+				"tsconfck": "^3.0.0",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.1",
+				"vite": "^5.0.10",
+				"vitefu": "^0.2.5",
+				"which-pm": "^2.1.1",
 				"yargs-parser": "^21.1.1",
-				"zod": "^3.20.6"
+				"zod": "^3.22.4"
 			},
 			"dependencies": {
+				"@astrojs/markdown-remark": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.1.0.tgz",
+					"integrity": "sha512-JnIy6zk+6f/SgSVMZecZFxQt0faT1uBckwYCuBxKH1hYYJsal8OOe+tx6JxfnyaV+xViyjUvQ28mmn+p/F5LkQ==",
+					"requires": {
+						"@astrojs/prism": "^3.0.0",
+						"github-slugger": "^2.0.0",
+						"import-meta-resolve": "^4.0.0",
+						"mdast-util-definitions": "^6.0.0",
+						"rehype-raw": "^7.0.0",
+						"rehype-stringify": "^10.0.0",
+						"remark-gfm": "^4.0.0",
+						"remark-parse": "^11.0.0",
+						"remark-rehype": "^11.0.0",
+						"remark-smartypants": "^2.0.0",
+						"shikiji": "^0.9.18",
+						"unified": "^11.0.4",
+						"unist-util-visit": "^5.0.0",
+						"vfile": "^6.0.1"
+					}
+				},
 				"argparse": {
 					"version": "2.0.1",
 					"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -6537,36 +10709,58 @@
 						"argparse": "^2.0.1"
 					}
 				},
-				"p-limit": {
-					"version": "4.0.0",
-					"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
-					"integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+				"shikiji": {
+					"version": "0.9.19",
+					"resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.19.tgz",
+					"integrity": "sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==",
 					"requires": {
-						"yocto-queue": "^1.0.0"
+						"shikiji-core": "0.9.19"
 					}
-				},
-				"yocto-queue": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
-					"integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g=="
 				}
 			}
 		},
+		"autoprefixer": {
+			"version": "10.4.16",
+			"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
+			"integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
+			"requires": {
+				"browserslist": "^4.21.10",
+				"caniuse-lite": "^1.0.30001538",
+				"fraction.js": "^4.3.6",
+				"normalize-range": "^0.1.2",
+				"picocolors": "^1.0.0",
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"axobject-query": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
+			"integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
+			"requires": {
+				"dequal": "^2.0.3"
+			}
+		},
+		"b4a": {
+			"version": "1.6.4",
+			"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
+			"integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==",
+			"optional": true
+		},
 		"bail": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
 			"integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
 		},
+		"base-64": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz",
+			"integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="
+		},
 		"base64-js": {
 			"version": "1.5.1",
 			"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 			"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
 		},
-		"big-integer": {
-			"version": "1.6.51",
-			"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
-			"integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg=="
-		},
 		"binary-extensions": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -6583,90 +10777,59 @@
 			}
 		},
 		"boxen": {
-			"version": "6.2.1",
-			"resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz",
-			"integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz",
+			"integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==",
 			"requires": {
 				"ansi-align": "^3.0.1",
-				"camelcase": "^6.2.0",
-				"chalk": "^4.1.2",
+				"camelcase": "^7.0.1",
+				"chalk": "^5.2.0",
 				"cli-boxes": "^3.0.0",
-				"string-width": "^5.0.1",
-				"type-fest": "^2.5.0",
+				"string-width": "^5.1.2",
+				"type-fest": "^2.13.0",
 				"widest-line": "^4.0.1",
-				"wrap-ansi": "^8.0.1"
+				"wrap-ansi": "^8.1.0"
 			},
 			"dependencies": {
-				"ansi-styles": {
-					"version": "4.3.0",
-					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-					"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-					"requires": {
-						"color-convert": "^2.0.1"
-					}
-				},
 				"chalk": {
-					"version": "4.1.2",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-					"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+					"version": "5.3.0",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+					"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w=="
+				},
+				"emoji-regex": {
+					"version": "9.2.2",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+					"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+				},
+				"string-width": {
+					"version": "5.1.2",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+					"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
 					"requires": {
-						"ansi-styles": "^4.1.0",
-						"supports-color": "^7.1.0"
-					}
-				},
-				"color-convert": {
-					"version": "2.0.1",
-					"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-					"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-					"requires": {
-						"color-name": "~1.1.4"
-					}
-				},
-				"color-name": {
-					"version": "1.1.4",
-					"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-					"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
-				},
-				"has-flag": {
-					"version": "4.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-					"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
-				},
-				"supports-color": {
-					"version": "7.2.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-					"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-					"requires": {
-						"has-flag": "^4.0.0"
+						"eastasianwidth": "^0.2.0",
+						"emoji-regex": "^9.2.2",
+						"strip-ansi": "^7.0.1"
 					}
 				}
 			}
 		},
-		"bplist-parser": {
-			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
-			"integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
-			"requires": {
-				"big-integer": "^1.6.44"
-			}
-		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browserslist": {
-			"version": "4.21.9",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
-			"integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
+			"version": "4.22.2",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+			"integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
 			"requires": {
-				"caniuse-lite": "^1.0.30001503",
-				"electron-to-chromium": "^1.4.431",
-				"node-releases": "^2.0.12",
-				"update-browserslist-db": "^1.0.11"
+				"caniuse-lite": "^1.0.30001565",
+				"electron-to-chromium": "^1.4.601",
+				"node-releases": "^2.0.14",
+				"update-browserslist-db": "^1.0.13"
 			}
 		},
 		"buffer": {
@@ -6678,31 +10841,15 @@
 				"ieee754": "^1.2.1"
 			}
 		},
-		"bundle-name": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz",
-			"integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==",
-			"requires": {
-				"run-applescript": "^5.0.0"
-			}
-		},
-		"busboy": {
-			"version": "1.6.0",
-			"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
-			"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
-			"requires": {
-				"streamsearch": "^1.1.0"
-			}
-		},
 		"camelcase": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
-			"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz",
+			"integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw=="
 		},
 		"caniuse-lite": {
-			"version": "1.0.30001512",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001512.tgz",
-			"integrity": "sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw=="
+			"version": "1.0.30001634",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz",
+			"integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA=="
 		},
 		"ccount": {
 			"version": "2.0.1",
@@ -6734,6 +10881,11 @@
 			"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
 			"integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="
 		},
+		"character-reference-invalid": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+			"integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="
+		},
 		"chokidar": {
 			"version": "3.5.3",
 			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -6749,10 +10901,16 @@
 				"readdirp": "~3.6.0"
 			}
 		},
+		"chownr": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+			"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+			"optional": true
+		},
 		"ci-info": {
-			"version": "3.8.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
-			"integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw=="
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
+			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg=="
 		},
 		"cli-boxes": {
 			"version": "3.0.0",
@@ -6768,14 +10926,117 @@
 			}
 		},
 		"cli-spinners": {
-			"version": "2.9.0",
-			"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz",
-			"integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g=="
+			"version": "2.9.2",
+			"resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
+			"integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="
 		},
-		"clone": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
-			"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
+		"cliui": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+			"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+			"requires": {
+				"string-width": "^4.2.0",
+				"strip-ansi": "^6.0.1",
+				"wrap-ansi": "^7.0.0"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "5.0.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+					"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+				},
+				"ansi-styles": {
+					"version": "4.3.0",
+					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+					"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+					"requires": {
+						"color-convert": "^2.0.1"
+					}
+				},
+				"color-convert": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+					"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+					"requires": {
+						"color-name": "~1.1.4"
+					}
+				},
+				"color-name": {
+					"version": "1.1.4",
+					"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+					"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+				},
+				"emoji-regex": {
+					"version": "8.0.0",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+					"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+				},
+				"string-width": {
+					"version": "4.2.3",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+					"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+					"requires": {
+						"emoji-regex": "^8.0.0",
+						"is-fullwidth-code-point": "^3.0.0",
+						"strip-ansi": "^6.0.1"
+					}
+				},
+				"strip-ansi": {
+					"version": "6.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+					"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+					"requires": {
+						"ansi-regex": "^5.0.1"
+					}
+				},
+				"wrap-ansi": {
+					"version": "7.0.0",
+					"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+					"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+					"requires": {
+						"ansi-styles": "^4.0.0",
+						"string-width": "^4.1.0",
+						"strip-ansi": "^6.0.0"
+					}
+				}
+			}
+		},
+		"clsx": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
+			"integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q=="
+		},
+		"collapse-white-space": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz",
+			"integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="
+		},
+		"color": {
+			"version": "4.2.3",
+			"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+			"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
+			"optional": true,
+			"requires": {
+				"color-convert": "^2.0.1",
+				"color-string": "^1.9.0"
+			},
+			"dependencies": {
+				"color-convert": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+					"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+					"optional": true,
+					"requires": {
+						"color-name": "~1.1.4"
+					}
+				},
+				"color-name": {
+					"version": "1.1.4",
+					"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+					"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+					"optional": true
+				}
+			}
 		},
 		"color-convert": {
 			"version": "1.9.3",
@@ -6790,6 +11051,16 @@
 			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
 			"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
 		},
+		"color-string": {
+			"version": "1.9.1",
+			"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
+			"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
+			"optional": true,
+			"requires": {
+				"color-name": "^1.0.0",
+				"simple-swizzle": "^0.2.2"
+			}
+		},
 		"comma-separated-tokens": {
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
@@ -6801,14 +11072,14 @@
 			"integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="
 		},
 		"convert-source-map": {
-			"version": "1.9.0",
-			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
-			"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+			"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
 		},
 		"cookie": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
-			"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+			"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="
 		},
 		"cross-spawn": {
 			"version": "7.0.3",
@@ -6820,6 +11091,40 @@
 				"which": "^2.0.1"
 			}
 		},
+		"css-blank-pseudo": {
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz",
+			"integrity": "sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"css-has-pseudo": {
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.1.tgz",
+			"integrity": "sha512-WwoVKqNxApfEI7dWFyaHoeFCcUPD+lPyjL6lNpRUNX7IyIUuVpawOTwwA5D0ZR6V2xQZonNPVj8kEcxzEaAQfQ==",
+			"requires": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13",
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"css-prefers-color-scheme": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz",
+			"integrity": "sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==",
+			"requires": {}
+		},
+		"cssdb": {
+			"version": "7.10.0",
+			"resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.10.0.tgz",
+			"integrity": "sha512-yGZ5tmA57gWh/uvdQBHs45wwFY0IBh3ypABk5sEubPBPSzXzkNgsWReqx7gdx6uhC+QoFBe+V8JwBB9/hQ6cIA=="
+		},
+		"cssesc": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+			"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
+		},
 		"debug": {
 			"version": "4.3.4",
 			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -6836,77 +11141,53 @@
 				"character-entities": "^2.0.0"
 			}
 		},
-		"deepmerge-ts": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-4.3.0.tgz",
-			"integrity": "sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw=="
-		},
-		"default-browser": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz",
-			"integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==",
+		"decompress-response": {
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
+			"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+			"optional": true,
 			"requires": {
-				"bundle-name": "^3.0.0",
-				"default-browser-id": "^3.0.0",
-				"execa": "^7.1.1",
-				"titleize": "^3.0.0"
-			},
-			"dependencies": {
-				"execa": {
-					"version": "7.1.1",
-					"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-					"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
-					"requires": {
-						"cross-spawn": "^7.0.3",
-						"get-stream": "^6.0.1",
-						"human-signals": "^4.3.0",
-						"is-stream": "^3.0.0",
-						"merge-stream": "^2.0.0",
-						"npm-run-path": "^5.1.0",
-						"onetime": "^6.0.0",
-						"signal-exit": "^3.0.7",
-						"strip-final-newline": "^3.0.0"
-					}
-				},
-				"human-signals": {
-					"version": "4.3.1",
-					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-					"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ=="
-				}
+				"mimic-response": "^3.1.0"
 			}
 		},
-		"default-browser-id": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz",
-			"integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==",
-			"requires": {
-				"bplist-parser": "^0.2.0",
-				"untildify": "^4.0.0"
-			}
-		},
-		"defaults": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
-			"integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
-			"requires": {
-				"clone": "^1.0.2"
-			}
-		},
-		"define-lazy-prop": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
-			"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="
+		"deep-extend": {
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+			"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+			"optional": true
 		},
 		"dequal": {
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
 			"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
 		},
+		"detect-libc": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz",
+			"integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==",
+			"optional": true
+		},
+		"deterministic-object-hash": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz",
+			"integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==",
+			"requires": {
+				"base-64": "^1.0.0"
+			}
+		},
 		"devalue": {
 			"version": "4.3.2",
 			"resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz",
 			"integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg=="
 		},
+		"devlop": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+			"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+			"requires": {
+				"dequal": "^2.0.0"
+			}
+		},
 		"diff": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
@@ -6918,9 +11199,9 @@
 			"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
 		},
 		"dset": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz",
-			"integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q=="
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz",
+			"integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ=="
 		},
 		"eastasianwidth": {
 			"version": "0.2.0",
@@ -6928,56 +11209,71 @@
 			"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
 		},
 		"electron-to-chromium": {
-			"version": "1.4.451",
-			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.451.tgz",
-			"integrity": "sha512-YYbXHIBxAHe3KWvGOJOuWa6f3tgow44rBW+QAuwVp2DvGqNZeE//K2MowNdWS7XE8li5cgQDrX1LdBr41LufkA=="
+			"version": "1.4.615",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz",
+			"integrity": "sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng=="
 		},
 		"emmet": {
-			"version": "2.4.5",
-			"resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.5.tgz",
-			"integrity": "sha512-xOiVNINJFh0dMik+KzXSEYbAnFLTnadEzanxj7+F15uIf6avQwu3uPa1wI/8AFtOWKZ8lHg7TjC83wXcPhgOPw==",
+			"version": "2.4.6",
+			"resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.6.tgz",
+			"integrity": "sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==",
 			"requires": {
 				"@emmetio/abbreviation": "^2.3.3",
 				"@emmetio/css-abbreviation": "^2.1.8"
 			}
 		},
 		"emoji-regex": {
-			"version": "9.2.2",
-			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
-			"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+			"version": "10.3.0",
+			"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz",
+			"integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw=="
+		},
+		"end-of-stream": {
+			"version": "1.4.4",
+			"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+			"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+			"optional": true,
+			"requires": {
+				"once": "^1.4.0"
+			}
+		},
+		"entities": {
+			"version": "4.5.0",
+			"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+			"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
 		},
 		"es-module-lexer": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz",
-			"integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA=="
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+			"integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w=="
 		},
 		"esbuild": {
-			"version": "0.17.19",
-			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
-			"integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+			"version": "0.19.10",
+			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz",
+			"integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==",
 			"requires": {
-				"@esbuild/android-arm": "0.17.19",
-				"@esbuild/android-arm64": "0.17.19",
-				"@esbuild/android-x64": "0.17.19",
-				"@esbuild/darwin-arm64": "0.17.19",
-				"@esbuild/darwin-x64": "0.17.19",
-				"@esbuild/freebsd-arm64": "0.17.19",
-				"@esbuild/freebsd-x64": "0.17.19",
-				"@esbuild/linux-arm": "0.17.19",
-				"@esbuild/linux-arm64": "0.17.19",
-				"@esbuild/linux-ia32": "0.17.19",
-				"@esbuild/linux-loong64": "0.17.19",
-				"@esbuild/linux-mips64el": "0.17.19",
-				"@esbuild/linux-ppc64": "0.17.19",
-				"@esbuild/linux-riscv64": "0.17.19",
-				"@esbuild/linux-s390x": "0.17.19",
-				"@esbuild/linux-x64": "0.17.19",
-				"@esbuild/netbsd-x64": "0.17.19",
-				"@esbuild/openbsd-x64": "0.17.19",
-				"@esbuild/sunos-x64": "0.17.19",
-				"@esbuild/win32-arm64": "0.17.19",
-				"@esbuild/win32-ia32": "0.17.19",
-				"@esbuild/win32-x64": "0.17.19"
+				"@esbuild/aix-ppc64": "0.19.10",
+				"@esbuild/android-arm": "0.19.10",
+				"@esbuild/android-arm64": "0.19.10",
+				"@esbuild/android-x64": "0.19.10",
+				"@esbuild/darwin-arm64": "0.19.10",
+				"@esbuild/darwin-x64": "0.19.10",
+				"@esbuild/freebsd-arm64": "0.19.10",
+				"@esbuild/freebsd-x64": "0.19.10",
+				"@esbuild/linux-arm": "0.19.10",
+				"@esbuild/linux-arm64": "0.19.10",
+				"@esbuild/linux-ia32": "0.19.10",
+				"@esbuild/linux-loong64": "0.19.10",
+				"@esbuild/linux-mips64el": "0.19.10",
+				"@esbuild/linux-ppc64": "0.19.10",
+				"@esbuild/linux-riscv64": "0.19.10",
+				"@esbuild/linux-s390x": "0.19.10",
+				"@esbuild/linux-x64": "0.19.10",
+				"@esbuild/netbsd-x64": "0.19.10",
+				"@esbuild/openbsd-x64": "0.19.10",
+				"@esbuild/sunos-x64": "0.19.10",
+				"@esbuild/win32-arm64": "0.19.10",
+				"@esbuild/win32-ia32": "0.19.10",
+				"@esbuild/win32-x64": "0.19.10"
 			}
 		},
 		"escalade": {
@@ -6995,32 +11291,84 @@
 			"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
 			"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
 		},
-		"estree-walker": {
+		"estree-util-attach-comments": {
 			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.0.tgz",
-			"integrity": "sha512-s6ceX0NFiU/vKPiKvFdR83U1Zffu7upwZsGwpoqfg5rbbq1l50WQ5hCeIvM6E6oD4shUHCYMsiFPns4Jk0YfMQ=="
+			"resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz",
+			"integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==",
+			"requires": {
+				"@types/estree": "^1.0.0"
+			}
 		},
-		"events": {
-			"version": "3.3.0",
-			"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-			"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
+		"estree-util-build-jsx": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz",
+			"integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==",
+			"requires": {
+				"@types/estree-jsx": "^1.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"estree-walker": "^3.0.0"
+			}
+		},
+		"estree-util-is-identifier-name": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
+			"integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="
+		},
+		"estree-util-to-js": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz",
+			"integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==",
+			"requires": {
+				"@types/estree-jsx": "^1.0.0",
+				"astring": "^1.8.0",
+				"source-map": "^0.7.0"
+			}
+		},
+		"estree-util-visit": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz",
+			"integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==",
+			"requires": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/unist": "^3.0.0"
+			}
+		},
+		"estree-walker": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+			"integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+			"requires": {
+				"@types/estree": "^1.0.0"
+			}
+		},
+		"eventemitter3": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+			"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
 		},
 		"execa": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz",
-			"integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+			"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 			"requires": {
 				"cross-spawn": "^7.0.3",
-				"get-stream": "^6.0.1",
-				"human-signals": "^3.0.1",
+				"get-stream": "^8.0.1",
+				"human-signals": "^5.0.0",
 				"is-stream": "^3.0.0",
 				"merge-stream": "^2.0.0",
 				"npm-run-path": "^5.1.0",
 				"onetime": "^6.0.0",
-				"signal-exit": "^3.0.7",
+				"signal-exit": "^4.1.0",
 				"strip-final-newline": "^3.0.0"
 			}
 		},
+		"expand-template": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
+			"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
+			"optional": true
+		},
 		"extend": {
 			"version": "3.0.2",
 			"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -7034,10 +11382,16 @@
 				"is-extendable": "^0.1.0"
 			}
 		},
+		"fast-fifo": {
+			"version": "1.3.2",
+			"resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+			"integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
+			"optional": true
+		},
 		"fast-glob": {
-			"version": "3.3.0",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz",
-			"integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==",
+			"version": "3.3.2",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+			"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
 			"requires": {
 				"@nodelib/fs.stat": "^2.0.2",
 				"@nodelib/fs.walk": "^1.2.3",
@@ -7047,17 +11401,17 @@
 			}
 		},
 		"fastq": {
-			"version": "1.15.0",
-			"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
-			"integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
+			"version": "1.16.0",
+			"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
+			"integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
 			"requires": {
 				"reusify": "^1.0.4"
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"requires": {
 				"to-regex-range": "^5.0.1"
 			}
@@ -7080,26 +11434,58 @@
 				"pkg-dir": "^4.2.0"
 			}
 		},
+		"flattie": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.0.tgz",
+			"integrity": "sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw=="
+		},
+		"fraction.js": {
+			"version": "4.3.7",
+			"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+			"integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="
+		},
+		"fs-constants": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+			"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+			"optional": true
+		},
 		"fsevents": {
-			"version": "2.3.2",
-			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-			"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+			"version": "2.3.3",
+			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+			"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
 			"optional": true
 		},
 		"function-bind": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-			"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+			"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
 		},
 		"gensync": {
 			"version": "1.0.0-beta.2",
 			"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
 			"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
 		},
+		"get-caller-file": {
+			"version": "2.0.5",
+			"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+			"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+		},
+		"get-east-asian-width": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz",
+			"integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA=="
+		},
 		"get-stream": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
-			"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+			"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="
+		},
+		"github-from-package": {
+			"version": "0.0.0",
+			"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+			"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
+			"optional": true
 		},
 		"github-slugger": {
 			"version": "2.0.0",
@@ -7120,9 +11506,9 @@
 			"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
 		},
 		"graceful-fs": {
-			"version": "4.2.10",
-			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-			"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
 		},
 		"gray-matter": {
 			"version": "4.0.3",
@@ -7135,116 +11521,184 @@
 				"strip-bom-string": "^1.0.0"
 			}
 		},
-		"has": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-			"requires": {
-				"function-bind": "^1.1.1"
-			}
-		},
 		"has-flag": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
 			"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
 		},
-		"hast-to-hyperscript": {
-			"version": "10.0.2",
-			"resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-10.0.2.tgz",
-			"integrity": "sha512-h8tn/orfy9WJmp8kFysl2ksOMOOBghdXRtq4O/xeEpse4WNynokzLkeK4AwMOHKUs/lPnx9xX0LqSVGoTFaqhg==",
+		"hasown": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+			"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
 			"requires": {
-				"@types/unist": "^2.0.0",
-				"comma-separated-tokens": "^2.0.0",
-				"property-information": "^6.0.0",
-				"space-separated-tokens": "^2.0.0",
-				"style-to-object": "^0.4.0",
-				"web-namespaces": "^2.0.0"
+				"function-bind": "^1.1.2"
+			}
+		},
+		"hast-util-from-html": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz",
+			"integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==",
+			"requires": {
+				"@types/hast": "^3.0.0",
+				"devlop": "^1.1.0",
+				"hast-util-from-parse5": "^8.0.0",
+				"parse5": "^7.0.0",
+				"vfile": "^6.0.0",
+				"vfile-message": "^4.0.0"
 			}
 		},
 		"hast-util-from-parse5": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.1.tgz",
-			"integrity": "sha512-R6PoNcUs89ZxLJmMWsVbwSWuz95/9OriyQZ3e2ybwqGsRXzhA6gv49rgGmQvLbZuSNDv9fCg7vV7gXUsvtUFaA==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz",
+			"integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"@types/unist": "^2.0.0",
-				"hastscript": "^7.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
+				"devlop": "^1.0.0",
+				"hastscript": "^8.0.0",
 				"property-information": "^6.0.0",
-				"vfile": "^5.0.0",
-				"vfile-location": "^4.0.0",
+				"vfile": "^6.0.0",
+				"vfile-location": "^5.0.0",
 				"web-namespaces": "^2.0.0"
 			}
 		},
 		"hast-util-parse-selector": {
-			"version": "3.1.1",
-			"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz",
-			"integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz",
+			"integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==",
 			"requires": {
-				"@types/hast": "^2.0.0"
+				"@types/hast": "^3.0.0"
 			}
 		},
 		"hast-util-raw": {
-			"version": "7.2.3",
-			"resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz",
-			"integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz",
+			"integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"@types/parse5": "^6.0.0",
-				"hast-util-from-parse5": "^7.0.0",
-				"hast-util-to-parse5": "^7.0.0",
-				"html-void-elements": "^2.0.0",
-				"parse5": "^6.0.0",
-				"unist-util-position": "^4.0.0",
-				"unist-util-visit": "^4.0.0",
-				"vfile": "^5.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
+				"@ungap/structured-clone": "^1.0.0",
+				"hast-util-from-parse5": "^8.0.0",
+				"hast-util-to-parse5": "^8.0.0",
+				"html-void-elements": "^3.0.0",
+				"mdast-util-to-hast": "^13.0.0",
+				"parse5": "^7.0.0",
+				"unist-util-position": "^5.0.0",
+				"unist-util-visit": "^5.0.0",
+				"vfile": "^6.0.0",
 				"web-namespaces": "^2.0.0",
 				"zwitch": "^2.0.0"
 			}
 		},
-		"hast-util-to-html": {
-			"version": "8.0.4",
-			"resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz",
-			"integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==",
+		"hast-util-to-estree": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz",
+			"integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"@types/unist": "^2.0.0",
+				"@types/estree": "^1.0.0",
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"comma-separated-tokens": "^2.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-attach-comments": "^3.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"hast-util-whitespace": "^3.0.0",
+				"mdast-util-mdx-expression": "^2.0.0",
+				"mdast-util-mdx-jsx": "^3.0.0",
+				"mdast-util-mdxjs-esm": "^2.0.0",
+				"property-information": "^6.0.0",
+				"space-separated-tokens": "^2.0.0",
+				"style-to-object": "^0.4.0",
+				"unist-util-position": "^5.0.0",
+				"zwitch": "^2.0.0"
+			}
+		},
+		"hast-util-to-html": {
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz",
+			"integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==",
+			"requires": {
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
 				"ccount": "^2.0.0",
 				"comma-separated-tokens": "^2.0.0",
-				"hast-util-raw": "^7.0.0",
-				"hast-util-whitespace": "^2.0.0",
-				"html-void-elements": "^2.0.0",
+				"hast-util-raw": "^9.0.0",
+				"hast-util-whitespace": "^3.0.0",
+				"html-void-elements": "^3.0.0",
+				"mdast-util-to-hast": "^13.0.0",
 				"property-information": "^6.0.0",
 				"space-separated-tokens": "^2.0.0",
 				"stringify-entities": "^4.0.0",
 				"zwitch": "^2.0.4"
 			}
 		},
-		"hast-util-to-parse5": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.0.0.tgz",
-			"integrity": "sha512-YHiS6aTaZ3N0Q3nxaY/Tj98D6kM8QX5Q8xqgg8G45zR7PvWnPGPP0vcKCgb/moIydEJ/QWczVrX0JODCVeoV7A==",
+		"hast-util-to-jsx-runtime": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz",
+			"integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"@types/parse5": "^6.0.0",
-				"hast-to-hyperscript": "^10.0.0",
+				"@types/estree": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/unist": "^3.0.0",
+				"comma-separated-tokens": "^2.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"hast-util-whitespace": "^3.0.0",
+				"mdast-util-mdx-expression": "^2.0.0",
+				"mdast-util-mdx-jsx": "^3.0.0",
+				"mdast-util-mdxjs-esm": "^2.0.0",
 				"property-information": "^6.0.0",
+				"space-separated-tokens": "^2.0.0",
+				"style-to-object": "^1.0.0",
+				"unist-util-position": "^5.0.0",
+				"vfile-message": "^4.0.0"
+			},
+			"dependencies": {
+				"inline-style-parser": {
+					"version": "0.2.2",
+					"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz",
+					"integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ=="
+				},
+				"style-to-object": {
+					"version": "1.0.5",
+					"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz",
+					"integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==",
+					"requires": {
+						"inline-style-parser": "0.2.2"
+					}
+				}
+			}
+		},
+		"hast-util-to-parse5": {
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz",
+			"integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==",
+			"requires": {
+				"@types/hast": "^3.0.0",
+				"comma-separated-tokens": "^2.0.0",
+				"devlop": "^1.0.0",
+				"property-information": "^6.0.0",
+				"space-separated-tokens": "^2.0.0",
 				"web-namespaces": "^2.0.0",
 				"zwitch": "^2.0.0"
 			}
 		},
 		"hast-util-whitespace": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
-			"integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng=="
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+			"integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+			"requires": {
+				"@types/hast": "^3.0.0"
+			}
 		},
 		"hastscript": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz",
-			"integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==",
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz",
+			"integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==",
 			"requires": {
-				"@types/hast": "^2.0.0",
+				"@types/hast": "^3.0.0",
 				"comma-separated-tokens": "^2.0.0",
-				"hast-util-parse-selector": "^3.0.0",
+				"hast-util-parse-selector": "^4.0.0",
 				"property-information": "^6.0.0",
 				"space-separated-tokens": "^2.0.0"
 			}
@@ -7255,19 +11709,32 @@
 			"integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ=="
 		},
 		"html-void-elements": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
-			"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
+			"integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="
+		},
+		"http-cache-semantics": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
 		},
 		"human-signals": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
-			"integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ=="
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+			"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="
 		},
 		"iconoir": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/iconoir/-/iconoir-6.1.0.tgz",
-			"integrity": "sha512-K8Jrqkp51MdcDBzfiSY2vt9gHsujwEmoOHlWI2Wk++cgVvR1bP+fMLFmwBTPHduZ3aOK95snE6rUmlLPH7Yhnw=="
+			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/iconoir/-/iconoir-7.2.0.tgz",
+			"integrity": "sha512-uGaTCzdvQUAfNMDM2yJieGVM2KbW+8/8nkyLVtvXX+79tHQWxgPhpvk9g7rnZcbQuZ/YFAdP+0HB3eAmk+l2qw=="
+		},
+		"iconv-lite": {
+			"version": "0.4.24",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+			"requires": {
+				"safer-buffer": ">= 2.1.2 < 3"
+			}
 		},
 		"ieee754": {
 			"version": "1.2.1",
@@ -7275,20 +11742,46 @@
 			"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
 		},
 		"import-meta-resolve": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz",
-			"integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA=="
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz",
+			"integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA=="
 		},
 		"inherits": {
 			"version": "2.0.4",
 			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
 		},
+		"ini": {
+			"version": "1.3.8",
+			"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+			"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+			"optional": true
+		},
 		"inline-style-parser": {
 			"version": "0.1.1",
 			"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
 			"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
 		},
+		"is-alphabetical": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+			"integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="
+		},
+		"is-alphanumerical": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+			"integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+			"requires": {
+				"is-alphabetical": "^2.0.0",
+				"is-decimal": "^2.0.0"
+			}
+		},
+		"is-arrayish": {
+			"version": "0.3.2",
+			"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+			"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+			"optional": true
+		},
 		"is-binary-path": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -7303,13 +11796,18 @@
 			"integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
 		},
 		"is-core-module": {
-			"version": "2.11.0",
-			"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
-			"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+			"version": "2.13.1",
+			"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+			"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
 			"requires": {
-				"has": "^1.0.3"
+				"hasown": "^2.0.0"
 			}
 		},
+		"is-decimal": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+			"integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="
+		},
 		"is-docker": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
@@ -7338,6 +11836,11 @@
 				"is-extglob": "^2.1.1"
 			}
 		},
+		"is-hexadecimal": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+			"integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="
+		},
 		"is-inside-container": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
@@ -7361,6 +11864,14 @@
 			"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
 			"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="
 		},
+		"is-reference": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
+			"integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
+			"requires": {
+				"@types/estree": "*"
+			}
+		},
 		"is-stream": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
@@ -7372,18 +11883,11 @@
 			"integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ=="
 		},
 		"is-wsl": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
-			"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+			"integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
 			"requires": {
-				"is-docker": "^2.0.0"
-			},
-			"dependencies": {
-				"is-docker": {
-					"version": "2.2.1",
-					"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
-					"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
-				}
+				"is-inside-container": "^1.0.0"
 			}
 		},
 		"isexe": {
@@ -7430,6 +11934,11 @@
 			"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
 			"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="
 		},
+		"lite-youtube-embed": {
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/lite-youtube-embed/-/lite-youtube-embed-0.2.0.tgz",
+			"integrity": "sha512-XXXAk5sbvtjjwbie3XG+6HppgTm1HTGL/Uk9z9NkJH53o7puZLur434heHzAjkS60hZB3vT4ls25zl5rMiX4EA=="
+		},
 		"load-yaml-file": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz",
@@ -7439,13 +11948,6 @@
 				"js-yaml": "^3.13.0",
 				"pify": "^4.0.1",
 				"strip-bom": "^3.0.0"
-			},
-			"dependencies": {
-				"strip-bom": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-					"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
-				}
 			}
 		},
 		"locate-path": {
@@ -7456,6 +11958,11 @@
 				"p-locate": "^5.0.0"
 			}
 		},
+		"lodash.merge": {
+			"version": "4.6.2",
+			"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+		},
 		"log-symbols": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz",
@@ -7486,37 +11993,49 @@
 			}
 		},
 		"magic-string": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
-			"integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
+			"version": "0.30.5",
+			"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
+			"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
 			"requires": {
-				"@jridgewell/sourcemap-codec": "^1.4.13"
+				"@jridgewell/sourcemap-codec": "^1.4.15"
+			},
+			"dependencies": {
+				"@jridgewell/sourcemap-codec": {
+					"version": "1.4.15",
+					"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+					"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+				}
 			}
 		},
+		"markdown-extensions": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz",
+			"integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="
+		},
 		"markdown-table": {
 			"version": "3.0.3",
 			"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz",
 			"integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw=="
 		},
 		"mdast-util-definitions": {
-			"version": "5.1.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz",
-			"integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz",
+			"integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"@types/unist": "^2.0.0",
-				"unist-util-visit": "^4.0.0"
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
+				"unist-util-visit": "^5.0.0"
 			}
 		},
 		"mdast-util-find-and-replace": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz",
-			"integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz",
+			"integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
 				"escape-string-regexp": "^5.0.0",
-				"unist-util-is": "^5.0.0",
-				"unist-util-visit-parents": "^5.0.0"
+				"unist-util-is": "^6.0.0",
+				"unist-util-visit-parents": "^6.0.0"
 			},
 			"dependencies": {
 				"escape-string-regexp": {
@@ -7527,133 +12046,198 @@
 			}
 		},
 		"mdast-util-from-markdown": {
-			"version": "1.3.1",
-			"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz",
-			"integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz",
+			"integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"@types/unist": "^2.0.0",
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
 				"decode-named-character-reference": "^1.0.0",
-				"mdast-util-to-string": "^3.1.0",
-				"micromark": "^3.0.0",
-				"micromark-util-decode-numeric-character-reference": "^1.0.0",
-				"micromark-util-decode-string": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"unist-util-stringify-position": "^3.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"mdast-util-to-string": "^4.0.0",
+				"micromark": "^4.0.0",
+				"micromark-util-decode-numeric-character-reference": "^2.0.0",
+				"micromark-util-decode-string": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unist-util-stringify-position": "^4.0.0"
 			}
 		},
 		"mdast-util-gfm": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz",
-			"integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz",
+			"integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==",
 			"requires": {
-				"mdast-util-from-markdown": "^1.0.0",
-				"mdast-util-gfm-autolink-literal": "^1.0.0",
-				"mdast-util-gfm-footnote": "^1.0.0",
-				"mdast-util-gfm-strikethrough": "^1.0.0",
-				"mdast-util-gfm-table": "^1.0.0",
-				"mdast-util-gfm-task-list-item": "^1.0.0",
-				"mdast-util-to-markdown": "^1.0.0"
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-gfm-autolink-literal": "^2.0.0",
+				"mdast-util-gfm-footnote": "^2.0.0",
+				"mdast-util-gfm-strikethrough": "^2.0.0",
+				"mdast-util-gfm-table": "^2.0.0",
+				"mdast-util-gfm-task-list-item": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			}
 		},
 		"mdast-util-gfm-autolink-literal": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz",
-			"integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz",
+			"integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
 				"ccount": "^2.0.0",
-				"mdast-util-find-and-replace": "^2.0.0",
-				"micromark-util-character": "^1.0.0"
+				"devlop": "^1.0.0",
+				"mdast-util-find-and-replace": "^3.0.0",
+				"micromark-util-character": "^2.0.0"
 			}
 		},
 		"mdast-util-gfm-footnote": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz",
-			"integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz",
+			"integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-markdown": "^1.3.0",
-				"micromark-util-normalize-identifier": "^1.0.0"
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.1.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0"
 			}
 		},
 		"mdast-util-gfm-strikethrough": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz",
-			"integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
+			"integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-markdown": "^1.3.0"
+				"@types/mdast": "^4.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			}
 		},
 		"mdast-util-gfm-table": {
-			"version": "1.0.7",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz",
-			"integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
+			"integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
 				"markdown-table": "^3.0.0",
-				"mdast-util-from-markdown": "^1.0.0",
-				"mdast-util-to-markdown": "^1.3.0"
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			}
 		},
 		"mdast-util-gfm-task-list-item": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz",
-			"integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
+			"integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-markdown": "^1.3.0"
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
+			}
+		},
+		"mdast-util-mdx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz",
+			"integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==",
+			"requires": {
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-mdx-expression": "^2.0.0",
+				"mdast-util-mdx-jsx": "^3.0.0",
+				"mdast-util-mdxjs-esm": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
+			}
+		},
+		"mdast-util-mdx-expression": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz",
+			"integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==",
+			"requires": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
+			}
+		},
+		"mdast-util-mdx-jsx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz",
+			"integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==",
+			"requires": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
+				"ccount": "^2.0.0",
+				"devlop": "^1.1.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0",
+				"parse-entities": "^4.0.0",
+				"stringify-entities": "^4.0.0",
+				"unist-util-remove-position": "^5.0.0",
+				"unist-util-stringify-position": "^4.0.0",
+				"vfile-message": "^4.0.0"
+			}
+		},
+		"mdast-util-mdxjs-esm": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz",
+			"integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==",
+			"requires": {
+				"@types/estree-jsx": "^1.0.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"devlop": "^1.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"mdast-util-to-markdown": "^2.0.0"
 			}
 		},
 		"mdast-util-phrasing": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz",
-			"integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz",
+			"integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"unist-util-is": "^5.0.0"
+				"@types/mdast": "^4.0.0",
+				"unist-util-is": "^6.0.0"
 			}
 		},
 		"mdast-util-to-hast": {
-			"version": "12.3.0",
-			"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz",
-			"integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==",
+			"version": "13.0.2",
+			"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz",
+			"integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"@types/mdast": "^3.0.0",
-				"mdast-util-definitions": "^5.0.0",
-				"micromark-util-sanitize-uri": "^1.1.0",
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"@ungap/structured-clone": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
 				"trim-lines": "^3.0.0",
-				"unist-util-generated": "^2.0.0",
-				"unist-util-position": "^4.0.0",
-				"unist-util-visit": "^4.0.0"
+				"unist-util-position": "^5.0.0",
+				"unist-util-visit": "^5.0.0"
 			}
 		},
 		"mdast-util-to-markdown": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz",
-			"integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz",
+			"integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"@types/unist": "^2.0.0",
+				"@types/mdast": "^4.0.0",
+				"@types/unist": "^3.0.0",
 				"longest-streak": "^3.0.0",
-				"mdast-util-phrasing": "^3.0.0",
-				"mdast-util-to-string": "^3.0.0",
-				"micromark-util-decode-string": "^1.0.0",
-				"unist-util-visit": "^4.0.0",
+				"mdast-util-phrasing": "^4.0.0",
+				"mdast-util-to-string": "^4.0.0",
+				"micromark-util-decode-string": "^2.0.0",
+				"unist-util-visit": "^5.0.0",
 				"zwitch": "^2.0.0"
 			}
 		},
 		"mdast-util-to-string": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
-			"integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
+			"integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
 			"requires": {
-				"@types/mdast": "^3.0.0"
+				"@types/mdast": "^4.0.0"
 			}
 		},
 		"merge-stream": {
@@ -7667,301 +12251,402 @@
 			"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
 		},
 		"micromark": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz",
-			"integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz",
+			"integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==",
 			"requires": {
 				"@types/debug": "^4.0.0",
 				"debug": "^4.0.0",
 				"decode-named-character-reference": "^1.0.0",
-				"micromark-core-commonmark": "^1.0.1",
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-combine-extensions": "^1.0.0",
-				"micromark-util-decode-numeric-character-reference": "^1.0.0",
-				"micromark-util-encode": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-resolve-all": "^1.0.0",
-				"micromark-util-sanitize-uri": "^1.0.0",
-				"micromark-util-subtokenize": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.1",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-core-commonmark": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-combine-extensions": "^2.0.0",
+				"micromark-util-decode-numeric-character-reference": "^2.0.0",
+				"micromark-util-encode": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-resolve-all": "^2.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
+				"micromark-util-subtokenize": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-core-commonmark": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz",
-			"integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz",
+			"integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==",
 			"requires": {
 				"decode-named-character-reference": "^1.0.0",
-				"micromark-factory-destination": "^1.0.0",
-				"micromark-factory-label": "^1.0.0",
-				"micromark-factory-space": "^1.0.0",
-				"micromark-factory-title": "^1.0.0",
-				"micromark-factory-whitespace": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-classify-character": "^1.0.0",
-				"micromark-util-html-tag-name": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-resolve-all": "^1.0.0",
-				"micromark-util-subtokenize": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.1",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-factory-destination": "^2.0.0",
+				"micromark-factory-label": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-factory-title": "^2.0.0",
+				"micromark-factory-whitespace": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-classify-character": "^2.0.0",
+				"micromark-util-html-tag-name": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-resolve-all": "^2.0.0",
+				"micromark-util-subtokenize": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-extension-gfm": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz",
-			"integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
+			"integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
 			"requires": {
-				"micromark-extension-gfm-autolink-literal": "^1.0.0",
-				"micromark-extension-gfm-footnote": "^1.0.0",
-				"micromark-extension-gfm-strikethrough": "^1.0.0",
-				"micromark-extension-gfm-table": "^1.0.0",
-				"micromark-extension-gfm-tagfilter": "^1.0.0",
-				"micromark-extension-gfm-task-list-item": "^1.0.0",
-				"micromark-util-combine-extensions": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-extension-gfm-autolink-literal": "^2.0.0",
+				"micromark-extension-gfm-footnote": "^2.0.0",
+				"micromark-extension-gfm-strikethrough": "^2.0.0",
+				"micromark-extension-gfm-table": "^2.0.0",
+				"micromark-extension-gfm-tagfilter": "^2.0.0",
+				"micromark-extension-gfm-task-list-item": "^2.0.0",
+				"micromark-util-combine-extensions": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-extension-gfm-autolink-literal": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz",
-			"integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz",
+			"integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==",
 			"requires": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-sanitize-uri": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-extension-gfm-footnote": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz",
-			"integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz",
+			"integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==",
 			"requires": {
-				"micromark-core-commonmark": "^1.0.0",
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-normalize-identifier": "^1.0.0",
-				"micromark-util-sanitize-uri": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-core-commonmark": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-normalize-identifier": "^2.0.0",
+				"micromark-util-sanitize-uri": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-extension-gfm-strikethrough": {
-			"version": "1.0.7",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz",
-			"integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz",
+			"integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==",
 			"requires": {
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-classify-character": "^1.0.0",
-				"micromark-util-resolve-all": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-classify-character": "^2.0.0",
+				"micromark-util-resolve-all": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-extension-gfm-table": {
-			"version": "1.0.7",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz",
-			"integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz",
+			"integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==",
 			"requires": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-extension-gfm-tagfilter": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz",
-			"integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
+			"integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
 			"requires": {
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-extension-gfm-task-list-item": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz",
-			"integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz",
+			"integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==",
 			"requires": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			}
+		},
+		"micromark-extension-mdx-expression": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz",
+			"integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==",
+			"requires": {
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-factory-mdx-expression": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-events-to-acorn": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			}
+		},
+		"micromark-extension-mdx-jsx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz",
+			"integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==",
+			"requires": {
+				"@types/acorn": "^4.0.0",
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-is-identifier-name": "^3.0.0",
+				"micromark-factory-mdx-expression": "^2.0.0",
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"vfile-message": "^4.0.0"
+			}
+		},
+		"micromark-extension-mdx-md": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz",
+			"integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==",
+			"requires": {
+				"micromark-util-types": "^2.0.0"
+			}
+		},
+		"micromark-extension-mdxjs": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz",
+			"integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==",
+			"requires": {
+				"acorn": "^8.0.0",
+				"acorn-jsx": "^5.0.0",
+				"micromark-extension-mdx-expression": "^3.0.0",
+				"micromark-extension-mdx-jsx": "^3.0.0",
+				"micromark-extension-mdx-md": "^2.0.0",
+				"micromark-extension-mdxjs-esm": "^3.0.0",
+				"micromark-util-combine-extensions": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			}
+		},
+		"micromark-extension-mdxjs-esm": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz",
+			"integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==",
+			"requires": {
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-core-commonmark": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-events-to-acorn": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unist-util-position-from-estree": "^2.0.0",
+				"vfile-message": "^4.0.0"
 			}
 		},
 		"micromark-factory-destination": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz",
-			"integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz",
+			"integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==",
 			"requires": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-factory-label": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz",
-			"integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz",
+			"integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==",
 			"requires": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
+			}
+		},
+		"micromark-factory-mdx-expression": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz",
+			"integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==",
+			"requires": {
+				"@types/estree": "^1.0.0",
+				"devlop": "^1.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-events-to-acorn": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unist-util-position-from-estree": "^2.0.0",
+				"vfile-message": "^4.0.0"
 			}
 		},
 		"micromark-factory-space": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz",
-			"integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz",
+			"integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==",
 			"requires": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-factory-title": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz",
-			"integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz",
+			"integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==",
 			"requires": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-factory-whitespace": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz",
-			"integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz",
+			"integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==",
 			"requires": {
-				"micromark-factory-space": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-factory-space": "^2.0.0",
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-util-character": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
-			"integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz",
+			"integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==",
 			"requires": {
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-util-chunked": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz",
-			"integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz",
+			"integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==",
 			"requires": {
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"micromark-util-classify-character": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz",
-			"integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz",
+			"integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==",
 			"requires": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-util-combine-extensions": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz",
-			"integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz",
+			"integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==",
 			"requires": {
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-util-decode-numeric-character-reference": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz",
-			"integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz",
+			"integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==",
 			"requires": {
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"micromark-util-decode-string": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz",
-			"integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz",
+			"integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==",
 			"requires": {
 				"decode-named-character-reference": "^1.0.0",
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-decode-numeric-character-reference": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-decode-numeric-character-reference": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"micromark-util-encode": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz",
-			"integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw=="
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz",
+			"integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA=="
+		},
+		"micromark-util-events-to-acorn": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz",
+			"integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==",
+			"requires": {
+				"@types/acorn": "^4.0.0",
+				"@types/estree": "^1.0.0",
+				"@types/unist": "^3.0.0",
+				"devlop": "^1.0.0",
+				"estree-util-visit": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"vfile-message": "^4.0.0"
+			}
 		},
 		"micromark-util-html-tag-name": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz",
-			"integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q=="
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz",
+			"integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw=="
 		},
 		"micromark-util-normalize-identifier": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz",
-			"integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz",
+			"integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==",
 			"requires": {
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"micromark-util-resolve-all": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz",
-			"integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz",
+			"integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==",
 			"requires": {
-				"micromark-util-types": "^1.0.0"
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-util-sanitize-uri": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz",
-			"integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz",
+			"integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==",
 			"requires": {
-				"micromark-util-character": "^1.0.0",
-				"micromark-util-encode": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0"
+				"micromark-util-character": "^2.0.0",
+				"micromark-util-encode": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0"
 			}
 		},
 		"micromark-util-subtokenize": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz",
-			"integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz",
+			"integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==",
 			"requires": {
-				"micromark-util-chunked": "^1.0.0",
-				"micromark-util-symbol": "^1.0.0",
-				"micromark-util-types": "^1.0.0",
-				"uvu": "^0.5.0"
+				"devlop": "^1.0.0",
+				"micromark-util-chunked": "^2.0.0",
+				"micromark-util-symbol": "^2.0.0",
+				"micromark-util-types": "^2.0.0"
 			}
 		},
 		"micromark-util-symbol": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz",
-			"integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag=="
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz",
+			"integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw=="
 		},
 		"micromark-util-types": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
-			"integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg=="
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz",
+			"integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w=="
 		},
 		"micromatch": {
 			"version": "4.0.5",
@@ -7982,20 +12667,64 @@
 			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
 			"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="
 		},
-		"mri": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
-			"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="
+		"mimic-response": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
+			"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+			"optional": true
+		},
+		"minimist": {
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+			"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+			"optional": true
+		},
+		"mkdirp-classic": {
+			"version": "0.5.3",
+			"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+			"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+			"optional": true
 		},
 		"ms": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
 		},
+		"muggle-string": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz",
+			"integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg=="
+		},
 		"nanoid": {
-			"version": "3.3.6",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
-			"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
+		},
+		"napi-build-utils": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
+			"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
+			"optional": true
+		},
+		"needle": {
+			"version": "2.9.1",
+			"resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
+			"integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==",
+			"requires": {
+				"debug": "^3.2.6",
+				"iconv-lite": "^0.4.4",
+				"sax": "^1.2.4"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "3.2.7",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+					"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				}
+			}
 		},
 		"nlcst-to-string": {
 			"version": "3.1.1",
@@ -8005,16 +12734,36 @@
 				"@types/nlcst": "^1.0.0"
 			}
 		},
+		"node-abi": {
+			"version": "3.54.0",
+			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.54.0.tgz",
+			"integrity": "sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==",
+			"optional": true,
+			"requires": {
+				"semver": "^7.3.5"
+			}
+		},
+		"node-addon-api": {
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+			"integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
+			"optional": true
+		},
 		"node-releases": {
-			"version": "2.0.12",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
-			"integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ=="
+			"version": "2.0.14",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+			"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
 		},
 		"normalize-path": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
 			"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
 		},
+		"normalize-range": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+			"integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="
+		},
 		"npm-run-path": {
 			"version": "5.1.0",
 			"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
@@ -8030,6 +12779,15 @@
 				}
 			}
 		},
+		"once": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+			"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+			"optional": true,
+			"requires": {
+				"wrappy": "1"
+			}
+		},
 		"onetime": {
 			"version": "6.0.0",
 			"resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
@@ -8038,46 +12796,45 @@
 				"mimic-fn": "^4.0.0"
 			}
 		},
-		"open": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz",
-			"integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==",
-			"requires": {
-				"default-browser": "^4.0.0",
-				"define-lazy-prop": "^3.0.0",
-				"is-inside-container": "^1.0.0",
-				"is-wsl": "^2.2.0"
-			}
-		},
 		"ora": {
-			"version": "6.3.1",
-			"resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz",
-			"integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz",
+			"integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==",
 			"requires": {
-				"chalk": "^5.0.0",
+				"chalk": "^5.3.0",
 				"cli-cursor": "^4.0.0",
-				"cli-spinners": "^2.6.1",
+				"cli-spinners": "^2.9.0",
 				"is-interactive": "^2.0.0",
-				"is-unicode-supported": "^1.1.0",
+				"is-unicode-supported": "^1.3.0",
 				"log-symbols": "^5.1.0",
 				"stdin-discarder": "^0.1.0",
-				"strip-ansi": "^7.0.1",
-				"wcwidth": "^1.0.1"
+				"string-width": "^6.1.0",
+				"strip-ansi": "^7.1.0"
 			},
 			"dependencies": {
 				"chalk": {
 					"version": "5.3.0",
 					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
 					"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w=="
+				},
+				"string-width": {
+					"version": "6.1.0",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz",
+					"integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
+					"requires": {
+						"eastasianwidth": "^0.2.0",
+						"emoji-regex": "^10.2.1",
+						"strip-ansi": "^7.0.1"
+					}
 				}
 			}
 		},
 		"p-limit": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-			"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz",
+			"integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==",
 			"requires": {
-				"yocto-queue": "^0.1.0"
+				"yocto-queue": "^1.0.0"
 			}
 		},
 		"p-locate": {
@@ -8086,13 +12843,64 @@
 			"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
 			"requires": {
 				"p-limit": "^3.0.2"
+			},
+			"dependencies": {
+				"p-limit": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+					"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+					"requires": {
+						"yocto-queue": "^0.1.0"
+					}
+				},
+				"yocto-queue": {
+					"version": "0.1.0",
+					"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+					"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
+				}
 			}
 		},
+		"p-queue": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz",
+			"integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==",
+			"requires": {
+				"eventemitter3": "^5.0.1",
+				"p-timeout": "^6.1.2"
+			}
+		},
+		"p-timeout": {
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz",
+			"integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ=="
+		},
 		"p-try": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
 			"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
 		},
+		"parse-entities": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz",
+			"integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==",
+			"requires": {
+				"@types/unist": "^2.0.0",
+				"character-entities": "^2.0.0",
+				"character-entities-legacy": "^3.0.0",
+				"character-reference-invalid": "^2.0.0",
+				"decode-named-character-reference": "^1.0.0",
+				"is-alphanumerical": "^2.0.0",
+				"is-decimal": "^2.0.0",
+				"is-hexadecimal": "^2.0.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				}
+			}
+		},
 		"parse-latin": {
 			"version": "5.0.1",
 			"resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.1.tgz",
@@ -8104,9 +12912,17 @@
 			}
 		},
 		"parse5": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-			"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+			"version": "7.1.2",
+			"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+			"integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+			"requires": {
+				"entities": "^4.4.0"
+			}
+		},
+		"path-browserify": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+			"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
 		},
 		"path-exists": {
 			"version": "4.0.0",
@@ -8128,6 +12944,16 @@
 			"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
 			"integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
 		},
+		"periscopic": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
+			"integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
+			"requires": {
+				"@types/estree": "^1.0.0",
+				"estree-walker": "^3.0.0",
+				"is-reference": "^3.0.0"
+			}
+		},
 		"picocolors": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -8187,40 +13013,391 @@
 			}
 		},
 		"postcss": {
-			"version": "8.4.25",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz",
-			"integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==",
+			"version": "8.4.38",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+			"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
 			"requires": {
-				"nanoid": "^3.3.6",
+				"nanoid": "^3.3.7",
 				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.2"
+				"source-map-js": "^1.2.0"
+			}
+		},
+		"postcss-attribute-case-insensitive": {
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz",
+			"integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.10"
+			}
+		},
+		"postcss-clamp": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz",
+			"integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-color-functional-notation": {
+			"version": "6.0.3",
+			"resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.3.tgz",
+			"integrity": "sha512-2jBr3H0sk3qGh/3BkmLsOKcYyVfSlM1K2QQYVU7eW5mkg7ZOQ4aU/Rtbh7vJ9FxAfgf8iHRwXBsQkHqUxzTkXw==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			}
+		},
+		"postcss-color-hex-alpha": {
+			"version": "9.0.3",
+			"resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.3.tgz",
+			"integrity": "sha512-7sEHU4tAS6htlxun8AB9LDrCXoljxaC34tFVRlYKcvO+18r5fvGiXgv5bQzN40+4gXLCyWSMRK5FK31244WcCA==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-color-rebeccapurple": {
+			"version": "9.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.2.tgz",
+			"integrity": "sha512-f+RDEAPW2m8UbJWkSpRfV+QxhSaQhDMihI75DVGJJh4oRIoegjheeRtINFJum9D8BqGJcvD4GLjggTvCwZ4zuA==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-custom-media": {
+			"version": "10.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz",
+			"integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==",
+			"requires": {
+				"@csstools/cascade-layer-name-parser": "^1.0.5",
+				"@csstools/css-parser-algorithms": "^2.3.2",
+				"@csstools/css-tokenizer": "^2.2.1",
+				"@csstools/media-query-list-parser": "^2.1.5"
+			}
+		},
+		"postcss-custom-properties": {
+			"version": "13.3.3",
+			"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.3.tgz",
+			"integrity": "sha512-xLmILb2R83aG4X++iVFg8TWadOlc45xiyFHRZD6Yhhu2igrTHXL6C75AEWqx6k9lxrr9sK5rcfUI9JvTCxBTvA==",
+			"requires": {
+				"@csstools/cascade-layer-name-parser": "^1.0.6",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-custom-selectors": {
+			"version": "7.1.6",
+			"resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz",
+			"integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==",
+			"requires": {
+				"@csstools/cascade-layer-name-parser": "^1.0.5",
+				"@csstools/css-parser-algorithms": "^2.3.2",
+				"@csstools/css-tokenizer": "^2.2.1",
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"postcss-dir-pseudo-class": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz",
+			"integrity": "sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"postcss-double-position-gradients": {
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.3.tgz",
+			"integrity": "sha512-QKYpwmaSm6HcdS0ndAuWSNNMv78R1oSySoh3mYBmctHWr2KWcwPJVakdOyU4lvFVW0GRu9wfIQwGeM4p3xU9ow==",
+			"requires": {
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3",
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-focus-visible": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz",
+			"integrity": "sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"postcss-focus-within": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz",
+			"integrity": "sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"postcss-font-variant": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
+			"integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
+			"requires": {}
+		},
+		"postcss-gap-properties": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz",
+			"integrity": "sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==",
+			"requires": {}
+		},
+		"postcss-image-set-function": {
+			"version": "6.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.2.tgz",
+			"integrity": "sha512-/O1xwqpJiz/apxGQi7UUfv1xUcorvkHZfvCYHPpRxxZj2WvjD0rg0+/+c+u5/Do5CpUg3XvfYxMrhcnjW1ArDQ==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-lab-function": {
+			"version": "6.0.8",
+			"resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.8.tgz",
+			"integrity": "sha512-agYs7R9Z5gnX837fCkH8TEQIHdhyDsMPPnpuuENt/dxoDVAykBaqbdxIN4DagOj+ZQo20iRNNJeY3MsFcdI6Sg==",
+			"requires": {
+				"@csstools/css-color-parser": "^1.5.0",
+				"@csstools/css-parser-algorithms": "^2.4.0",
+				"@csstools/css-tokenizer": "^2.2.2",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.3"
+			}
+		},
+		"postcss-logical": {
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.1.tgz",
+			"integrity": "sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-nesting": {
+			"version": "12.0.2",
+			"resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.2.tgz",
+			"integrity": "sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==",
+			"requires": {
+				"@csstools/selector-specificity": "^3.0.1",
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"postcss-opacity-percentage": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-2.0.0.tgz",
+			"integrity": "sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==",
+			"requires": {}
+		},
+		"postcss-overflow-shorthand": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz",
+			"integrity": "sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-page-break": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
+			"integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
+			"requires": {}
+		},
+		"postcss-place": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.1.tgz",
+			"integrity": "sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==",
+			"requires": {
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-preset-env": {
+			"version": "9.3.0",
+			"resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz",
+			"integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==",
+			"requires": {
+				"@csstools/postcss-cascade-layers": "^4.0.1",
+				"@csstools/postcss-color-function": "^3.0.7",
+				"@csstools/postcss-color-mix-function": "^2.0.7",
+				"@csstools/postcss-exponential-functions": "^1.0.1",
+				"@csstools/postcss-font-format-keywords": "^3.0.0",
+				"@csstools/postcss-gamut-mapping": "^1.0.0",
+				"@csstools/postcss-gradients-interpolation-method": "^4.0.7",
+				"@csstools/postcss-hwb-function": "^3.0.6",
+				"@csstools/postcss-ic-unit": "^3.0.2",
+				"@csstools/postcss-initial": "^1.0.0",
+				"@csstools/postcss-is-pseudo-class": "^4.0.3",
+				"@csstools/postcss-logical-float-and-clear": "^2.0.0",
+				"@csstools/postcss-logical-overflow": "^1.0.0",
+				"@csstools/postcss-logical-overscroll-behavior": "^1.0.0",
+				"@csstools/postcss-logical-resize": "^2.0.0",
+				"@csstools/postcss-logical-viewport-units": "^2.0.3",
+				"@csstools/postcss-media-minmax": "^1.1.0",
+				"@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.3",
+				"@csstools/postcss-nested-calc": "^3.0.0",
+				"@csstools/postcss-normalize-display-values": "^3.0.1",
+				"@csstools/postcss-oklab-function": "^3.0.7",
+				"@csstools/postcss-progressive-custom-properties": "^3.0.2",
+				"@csstools/postcss-relative-color-syntax": "^2.0.7",
+				"@csstools/postcss-scope-pseudo-class": "^3.0.0",
+				"@csstools/postcss-stepped-value-functions": "^3.0.2",
+				"@csstools/postcss-text-decoration-shorthand": "^3.0.3",
+				"@csstools/postcss-trigonometric-functions": "^3.0.2",
+				"@csstools/postcss-unset-value": "^3.0.0",
+				"autoprefixer": "^10.4.16",
+				"browserslist": "^4.22.1",
+				"css-blank-pseudo": "^6.0.0",
+				"css-has-pseudo": "^6.0.0",
+				"css-prefers-color-scheme": "^9.0.0",
+				"cssdb": "^7.9.0",
+				"postcss-attribute-case-insensitive": "^6.0.2",
+				"postcss-clamp": "^4.1.0",
+				"postcss-color-functional-notation": "^6.0.2",
+				"postcss-color-hex-alpha": "^9.0.2",
+				"postcss-color-rebeccapurple": "^9.0.1",
+				"postcss-custom-media": "^10.0.2",
+				"postcss-custom-properties": "^13.3.2",
+				"postcss-custom-selectors": "^7.1.6",
+				"postcss-dir-pseudo-class": "^8.0.0",
+				"postcss-double-position-gradients": "^5.0.2",
+				"postcss-focus-visible": "^9.0.0",
+				"postcss-focus-within": "^8.0.0",
+				"postcss-font-variant": "^5.0.0",
+				"postcss-gap-properties": "^5.0.0",
+				"postcss-image-set-function": "^6.0.1",
+				"postcss-lab-function": "^6.0.7",
+				"postcss-logical": "^7.0.0",
+				"postcss-nesting": "^12.0.1",
+				"postcss-opacity-percentage": "^2.0.0",
+				"postcss-overflow-shorthand": "^5.0.0",
+				"postcss-page-break": "^3.0.4",
+				"postcss-place": "^9.0.0",
+				"postcss-pseudo-class-any-link": "^9.0.0",
+				"postcss-replace-overflow-wrap": "^4.0.0",
+				"postcss-selector-not": "^7.0.1",
+				"postcss-value-parser": "^4.2.0"
+			}
+		},
+		"postcss-pseudo-class-any-link": {
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz",
+			"integrity": "sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.13"
+			}
+		},
+		"postcss-replace-overflow-wrap": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
+			"integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
+			"requires": {}
+		},
+		"postcss-selector-not": {
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz",
+			"integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==",
+			"requires": {
+				"postcss-selector-parser": "^6.0.10"
+			}
+		},
+		"postcss-selector-parser": {
+			"version": "6.0.15",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
+			"integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
+			"requires": {
+				"cssesc": "^3.0.0",
+				"util-deprecate": "^1.0.2"
+			}
+		},
+		"postcss-value-parser": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+			"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+		},
+		"prebuild-install": {
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
+			"integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
+			"optional": true,
+			"requires": {
+				"detect-libc": "^2.0.0",
+				"expand-template": "^2.0.3",
+				"github-from-package": "0.0.0",
+				"minimist": "^1.2.3",
+				"mkdirp-classic": "^0.5.3",
+				"napi-build-utils": "^1.0.1",
+				"node-abi": "^3.3.0",
+				"pump": "^3.0.0",
+				"rc": "^1.2.7",
+				"simple-get": "^4.0.0",
+				"tar-fs": "^2.0.0",
+				"tunnel-agent": "^0.6.0"
+			},
+			"dependencies": {
+				"bl": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+					"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+					"optional": true,
+					"requires": {
+						"buffer": "^5.5.0",
+						"inherits": "^2.0.4",
+						"readable-stream": "^3.4.0"
+					}
+				},
+				"buffer": {
+					"version": "5.7.1",
+					"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+					"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+					"optional": true,
+					"requires": {
+						"base64-js": "^1.3.1",
+						"ieee754": "^1.1.13"
+					}
+				},
+				"tar-fs": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+					"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+					"optional": true,
+					"requires": {
+						"chownr": "^1.1.1",
+						"mkdirp-classic": "^0.5.2",
+						"pump": "^3.0.0",
+						"tar-stream": "^2.1.4"
+					}
+				},
+				"tar-stream": {
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+					"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+					"optional": true,
+					"requires": {
+						"bl": "^4.0.3",
+						"end-of-stream": "^1.4.1",
+						"fs-constants": "^1.0.0",
+						"inherits": "^2.0.3",
+						"readable-stream": "^3.1.1"
+					}
+				}
 			}
 		},
 		"preferred-pm": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz",
-			"integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==",
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz",
+			"integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==",
 			"requires": {
 				"find-up": "^5.0.0",
 				"find-yarn-workspace-root2": "1.2.16",
 				"path-exists": "^4.0.0",
 				"which-pm": "2.0.0"
-			}
-		},
-		"prettier": {
-			"version": "2.8.8",
-			"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
-			"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
-		},
-		"prettier-plugin-astro": {
-			"version": "0.9.1",
-			"resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.9.1.tgz",
-			"integrity": "sha512-pYZXSbdq0eElvzoIMArzv1SBn1NUXzopjlcnt6Ql8VW32PjC12NovwBjXJ6rh8qQLi7vF8jNqAbraKW03UPfag==",
-			"requires": {
-				"@astrojs/compiler": "^1.0.1",
-				"prettier": "^2.8.3",
-				"sass-formatter": "^0.7.5",
-				"synckit": "^0.8.4"
+			},
+			"dependencies": {
+				"which-pm": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz",
+					"integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==",
+					"requires": {
+						"load-yaml-file": "^0.2.0",
+						"path-exists": "^4.0.0"
+					}
+				}
 			}
 		},
 		"prismjs": {
@@ -8228,6 +13405,16 @@
 			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
 			"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
 		},
+		"probe-image-size": {
+			"version": "7.2.3",
+			"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz",
+			"integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==",
+			"requires": {
+				"lodash.merge": "^4.6.2",
+				"needle": "^2.5.2",
+				"stream-parser": "~0.3.1"
+			}
+		},
 		"prompts": {
 			"version": "2.4.2",
 			"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
@@ -8245,15 +13432,43 @@
 			}
 		},
 		"property-information": {
-			"version": "6.2.0",
-			"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz",
-			"integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg=="
+			"version": "6.4.0",
+			"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz",
+			"integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ=="
+		},
+		"pump": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+			"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+			"optional": true,
+			"requires": {
+				"end-of-stream": "^1.1.0",
+				"once": "^1.3.1"
+			}
 		},
 		"queue-microtask": {
 			"version": "1.2.3",
 			"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
 			"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
 		},
+		"queue-tick": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
+			"integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
+			"optional": true
+		},
+		"rc": {
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+			"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+			"optional": true,
+			"requires": {
+				"deep-extend": "^0.6.0",
+				"ini": "~1.3.0",
+				"minimist": "^1.2.0",
+				"strip-json-comments": "~2.0.1"
+			}
+		},
 		"readable-stream": {
 			"version": "3.6.2",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
@@ -8273,77 +13488,89 @@
 			}
 		},
 		"rehype": {
-			"version": "12.0.1",
-			"resolved": "https://registry.npmjs.org/rehype/-/rehype-12.0.1.tgz",
-			"integrity": "sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==",
+			"version": "13.0.1",
+			"resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz",
+			"integrity": "sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"rehype-parse": "^8.0.0",
-				"rehype-stringify": "^9.0.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"rehype-parse": "^9.0.0",
+				"rehype-stringify": "^10.0.0",
+				"unified": "^11.0.0"
 			}
 		},
 		"rehype-parse": {
-			"version": "8.0.4",
-			"resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz",
-			"integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz",
+			"integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"hast-util-from-parse5": "^7.0.0",
-				"parse5": "^6.0.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"hast-util-from-html": "^2.0.0",
+				"unified": "^11.0.0"
 			}
 		},
 		"rehype-raw": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz",
-			"integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==",
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
+			"integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"hast-util-raw": "^7.2.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"hast-util-raw": "^9.0.0",
+				"vfile": "^6.0.0"
 			}
 		},
 		"rehype-stringify": {
-			"version": "9.0.3",
-			"resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.3.tgz",
-			"integrity": "sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==",
+			"version": "10.0.0",
+			"resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.0.tgz",
+			"integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"hast-util-to-html": "^8.0.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"hast-util-to-html": "^9.0.0",
+				"unified": "^11.0.0"
 			}
 		},
 		"remark-gfm": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz",
-			"integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz",
+			"integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-gfm": "^2.0.0",
-				"micromark-extension-gfm": "^2.0.0",
-				"unified": "^10.0.0"
+				"@types/mdast": "^4.0.0",
+				"mdast-util-gfm": "^3.0.0",
+				"micromark-extension-gfm": "^3.0.0",
+				"remark-parse": "^11.0.0",
+				"remark-stringify": "^11.0.0",
+				"unified": "^11.0.0"
+			}
+		},
+		"remark-mdx": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.0.tgz",
+			"integrity": "sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==",
+			"requires": {
+				"mdast-util-mdx": "^3.0.0",
+				"micromark-extension-mdxjs": "^3.0.0"
 			}
 		},
 		"remark-parse": {
-			"version": "10.0.2",
-			"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
-			"integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
+			"integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
 			"requires": {
-				"@types/mdast": "^3.0.0",
-				"mdast-util-from-markdown": "^1.0.0",
-				"unified": "^10.0.0"
+				"@types/mdast": "^4.0.0",
+				"mdast-util-from-markdown": "^2.0.0",
+				"micromark-util-types": "^2.0.0",
+				"unified": "^11.0.0"
 			}
 		},
 		"remark-rehype": {
-			"version": "10.1.0",
-			"resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
-			"integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz",
+			"integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==",
 			"requires": {
-				"@types/hast": "^2.0.0",
-				"@types/mdast": "^3.0.0",
-				"mdast-util-to-hast": "^12.1.0",
-				"unified": "^10.0.0"
+				"@types/hast": "^3.0.0",
+				"@types/mdast": "^4.0.0",
+				"mdast-util-to-hast": "^13.0.0",
+				"unified": "^11.0.0",
+				"vfile": "^6.0.0"
 			}
 		},
 		"remark-smartypants": {
@@ -8354,14 +13581,68 @@
 				"retext": "^8.1.0",
 				"retext-smartypants": "^5.1.0",
 				"unist-util-visit": "^4.1.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				},
+				"unist-util-is": {
+					"version": "5.2.1",
+					"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
+					"integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
+					"requires": {
+						"@types/unist": "^2.0.0"
+					}
+				},
+				"unist-util-visit": {
+					"version": "4.1.2",
+					"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+					"integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-is": "^5.0.0",
+						"unist-util-visit-parents": "^5.1.1"
+					}
+				},
+				"unist-util-visit-parents": {
+					"version": "5.1.3",
+					"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+					"integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-is": "^5.0.0"
+					}
+				}
 			}
 		},
-		"resolve": {
-			"version": "1.22.1",
-			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
-			"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+		"remark-stringify": {
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
+			"integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
 			"requires": {
-				"is-core-module": "^2.9.0",
+				"@types/mdast": "^4.0.0",
+				"mdast-util-to-markdown": "^2.0.0",
+				"unified": "^11.0.0"
+			}
+		},
+		"request-light": {
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz",
+			"integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q=="
+		},
+		"require-directory": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+			"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+		},
+		"resolve": {
+			"version": "1.22.8",
+			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+			"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+			"requires": {
+				"is-core-module": "^2.13.0",
 				"path-parse": "^1.0.7",
 				"supports-preserve-symlinks-flag": "^1.0.0"
 			}
@@ -8387,6 +13668,11 @@
 					"requires": {
 						"mimic-fn": "^2.1.0"
 					}
+				},
+				"signal-exit": {
+					"version": "3.0.7",
+					"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+					"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
 				}
 			}
 		},
@@ -8399,6 +13685,55 @@
 				"retext-latin": "^3.0.0",
 				"retext-stringify": "^3.0.0",
 				"unified": "^10.0.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				},
+				"unified": {
+					"version": "10.1.2",
+					"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+					"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"bail": "^2.0.0",
+						"extend": "^3.0.0",
+						"is-buffer": "^2.0.0",
+						"is-plain-obj": "^4.0.0",
+						"trough": "^2.0.0",
+						"vfile": "^5.0.0"
+					}
+				},
+				"unist-util-stringify-position": {
+					"version": "3.0.3",
+					"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+					"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+					"requires": {
+						"@types/unist": "^2.0.0"
+					}
+				},
+				"vfile": {
+					"version": "5.3.7",
+					"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+					"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"is-buffer": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0",
+						"vfile-message": "^3.0.0"
+					}
+				},
+				"vfile-message": {
+					"version": "3.1.4",
+					"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+					"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0"
+					}
+				}
 			}
 		},
 		"retext-latin": {
@@ -8410,6 +13745,55 @@
 				"parse-latin": "^5.0.0",
 				"unherit": "^3.0.0",
 				"unified": "^10.0.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				},
+				"unified": {
+					"version": "10.1.2",
+					"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+					"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"bail": "^2.0.0",
+						"extend": "^3.0.0",
+						"is-buffer": "^2.0.0",
+						"is-plain-obj": "^4.0.0",
+						"trough": "^2.0.0",
+						"vfile": "^5.0.0"
+					}
+				},
+				"unist-util-stringify-position": {
+					"version": "3.0.3",
+					"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+					"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+					"requires": {
+						"@types/unist": "^2.0.0"
+					}
+				},
+				"vfile": {
+					"version": "5.3.7",
+					"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+					"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"is-buffer": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0",
+						"vfile-message": "^3.0.0"
+					}
+				},
+				"vfile-message": {
+					"version": "3.1.4",
+					"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+					"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0"
+					}
+				}
 			}
 		},
 		"retext-smartypants": {
@@ -8421,6 +13805,82 @@
 				"nlcst-to-string": "^3.0.0",
 				"unified": "^10.0.0",
 				"unist-util-visit": "^4.0.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				},
+				"unified": {
+					"version": "10.1.2",
+					"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+					"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"bail": "^2.0.0",
+						"extend": "^3.0.0",
+						"is-buffer": "^2.0.0",
+						"is-plain-obj": "^4.0.0",
+						"trough": "^2.0.0",
+						"vfile": "^5.0.0"
+					}
+				},
+				"unist-util-is": {
+					"version": "5.2.1",
+					"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
+					"integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
+					"requires": {
+						"@types/unist": "^2.0.0"
+					}
+				},
+				"unist-util-stringify-position": {
+					"version": "3.0.3",
+					"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+					"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+					"requires": {
+						"@types/unist": "^2.0.0"
+					}
+				},
+				"unist-util-visit": {
+					"version": "4.1.2",
+					"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+					"integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-is": "^5.0.0",
+						"unist-util-visit-parents": "^5.1.1"
+					}
+				},
+				"unist-util-visit-parents": {
+					"version": "5.1.3",
+					"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+					"integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-is": "^5.0.0"
+					}
+				},
+				"vfile": {
+					"version": "5.3.7",
+					"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+					"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"is-buffer": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0",
+						"vfile-message": "^3.0.0"
+					}
+				},
+				"vfile-message": {
+					"version": "3.1.4",
+					"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+					"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0"
+					}
+				}
 			}
 		},
 		"retext-stringify": {
@@ -8431,6 +13891,55 @@
 				"@types/nlcst": "^1.0.0",
 				"nlcst-to-string": "^3.0.0",
 				"unified": "^10.0.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				},
+				"unified": {
+					"version": "10.1.2",
+					"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+					"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"bail": "^2.0.0",
+						"extend": "^3.0.0",
+						"is-buffer": "^2.0.0",
+						"is-plain-obj": "^4.0.0",
+						"trough": "^2.0.0",
+						"vfile": "^5.0.0"
+					}
+				},
+				"unist-util-stringify-position": {
+					"version": "3.0.3",
+					"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+					"integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+					"requires": {
+						"@types/unist": "^2.0.0"
+					}
+				},
+				"vfile": {
+					"version": "5.3.7",
+					"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+					"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"is-buffer": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0",
+						"vfile-message": "^3.0.0"
+					}
+				},
+				"vfile-message": {
+					"version": "3.1.4",
+					"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+					"integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+					"requires": {
+						"@types/unist": "^2.0.0",
+						"unist-util-stringify-position": "^3.0.0"
+					}
+				}
 			}
 		},
 		"reusify": {
@@ -8439,75 +13948,30 @@
 			"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
 		},
 		"rollup": {
-			"version": "3.26.2",
-			"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.2.tgz",
-			"integrity": "sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==",
+			"version": "4.18.0",
+			"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
+			"integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
 			"requires": {
+				"@rollup/rollup-android-arm-eabi": "4.18.0",
+				"@rollup/rollup-android-arm64": "4.18.0",
+				"@rollup/rollup-darwin-arm64": "4.18.0",
+				"@rollup/rollup-darwin-x64": "4.18.0",
+				"@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
+				"@rollup/rollup-linux-arm-musleabihf": "4.18.0",
+				"@rollup/rollup-linux-arm64-gnu": "4.18.0",
+				"@rollup/rollup-linux-arm64-musl": "4.18.0",
+				"@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
+				"@rollup/rollup-linux-riscv64-gnu": "4.18.0",
+				"@rollup/rollup-linux-s390x-gnu": "4.18.0",
+				"@rollup/rollup-linux-x64-gnu": "4.18.0",
+				"@rollup/rollup-linux-x64-musl": "4.18.0",
+				"@rollup/rollup-win32-arm64-msvc": "4.18.0",
+				"@rollup/rollup-win32-ia32-msvc": "4.18.0",
+				"@rollup/rollup-win32-x64-msvc": "4.18.0",
+				"@types/estree": "1.0.5",
 				"fsevents": "~2.3.2"
 			}
 		},
-		"run-applescript": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz",
-			"integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==",
-			"requires": {
-				"execa": "^5.0.0"
-			},
-			"dependencies": {
-				"execa": {
-					"version": "5.1.1",
-					"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
-					"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
-					"requires": {
-						"cross-spawn": "^7.0.3",
-						"get-stream": "^6.0.0",
-						"human-signals": "^2.1.0",
-						"is-stream": "^2.0.0",
-						"merge-stream": "^2.0.0",
-						"npm-run-path": "^4.0.1",
-						"onetime": "^5.1.2",
-						"signal-exit": "^3.0.3",
-						"strip-final-newline": "^2.0.0"
-					}
-				},
-				"human-signals": {
-					"version": "2.1.0",
-					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
-					"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
-				},
-				"is-stream": {
-					"version": "2.0.1",
-					"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
-					"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
-				},
-				"mimic-fn": {
-					"version": "2.1.0",
-					"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-					"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
-				},
-				"npm-run-path": {
-					"version": "4.0.1",
-					"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
-					"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
-					"requires": {
-						"path-key": "^3.0.0"
-					}
-				},
-				"onetime": {
-					"version": "5.1.2",
-					"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-					"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-					"requires": {
-						"mimic-fn": "^2.1.0"
-					}
-				},
-				"strip-final-newline": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
-					"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
-				}
-			}
-		},
 		"run-parallel": {
 			"version": "1.2.0",
 			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -8516,31 +13980,15 @@
 				"queue-microtask": "^1.2.2"
 			}
 		},
-		"s.color": {
-			"version": "0.0.15",
-			"resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz",
-			"integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA=="
-		},
-		"sade": {
-			"version": "1.8.1",
-			"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
-			"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
-			"requires": {
-				"mri": "^1.1.0"
-			}
-		},
 		"safe-buffer": {
 			"version": "5.2.1",
 			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
 			"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
 		},
-		"sass-formatter": {
-			"version": "0.7.6",
-			"resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.6.tgz",
-			"integrity": "sha512-hXdxU6PCkiV3XAiSnX+XLqz2ohHoEnVUlrd8LEVMAI80uB1+OTScIkH9n6qQwImZpTye1r1WG1rbGUteHNhoHg==",
-			"requires": {
-				"suf-log": "^2.5.3"
-			}
+		"safer-buffer": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 		},
 		"sax": {
 			"version": "1.2.4",
@@ -8557,9 +14005,9 @@
 			}
 		},
 		"semver": {
-			"version": "7.5.3",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
-			"integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
+			"version": "7.5.4",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+			"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 			"requires": {
 				"lru-cache": "^6.0.0"
 			},
@@ -8584,6 +14032,22 @@
 			"resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
 			"integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ=="
 		},
+		"sharp": {
+			"version": "0.32.6",
+			"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz",
+			"integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==",
+			"optional": true,
+			"requires": {
+				"color": "^4.2.3",
+				"detect-libc": "^2.0.2",
+				"node-addon-api": "^6.1.0",
+				"prebuild-install": "^7.1.1",
+				"semver": "^7.5.4",
+				"simple-get": "^4.0.1",
+				"tar-fs": "^3.0.4",
+				"tunnel-agent": "^0.6.0"
+			}
+		},
 		"shebang-command": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -8597,28 +14061,49 @@
 			"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
 			"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
 		},
-		"shiki": {
-			"version": "0.14.3",
-			"resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.3.tgz",
-			"integrity": "sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==",
+		"shikiji": {
+			"version": "0.6.13",
+			"resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.6.13.tgz",
+			"integrity": "sha512-4T7X39csvhT0p7GDnq9vysWddf2b6BeioiN3Ymhnt3xcy9tXmDcnsEFVxX18Z4YcQgEE/w48dLJ4pPPUcG9KkA==",
 			"requires": {
-				"ansi-sequence-parser": "^1.1.0",
-				"jsonc-parser": "^3.2.0",
-				"vscode-oniguruma": "^1.7.0",
-				"vscode-textmate": "^8.0.0"
-			},
-			"dependencies": {
-				"jsonc-parser": {
-					"version": "3.2.0",
-					"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
-					"integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
-				}
+				"hast-util-to-html": "^9.0.0"
 			}
 		},
+		"shikiji-core": {
+			"version": "0.9.19",
+			"resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz",
+			"integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw=="
+		},
 		"signal-exit": {
-			"version": "3.0.7",
-			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-			"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="
+		},
+		"simple-concat": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+			"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+			"optional": true
+		},
+		"simple-get": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
+			"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
+			"optional": true,
+			"requires": {
+				"decompress-response": "^6.0.0",
+				"once": "^1.3.1",
+				"simple-concat": "^1.0.0"
+			}
+		},
+		"simple-swizzle": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+			"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+			"optional": true,
+			"requires": {
+				"is-arrayish": "^0.3.1"
+			}
 		},
 		"sisteransi": {
 			"version": "1.0.5",
@@ -8643,10 +14128,15 @@
 				}
 			}
 		},
+		"source-map": {
+			"version": "0.7.4",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+			"integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="
+		},
 		"source-map-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-			"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg=="
 		},
 		"space-separated-tokens": {
 			"version": "2.0.2",
@@ -8666,10 +14156,38 @@
 				"bl": "^5.0.0"
 			}
 		},
-		"streamsearch": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
-			"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="
+		"stream-parser": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
+			"integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==",
+			"requires": {
+				"debug": "2"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "2.6.9",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+					"requires": {
+						"ms": "2.0.0"
+					}
+				},
+				"ms": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+					"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+				}
+			}
+		},
+		"streamx": {
+			"version": "2.15.6",
+			"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz",
+			"integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==",
+			"optional": true,
+			"requires": {
+				"fast-fifo": "^1.1.0",
+				"queue-tick": "^1.0.1"
+			}
 		},
 		"string_decoder": {
 			"version": "1.3.0",
@@ -8680,13 +14198,13 @@
 			}
 		},
 		"string-width": {
-			"version": "5.1.2",
-			"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
-			"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz",
+			"integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==",
 			"requires": {
-				"eastasianwidth": "^0.2.0",
-				"emoji-regex": "^9.2.2",
-				"strip-ansi": "^7.0.1"
+				"emoji-regex": "^10.3.0",
+				"get-east-asian-width": "^1.0.0",
+				"strip-ansi": "^7.1.0"
 			}
 		},
 		"stringify-entities": {
@@ -8707,9 +14225,9 @@
 			}
 		},
 		"strip-bom": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-			"integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+			"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
 		},
 		"strip-bom-string": {
 			"version": "1.0.0",
@@ -8721,22 +14239,20 @@
 			"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
 			"integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="
 		},
+		"strip-json-comments": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+			"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+			"optional": true
+		},
 		"style-to-object": {
-			"version": "0.4.0",
-			"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.0.tgz",
-			"integrity": "sha512-dAjq2m87tPn/TcYTeqMhXJRhu96WYWcxMFQxs3Y9jfYpq2jG+38u4tj0Lst6DOiYXmDuNxVJ2b1Z2uPC6wTEeg==",
+			"version": "0.4.4",
+			"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz",
+			"integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==",
 			"requires": {
 				"inline-style-parser": "0.1.1"
 			}
 		},
-		"suf-log": {
-			"version": "2.5.3",
-			"resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz",
-			"integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==",
-			"requires": {
-				"s.color": "0.0.15"
-			}
-		},
 		"supports-color": {
 			"version": "5.5.0",
 			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -8750,19 +14266,27 @@
 			"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
 			"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
 		},
-		"synckit": {
-			"version": "0.8.5",
-			"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
-			"integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
+		"tar-fs": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
+			"integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
+			"optional": true,
 			"requires": {
-				"@pkgr/utils": "^2.3.1",
-				"tslib": "^2.5.0"
+				"mkdirp-classic": "^0.5.2",
+				"pump": "^3.0.0",
+				"tar-stream": "^3.1.5"
 			}
 		},
-		"titleize": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
-			"integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ=="
+		"tar-stream": {
+			"version": "3.1.6",
+			"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz",
+			"integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==",
+			"optional": true,
+			"requires": {
+				"b4a": "^1.6.4",
+				"fast-fifo": "^1.2.0",
+				"streamx": "^2.15.0"
+			}
 		},
 		"to-fast-properties": {
 			"version": "2.0.0",
@@ -8787,47 +14311,42 @@
 			"resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
 			"integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
 		},
-		"tsconfig-resolver": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/tsconfig-resolver/-/tsconfig-resolver-3.0.1.tgz",
-			"integrity": "sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==",
-			"requires": {
-				"@types/json5": "^0.0.30",
-				"@types/resolve": "^1.17.0",
-				"json5": "^2.1.3",
-				"resolve": "^1.17.0",
-				"strip-bom": "^4.0.0",
-				"type-fest": "^0.13.1"
-			},
-			"dependencies": {
-				"type-fest": {
-					"version": "0.13.1",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
-					"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="
-				}
-			}
+		"tsconfck": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.0.tgz",
+			"integrity": "sha512-w3wnsIrJNi7avf4Zb0VjOoodoO0woEqGgZGQm+LHH9przdUI+XDKsWAXwxHA1DaRTjeuZNcregSzr7RaA8zG9A==",
+			"requires": {}
 		},
-		"tslib": {
-			"version": "2.6.0",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz",
-			"integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA=="
+		"tunnel-agent": {
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+			"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+			"optional": true,
+			"requires": {
+				"safe-buffer": "^5.0.1"
+			}
 		},
 		"type-fest": {
 			"version": "2.19.0",
 			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
 			"integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="
 		},
-		"typescript": {
-			"version": "4.9.4",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
-			"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg=="
+		"typesafe-path": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz",
+			"integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA=="
 		},
-		"undici": {
-			"version": "5.22.1",
-			"resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz",
-			"integrity": "sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==",
+		"typescript": {
+			"version": "5.3.3",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
+			"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw=="
+		},
+		"typescript-auto-import-cache": {
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.0.tgz",
+			"integrity": "sha512-Rq6/q4O9iyqUdjvOoyas7x/Qf9nWUMeqpP3YeTaLA+uECgfy5wOhfOS+SW/+fZ/uI/ZcKaf+2/ZhFzXh8xfofQ==",
 			"requires": {
-				"busboy": "^1.6.0"
+				"semver": "^7.3.8"
 			}
 		},
 		"unherit": {
@@ -8836,28 +14355,26 @@
 			"integrity": "sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg=="
 		},
 		"unified": {
-			"version": "10.1.2",
-			"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
-			"integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+			"version": "11.0.4",
+			"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz",
+			"integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==",
 			"requires": {
-				"@types/unist": "^2.0.0",
+				"@types/unist": "^3.0.0",
 				"bail": "^2.0.0",
+				"devlop": "^1.0.0",
 				"extend": "^3.0.0",
-				"is-buffer": "^2.0.0",
 				"is-plain-obj": "^4.0.0",
 				"trough": "^2.0.0",
-				"vfile": "^5.0.0"
+				"vfile": "^6.0.0"
 			}
 		},
-		"unist-util-generated": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz",
-			"integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A=="
-		},
 		"unist-util-is": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
-			"integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+			"integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+			"requires": {
+				"@types/unist": "^3.0.0"
+			}
 		},
 		"unist-util-modify-children": {
 			"version": "3.1.1",
@@ -8866,32 +14383,56 @@
 			"requires": {
 				"@types/unist": "^2.0.0",
 				"array-iterate": "^2.0.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				}
 			}
 		},
 		"unist-util-position": {
-			"version": "4.0.3",
-			"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
-			"integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
+			"integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
 			"requires": {
-				"@types/unist": "^2.0.0"
+				"@types/unist": "^3.0.0"
+			}
+		},
+		"unist-util-position-from-estree": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz",
+			"integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==",
+			"requires": {
+				"@types/unist": "^3.0.0"
+			}
+		},
+		"unist-util-remove-position": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz",
+			"integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==",
+			"requires": {
+				"@types/unist": "^3.0.0",
+				"unist-util-visit": "^5.0.0"
 			}
 		},
 		"unist-util-stringify-position": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
-			"integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
+			"integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
 			"requires": {
-				"@types/unist": "^2.0.0"
+				"@types/unist": "^3.0.0"
 			}
 		},
 		"unist-util-visit": {
-			"version": "4.1.2",
-			"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
-			"integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+			"integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
 			"requires": {
-				"@types/unist": "^2.0.0",
-				"unist-util-is": "^5.0.0",
-				"unist-util-visit-parents": "^5.1.1"
+				"@types/unist": "^3.0.0",
+				"unist-util-is": "^6.0.0",
+				"unist-util-visit-parents": "^6.0.0"
 			}
 		},
 		"unist-util-visit-children": {
@@ -8900,26 +14441,28 @@
 			"integrity": "sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==",
 			"requires": {
 				"@types/unist": "^2.0.0"
+			},
+			"dependencies": {
+				"@types/unist": {
+					"version": "2.0.10",
+					"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz",
+					"integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA=="
+				}
 			}
 		},
 		"unist-util-visit-parents": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
-			"integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
+			"integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
 			"requires": {
-				"@types/unist": "^2.0.0",
-				"unist-util-is": "^5.0.0"
+				"@types/unist": "^3.0.0",
+				"unist-util-is": "^6.0.0"
 			}
 		},
-		"untildify": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
-			"integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw=="
-		},
 		"update-browserslist-db": {
-			"version": "1.0.11",
-			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
-			"integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
+			"version": "1.0.13",
+			"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+			"integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
 			"requires": {
 				"escalade": "^3.1.1",
 				"picocolors": "^1.0.0"
@@ -8930,302 +14473,336 @@
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
 		},
-		"uvu": {
-			"version": "0.5.6",
-			"resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz",
-			"integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
-			"requires": {
-				"dequal": "^2.0.0",
-				"diff": "^5.0.0",
-				"kleur": "^4.0.3",
-				"sade": "^1.7.3"
-			}
-		},
 		"vfile": {
-			"version": "5.3.7",
-			"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
-			"integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz",
+			"integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==",
 			"requires": {
-				"@types/unist": "^2.0.0",
-				"is-buffer": "^2.0.0",
-				"unist-util-stringify-position": "^3.0.0",
-				"vfile-message": "^3.0.0"
+				"@types/unist": "^3.0.0",
+				"unist-util-stringify-position": "^4.0.0",
+				"vfile-message": "^4.0.0"
 			}
 		},
 		"vfile-location": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz",
-			"integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==",
+			"version": "5.0.2",
+			"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz",
+			"integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==",
 			"requires": {
-				"@types/unist": "^2.0.0",
-				"vfile": "^5.0.0"
+				"@types/unist": "^3.0.0",
+				"vfile": "^6.0.0"
 			}
 		},
 		"vfile-message": {
-			"version": "3.1.3",
-			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.3.tgz",
-			"integrity": "sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
+			"integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==",
 			"requires": {
-				"@types/unist": "^2.0.0",
-				"unist-util-stringify-position": "^3.0.0"
+				"@types/unist": "^3.0.0",
+				"unist-util-stringify-position": "^4.0.0"
 			}
 		},
 		"vite": {
-			"version": "4.4.1",
-			"resolved": "https://registry.npmjs.org/vite/-/vite-4.4.1.tgz",
-			"integrity": "sha512-8mmwPlsy7t+ZcTme7vdbVGuZ3Tri+lrLXr6hsF5UHdyYyARPPPMtM16QlqC9TZuCd5j3NmWs1rwka3cVSRHZTw==",
+			"version": "5.3.1",
+			"resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz",
+			"integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==",
 			"requires": {
-				"esbuild": "^0.18.10",
-				"fsevents": "~2.3.2",
-				"postcss": "^8.4.24",
-				"rollup": "^3.25.2"
+				"esbuild": "^0.21.3",
+				"fsevents": "~2.3.3",
+				"postcss": "^8.4.38",
+				"rollup": "^4.13.0"
 			},
 			"dependencies": {
+				"@esbuild/aix-ppc64": {
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+					"integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+					"optional": true
+				},
 				"@esbuild/android-arm": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz",
-					"integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+					"integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
 					"optional": true
 				},
 				"@esbuild/android-arm64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz",
-					"integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+					"integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
 					"optional": true
 				},
 				"@esbuild/android-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz",
-					"integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+					"integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
 					"optional": true
 				},
 				"@esbuild/darwin-arm64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz",
-					"integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+					"integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
 					"optional": true
 				},
 				"@esbuild/darwin-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz",
-					"integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+					"integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
 					"optional": true
 				},
 				"@esbuild/freebsd-arm64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz",
-					"integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+					"integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
 					"optional": true
 				},
 				"@esbuild/freebsd-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz",
-					"integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+					"integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
 					"optional": true
 				},
 				"@esbuild/linux-arm": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz",
-					"integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+					"integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
 					"optional": true
 				},
 				"@esbuild/linux-arm64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz",
-					"integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+					"integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
 					"optional": true
 				},
 				"@esbuild/linux-ia32": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz",
-					"integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+					"integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
 					"optional": true
 				},
 				"@esbuild/linux-loong64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz",
-					"integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+					"integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
 					"optional": true
 				},
 				"@esbuild/linux-mips64el": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz",
-					"integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+					"integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
 					"optional": true
 				},
 				"@esbuild/linux-ppc64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz",
-					"integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+					"integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
 					"optional": true
 				},
 				"@esbuild/linux-riscv64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz",
-					"integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+					"integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
 					"optional": true
 				},
 				"@esbuild/linux-s390x": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz",
-					"integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+					"integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
 					"optional": true
 				},
 				"@esbuild/linux-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz",
-					"integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+					"integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
 					"optional": true
 				},
 				"@esbuild/netbsd-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz",
-					"integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+					"integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
 					"optional": true
 				},
 				"@esbuild/openbsd-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz",
-					"integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+					"integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
 					"optional": true
 				},
 				"@esbuild/sunos-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz",
-					"integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+					"integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
 					"optional": true
 				},
 				"@esbuild/win32-arm64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz",
-					"integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+					"integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
 					"optional": true
 				},
 				"@esbuild/win32-ia32": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz",
-					"integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+					"integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
 					"optional": true
 				},
 				"@esbuild/win32-x64": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz",
-					"integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+					"integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
 					"optional": true
 				},
 				"esbuild": {
-					"version": "0.18.11",
-					"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz",
-					"integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==",
+					"version": "0.21.5",
+					"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+					"integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
 					"requires": {
-						"@esbuild/android-arm": "0.18.11",
-						"@esbuild/android-arm64": "0.18.11",
-						"@esbuild/android-x64": "0.18.11",
-						"@esbuild/darwin-arm64": "0.18.11",
-						"@esbuild/darwin-x64": "0.18.11",
-						"@esbuild/freebsd-arm64": "0.18.11",
-						"@esbuild/freebsd-x64": "0.18.11",
-						"@esbuild/linux-arm": "0.18.11",
-						"@esbuild/linux-arm64": "0.18.11",
-						"@esbuild/linux-ia32": "0.18.11",
-						"@esbuild/linux-loong64": "0.18.11",
-						"@esbuild/linux-mips64el": "0.18.11",
-						"@esbuild/linux-ppc64": "0.18.11",
-						"@esbuild/linux-riscv64": "0.18.11",
-						"@esbuild/linux-s390x": "0.18.11",
-						"@esbuild/linux-x64": "0.18.11",
-						"@esbuild/netbsd-x64": "0.18.11",
-						"@esbuild/openbsd-x64": "0.18.11",
-						"@esbuild/sunos-x64": "0.18.11",
-						"@esbuild/win32-arm64": "0.18.11",
-						"@esbuild/win32-ia32": "0.18.11",
-						"@esbuild/win32-x64": "0.18.11"
+						"@esbuild/aix-ppc64": "0.21.5",
+						"@esbuild/android-arm": "0.21.5",
+						"@esbuild/android-arm64": "0.21.5",
+						"@esbuild/android-x64": "0.21.5",
+						"@esbuild/darwin-arm64": "0.21.5",
+						"@esbuild/darwin-x64": "0.21.5",
+						"@esbuild/freebsd-arm64": "0.21.5",
+						"@esbuild/freebsd-x64": "0.21.5",
+						"@esbuild/linux-arm": "0.21.5",
+						"@esbuild/linux-arm64": "0.21.5",
+						"@esbuild/linux-ia32": "0.21.5",
+						"@esbuild/linux-loong64": "0.21.5",
+						"@esbuild/linux-mips64el": "0.21.5",
+						"@esbuild/linux-ppc64": "0.21.5",
+						"@esbuild/linux-riscv64": "0.21.5",
+						"@esbuild/linux-s390x": "0.21.5",
+						"@esbuild/linux-x64": "0.21.5",
+						"@esbuild/netbsd-x64": "0.21.5",
+						"@esbuild/openbsd-x64": "0.21.5",
+						"@esbuild/sunos-x64": "0.21.5",
+						"@esbuild/win32-arm64": "0.21.5",
+						"@esbuild/win32-ia32": "0.21.5",
+						"@esbuild/win32-x64": "0.21.5"
 					}
 				}
 			}
 		},
 		"vitefu": {
-			"version": "0.2.4",
-			"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
-			"integrity": "sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==",
+			"version": "0.2.5",
+			"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz",
+			"integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==",
+			"requires": {}
+		},
+		"volar-service-css": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.16.tgz",
+			"integrity": "sha512-gK/XD35t/P3SQrUuS8LMlCnE2ItIk+kXI6gPvBYl1NZ7O+tLH8rUWXA32YgpwNoITxYrm/G1seaq08zs4aiPvg==",
+			"requires": {
+				"vscode-css-languageservice": "^6.2.10",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"volar-service-emmet": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.16.tgz",
+			"integrity": "sha512-8sWWywzVJOD+PWDArOXDWbiRlM7+peydFhXJT71i4X1WPW32RyPxn6FypvciO+amqpfZP2rXfB9eibIJ+EofSQ==",
+			"requires": {
+				"@vscode/emmet-helper": "^2.9.2",
+				"volar-service-html": "0.0.16"
+			}
+		},
+		"volar-service-html": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.16.tgz",
+			"integrity": "sha512-/oEXXgry++1CnTXQBUNf9B8MZfTlYZuJfZA7Zx9MN7WS4ZPxk3BFOdal/cXH6RNR2ruNEYr5QTW9rsqtoUscag==",
+			"requires": {
+				"vscode-html-languageservice": "^5.1.0",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"volar-service-prettier": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.16.tgz",
+			"integrity": "sha512-Kj2ZdwJGEvfYbsHW8Sjrew/7EB4PgRoas4f8yAJzUUVxIC/kvhUwLDxQc8+N2IibomN76asJGWe+i6VZZvgIkw==",
+			"requires": {}
+		},
+		"volar-service-typescript": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.16.tgz",
+			"integrity": "sha512-k/qFKM2oxs/3fhbr/vcBSHnCLZ1HN3Aeh+bGvV9Lc9qIhrNyCVsDFOUJN1Qp4dI72+Y+eFSIDCLHmFEZdsP2EA==",
+			"requires": {
+				"path-browserify": "^1.0.1",
+				"semver": "^7.5.4",
+				"typescript-auto-import-cache": "^0.3.0",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-nls": "^5.2.0",
+				"vscode-uri": "^3.0.8"
+			}
+		},
+		"volar-service-typescript-twoslash-queries": {
+			"version": "0.0.16",
+			"resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.16.tgz",
+			"integrity": "sha512-0gPrkDTD2bMj2AnSNykOKhfmPnBFE2LS1lF3LWA7qu1ChRnJF0sodwCCbbeNYJ9+yth956ApoU1BVQ8UrMg+yw==",
 			"requires": {}
 		},
 		"vscode-css-languageservice": {
-			"version": "6.2.6",
-			"resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.6.tgz",
-			"integrity": "sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==",
+			"version": "6.2.11",
+			"resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.11.tgz",
+			"integrity": "sha512-qn49Wa6K94LnizpVxmlYrcPf1Cb36gq1nNueW0COhi4shylXBzET5wuDbH8ZWQlJD0HM5Mmnn7WE9vQVVs+ULA==",
 			"requires": {
-				"@vscode/l10n": "^0.0.14",
-				"vscode-languageserver-textdocument": "^1.0.8",
-				"vscode-languageserver-types": "^3.17.3",
-				"vscode-uri": "^3.0.7"
+				"@vscode/l10n": "^0.0.16",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-languageserver-types": "3.17.5",
+				"vscode-uri": "^3.0.8"
 			}
 		},
 		"vscode-html-languageservice": {
-			"version": "5.0.6",
-			"resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.6.tgz",
-			"integrity": "sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==",
+			"version": "5.1.1",
+			"resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.1.1.tgz",
+			"integrity": "sha512-JenrspIIG/Q+93R6G3L6HdK96itSisMynE0glURqHpQbL3dKAKzdm8L40lAHNkwJeBg+BBPpAshZKv/38onrTQ==",
 			"requires": {
-				"@vscode/l10n": "^0.0.14",
-				"vscode-languageserver-textdocument": "^1.0.8",
-				"vscode-languageserver-types": "^3.17.3",
-				"vscode-uri": "^3.0.7"
+				"@vscode/l10n": "^0.0.16",
+				"vscode-languageserver-textdocument": "^1.0.11",
+				"vscode-languageserver-types": "^3.17.5",
+				"vscode-uri": "^3.0.8"
 			}
 		},
 		"vscode-jsonrpc": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz",
-			"integrity": "sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw=="
+			"version": "8.2.0",
+			"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+			"integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA=="
 		},
 		"vscode-languageserver": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz",
-			"integrity": "sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+			"integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
 			"requires": {
-				"vscode-languageserver-protocol": "3.17.3"
+				"vscode-languageserver-protocol": "3.17.5"
 			}
 		},
 		"vscode-languageserver-protocol": {
-			"version": "3.17.3",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz",
-			"integrity": "sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==",
+			"version": "3.17.5",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+			"integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
 			"requires": {
-				"vscode-jsonrpc": "8.1.0",
-				"vscode-languageserver-types": "3.17.3"
+				"vscode-jsonrpc": "8.2.0",
+				"vscode-languageserver-types": "3.17.5"
 			}
 		},
 		"vscode-languageserver-textdocument": {
-			"version": "1.0.8",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
-			"integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz",
+			"integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA=="
 		},
 		"vscode-languageserver-types": {
-			"version": "3.17.3",
-			"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz",
-			"integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA=="
+			"version": "3.17.5",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+			"integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
 		},
-		"vscode-oniguruma": {
-			"version": "1.7.0",
-			"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
-			"integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA=="
-		},
-		"vscode-textmate": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
-			"integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg=="
+		"vscode-nls": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz",
+			"integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng=="
 		},
 		"vscode-uri": {
-			"version": "3.0.7",
-			"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz",
-			"integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA=="
-		},
-		"wcwidth": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
-			"integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
-			"requires": {
-				"defaults": "^1.0.3"
-			}
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
+			"integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw=="
 		},
 		"web-namespaces": {
 			"version": "2.0.1",
@@ -9241,9 +14818,9 @@
 			}
 		},
 		"which-pm": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz",
-			"integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.1.1.tgz",
+			"integrity": "sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==",
 			"requires": {
 				"load-yaml-file": "^0.2.0",
 				"path-exists": "^4.0.0"
@@ -9260,6 +14837,23 @@
 			"integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==",
 			"requires": {
 				"string-width": "^5.0.1"
+			},
+			"dependencies": {
+				"emoji-regex": {
+					"version": "9.2.2",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+					"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+				},
+				"string-width": {
+					"version": "5.1.2",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+					"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+					"requires": {
+						"eastasianwidth": "^0.2.0",
+						"emoji-regex": "^9.2.2",
+						"strip-ansi": "^7.0.1"
+					}
+				}
 			}
 		},
 		"wrap-ansi": {
@@ -9276,28 +14870,98 @@
 					"version": "6.2.1",
 					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
 					"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="
+				},
+				"emoji-regex": {
+					"version": "9.2.2",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+					"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+				},
+				"string-width": {
+					"version": "5.1.2",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+					"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+					"requires": {
+						"eastasianwidth": "^0.2.0",
+						"emoji-regex": "^9.2.2",
+						"strip-ansi": "^7.0.1"
+					}
 				}
 			}
 		},
+		"wrappy": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+			"optional": true
+		},
+		"y18n": {
+			"version": "5.0.8",
+			"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+			"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
+		},
 		"yallist": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
 			"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
 		},
+		"yargs": {
+			"version": "17.7.2",
+			"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+			"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+			"requires": {
+				"cliui": "^8.0.1",
+				"escalade": "^3.1.1",
+				"get-caller-file": "^2.0.5",
+				"require-directory": "^2.1.1",
+				"string-width": "^4.2.3",
+				"y18n": "^5.0.5",
+				"yargs-parser": "^21.1.1"
+			},
+			"dependencies": {
+				"ansi-regex": {
+					"version": "5.0.1",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+					"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+				},
+				"emoji-regex": {
+					"version": "8.0.0",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+					"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+				},
+				"string-width": {
+					"version": "4.2.3",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+					"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+					"requires": {
+						"emoji-regex": "^8.0.0",
+						"is-fullwidth-code-point": "^3.0.0",
+						"strip-ansi": "^6.0.1"
+					}
+				},
+				"strip-ansi": {
+					"version": "6.0.1",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+					"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+					"requires": {
+						"ansi-regex": "^5.0.1"
+					}
+				}
+			}
+		},
 		"yargs-parser": {
 			"version": "21.1.1",
 			"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
 			"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
 		},
 		"yocto-queue": {
-			"version": "0.1.0",
-			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-			"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+			"integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g=="
 		},
 		"zod": {
-			"version": "3.21.4",
-			"resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
-			"integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw=="
+			"version": "3.22.4",
+			"resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz",
+			"integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg=="
 		},
 		"zwitch": {
 			"version": "2.0.4",
diff --git a/package.json b/package.json
index 52c1d93..9efae23 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
 	"name": "@firq/fgosite",
 	"type": "module",
-	"version": "0.1.3",
+	"version": "0.1.27",
 	"private": true,
 	"scripts": {
 		"dev": "astro dev",
@@ -11,8 +11,18 @@
 		"astro": "astro"
 	},
 	"dependencies": {
-		"@astrojs/sitemap": "^1.2.1",
-		"astro": "^2.8.0",
-		"iconoir": "^6.1.0"
-	}
+		"@astro-community/astro-embed-youtube": "^0.4.3",
+		"@astrojs/check": "^0.3.3",
+		"@astrojs/mdx": "^2.0.3",
+		"@astrojs/sitemap": "^3.0.3",
+		"astro": "^4.2.1",
+		"autoprefixer": "^10.4.16",
+		"iconoir": "^7.2.0",
+		"postcss-preset-env": "^9.3.0",
+		"typescript": "^5.3.3"
+	},
+	"browserslist": [
+		"last 2 versions",
+		">0.5% and not dead"
+	]
 }
diff --git a/postcss.config.cjs b/postcss.config.cjs
new file mode 100644
index 0000000..5fd8746
--- /dev/null
+++ b/postcss.config.cjs
@@ -0,0 +1,13 @@
+module.exports = {
+  plugins: {
+    "postcss-preset-env": {
+      autoprefixer: { flexbox: "no-2009" },
+      stage: 2,
+      features: {
+        "custom-properties": false,
+        "custom-media-queries": true,
+        "nesting-rules": true
+      }
+    }
+  }
+};
\ No newline at end of file
diff --git a/serve.json b/serve.json
index acf34e5..06f578d 100644
--- a/serve.json
+++ b/serve.json
@@ -1,14 +1,28 @@
 {
-  "directoryListing": ["/!assets/**"],
+  "cleanUrls": true,
+  "directoryListing": false,
+  "etag": true,
   "headers": [
     {
-      "source": "**/*.@(jpg|jpeg|gif|png|webp)",
-      "headers": [
-        {
-          "key": "Cache-Control",
-          "value": "no-cache"
-        }
-      ]
+      "source" : "**/*.html",
+      "headers" : [{
+        "key" : "Cache-Control",
+        "value" : "no-cache"
+      }]
+    },
+    {
+      "source" : "**/*.css",
+      "headers" : [{
+        "key" : "Cache-Control",
+        "value" : "max-age=31536000"
+      }]
+    },
+    {
+      "source" : "**/*.@(jpg|jpeg|gif|png|webp|svg)",
+      "headers" : [{
+        "key" : "Cache-Control",
+        "value" : "max-age=31536000"
+      }]
     }
   ]
 }
diff --git a/static/assets/atlas.png b/src/assets/atlas.png
similarity index 100%
rename from static/assets/atlas.png
rename to src/assets/atlas.png
diff --git a/src/assets/ce/2030.png b/src/assets/ce/2030.png
new file mode 100644
index 0000000..e9fae8f
Binary files /dev/null and b/src/assets/ce/2030.png differ
diff --git a/src/assets/ce/500.png b/src/assets/ce/500.png
new file mode 100644
index 0000000..9f5623c
Binary files /dev/null and b/src/assets/ce/500.png differ
diff --git a/src/assets/ce/black_grail.png b/src/assets/ce/black_grail.png
new file mode 100644
index 0000000..990ba68
Binary files /dev/null and b/src/assets/ce/black_grail.png differ
diff --git a/src/assets/ce/bond-ce/bride.png b/src/assets/ce/bond-ce/bride.png
new file mode 100644
index 0000000..06e7ac1
Binary files /dev/null and b/src/assets/ce/bond-ce/bride.png differ
diff --git a/src/assets/ce/bond-ce/castoria.png b/src/assets/ce/bond-ce/castoria.png
new file mode 100644
index 0000000..2b2875e
Binary files /dev/null and b/src/assets/ce/bond-ce/castoria.png differ
diff --git a/src/assets/ce/bond-ce/chiron.png b/src/assets/ce/bond-ce/chiron.png
new file mode 100644
index 0000000..4380a67
Binary files /dev/null and b/src/assets/ce/bond-ce/chiron.png differ
diff --git a/src/assets/ce/bond-ce/crane.png b/src/assets/ce/bond-ce/crane.png
new file mode 100644
index 0000000..f90cc92
Binary files /dev/null and b/src/assets/ce/bond-ce/crane.png differ
diff --git a/src/assets/ce/bond-ce/douman.png b/src/assets/ce/bond-ce/douman.png
new file mode 100644
index 0000000..b44f694
Binary files /dev/null and b/src/assets/ce/bond-ce/douman.png differ
diff --git a/src/assets/ce/bond-ce/gogh.png b/src/assets/ce/bond-ce/gogh.png
new file mode 100644
index 0000000..e6f5f61
Binary files /dev/null and b/src/assets/ce/bond-ce/gogh.png differ
diff --git a/src/assets/ce/bond-ce/himiko.png b/src/assets/ce/bond-ce/himiko.png
new file mode 100644
index 0000000..1d5dcc2
Binary files /dev/null and b/src/assets/ce/bond-ce/himiko.png differ
diff --git a/src/assets/ce/bond-ce/ibaraki.png b/src/assets/ce/bond-ce/ibaraki.png
new file mode 100644
index 0000000..805175f
Binary files /dev/null and b/src/assets/ce/bond-ce/ibaraki.png differ
diff --git a/src/assets/ce/bond-ce/jane.png b/src/assets/ce/bond-ce/jane.png
new file mode 100644
index 0000000..8a54d14
Binary files /dev/null and b/src/assets/ce/bond-ce/jane.png differ
diff --git a/src/assets/ce/bond-ce/koyanlight.png b/src/assets/ce/bond-ce/koyanlight.png
new file mode 100644
index 0000000..b5a9e61
Binary files /dev/null and b/src/assets/ce/bond-ce/koyanlight.png differ
diff --git a/src/assets/ce/bond-ce/liz.png b/src/assets/ce/bond-ce/liz.png
new file mode 100644
index 0000000..495d708
Binary files /dev/null and b/src/assets/ce/bond-ce/liz.png differ
diff --git a/src/assets/ce/bond-ce/merlin.png b/src/assets/ce/bond-ce/merlin.png
new file mode 100644
index 0000000..d3f492f
Binary files /dev/null and b/src/assets/ce/bond-ce/merlin.png differ
diff --git a/src/assets/ce/bond-ce/oberon.png b/src/assets/ce/bond-ce/oberon.png
new file mode 100644
index 0000000..b836b58
Binary files /dev/null and b/src/assets/ce/bond-ce/oberon.png differ
diff --git a/src/assets/ce/bond-ce/reines.png b/src/assets/ce/bond-ce/reines.png
new file mode 100644
index 0000000..8cdea85
Binary files /dev/null and b/src/assets/ce/bond-ce/reines.png differ
diff --git a/src/assets/ce/bond-ce/santagale.png b/src/assets/ce/bond-ce/santagale.png
new file mode 100644
index 0000000..0163273
Binary files /dev/null and b/src/assets/ce/bond-ce/santagale.png differ
diff --git a/src/assets/ce/bond-ce/scathach.png b/src/assets/ce/bond-ce/scathach.png
new file mode 100644
index 0000000..5238bed
Binary files /dev/null and b/src/assets/ce/bond-ce/scathach.png differ
diff --git a/src/assets/ce/bond-ce/sherlock.png b/src/assets/ce/bond-ce/sherlock.png
new file mode 100644
index 0000000..cfe78fa
Binary files /dev/null and b/src/assets/ce/bond-ce/sherlock.png differ
diff --git a/src/assets/ce/bond-ce/skadi.png b/src/assets/ce/bond-ce/skadi.png
new file mode 100644
index 0000000..a2d445d
Binary files /dev/null and b/src/assets/ce/bond-ce/skadi.png differ
diff --git a/src/assets/ce/bond-ce/taigong.png b/src/assets/ce/bond-ce/taigong.png
new file mode 100644
index 0000000..11820a3
Binary files /dev/null and b/src/assets/ce/bond-ce/taigong.png differ
diff --git a/src/assets/ce/bond-ce/tamamo.png b/src/assets/ce/bond-ce/tamamo.png
new file mode 100644
index 0000000..03cac41
Binary files /dev/null and b/src/assets/ce/bond-ce/tamamo.png differ
diff --git a/src/assets/ce/bond-ce/waver.png b/src/assets/ce/bond-ce/waver.png
new file mode 100644
index 0000000..aafd1da
Binary files /dev/null and b/src/assets/ce/bond-ce/waver.png differ
diff --git a/src/assets/ce/bond-ce/wu.png b/src/assets/ce/bond-ce/wu.png
new file mode 100644
index 0000000..cfc46a5
Binary files /dev/null and b/src/assets/ce/bond-ce/wu.png differ
diff --git a/src/assets/ce/devilish_bodhisattva.png b/src/assets/ce/devilish_bodhisattva.png
new file mode 100644
index 0000000..e466954
Binary files /dev/null and b/src/assets/ce/devilish_bodhisattva.png differ
diff --git a/src/assets/ce/kaleidoscope.png b/src/assets/ce/kaleidoscope.png
new file mode 100644
index 0000000..351d722
Binary files /dev/null and b/src/assets/ce/kaleidoscope.png differ
diff --git a/src/assets/ce/maidens_teachings.png b/src/assets/ce/maidens_teachings.png
new file mode 100644
index 0000000..9d520a5
Binary files /dev/null and b/src/assets/ce/maidens_teachings.png differ
diff --git a/src/assets/ce/merciless_one.png b/src/assets/ce/merciless_one.png
new file mode 100644
index 0000000..5645c4b
Binary files /dev/null and b/src/assets/ce/merciless_one.png differ
diff --git a/src/assets/ce/mlb.png b/src/assets/ce/mlb.png
new file mode 100644
index 0000000..19e92b5
Binary files /dev/null and b/src/assets/ce/mlb.png differ
diff --git a/static/assets/ce/mlb.webp b/src/assets/ce/mlb.webp
similarity index 100%
rename from static/assets/ce/mlb.webp
rename to src/assets/ce/mlb.webp
diff --git a/src/assets/ce/outrage.png b/src/assets/ce/outrage.png
new file mode 100644
index 0000000..2cf3b1a
Binary files /dev/null and b/src/assets/ce/outrage.png differ
diff --git a/src/assets/ce/ox-demon.png b/src/assets/ce/ox-demon.png
new file mode 100644
index 0000000..df903c0
Binary files /dev/null and b/src/assets/ce/ox-demon.png differ
diff --git a/src/assets/ce/prisma_cosmos.png b/src/assets/ce/prisma_cosmos.png
new file mode 100644
index 0000000..7604f00
Binary files /dev/null and b/src/assets/ce/prisma_cosmos.png differ
diff --git a/src/assets/ce/vessel.png b/src/assets/ce/vessel.png
new file mode 100644
index 0000000..8b267b4
Binary files /dev/null and b/src/assets/ce/vessel.png differ
diff --git a/static/assets/embed.png b/src/assets/embed.png
similarity index 100%
rename from static/assets/embed.png
rename to src/assets/embed.png
diff --git a/src/assets/favourites/scathach.png b/src/assets/favourites/scathach.png
new file mode 100644
index 0000000..e2325f7
Binary files /dev/null and b/src/assets/favourites/scathach.png differ
diff --git a/src/assets/favourites/skadi.png b/src/assets/favourites/skadi.png
new file mode 100644
index 0000000..1585b7f
Binary files /dev/null and b/src/assets/favourites/skadi.png differ
diff --git a/static/assets/fedora.png b/src/assets/fedora.png
similarity index 100%
rename from static/assets/fedora.png
rename to src/assets/fedora.png
diff --git a/static/assets/logo.svg b/src/assets/logo.svg
similarity index 100%
rename from static/assets/logo.svg
rename to src/assets/logo.svg
diff --git a/static/assets/lurker.png b/src/assets/lurker.png
similarity index 100%
rename from static/assets/lurker.png
rename to src/assets/lurker.png
diff --git a/src/assets/okita.png b/src/assets/okita.png
new file mode 100644
index 0000000..47c739d
Binary files /dev/null and b/src/assets/okita.png differ
diff --git a/static/assets/old.logo.svg b/src/assets/old.logo.svg
similarity index 100%
rename from static/assets/old.logo.svg
rename to src/assets/old.logo.svg
diff --git a/static/assets/padoru.png b/src/assets/padoru.png
similarity index 100%
rename from static/assets/padoru.png
rename to src/assets/padoru.png
diff --git a/src/assets/servant/bride_03.png b/src/assets/servant/bride_03.png
new file mode 100644
index 0000000..78ac024
Binary files /dev/null and b/src/assets/servant/bride_03.png differ
diff --git a/src/assets/servant/castoria_01.png b/src/assets/servant/castoria_01.png
new file mode 100644
index 0000000..0e5967b
Binary files /dev/null and b/src/assets/servant/castoria_01.png differ
diff --git a/src/assets/servant/castoria_02.png b/src/assets/servant/castoria_02.png
new file mode 100644
index 0000000..8ac5d39
Binary files /dev/null and b/src/assets/servant/castoria_02.png differ
diff --git a/src/assets/servant/chiron_01.png b/src/assets/servant/chiron_01.png
new file mode 100644
index 0000000..ee9ae6a
Binary files /dev/null and b/src/assets/servant/chiron_01.png differ
diff --git a/src/assets/servant/crane_01.png b/src/assets/servant/crane_01.png
new file mode 100644
index 0000000..24473f3
Binary files /dev/null and b/src/assets/servant/crane_01.png differ
diff --git a/src/assets/servant/douman_01.png b/src/assets/servant/douman_01.png
new file mode 100644
index 0000000..53cdeeb
Binary files /dev/null and b/src/assets/servant/douman_01.png differ
diff --git a/src/assets/servant/gogh_01.png b/src/assets/servant/gogh_01.png
new file mode 100644
index 0000000..db0cc6c
Binary files /dev/null and b/src/assets/servant/gogh_01.png differ
diff --git a/src/assets/servant/himiko_03.png b/src/assets/servant/himiko_03.png
new file mode 100644
index 0000000..e9a73df
Binary files /dev/null and b/src/assets/servant/himiko_03.png differ
diff --git a/src/assets/servant/ibaraki_02.png b/src/assets/servant/ibaraki_02.png
new file mode 100644
index 0000000..01e43ab
Binary files /dev/null and b/src/assets/servant/ibaraki_02.png differ
diff --git a/src/assets/servant/jane_02.png b/src/assets/servant/jane_02.png
new file mode 100644
index 0000000..f65d96d
Binary files /dev/null and b/src/assets/servant/jane_02.png differ
diff --git a/src/assets/servant/koyanlight_01.png b/src/assets/servant/koyanlight_01.png
new file mode 100644
index 0000000..7fe8bbd
Binary files /dev/null and b/src/assets/servant/koyanlight_01.png differ
diff --git a/src/assets/servant/liz_01.png b/src/assets/servant/liz_01.png
new file mode 100644
index 0000000..c1d83d8
Binary files /dev/null and b/src/assets/servant/liz_01.png differ
diff --git a/src/assets/servant/merlin_01.png b/src/assets/servant/merlin_01.png
new file mode 100644
index 0000000..8e8ffc5
Binary files /dev/null and b/src/assets/servant/merlin_01.png differ
diff --git a/src/assets/servant/merlin_03.png b/src/assets/servant/merlin_03.png
new file mode 100644
index 0000000..565563a
Binary files /dev/null and b/src/assets/servant/merlin_03.png differ
diff --git a/src/assets/servant/oberon_02.png b/src/assets/servant/oberon_02.png
new file mode 100644
index 0000000..59bb4bc
Binary files /dev/null and b/src/assets/servant/oberon_02.png differ
diff --git a/src/assets/servant/reines_01.png b/src/assets/servant/reines_01.png
new file mode 100644
index 0000000..e2ebfd2
Binary files /dev/null and b/src/assets/servant/reines_01.png differ
diff --git a/src/assets/servant/santagale_01.png b/src/assets/servant/santagale_01.png
new file mode 100644
index 0000000..7a1e541
Binary files /dev/null and b/src/assets/servant/santagale_01.png differ
diff --git a/src/assets/servant/scathach_03.png b/src/assets/servant/scathach_03.png
new file mode 100644
index 0000000..3b1dd8b
Binary files /dev/null and b/src/assets/servant/scathach_03.png differ
diff --git a/src/assets/servant/sherlock_03.png b/src/assets/servant/sherlock_03.png
new file mode 100644
index 0000000..072e233
Binary files /dev/null and b/src/assets/servant/sherlock_03.png differ
diff --git a/src/assets/servant/skadi_01.png b/src/assets/servant/skadi_01.png
new file mode 100644
index 0000000..dfd43f3
Binary files /dev/null and b/src/assets/servant/skadi_01.png differ
diff --git a/src/assets/servant/skadi_02.png b/src/assets/servant/skadi_02.png
new file mode 100644
index 0000000..3218553
Binary files /dev/null and b/src/assets/servant/skadi_02.png differ
diff --git a/src/assets/servant/skadi_03.png b/src/assets/servant/skadi_03.png
new file mode 100644
index 0000000..a9687e6
Binary files /dev/null and b/src/assets/servant/skadi_03.png differ
diff --git a/src/assets/servant/taigong_03.png b/src/assets/servant/taigong_03.png
new file mode 100644
index 0000000..8c025e3
Binary files /dev/null and b/src/assets/servant/taigong_03.png differ
diff --git a/src/assets/servant/tamamo_03.png b/src/assets/servant/tamamo_03.png
new file mode 100644
index 0000000..167e061
Binary files /dev/null and b/src/assets/servant/tamamo_03.png differ
diff --git a/src/assets/servant/waver_02.png b/src/assets/servant/waver_02.png
new file mode 100644
index 0000000..1860bc6
Binary files /dev/null and b/src/assets/servant/waver_02.png differ
diff --git a/src/assets/servant/wu_01.png b/src/assets/servant/wu_01.png
new file mode 100644
index 0000000..6c8b774
Binary files /dev/null and b/src/assets/servant/wu_01.png differ
diff --git a/static/assets/shishousad.webp b/src/assets/shishousad.webp
similarity index 100%
rename from static/assets/shishousad.webp
rename to src/assets/shishousad.webp
diff --git a/static/assets/social/custom-fgo.webp b/src/assets/social/custom-fgo.webp
similarity index 100%
rename from static/assets/social/custom-fgo.webp
rename to src/assets/social/custom-fgo.webp
diff --git a/static/assets/social/discord.webp b/src/assets/social/discord.webp
similarity index 100%
rename from static/assets/social/discord.webp
rename to src/assets/social/discord.webp
diff --git a/static/assets/social/reddit.webp b/src/assets/social/reddit.webp
similarity index 100%
rename from static/assets/social/reddit.webp
rename to src/assets/social/reddit.webp
diff --git a/static/assets/social/twitch.webp b/src/assets/social/twitch.webp
similarity index 100%
rename from static/assets/social/twitch.webp
rename to src/assets/social/twitch.webp
diff --git a/static/assets/social/twitter.webp b/src/assets/social/twitter.webp
similarity index 100%
rename from static/assets/social/twitter.webp
rename to src/assets/social/twitter.webp
diff --git a/static/assets/social/youtube.webp b/src/assets/social/youtube.webp
similarity index 100%
rename from static/assets/social/youtube.webp
rename to src/assets/social/youtube.webp
diff --git a/src/assets/ta_icons/___albion.webp b/src/assets/ta_icons/___albion.webp
new file mode 100644
index 0000000..0e0675f
Binary files /dev/null and b/src/assets/ta_icons/___albion.webp differ
diff --git a/src/assets/ta_icons/__albion.webp b/src/assets/ta_icons/__albion.webp
new file mode 100644
index 0000000..1691bc2
Binary files /dev/null and b/src/assets/ta_icons/__albion.webp differ
diff --git a/src/assets/ta_icons/abyssalworm.webp b/src/assets/ta_icons/abyssalworm.webp
new file mode 100644
index 0000000..dd73854
Binary files /dev/null and b/src/assets/ta_icons/abyssalworm.webp differ
diff --git a/src/assets/ta_icons/albion.webp b/src/assets/ta_icons/albion.webp
new file mode 100644
index 0000000..30b986f
Binary files /dev/null and b/src/assets/ta_icons/albion.webp differ
diff --git a/static/assets/ta_icons/arthur.webp b/src/assets/ta_icons/arthur.webp
similarity index 100%
rename from static/assets/ta_icons/arthur.webp
rename to src/assets/ta_icons/arthur.webp
diff --git a/static/assets/ta_icons/barghest.webp b/src/assets/ta_icons/barghest.webp
similarity index 100%
rename from static/assets/ta_icons/barghest.webp
rename to src/assets/ta_icons/barghest.webp
diff --git a/src/assets/ta_icons/beast_4_l.png b/src/assets/ta_icons/beast_4_l.png
new file mode 100644
index 0000000..59b3af1
Binary files /dev/null and b/src/assets/ta_icons/beast_4_l.png differ
diff --git a/static/assets/ta_icons/caenis.webp b/src/assets/ta_icons/caenis.webp
similarity index 100%
rename from static/assets/ta_icons/caenis.webp
rename to src/assets/ta_icons/caenis.webp
diff --git a/static/assets/ta_icons/calamityofnorwich.webp b/src/assets/ta_icons/calamityofnorwich.webp
similarity index 100%
rename from static/assets/ta_icons/calamityofnorwich.webp
rename to src/assets/ta_icons/calamityofnorwich.webp
diff --git a/src/assets/ta_icons/cernnunos.webp b/src/assets/ta_icons/cernnunos.webp
new file mode 100644
index 0000000..55ef9e4
Binary files /dev/null and b/src/assets/ta_icons/cernnunos.webp differ
diff --git a/static/assets/ta_icons/db.webp b/src/assets/ta_icons/db.webp
similarity index 100%
rename from static/assets/ta_icons/db.webp
rename to src/assets/ta_icons/db.webp
diff --git a/static/assets/ta_icons/dioscuri.webp b/src/assets/ta_icons/dioscuri.webp
similarity index 100%
rename from static/assets/ta_icons/dioscuri.webp
rename to src/assets/ta_icons/dioscuri.webp
diff --git a/static/assets/ta_icons/douman.webp b/src/assets/ta_icons/douman.webp
similarity index 100%
rename from static/assets/ta_icons/douman.webp
rename to src/assets/ta_icons/douman.webp
diff --git a/static/assets/ta_icons/erice.webp b/src/assets/ta_icons/erice.webp
similarity index 100%
rename from static/assets/ta_icons/erice.webp
rename to src/assets/ta_icons/erice.webp
diff --git a/static/assets/ta_icons/fuuma.webp b/src/assets/ta_icons/fuuma.webp
similarity index 100%
rename from static/assets/ta_icons/fuuma.webp
rename to src/assets/ta_icons/fuuma.webp
diff --git a/static/assets/ta_icons/galatea.webp b/src/assets/ta_icons/galatea.webp
similarity index 100%
rename from static/assets/ta_icons/galatea.webp
rename to src/assets/ta_icons/galatea.webp
diff --git a/static/assets/ta_icons/goetia.webp b/src/assets/ta_icons/goetia.webp
similarity index 100%
rename from static/assets/ta_icons/goetia.webp
rename to src/assets/ta_icons/goetia.webp
diff --git a/static/assets/ta_icons/ibuki.webp b/src/assets/ta_icons/ibuki.webp
similarity index 100%
rename from static/assets/ta_icons/ibuki.webp
rename to src/assets/ta_icons/ibuki.webp
diff --git a/src/assets/ta_icons/izumo.webp b/src/assets/ta_icons/izumo.webp
new file mode 100644
index 0000000..4f62fc2
Binary files /dev/null and b/src/assets/ta_icons/izumo.webp differ
diff --git a/src/assets/ta_icons/kamasummer.webp b/src/assets/ta_icons/kamasummer.webp
new file mode 100644
index 0000000..3f6e012
Binary files /dev/null and b/src/assets/ta_icons/kamasummer.webp differ
diff --git a/static/assets/ta_icons/kingprotea.webp b/src/assets/ta_icons/kingprotea.webp
similarity index 100%
rename from static/assets/ta_icons/kingprotea.webp
rename to src/assets/ta_icons/kingprotea.webp
diff --git a/static/assets/ta_icons/kirschtaria.webp b/src/assets/ta_icons/kirschtaria.webp
similarity index 100%
rename from static/assets/ta_icons/kirschtaria.webp
rename to src/assets/ta_icons/kirschtaria.webp
diff --git a/static/assets/ta_icons/kiyohime.webp b/src/assets/ta_icons/kiyohime.webp
similarity index 100%
rename from static/assets/ta_icons/kiyohime.webp
rename to src/assets/ta_icons/kiyohime.webp
diff --git a/src/assets/ta_icons/koyanskayaofdark.png b/src/assets/ta_icons/koyanskayaofdark.png
new file mode 100644
index 0000000..ce1fba7
Binary files /dev/null and b/src/assets/ta_icons/koyanskayaofdark.png differ
diff --git a/src/assets/ta_icons/koyo.webp b/src/assets/ta_icons/koyo.webp
new file mode 100644
index 0000000..22e45f6
Binary files /dev/null and b/src/assets/ta_icons/koyo.webp differ
diff --git a/static/assets/ta_icons/melusine.webp b/src/assets/ta_icons/melusine.webp
similarity index 100%
rename from static/assets/ta_icons/melusine.webp
rename to src/assets/ta_icons/melusine.webp
diff --git a/static/assets/ta_icons/mhxx.webp b/src/assets/ta_icons/mhxx.webp
similarity index 100%
rename from static/assets/ta_icons/mhxx.webp
rename to src/assets/ta_icons/mhxx.webp
diff --git a/static/assets/ta_icons/morgan.webp b/src/assets/ta_icons/morgan.webp
similarity index 100%
rename from static/assets/ta_icons/morgan.webp
rename to src/assets/ta_icons/morgan.webp
diff --git a/static/assets/ta_icons/moriarty.webp b/src/assets/ta_icons/moriarty.webp
similarity index 100%
rename from static/assets/ta_icons/moriarty.webp
rename to src/assets/ta_icons/moriarty.webp
diff --git a/static/assets/ta_icons/nobunaga.webp b/src/assets/ta_icons/nobunaga.webp
similarity index 100%
rename from static/assets/ta_icons/nobunaga.webp
rename to src/assets/ta_icons/nobunaga.webp
diff --git a/static/assets/ta_icons/odysseus.webp b/src/assets/ta_icons/odysseus.webp
similarity index 100%
rename from static/assets/ta_icons/odysseus.webp
rename to src/assets/ta_icons/odysseus.webp
diff --git a/static/assets/ta_icons/orion.webp b/src/assets/ta_icons/orion.webp
similarity index 100%
rename from static/assets/ta_icons/orion.webp
rename to src/assets/ta_icons/orion.webp
diff --git a/static/assets/ta_icons/penth.webp b/src/assets/ta_icons/penth.webp
similarity index 100%
rename from static/assets/ta_icons/penth.webp
rename to src/assets/ta_icons/penth.webp
diff --git a/src/assets/ta_icons/reddragon.webp b/src/assets/ta_icons/reddragon.webp
new file mode 100644
index 0000000..3aab08e
Binary files /dev/null and b/src/assets/ta_icons/reddragon.webp differ
diff --git a/static/assets/ta_icons/santagale.webp b/src/assets/ta_icons/santagale.webp
similarity index 100%
rename from static/assets/ta_icons/santagale.webp
rename to src/assets/ta_icons/santagale.webp
diff --git a/static/assets/ta_icons/sei.webp b/src/assets/ta_icons/sei.webp
similarity index 100%
rename from static/assets/ta_icons/sei.webp
rename to src/assets/ta_icons/sei.webp
diff --git a/static/assets/ta_icons/shibata.webp b/src/assets/ta_icons/shibata.webp
similarity index 100%
rename from static/assets/ta_icons/shibata.webp
rename to src/assets/ta_icons/shibata.webp
diff --git a/src/assets/ta_icons/skadi.webp b/src/assets/ta_icons/skadi.webp
new file mode 100644
index 0000000..dd88e3d
Binary files /dev/null and b/src/assets/ta_icons/skadi.webp differ
diff --git a/static/assets/ta_icons/solomon.webp b/src/assets/ta_icons/solomon.webp
similarity index 100%
rename from static/assets/ta_icons/solomon.webp
rename to src/assets/ta_icons/solomon.webp
diff --git a/src/assets/ta_icons/ta_servants/caren.png b/src/assets/ta_icons/ta_servants/caren.png
new file mode 100644
index 0000000..e7cedcd
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/caren.png differ
diff --git a/src/assets/ta_icons/ta_servants/jalter.png b/src/assets/ta_icons/ta_servants/jalter.png
new file mode 100644
index 0000000..cf91568
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/jalter.png differ
diff --git a/src/assets/ta_icons/ta_servants/kama.png b/src/assets/ta_icons/ta_servants/kama.png
new file mode 100644
index 0000000..3a24974
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/kama.png differ
diff --git a/src/assets/ta_icons/ta_servants/musashi.png b/src/assets/ta_icons/ta_servants/musashi.png
new file mode 100644
index 0000000..0166148
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/musashi.png differ
diff --git a/src/assets/ta_icons/ta_servants/saberalter.png b/src/assets/ta_icons/ta_servants/saberalter.png
new file mode 100644
index 0000000..a93e190
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/saberalter.png differ
diff --git a/src/assets/ta_icons/ta_servants/shishou.png b/src/assets/ta_icons/ta_servants/shishou.png
new file mode 100644
index 0000000..9485dd9
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/shishou.png differ
diff --git a/src/assets/ta_icons/ta_servants/skadi.png b/src/assets/ta_icons/ta_servants/skadi.png
new file mode 100644
index 0000000..c09fc84
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/skadi.png differ
diff --git a/src/assets/ta_icons/ta_servants/summerjalter.png b/src/assets/ta_icons/ta_servants/summerjalter.png
new file mode 100644
index 0000000..3c896b4
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/summerjalter.png differ
diff --git a/src/assets/ta_icons/ta_servants/summermusashi.png b/src/assets/ta_icons/ta_servants/summermusashi.png
new file mode 100644
index 0000000..23fa917
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/summermusashi.png differ
diff --git a/src/assets/ta_icons/ta_servants/summershishou.png b/src/assets/ta_icons/ta_servants/summershishou.png
new file mode 100644
index 0000000..0dc2c16
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/summershishou.png differ
diff --git a/src/assets/ta_icons/ta_servants/tamamocat.png b/src/assets/ta_icons/ta_servants/tamamocat.png
new file mode 100644
index 0000000..da03fe6
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/tamamocat.png differ
diff --git a/src/assets/ta_icons/ta_servants/tomoe.png b/src/assets/ta_icons/ta_servants/tomoe.png
new file mode 100644
index 0000000..b4df46e
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/tomoe.png differ
diff --git a/src/assets/ta_icons/ta_servants/tomoesummer.png b/src/assets/ta_icons/ta_servants/tomoesummer.png
new file mode 100644
index 0000000..ab72529
Binary files /dev/null and b/src/assets/ta_icons/ta_servants/tomoesummer.png differ
diff --git a/static/assets/ta_icons/taira.webp b/src/assets/ta_icons/taira.webp
similarity index 100%
rename from static/assets/ta_icons/taira.webp
rename to src/assets/ta_icons/taira.webp
diff --git a/static/assets/ta_icons/woodwose.webp b/src/assets/ta_icons/woodwose.webp
similarity index 100%
rename from static/assets/ta_icons/woodwose.webp
rename to src/assets/ta_icons/woodwose.webp
diff --git a/src/assets/ta_icons/zenobia.webp b/src/assets/ta_icons/zenobia.webp
new file mode 100644
index 0000000..7d65cd1
Binary files /dev/null and b/src/assets/ta_icons/zenobia.webp differ
diff --git a/src/assets/technologies/astro.webp b/src/assets/technologies/astro.webp
new file mode 100644
index 0000000..c3b4e49
Binary files /dev/null and b/src/assets/technologies/astro.webp differ
diff --git a/src/assets/technologies/docker.webp b/src/assets/technologies/docker.webp
new file mode 100644
index 0000000..5471bd0
Binary files /dev/null and b/src/assets/technologies/docker.webp differ
diff --git a/src/assets/technologies/dockge.png b/src/assets/technologies/dockge.png
new file mode 100644
index 0000000..695aeb7
Binary files /dev/null and b/src/assets/technologies/dockge.png differ
diff --git a/src/assets/technologies/forgejo.webp b/src/assets/technologies/forgejo.webp
new file mode 100644
index 0000000..a9822c3
Binary files /dev/null and b/src/assets/technologies/forgejo.webp differ
diff --git a/src/assets/technologies/nodejs.webp b/src/assets/technologies/nodejs.webp
new file mode 100644
index 0000000..90c48f8
Binary files /dev/null and b/src/assets/technologies/nodejs.webp differ
diff --git a/src/assets/technologies/serve.webp b/src/assets/technologies/serve.webp
new file mode 100644
index 0000000..3d49da1
Binary files /dev/null and b/src/assets/technologies/serve.webp differ
diff --git a/static/assets/technologies/typescript.webp b/src/assets/technologies/typescript.webp
similarity index 100%
rename from static/assets/technologies/typescript.webp
rename to src/assets/technologies/typescript.webp
diff --git a/src/assets/technologies/unlighthouse.webp b/src/assets/technologies/unlighthouse.webp
new file mode 100644
index 0000000..91a9365
Binary files /dev/null and b/src/assets/technologies/unlighthouse.webp differ
diff --git a/src/assets/thumbnails/O1f-go7uJQM.jpg b/src/assets/thumbnails/O1f-go7uJQM.jpg
new file mode 100644
index 0000000..833fdc1
Binary files /dev/null and b/src/assets/thumbnails/O1f-go7uJQM.jpg differ
diff --git a/src/assets/thumbnails/UwbNp_dB_VU.jpg b/src/assets/thumbnails/UwbNp_dB_VU.jpg
new file mode 100644
index 0000000..2236df5
Binary files /dev/null and b/src/assets/thumbnails/UwbNp_dB_VU.jpg differ
diff --git a/src/assets/thumbnails/WrHudtdfivA.jpg b/src/assets/thumbnails/WrHudtdfivA.jpg
new file mode 100644
index 0000000..100f38a
Binary files /dev/null and b/src/assets/thumbnails/WrHudtdfivA.jpg differ
diff --git a/src/components/ceCard.astro b/src/components/ceCard.astro
index 5d154d4..51786f0 100644
--- a/src/components/ceCard.astro
+++ b/src/components/ceCard.astro
@@ -1,27 +1,29 @@
 ---
+import { Image } from 'astro:assets'
+import mlb_ce from '../assets/ce/mlb.webp'
+import type { GlobImage } from '../types/generic'
+import { plsLoadImage } from '../utils/tools'
+
 export interface Props {
   name: string
-  link: string
-  mlb: string
+  imageFile: string
+  mlb: boolean
 }
 
-const { mlb, link, name } = Astro.props
+const { mlb, imageFile, name } = Astro.props
+const imagePath = `/src/assets/ce/${imageFile}`
+const images_ces = import.meta.glob<GlobImage>('/src/assets/ce/*.png')
+const loadedCEImage = plsLoadImage(images_ces, imagePath)
 
-const ce_img: string = `/assets/ce/${link}.webp`
-const mlb_ce: string = `/assets/ce/mlb.webp`
-let mlb_image: string = 'mlbalign'
-
-if (mlb === 'false') {
-  mlb_image = 'hidemlb'
-}
+const mlb_image = mlb ? 'mlbalign' : 'hidemlb'
 ---
 
 <article>
   <div>
-    <img class="ce-crop" src={ce_img} alt={name} />
+    <Image src={loadedCEImage} alt={name} class="ce-crop" />
   </div>
   <div class={mlb_image}>
-    <img class="mlb" src={mlb_ce} alt="Max-limit broken" />
+    <Image src={mlb_ce} alt="Max-limit broken" class="mlb" />
   </div>
 </article>
 
@@ -86,6 +88,7 @@ if (mlb === 'false') {
 
   .mlb {
     width: 5.5rem;
+    height: auto;
     margin-left: auto;
     margin-right: auto;
   }
diff --git a/src/components/contactCard.astro b/src/components/contactCard.astro
index 1317487..93772f5 100644
--- a/src/components/contactCard.astro
+++ b/src/components/contactCard.astro
@@ -1,22 +1,36 @@
 ---
+import { Image } from 'astro:assets'
+import type { GlobImage } from '../types/generic'
+import { plsLoadImage } from '../utils/tools'
+
 export interface Props {
   site: string
   link: string
-  image: string
+  imageFile: string
 }
 
-const { image, link, site } = Astro.props
-const icon: string = `background-image: url('/assets/social/${image}.webp')`
+const { imageFile, link, site } = Astro.props
+const logoAltText = `${site} Logo`
+const imagePath = `/src/assets/social/${imageFile}`
+const images_logos = import.meta.glob<GlobImage>(
+  '/src/assets/social/*.{png,webp}'
+)
+const loadedLogoImage = plsLoadImage(images_logos, imagePath)
 ---
 
-<a href={link} target="_blank" rel="noopener noreferrer" aria-label={site}>
+<a
+  href={link}
+  target="_blank"
+  rel="noopener noreferrer"
+  aria-label=`${site} - new window`
+>
   <article class="contact do-hover">
-    <div style={icon}>
-      <span>
-        <h2>{site}</h2>
-      </span>
+    <Image src={loadedLogoImage} alt={logoAltText} />
+    <div>
+      <h2>{site}</h2>
     </div>
   </article>
+  <span class="visually-hidden">{logoAltText}</span>
 </a>
 
 <style>
@@ -24,18 +38,29 @@ const icon: string = `background-image: url('/assets/social/${image}.webp')`
     text-decoration: none;
   }
 
-  article div {
-    border-radius: 1.25rem;
-    background-size: contain;
-    display: flex;
-    align-items: center;
-    justify-content: center;
+  article {
     --size-value: 6.25rem;
+    border-radius: 1.25rem;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    background-color: var(--c-darkergray);
+    border-color: var(--c-darkgray);
+    padding: 10px;
+    text-align: center;
+    transition: transform var(--speed) var(--ease);
+    height: auto;
+    width: auto;
+    position: relative;
+  }
+
+  article img {
+    border-radius: 1.25rem;
     width: var(--size-value);
     height: var(--size-value);
   }
 
-  article:hover span {
+  article:hover div {
     border-radius: 1.25rem;
     padding: 0 0.5rem;
     display: flex;
@@ -43,9 +68,11 @@ const icon: string = `background-image: url('/assets/social/${image}.webp')`
     justify-content: center;
     text-align: center;
     background-color: var(--c-darkgray);
-    height: calc(var(--size-value) + 0.1rem);
-    width: calc(var(--size-value) + 0.1rem);
+    height: calc(var(--size-value));
+    width: calc(var(--size-value) - 1rem);
     opacity: 90%;
+    z-index: 100;
+    position: absolute;
   }
 
   article:hover h2 {
@@ -57,25 +84,14 @@ const icon: string = `background-image: url('/assets/social/${image}.webp')`
   }
 
   article h2 {
+    position: absolute;
     display: none;
   }
 
-  article span {
+  article div {
     display: none;
   }
-  article {
-    border-radius: 1.25rem;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background-color: var(--c-darkergray);
-    border-color: var(--c-darkgray);
-    padding: 10px;
-    text-align: center;
-    transition: transform var(--speed) var(--ease);
-    height: auto;
-    width: auto;
-  }
+
   a:hover {
     transform: scale(var(--hover-scale));
   }
diff --git a/src/components/favouriteCard.astro b/src/components/favouriteCard.astro
index 9cf6c4b..83b2a87 100644
--- a/src/components/favouriteCard.astro
+++ b/src/components/favouriteCard.astro
@@ -1,19 +1,31 @@
 ---
+import { Image } from 'astro:assets'
+import type { GlobImage } from '../types/generic'
+import { plsLoadImage } from '../utils/tools'
+
 export interface Props {
   name: string
   origin: string
-  image: string
+  imageFile: string
   link: string
 }
 
-const { link, image, origin, name } = Astro.props
-
-const img: string = `/assets/favourites/${image}.webp`
+const { link, imageFile, origin, name } = Astro.props
+const imagePath = `/src/assets/favourites/${imageFile}`
+const images = import.meta.glob<GlobImage>(
+  '/src/assets/favourites/*.{png,webp}'
+)
+const loadedImage = plsLoadImage(images, imagePath)
 ---
 
-<a href={link} target="_blank" rel="noopener noreferrer">
+<a
+  href={link}
+  target="_blank"
+  rel="noopener noreferrer"
+  aria-label=`${name} - new window`
+>
   <div class="heading">{name}</div>
-  <img src={img} alt={name} />
+  <Image src={loadedImage} alt={name} />
   <h2 class="subtext">
     {origin}
   </h2>
@@ -33,10 +45,6 @@ const img: string = `/assets/favourites/${image}.webp`
     align-items: center;
   }
 
-  a:hover {
-    transform: scale(var(--hover-scale));
-  }
-
   a {
     border-radius: 1rem;
     display: flex;
@@ -52,12 +60,16 @@ const img: string = `/assets/favourites/${image}.webp`
     text-align: center;
     transition: transform var(--speed) var(--ease);
     text-decoration: none;
-  }
 
-  a > img {
-    padding: 0px 0.25em;
-    width: 90%;
-    height: auto;
+    &:hover {
+      transform: scale(var(--hover-scale));
+    }
+
+    img {
+      padding: 0px 0.25em;
+      width: 90%;
+      height: auto;
+    }
   }
 
   @media (min-width: 512px) {
@@ -65,12 +77,10 @@ const img: string = `/assets/favourites/${image}.webp`
       padding: 10px 10px;
       width: auto;
       height: auto;
-    }
-
-    a > img {
-      padding: 0px 1.5em;
-      width: 200px;
-      height: auto;
+      img {
+        padding: 0px 1.5em;
+        width: 200px;
+      }
     }
   }
 
diff --git a/src/components/fgotaHero.astro b/src/components/fgotaHero.astro
new file mode 100644
index 0000000..a7bee13
--- /dev/null
+++ b/src/components/fgotaHero.astro
@@ -0,0 +1,27 @@
+---
+---
+
+<div>
+  <span>
+    I am currently working on a site to catalogue past and future TAs.<br/>
+    Check it out at <a href="https://fgo-ta.com">fgo-ta.com</a>
+  </span>
+</div>
+
+<style>
+  div {
+    display: flex;
+    width: 100%;
+    height: 5em;
+    background-color: var(--c-gray);
+    text-align: center;
+    align-items: center;
+    justify-content: center;
+    color: white;
+    font-size: 1.5em;
+  }
+  a {
+    color: var(--c-darkpurple);
+    text-decoration: none;
+  }
+</style>
diff --git a/src/components/navbar.astro b/src/components/navbar.astro
index 8653125..3266ad5 100644
--- a/src/components/navbar.astro
+++ b/src/components/navbar.astro
@@ -1,23 +1,28 @@
 ---
+import { Image } from 'astro:assets';
+import logo from '../assets/logo.svg'
+import hamburger from 'iconoir/icons/menu.svg'
+const hamburger_src_url = `url("${hamburger.src}")`;
 ---
 
 <header>
-  <a href="/" rel="noopener noreferrer" aria-label="Home">
-    <img src="/assets/logo.svg" alt="" />
+  <a href="/" rel="noopener noreferrer" aria-label="Home" role="navigation">
+    <Image src={logo} alt="Firq Website Logo"/>
+    <span class="visually-hidden">Firq Website Logo</span>
   </a>
   <ul class="desktop">
-    <slot />
+    <slot name="desktop"/>
   </ul>
-  <button class="mobile" aria-label="Navigation Button">
+  <button class="mobile" aria-label="Navigation Button" tabindex="0" onclick="this.focus()" role="navigation">
     <ul>
-      <slot />
+      <slot name="mobile"/>
     </ul>
     <div class="placeholder"></div>
-    <i class="iconoir-menu"></i>
+    <div class="hamburger-menu" role="navigation"></div>
   </button>
 </header>
 
-<style>
+<style define:vars={{ hamburger_src_url }}>
   header {
     z-index: 1000;
     position: sticky;
@@ -30,7 +35,7 @@
     line-height: 1.5em;
   }
   header > a {
-    padding-left: 16px;
+    margin-left: 16px;
     padding-top: 8px;
     display: block;
     height: 48px;
@@ -79,15 +84,6 @@
     height: 64px;
   }
 
-  .mobile > i {
-    color: white;
-    font-weight: bold;
-    font-size: 2em;
-    align-self: flex-start;
-    padding-right: 1em;
-    padding-top: 16px;
-  }
-
   .mobile > ul {
     display: none;
     padding: 0px;
@@ -110,6 +106,17 @@
     justify-self: top;
   }
 
+  .hamburger-menu {
+    mask: var(--hamburger_src_url) no-repeat center;
+    background-color: white;
+    width: 2rem;
+    height: 2rem;
+    position: static;
+    align-self: flex-start;
+    margin-right: 1rem;
+    margin-top: 1rem;
+  }
+
   @media (min-width: 1140px) {
     .mobile {
       display: none;
diff --git a/src/components/navbarEntry.astro b/src/components/navbarEntry.astro
index 32512f0..715a4dc 100644
--- a/src/components/navbarEntry.astro
+++ b/src/components/navbarEntry.astro
@@ -1,12 +1,13 @@
 ---
 export interface Props {
   currentPage?: string
+  navtype: "mobile" | "desktop"
   link: string
   text: string
-  icon: string
+  icon: ImageMetadata
 }
 
-const { icon, text, link, currentPage } = Astro.props
+const { icon, text, link, navtype, currentPage } = Astro.props
 
 let currPage = ''
 const slug = link.replace(new RegExp('/', 'g'), '')
@@ -17,7 +18,10 @@ if (currentPage === slug) {
   currPage = 'current'
 }
 
+const icon_src_url = `url("${icon.src}")`;
 const fulllink = `/${slug}`
+
+let extraattributes = navtype === "mobile" ? { tabindex: "0"} : {}
 ---
 
 <li>
@@ -26,13 +30,15 @@ const fulllink = `/${slug}`
     rel="noopener noreferrer"
     aria-label={text}
     class={currPage}
+    role="navigation"
+    {...extraattributes}
   >
-    <i class={icon}></i>
+    <div class="icon"></div>
     {text}
   </a>
 </li>
 
-<style>
+<style define:vars={{ icon_src_url }}>
   li {
     align-items: center;
     justify-content: center;
@@ -40,7 +46,9 @@ const fulllink = `/${slug}`
     display: flex;
     width: 200px;
   }
+
   li > a {
+    display: inline-flex;
     color: white;
     text-decoration: none;
     justify-content: center;
@@ -48,11 +56,29 @@ const fulllink = `/${slug}`
     font-size: 1.4em;
     height: 100%;
     font-weight: bold;
+    gap: 0.2em;
   }
+
   li > a:hover {
     color: var(--c-purplepink);
   }
+
+  li > a:hover > .icon {
+    background-color: var(--c-purplepink);
+  }
+
   .current {
-    color: var(--c-darkpurple);
+    color: var(--c-darkpurple) !important;
+  }
+
+  .current > .icon {
+    background-color: var(--c-darkpurple) !important;
+  }
+
+  .icon {
+    mask: var(--icon_src_url) no-repeat center;
+    background-color: white;
+    width: 1.4em;
+    height: 1.4em;
   }
 </style>
diff --git a/src/components/servantCard.astro b/src/components/servantCard.astro
index 8151cb2..34abab5 100644
--- a/src/components/servantCard.astro
+++ b/src/components/servantCard.astro
@@ -1,36 +1,43 @@
 ---
+import { Image } from 'astro:assets';
+import type { GlobImage } from '../types/generic'
+import { plsLoadImage } from '../utils/tools'
+
 export interface Props {
   name: string
   level: string
   skills: string
   np: string
-  image_servant: string
-  image_bond: string
+  servantImageFile: string
+  bondceImageFile: string
   ml: string
-  bond10: string
+  bond10: boolean
 }
 
-const { bond10, ml, image_bond, image_servant, np, skills, level, name } =
-  Astro.props
+const { bond10, ml, bondceImageFile, servantImageFile, np, skills, level, name } = Astro.props
+const servantImagePath = `/src/assets/servant/${servantImageFile}`
+const bondceImagePath = `/src/assets/ce/bond-ce/${bondceImageFile}`
+const images_servants = import.meta.glob<GlobImage>('/src/assets/servant/*.{png,webp}')
+const images_bond_ces = import.meta.glob<GlobImage>('/src/assets/ce/bond-ce/*.{png,webp}')
+const loadedServantImage = plsLoadImage(images_servants, servantImagePath)
+const loadedBondCEImage = plsLoadImage(images_bond_ces, bondceImagePath)
 
-const servant_img: string = `/assets/servant/${image_servant}.webp`
-const bondce_img: string = `/assets/ce/bond-ce/${image_bond}.webp`
 let bondce_css: string = 'bond-ce'
 
-if (bond10 === 'false') {
+if (bond10 === false) {
   bondce_css += ' unobtained'
 }
 ---
 
 <article>
-  <img src={servant_img} alt={name} />
+  <Image src={loadedServantImage} alt={name} />
   <h2 class="subtext">
     Level {level}<br />
     {skills}<br />
     NP {np}
   </h2>
   <div class="expand-on-hover">
-    <img class={bondce_css} src={bondce_img} alt="" />
+    <Image src={loadedBondCEImage} alt="" class={bondce_css}/>
     <h2 class="subtext">Mana Loading: {ml === 'Not Unlocked' && <br />}{ml}</h2>
   </div>
 </article>
@@ -110,6 +117,7 @@ if (bond10 === 'false') {
 
   .bond-ce {
     padding-top: 0.75rem;
+    width: auto;
     height: 3rem;
   }
 
diff --git a/src/components/taCard.astro b/src/components/taCard.astro
index 36e9879..be4659d 100644
--- a/src/components/taCard.astro
+++ b/src/components/taCard.astro
@@ -1,15 +1,20 @@
 ---
+import { Image } from 'astro:assets'
+import type { GlobImage } from '../types/generic'
+import { plsLoadImage } from '../utils/tools'
+
 export interface Props {
   date: string
   title: string
   link: string
-  image: string
+  targetImageFile: string
   user?: string
-  ta_servant?: string
+  servantImageFile?: string
   turns?: string
 }
 
-const { turns, ta_servant, user, date, image, link, title } = Astro.props
+const { turns, targetImageFile, user, date, servantImageFile, link, title } =
+  Astro.props
 
 const options_date: Intl.DateTimeFormatOptions = {
   year: 'numeric',
@@ -17,9 +22,19 @@ const options_date: Intl.DateTimeFormatOptions = {
   day: '2-digit',
 }
 
+const targetImagePath = `/src/assets/ta_icons/${targetImageFile}`
+const servantImagePath = `/src/assets/ta_icons/ta_servants/${servantImageFile}`
+
 const formatted_date = new Date(date).toLocaleDateString('de-DE', options_date)
-const icon: string = `background: url('/assets/ta_icons/${image}.webp')`
-const servant: string = `/assets/ta_icons/ta_servants/${ta_servant}.webp`
+const target_images = import.meta.glob<GlobImage>(
+  '/src/assets/ta_icons/*.{png,webp}'
+)
+const servant_images = import.meta.glob<GlobImage>(
+  '/src/assets/ta_icons/ta_servants/*.{png,webp}'
+)
+
+const loadedServantImage = plsLoadImage(servant_images, servantImagePath)
+const loadedTargetImage = plsLoadImage(target_images, targetImagePath)
 
 let hasuser = ''
 if (user !== undefined) {
@@ -29,10 +44,9 @@ if (user !== undefined) {
 
 <a href={link} target="_blank" rel="noopener noreferrer" aria-label={title}>
   <article>
-    <div class="icon" style={icon}>
-      <span>
-        <h2>{title}</h2>
-      </span>
+    <Image src={loadedTargetImage} alt={title} class="icon" />
+    <div class="title">
+      <h2>{title}</h2>
     </div>
     <p>
       <span class={hasuser}>
@@ -41,22 +55,29 @@ if (user !== undefined) {
       {formatted_date}
     </p>
     <div class="expand-on-hover">
-      <img src={servant} alt="" />
+      <Image src={loadedServantImage} alt="" />
       <h2>{turns}</h2>
     </div>
   </article>
 </a>
 
 <style>
+  div {
+    display: none;
+  }
+
   span {
     display: none;
   }
+
   .hasuser {
     display: flex;
   }
+
   a {
     text-decoration: none;
   }
+
   article {
     background-color: var(--c-darkergray);
     border-color: var(--c-darkgray);
@@ -65,23 +86,28 @@ if (user !== undefined) {
     transition: transform var(--speed) var(--ease);
     height: auto;
     width: auto;
+    max-width: 8rem;
     border-radius: 1.25rem;
     padding-bottom: 1.5rem;
+    --size-value: 7rem;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    flex-direction: column;
   }
+
   article:hover {
     transform: scale(var(--hover-scale));
   }
+
   article > .icon {
     border-radius: 1.25rem;
-    --size-value: 7rem;
     width: var(--size-value);
     height: var(--size-value);
     margin: 0.5rem;
-    object-fit: contain;
-    object-position: 0% 0%;
   }
 
-  article:hover .icon span {
+  article:hover .title {
     display: flex;
     position: absolute;
     align-items: center;
@@ -92,9 +118,10 @@ if (user !== undefined) {
     width: calc(var(--size-value) + 0.1rem);
     opacity: 90%;
     border-radius: 1.25rem;
+    top: 1.1em;
   }
 
-  article:hover span h2 {
+  article:hover .title h2 {
     margin: 0;
     display: inline-flex;
     font-weight: bold;
@@ -104,11 +131,11 @@ if (user !== undefined) {
     padding: 0.5rem;
   }
 
-  article span h2 {
+  article .title h2 {
     display: none;
   }
 
-  article .icon span {
+  article .title {
     display: none;
   }
 
diff --git a/src/components/technologyCard.astro b/src/components/technologyCard.astro
index 55f2e8d..bee5474 100644
--- a/src/components/technologyCard.astro
+++ b/src/components/technologyCard.astro
@@ -1,23 +1,31 @@
 ---
+import { Image } from 'astro:assets'
+import type { GlobImage } from '../types/generic'
+import { plsLoadImage } from '../utils/tools'
+
 export interface Props {
   title: string
   link: string
-  image: string
+  imageFile: string
 }
 
-const { image, link, title } = Astro.props
-
-const icon: string = `background-image: url('/assets/technologies/${image}.webp')`
+const { imageFile, link, title } = Astro.props
+const logoAltText = `${title} Logo`
+const imagePath = `/src/assets/technologies/${imageFile}`
+const images_logos = import.meta.glob<GlobImage>(
+  '/src/assets/technologies/*.{png,webp}'
+)
+const loadedImage = plsLoadImage(images_logos, imagePath)
 ---
 
 <a href={link} target="_blank" rel="noopener noreferrer" aria-label={title}>
   <article>
-    <div style={icon}>
-      <span>
-        <h2>{title}</h2>
-      </span>
+    <Image src={loadedImage} alt={logoAltText} />
+    <div>
+      <h2>{title}</h2>
     </div>
   </article>
+  <span class="visually-hidden">{logoAltText}</span>
 </a>
 
 <style>
@@ -25,31 +33,31 @@ const icon: string = `background-image: url('/assets/technologies/${image}.webp'
     text-decoration: none;
   }
   article {
+    --size-value: 6.25rem;
     background-color: var(--c-darkergray);
     border-color: var(--c-darkgray);
     padding: 10px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
     text-align: center;
     transition: transform var(--speed) var(--ease);
     height: auto;
     width: auto;
     line-height: 100px;
     border-radius: 1.25rem;
+    position: relative;
   }
   article:hover {
     transform: scale(var(--hover-scale));
   }
-  article > div {
+  article > img {
     border-radius: 1.25rem;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    background-size: contain;
-    --size-value: 6.25rem;
     width: var(--size-value);
     height: var(--size-value);
   }
 
-  article:hover span {
+  article:hover div {
     border-radius: 1.25rem;
     padding: 0 0.5rem;
     display: flex;
@@ -57,13 +65,16 @@ const icon: string = `background-image: url('/assets/technologies/${image}.webp'
     justify-content: center;
     text-align: center;
     background-color: var(--c-darkgray);
-    height: calc(var(--size-value) + 0.1rem);
-    width: calc(var(--size-value) + 0.1rem);
+    height: calc(var(--size-value));
+    width: calc(var(--size-value) - 1rem);
     opacity: 90%;
+    z-index: 100;
+    position: absolute;
   }
 
   article:hover h2 {
     margin: 0;
+    position: absolute;
     display: inline-flex;
     font-weight: bold;
     color: white;
@@ -75,7 +86,7 @@ const icon: string = `background-image: url('/assets/technologies/${image}.webp'
     display: none;
   }
 
-  article span {
+  article div {
     display: none;
   }
 </style>
diff --git a/src/components/youtubeEmbed.astro b/src/components/youtubeEmbed.astro
new file mode 100644
index 0000000..e0a99fa
--- /dev/null
+++ b/src/components/youtubeEmbed.astro
@@ -0,0 +1,61 @@
+---
+import { YouTube } from '@astro-community/astro-embed-youtube'
+export interface Props {
+  id: string
+  thumbnail: string
+}
+
+const { id, thumbnail } = Astro.props
+---
+
+<div class="youtube-center">
+  <noscript style="display: flex; justify-content: center;">
+    <style>
+      lite-youtube {
+        display: none;
+      }
+    </style>
+    <div class="warningtext">
+      <span>
+        To view the video, enable JavaScript or<br /><a
+          href=`https://www.youtube.com/watch?v=${id}`
+          target="_blank"
+          rel="noopener noreferrer">watch it on YouTube</a
+        >
+      </span>
+    </div>
+  </noscript>
+  <YouTube id={id} poster={thumbnail} />
+</div>
+
+<style>
+  .youtube-center {
+    width: 100%;
+    display: flex;
+    justify-content: center;
+  }
+
+  lite-youtube {
+    width: 100%;
+    max-height: 360px;
+    max-width: 640px;
+  }
+
+  .warningtext {
+    display: flex;
+    justify-content: center;
+    background-color: var(--c-darkgray);
+    width: 640px;
+    height: 360px;
+  }
+
+  span {
+    text-align: center;
+    margin-top: 20%;
+  }
+
+  span > a {
+    font-style: unset;
+    font-weight: bold;
+  }
+</style>
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
index c9286a3..09d6182 100644
--- a/src/layouts/Layout.astro
+++ b/src/layouts/Layout.astro
@@ -1,7 +1,14 @@
 ---
 import Navbar from '../components/navbar.astro'
 import NavbarEntry from '../components/navbarEntry.astro'
-import navdata from '../../static/assets/data/_navdata.json'
+import navdata from '../../static/data/_navdata.json'
+import embed from '../assets/embed.png'
+
+import home from 'iconoir/icons/home.svg'
+import servants from 'iconoir/icons/task-list.svg'
+import ta_collection from 'iconoir/icons/database.svg'
+import blog from 'iconoir/icons/bookmark-book.svg'
+import about from 'iconoir/icons/mail.svg'
 
 export interface Props {
   title: string
@@ -9,6 +16,18 @@ export interface Props {
   descriptionOverride?: string
 }
 
+interface IconsLookup {
+  [key: string]: ImageMetadata
+}
+
+const icons: IconsLookup = {
+  home: home,
+  servants: servants,
+  ta_collection: ta_collection,
+  blog: blog,
+  about: about,
+}
+
 const { descriptionOverride, currentpage, title } = Astro.props
 let description
 
@@ -22,9 +41,14 @@ let currPage = 'https://firq.dev/'
 if (currentpage !== 'home') {
   currPage += currentpage
 }
+
+const mapped_navdata = navdata.map((item) => ({
+  ...item,
+  ...{ icon: icons[item.icon] },
+}))
 ---
 
-<!DOCTYPE html>
+<!doctype html>
 <html lang="en">
   <head>
     <title>{title}</title>
@@ -36,24 +60,29 @@ if (currentpage !== 'home') {
     <meta property="og:title" content={title} />
     <meta property="og:url" content={currPage} />
     <meta property="og:description" content={description} />
-    <meta property="og:image" content="/assets/embed.png" />
+    <meta property="og:image" content={embed.src} />
     <meta property="og:type" content="website" />
     <meta property="og:locale" content="en_US" />
     <meta name="theme-color" content="#b86cff" />
+    <meta
+      name="google-site-verification"
+      content="SmcWcewh7DCANcLeTe3ntU0R-LESbo_bsolICJnmulE"
+    />
     <!-- Links -->
-    <link rel="icon" type="image/ico" href="/assets/favicon.ico" />
+    <link rel="icon" type="image/ico" href="/favicon.ico" />
     <link rel="sitemap" href="/sitemap-index.xml" />
     <link href="https://mastodon.neshweb.net/@Firq" rel="me" />
-    <link
-      rel="stylesheet"
-      href="https://cdn.jsdelivr.net/gh/iconoir-icons/iconoir@main/css/iconoir.css"
-    />
   </head>
   <body>
     <Navbar>
       {
-        navdata.map((item) => (
-          <NavbarEntry currentPage={currentpage} {...item} />
+        mapped_navdata.map((item) => (
+          <NavbarEntry currentPage={currentpage} navtype="desktop" {...item} slot="desktop"/>
+        ))
+      }
+      {
+        mapped_navdata.map((item) => (
+          <NavbarEntry currentPage={currentpage} navtype="mobile" {...item} slot="mobile"/>
         ))
       }
     </Navbar>
@@ -78,4 +107,15 @@ if (currentpage !== 'home') {
     background: var(--c-lightgray);
     margin: 0px;
   }
+
+  .visually-hidden {
+    border: 0;
+    clip: rect(0 0 0 0);
+    height: 1px;
+    margin: -1px;
+    overflow: hidden;
+    padding: 0;
+    position: absolute;
+    width: 1px;
+}
 </style>
diff --git a/src/layouts/aboutSection.astro b/src/layouts/aboutSection.astro
index cd89b5e..04465ad 100644
--- a/src/layouts/aboutSection.astro
+++ b/src/layouts/aboutSection.astro
@@ -15,15 +15,19 @@ const { title } = Astro.props
 
 <style>
   h1 {
-    font-size: 26px;
-    line-height: 32px;
+    font-size: 40px;
+    line-height: 48px;
     letter-spacing: -1px;
     color: white;
-    margin: 0.5rem 0.75rem 0.5rem 0.75rem;
+    font-size: 2.25rem;
+    margin-top: 1rem;
+    margin-bottom: 0;
+    margin-left: auto;
+    margin-right: auto;
     padding: 0.25rem 0.75rem;
-    width: max-content;
+    max-width: max-content;
     background-color: var(--c-darkgray);
-    padding: 0.25rem 1rem;
+    padding: 0.25rem 1.5rem;
     border-radius: 0.5rem;
     padding-bottom: 0.5rem;
   }
@@ -61,4 +65,10 @@ const { title } = Astro.props
       justify-content: left;
     }
   }
+
+  @media (min-width: 520px) {
+    h1 {
+      margin: 0.5rem 0.75rem 0.5rem 0.75rem;
+    }
+  }
 </style>
diff --git a/src/layouts/blogSection.astro b/src/layouts/blogSection.astro
index 9855446..f6084bc 100644
--- a/src/layouts/blogSection.astro
+++ b/src/layouts/blogSection.astro
@@ -83,6 +83,9 @@ const { title } = Astro.props
     .line {
       margin-left: 2.1rem;
     }
+    h1 {
+      margin-left: 3rem;
+    }
   }
   @media (min-width: 1500px) {
     .wrapper {
diff --git a/src/layouts/customFooter.astro b/src/layouts/customFooter.astro
index fefa3cd..d0732ec 100644
--- a/src/layouts/customFooter.astro
+++ b/src/layouts/customFooter.astro
@@ -1,20 +1,29 @@
 ---
+import okita from '../assets/okita.png'
+import atlas from '../assets/atlas.png'
+import foxcat from '../assets/lurker.png'
+import padoru from '../assets/padoru.png'
+import { Image } from 'astro:assets'
+
+import packagejson from '../../package.json'
+const version = packagejson.version
+const release = `https://forgejo.neshweb.net/Firq/firq-dev-website/releases/tag/${version}`
 ---
 
 <footer>
   <div>
-    “Fate/Grand Order” is a trademark of Notes Co., Ltd. | Game Assets © Aniplex
-    Inc. used under fair use. | View <a
+    “Fate/Grand Order” is a trademark of Notes Co., Ltd. | Game Assets ©
+    Aniplex Inc. used under fair use. | View <a
       class="linker"
       href="https://fate-go.us"
       target="_blank"
       rel="noopener noreferrer">the official website</a
     > for more information.<br />
-    I am in no way affiliated with Fate/Grand Order, Aniplex, Type Moon or Lasengle.
-    I claim no ownership of any of the assets used that are created by any of the
-    mentioned companies.<br />
-    All of the opinions expressed are my own and may not reflect those of the asset
-    providers.
+     I am in no way affiliated with Fate/Grand Order, Aniplex, Type Moon or
+    Lasengle. I claim no ownership of any of the assets used that are created by
+    any of the mentioned companies.<br />
+     All of the opinions expressed are my own and may not reflect those of the
+    asset providers.
   </div>
   <br />
   <div>
@@ -24,7 +33,7 @@
       rel="noopener noreferrer">Atlas Academy</a
     > for providing the servant and ce images.
     <div class="sticky-image-wrapper">
-      <img src="/assets/atlas.png" alt="" />
+      <Image src={atlas} alt="Icon of Atlas Academy" />
     </div>
   </div>
   <br />
@@ -33,14 +42,14 @@
       href="https://mitsunee.com"
       target="_blank"
       rel="noopener noreferrer">Mitsunee</a
-    > for the support when building this site. I could not have done it without you
-    🧡 Check out <a
+    > for the support when building this site. I could not have done it without
+    you 🧡 Check out <a
       href="https://fgo.mitsunee.com"
       target="_blank"
       rel="noopener noreferrer">FGO Timers here</a
     >
     <div class="sticky-image-wrapper">
-      <img src="/assets/lurker.png" alt="" />
+      <Image src={foxcat} alt="Best Foxcat" />
     </div>
   </div>
   <br />
@@ -49,12 +58,13 @@
       href="https://mastodon.neshweb.net/@neshura"
       target="_blank"
       rel="noopener noreferrer">Neshura</a
-    > for providing me with a place to develop, store and host this site. Check out
+    > for providing me with a place to develop, store and host this site. Check
+    out
     <a href="https://www.neshweb.net" target="_blank" rel="noopener noreferrer"
       >his site here</a
     >
     <div class="sticky-image-wrapper">
-      <img src="/assets/okita.png" alt="" style="height:60px" />
+      <Image src={okita} alt="" style="height:60px" />
     </div>
   </div>
   <br />
@@ -65,9 +75,15 @@
       rel="noopener noreferrer">AnthonyJ</a
     > for providing me with the custom Shishou favicon.
     <div class="sticky-image-wrapper">
-      <img src="/assets/padoru.png" alt="" />
+      <Image src={padoru} alt="Hashire sori yo ..." />
     </div>
   </div>
+  <br />
+  <div>
+    Website version: <a href={release} target="_blank" rel="noopener noreferrer"
+      >{version}</a
+    >
+  </div>
 </footer>
 
 <style>
diff --git a/src/pages/404.astro b/src/pages/404.astro
index 1d9071f..2793078 100644
--- a/src/pages/404.astro
+++ b/src/pages/404.astro
@@ -1,6 +1,8 @@
 ---
+import { Image } from 'astro:assets'
 import Layout from '../layouts/Layout.astro'
 import BaseSection from '../layouts/baseSection.astro'
+import sadshishou from '../assets/shishousad.webp'
 
 const description = "Error. This shouldn't happen :/"
 ---
@@ -12,10 +14,10 @@ const description = "Error. This shouldn't happen :/"
 >
   <BaseSection title="FirqhundredandFirq - Not Found">
     <div>
-      <img src="/assets/shishousad.webp" alt="Sad Shishou" />
+      <Image src={sadshishou} alt="Sad Shishou" />
       <h2>Well ... you were not supposed to end up here.</h2>
       <a href="/" aria-label="Home" rel="noopener noreferrer">
-        <i class="iconoir-fast-arrow-left"></i>Go back home
+        &lt;&lt; Go back home
       </a>
     </div>
   </BaseSection>
@@ -48,10 +50,10 @@ const description = "Error. This shouldn't happen :/"
     text-decoration: none;
     font-size: 1.5rem;
     font-weight: bold;
-  }
 
-  a:hover {
-    color: var(--c-darkpurple);
+    &:hover {
+      color: var(--c-darkpurple);
+    }
   }
 
   img {
diff --git a/src/pages/index.astro.old b/src/pages/_index.astro.old
similarity index 100%
rename from src/pages/index.astro.old
rename to src/pages/_index.astro.old
diff --git a/src/pages/about.astro b/src/pages/about.astro
index 10051ec..bc59882 100644
--- a/src/pages/about.astro
+++ b/src/pages/about.astro
@@ -4,11 +4,11 @@ import AboutSection from '../layouts/aboutSection.astro'
 
 import ContactSection from '../layouts/contactSection.astro'
 import ContactCard from '../components/contactCard.astro'
-import contactdata from '../../static/assets/data/_contactdata.json'
+import contactdata from '../../static/data/_contactdata.json'
 
 import CustomFooter from '../layouts/customFooter.astro'
 import TechnologyCard from '../components/technologyCard.astro'
-import technologydata from '../../static/assets/data/_technologydata.json'
+import technologydata from '../../static/data/_technologydata.json'
 
 const description =
   "A summary of the technologies used as well as my contact information. You'll also find disclaimers and thank you notes for the people that helped me."
@@ -23,15 +23,15 @@ const description =
     This is a small sideproject that I'm creating. First time doing webdev in
     general, and first project using Typescript.
   </AboutSection>
-  <AboutSection title="Technologies used">
+  <ContactSection title="Technologies used">
     {technologydata.map((item) => <TechnologyCard {...item} />)}
-  </AboutSection>
+  </ContactSection>
   <ContactSection title="Contact me">
     {contactdata.map((item) => <ContactCard {...item} />)}
   </ContactSection>
-  <AboutSection title="Disclaimers">
+  <ContactSection title="Disclaimers">
     <CustomFooter />
-  </AboutSection>
+  </ContactSection>
 </Layout>
 
 <style></style>
diff --git a/src/pages/blog.astro b/src/pages/blog.astro
index 4764d8e..884afd0 100644
--- a/src/pages/blog.astro
+++ b/src/pages/blog.astro
@@ -5,7 +5,7 @@ import BlogSection from '../layouts/blogSection.astro'
 
 const description =
   'My own small blog. Topics include FGO, TA, Programming, web technologies and more!'
-const allPosts = await Astro.glob('../pages/blog/*.md')
+const allPosts = await Astro.glob('../pages/blog/*.{md,mdx}')
 allPosts.sort(
   (a, b) =>
     Date.parse(b.frontmatter.pubDate) - Date.parse(a.frontmatter.pubDate)
diff --git a/src/pages/blog/cernunnos-with-requiem.mdx b/src/pages/blog/cernunnos-with-requiem.mdx
new file mode 100644
index 0000000..7848a1e
--- /dev/null
+++ b/src/pages/blog/cernunnos-with-requiem.mdx
@@ -0,0 +1,66 @@
+---
+layout: ../../layouts/blogPost.astro
+title: 'How to: TA Cernunnos'
+pubDate: 2023-07-14
+description: 'A handful of observations from the cernunnos fight'
+author: 'Requiem & Firq'
+tags: ['fgo', 'lostbelt 6', 'cernunnos']
+---
+import thumbnail_firq from "../../assets/thumbnails/WrHudtdfivA.jpg"
+import thumbnail_requiem from "../../assets/thumbnails/O1f-go7uJQM.jpg"
+import YoutubeEmbed from "../../components/youtubeEmbed.astro"
+
+## Foreword
+
+A big thank you to Requiem who came up with most of these facts while TAing the fluffy boy. I am just here to convert this into a more vieweable format, as well as adding some of my own observations to it.
+
+## Curse stacks
+
+On Turn 1, Cernunnos has 3 actions. Each attacking action has a 30% chance to get a new stack of curse. If Cernunnos gains a curse stack with an attack during the first two actions, Cernunnos stops and does not perform the third action.
+
+The important thing is that he can't have more than 10 stacks of curse. Once Cernunnos reaches 10 stacks, 3 curse stacks are released. This means the minimum amount of curses he can have by Turn 4 is 9 stacks.
+Ideally, you don't leave him at 10 stacks by the end of turn 3. Otherwise, Cernunnos won't release 3 stacks, as the corresponding skill cannot be cast. 
+
+If you successfully manage to dodge the random curses gained by attacks, you can go for 2 brave chains and 2 attacks to get the minimum amount of curses for turn 4. One of his skills let him eat his own curse, it happens rarely but can save your run.
+
+### Curse gains
+
+* At the end of each turn 1 stack of curse is gained
+* The fight starts with Cernunnos getting 7 stacks of curse
+* Turn 3 five stacks of curses are gained
+* Turn 4 seven more curse stacks are gained
+
+## Fight effects
+
+Turn 2 Cernunnos starts with casting irremovable skill and np seal. This does not affect backline party members, so if you manage to cycle supports on the first attack turn you have their full set of skills to use.
+
+## Actions
+
+* Turn 1: Cernunnos has three actions if no curse stack is gained by attacking, otherwise two actions
+* Turn 2: Only two actions, meaning Cernunnos can attack only twice.
+* Turn 3: He again has only two actions
+* Turn 4: Again, only two actions
+
+## Skill Cooldowns
+
+On the first break Cernunnos skill seals your servants. This means on turn 2 your servant won't lose 1 cooldown on that turn.
+
+As an example:
+Let's say I used Alteras third skill turn 1. She has to wait 5 turns to reuse it and on turn 3 Vitch gives her 2 times cooldown reduction.
+Ideally you would be able to reuse her third skill on turn 4 but because she gets skill sealed she can't do it.
+
+## Resulting runs
+
+Both Requiem and I managed to get unique TAs done with Scathach (Requiem even with more servants). Those runs are embedded here:
+
+### Firq
+
+This run doesn't use the support Castoria provided by the game and instead makes use of Sherlock instead.
+
+<YoutubeEmbed id="WrHudtdfivA" thumbnail={thumbnail_firq.src}/>
+
+### Requiem
+
+A frontline only run with double Castoria
+
+<YoutubeEmbed id="O1f-go7uJQM" thumbnail={thumbnail_requiem.src}/>
diff --git a/src/pages/blog/deploying-this-round-2.md b/src/pages/blog/deploying-this-round-2.md
new file mode 100644
index 0000000..b3a67b9
--- /dev/null
+++ b/src/pages/blog/deploying-this-round-2.md
@@ -0,0 +1,164 @@
+---
+layout: ../../layouts/blogPost.astro
+title: 'Migrating to Forgejo'
+pubDate: 2023-12-23
+description: 'My short recollection of migrating this site + CI to Forgejo'
+author: 'Firq'
+tags: ['astro', 'docker', 'forgejo']
+---
+
+Before I begin this, I want to give a shoutout to Neshura - without him, I would never have had the opportunity to actually create and host my website. I also want to thank him for his patience when I was stuck multiple times during the migration process, as my experience with Forgejo and its CI was really limited.
+
+## Migrating Git - Gitlab to Forgejo
+
+The migration of the git files themselves went a lot smoother than expected. Main reason for this was Forgejos built-in migration tool suite, which lets you migrate external repositories with ease.
+
+Generally, the workflow was as follows:
+
+1. Open Forgejo and start a new migration
+2. Select GitLab from the list
+3. Fill the details of the migration: Repository URL, Access token, etc.
+4. Hit Migrate
+
+And voila: The repository with all extra features like the wiki is getting migrated automatically.
+
+In total, I did this for 7 repositories without issues. Afterwards, it was just a matter of updating the remote repository url for my local clones:
+
+```shell
+git remote set-url origin https://forgejo.neshweb.net/Firq/firq-dev-website.git
+```
+
+Since the underlying git repository didn't change, migration was painless on the client side of things.
+
+## Reworking CI
+
+One of the major parts of the migration was to port my working GitLab-CI to Forgejo Actions. As I never worked with this before (or with Github Actions, which is the basis of Forgejo), it was ... interesting to say the least.
+
+I stumbled over multiple issues while transforming my old `.gitlab-ci.yml` file into a new `build_release.yml`, but in the end I got there. My main issue was that I imagined the CI just to work like GitLab - but I was mistaken.
+
+My main points of confusion were:
+
+- Files are not checked out automatically - A manual run of the checkout action is necessary, otherwise the files will just be missing
+- The working directory is not preserved between different run commands (made apparent early on)
+
+But after around 2 hours of tinkering, I managed to get everything working (and even improved some steps, such as automatically getting the known_hosts instead of hardcoding it into the secrets). But still, it felt a bit unsatisfying, as I was still relying on a ssh-connection with rsync to deploy the files. Unbeknownst to me, this was about to change drastically ...
+
+## Such Innovation: Moving from dedicated website server to docker containers
+
+After migrating and finishing up, Neshura showed me how he deploys the main website of his server: With a docker container. After seeing how much easier this would be in the long run, I decided to just go for it and switch from building the static files and syncing them to a webserver to just build my own container.
+
+Generally, this turned out to be a lot easier than expected: I added a Dockerfile to my repo and switched the CI to build a container based on that, which then would get published to the Forgejo registry.
+
+The `Dockerfile` itself is rather simple:
+
+```dockerfile
+FROM node:lts AS build
+WORKDIR /app
+COPY . .
+RUN npm i
+RUN npm run build
+
+FROM forgejo.neshweb.net/ci-docker-images/website-serve:latest AS runtime
+
+COPY --from=build /app/dist /public
+COPY --from=build /app/serve.json /public/serve.json
+RUN rm -r /public/assets/data/
+
+ENV PORT 8081
+EXPOSE 8081
+
+CMD [ "serve", "public/", "-p", "8081" ]
+```
+
+As you can see, I am using a custom container for the runtime stage, which will be explained in the next section.
+
+### Custom serve docker - My new goto for static site serving
+
+When starting out with the `Dockerfile`, I first used the standard `node:lts` image for the runtime. This meant I also had to install the `serve` package by `@warren-bank` each time I built the container. Since this takes extra time and resources each run, I decided to create a pre-configured docker container that can be used for this instead. 
+
+The `Dockerfile` for that one is laughable simple:
+
+```dockerfile
+FROM node:lts
+RUN npm install --global "@warren-bank/serve"
+```
+
+The container is also published to the docker registry that the Forgejo instance provides, which allows referencing it easily during runs.
+
+## Deployments using Dockge
+
+Since my website is now using a docker container instead of the previous `rsync` + `screen` approach, a new deployment solution was needed.
+
+In the end, Neshura proposed to use <a href="https://github.com/louislam/dockge" target="_blank" rel="noopener noreferrer" style="font-style: unset">Dockge</a>, a new, simple container management tool build by the developer of the beloved uptime-kuma. With that set up, getting the website only was really really easy:
+
+1. Create a new stack
+2. Add a container entry
+3. Fill the new entry with the url of the website container on the registry
+4. Configure the ports
+5. Hit start
+
+After that, it was just a matter of pointing nginx to the new IP address and port that Dockge uses. Just like that, the website was online.
+
+But this still wasn't the end of my migration tasks.
+
+## Unlighthouse - Implementing website testing without worries
+
+Before I even planned to migrate to Forgejo, I had long implemented some simple site benchmarking using the `Unlighthouse` package. This required a separate instance of my site to be running for benchmarking, as I wanted to test the site before pushing any changes to the main domain.
+
+The same principle now applies here: I can push changes to my dev branch and build a preview container by pushing a preview tag. Once that's build, I can deploy the preview using Dockge to a staging environment.
+
+With that set up, I can push a new tag with a keyword for unlighthouse to run. The reports will then be uploaded onto the old webserver, as I don't want to build extra containers just for the reports.
+
+Implementing this proved a lot easier than expected, but sadly I got disappointed when trying to circumvent the staging environment, as the container wouldn't work as a service in Forgejo actions.
+
+### Dedicated unlighthouse docker
+
+One last hurdle was, ironically, Gitlab. Specifically, it was their `lighthouse` container I used for testing. The main issue was that this container is run as a non-privileged user. In general, this is not a problem. However, this prevented me from actually cloning my repository using Forgejo actions.
+
+After some testing, I decided to just make my own version of the `lighthouse` container, without the user but with `unlighthouse` preinstalled (this also helps with processing times, as puppeteer takes a good amount of time to install each run).
+
+The `Dockerfile` can be found below (really simple again):
+
+```dockerfile
+FROM node:20.10.0-bookworm
+LABEL authorname="firq"
+WORKDIR /unlighthouse
+
+ENV CHROMIUM_VERSION="120.0.6099.109-1~deb12u1"
+ENV NODE_ENV='production'
+ENV PATH="/unlighthouse/node_modules/.bin:${PATH}"
+
+RUN apt-get update && apt-get -y install --no-install-recommends chromium=${CHROMIUM_VERSION} procps && rm -rf /var/lib/apt/lists/*
+RUN npm install @unlighthouse/cli puppeteer
+```
+
+With this container, the CI step to actually run the tests became a lot easier:
+
+```yaml
+jobs:
+  unlighthouse:
+    runs-on: docker
+    container: forgejo.neshweb.net/ci-docker-images/unlighthouse:latest
+    steps:
+      - name: Checkout repository
+        uses: https://code.forgejo.org/actions/checkout@v3
+      - name: Run unlighthouse
+        run: unlighthouse-ci --site "https://preview.firq.dev/"
+      - name: Prepare artifacts
+        run: cp serve.json unlighthouse-reports
+      - name: Upload reports
+        uses: actions/upload-artifact@v3
+        with:
+          name: unlighthouse-reports
+          path: unlighthouse-reports/
+```
+
+Once the tests ran, the artifacts would be uploaded to the website-server for the time being.
+
+## Conclusion
+
+In the end, I must say migrating was a lot more painless than expected. Sure, Forgejo is missing some of the features that Gitlab offers (mainly YAML anchors and manual CI actions, which hopefully will be implemented in the near future). But at the end of the day, it actually feels refreshing to now have a stable and independent CI to deploy this site, without having to construct weird solutions to self-inflicted problems.
+
+I also updated my about page to now reflect the migration, as the old technologies weren't up-to-date anymore.
+
+If you want to check out the repository by yourself, feel free to do so. <a href="https://forgejo.neshweb.net/Firq/firq-dev-website" target="_blank" rel="noopener noreferrer" style="font-style: unset">It is available on Neshuras Forgejo instance</a>
diff --git a/src/pages/blog/deploying-this.md b/src/pages/blog/deploying-this.md
index c636c1a..55c5458 100644
--- a/src/pages/blog/deploying-this.md
+++ b/src/pages/blog/deploying-this.md
@@ -209,7 +209,6 @@ Funnily enough, this also taught me how to squash commits on main, as I had like
 
 ```shell
 git rebase -i origin/main~30 main
-# do the rebase here
 git push origin +main
 ```
 
diff --git a/src/pages/blog/instant-death.mdx b/src/pages/blog/instant-death.mdx
new file mode 100644
index 0000000..454d0c6
--- /dev/null
+++ b/src/pages/blog/instant-death.mdx
@@ -0,0 +1,116 @@
+---
+layout: ../../layouts/blogPost.astro
+title: 'FGO Mechanics: Instant Death'
+pubDate: 2023-08-19
+description: 'Blog post talking about instant death in FGO, how you can take advantage of it and what its limits are.'
+author: 'Firq'
+tags: ['fgo', 'games']
+---
+import thumbnail from "../../assets/thumbnails/UwbNp_dB_VU.jpg"
+import YoutubeEmbed from "../../components/youtubeEmbed.astro"
+
+> **Disclaimer**<br/>
+> While writing this, Requiem and I faced a bit of a challenge concerning death rate calculations. Case in point is the passive "Item Construction"
+and its interaction with Instant Kill, as we could not reach a final verdict if it affects Instant Kill Hit rate or not. In case of this article, I will assume
+it doesn't interact with the hitrate, but if you have proof that this is different, I will gladly incorporate this in the article.
+
+## Introduction
+
+Instant Kill & Instant Death: One of the most rejected systems to exist in FGO. Most players know of it, but discard it because of its unreliability and uselessness against stronger enemies. In this article, I want to dive a bit into the workings of Instant Kill and help you understand how you can, in specific scenarios, use it to your advantage.
+
+There are a multitude of servants that have access to instant-kill, but I will only highlight a few here (You can view the full list on <a href="https://gamepress.gg/grandorder/instant-death" target="_blank" rel="noopener noreferrer" style="font-style: unset">Gamepress</a>)
+
+- **Nitocris (Caster)**: The most prominent figure, as she has easy access to her instant-killing NP and a skill that increases her death hit rate
+- **Void Shiki (Saber)**: Another Example of an AOE Instant-Kill servant who also has access to Death Resist debuffs. One quest in her release event even specifically used the Instant Kill mechanic (<a href="https://apps.atlasacademy.io/db/NA/quest/94021308/1" target="_blank" rel="noopener noreferrer" style="font-style: unset">Quest Link here</a>)
+- **King Hassan (Assassin)**: The only servant that can afflict enemies with instant death on normal attacks (Note: David can do this as well, but only if he has his Bond CE equipped)
+
+But since Instant Kill is based on probability, most players are relucatant to use it in their farming compositions. This thems from the different death rates enemies have:
+
+- Bronze: 80%
+- Silver: 50%
+- Gold: 20%
+
+This list here is just for rarities. However, there are a lot more factors to consider, as some enemies have higher death rate, some lower. Be sure to check each case individually, as rates may vary.
+
+Also, servant enemies usually have a death rate of 0.1%, sometimes a bit more like 0.3% or 0.4%. So going for Instant Kill on servants will, in the majority of cases, not work.
+
+## Calculating Instant Death Rate
+
+The formular for getting the probability of an enemy dying to Instant Kill is as follows:
+
+```
+death = hitRate * deathRate * (1 + instantDeathRateUp - instantDeathRateDown - instantDeathResistUp + instantDeathResistDown)
+```
+
+The parameters here are the following:
+
+- `hitRate`: The Death Hit rate of the effect or NP used
+- `deathRate`: The Enemy Death rate
+- `instantDeathRateUp`: Buffs that increases instant kill success rate (Nitocris S1)
+- `instantDeathRateDown`: Debuffs that decreases instant kill success rate
+- `instantDeathResistUp`: Buffs that increases instant kill resistance (Taira S2)
+- `instantDeathResistDown`: Debuffs that decreases instant kill resistance (Void Shiki S1)
+
+## Example
+
+The main reason this came up was because of a farming comp used in <a href="https://apps.atlasacademy.io/db/NA/quest/94061820/1" target="_blank" rel="noopener noreferrer" style="font-style: unset">Hunting Quest XI - Day 5 - Pride+</a>. The node is structured
+into a 2 - 1 - 1 Layout, meaning using a dual-DPS setup would be the way to go.
+
+Looking at the stats for the first wave, it made sense to use Nitocris: Both Ghouls have a 100% Death Rate <a href="https://apps.atlasacademy.io/db/NA/enemy/9940700" target="_blank" rel="noopener noreferrer" style="font-style: unset">according to Atlas Academy</a>.
+
+I went with using Nitocris, since she has a 100% NP charge and a skill that increases her Instant Death rate by 100%. Not needing any additional charge meant that no other buffs or AOE charges needed to be used on turn 1.
+
+Her kit brings the following stats:
+
+* Her NP has an Insta-Kill Hit Rate of 50% when used at Overcharge 1 (meaning 100% charge)
+* Her S1 increases Insta-Kill success rate by 100%
+
+### Actual calculation
+
+When using the formular from above, we have the following values
+
+```
+hitRate: 50%
+deathRate: 100%
+instantDeathRateUp: 100%
+instantDeathRateDown: 0%
+instantDeathResistUp: 0%
+instantDeathResistDown: 0%
+```
+
+This means we can fill in the formular like this
+
+```
+death = 0.5 * 1 * (1 + 1 - 0 - 0 + 0)
+```
+
+We now break everything down step by step
+
+```
+death = 0.5 * (1 + 1)
+      = 0.5 * 2
+      = 1
+      = 100%
+```
+
+So her death succeeds 100% of the time on these ghouls, which makes her perfect to use in this scenario.
+
+For other skill levels, this looks like this (_Her S1 scales from 50% to 100%_)
+
+```
+ Skill Level |  1  |   2   |  3  |   4   |  5  |   6   |  7  |   8   |  9  |  10  
+-------------|-----|-------|-----|-------|-----|-------|-----|-------|-----|------
+ Death %     | 75% | 77.5% | 80% | 82.5% | 85% | 87.5% | 90% | 92.5% | 95% | 100% 
+```
+
+In the end, this resulted in the following comp that worked like a charm.
+
+<YoutubeEmbed id="UwbNp_dB_VU" thumbnail={thumbnail.src}/>
+
+
+## Conclusion
+
+This small article should have given you an insight into using Instant Death as an advantage in the future. But remember: Stacking Gacha in a Gacha game can backfire.
+
+That's all for now, thanks for reading
+~ Firq
\ No newline at end of file
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 2701e3d..a4b98c4 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -3,7 +3,7 @@ import Layout from '../layouts/Layout.astro'
 import Hero from '../components/hero.astro'
 import BaseSection from '../layouts/baseSection.astro'
 import FavouriteCard from '../components/favouriteCard.astro'
-import favouritesdata from '../../static/assets/data/_favouritesdata.json'
+import favouritesdata from '../../static/data/_favouritesdata.json'
 
 const description =
   'The very own page of Firq for providing informating about TA servants, listing past TA achievements and hosting a blog for talking about FGO, Programming and other stuff'
diff --git a/src/pages/servants.astro b/src/pages/servants.astro
index 61cacac..ab405a9 100644
--- a/src/pages/servants.astro
+++ b/src/pages/servants.astro
@@ -3,10 +3,10 @@ import Layout from '../layouts/Layout.astro'
 import BaseSection from '../layouts/baseSection.astro'
 
 import ServantCard from '../components/servantCard.astro'
-import servantdata from '../../static/assets/data/_servantdata.json'
+import servantdata from '../../static/data/_servantdata.json'
 
 import CeCard from '../components/ceCard.astro'
-import cedata from '../../static/assets/data/_cedata.json'
+import cedata from '../../static/data/_cedata.json'
 
 const description =
   'A list of all the servants and ces that Firq can offer up on support for TA.'
diff --git a/src/pages/ta-collection.astro b/src/pages/ta-collection.astro
index feba957..bf3799b 100644
--- a/src/pages/ta-collection.astro
+++ b/src/pages/ta-collection.astro
@@ -9,8 +9,9 @@ import Layout from '../layouts/Layout.astro'
 
 import TaSection from '../layouts/taSection.astro'
 import TaCard from '../components/taCard.astro'
-import tadata from '../../static/assets/data/_tadata.json'
-import featured_data from '../../static/assets/data/_featureddata.json'
+import tadata from '../../static/data/_tadata.json'
+import featured_data from '../../static/data/_featureddata.json'
+import FgotaHero from '../components/fgotaHero.astro'
 
 const important_data = tadata.filter(function (el) {
   return [
@@ -18,7 +19,9 @@ const important_data = tadata.filter(function (el) {
     'DB 7T (No Duplicates)',
     'Kingprotea 1T',
     'Goetia Memorial Quest 2T',
-    'Morgan 3T (LB 6) Skadi'
+    'Morgan 3T (LB 6) Skadi',
+    'Albion 3T (LB 6) Skadi',
+    'Cernunnos 4T (No Castoria)',
   ].includes(el.title)
 })
 
@@ -34,7 +37,8 @@ const description = 'A collection of TAs previously completed be Firq.'
   currentpage="ta-collection"
   descriptionOverride={description}
 >
-  <TaSection title="Notable TAs" abovetext="">
+  <FgotaHero />
+  <TaSection title="Notable TAs" abovetext="My most notable TAs">
     {important_data.map((item) => <TaCard {...item} />)}
   </TaSection>
   <TaSection title="Completed TAs">
diff --git a/src/types/generic.ts b/src/types/generic.ts
new file mode 100644
index 0000000..65db641
--- /dev/null
+++ b/src/types/generic.ts
@@ -0,0 +1,10 @@
+export interface IconsLookup {
+  [key: string]: ImageMetadata
+}
+
+interface GlobGeneric<T> { 
+  default: T
+}
+
+export type GlobAny = GlobGeneric<any>
+export type GlobImage = GlobGeneric<ImageMetadata>
diff --git a/src/utils/tools.ts b/src/utils/tools.ts
new file mode 100644
index 0000000..4dc88c9
--- /dev/null
+++ b/src/utils/tools.ts
@@ -0,0 +1,5 @@
+export function plsLoadImage(record: Record<string, () => Promise<{default: ImageMetadata}>>, path: string) {
+  const loadedImage = record[path]?.();
+  if (!loadedImage) throw new Error("Asset was not found:" + path);
+  return loadedImage;
+}
diff --git a/static/assets/ce/2030.webp b/static/assets/ce/2030.webp
deleted file mode 100644
index 42f9f02..0000000
Binary files a/static/assets/ce/2030.webp and /dev/null differ
diff --git a/static/assets/ce/500.webp b/static/assets/ce/500.webp
deleted file mode 100644
index 9f030df..0000000
Binary files a/static/assets/ce/500.webp and /dev/null differ
diff --git a/static/assets/ce/bg.webp b/static/assets/ce/bg.webp
deleted file mode 100644
index 133183c..0000000
Binary files a/static/assets/ce/bg.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/bride.webp b/static/assets/ce/bond-ce/bride.webp
deleted file mode 100644
index 7642c43..0000000
Binary files a/static/assets/ce/bond-ce/bride.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/castoria.webp b/static/assets/ce/bond-ce/castoria.webp
deleted file mode 100644
index fbe04b1..0000000
Binary files a/static/assets/ce/bond-ce/castoria.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/gogh.webp b/static/assets/ce/bond-ce/gogh.webp
deleted file mode 100644
index 0167200..0000000
Binary files a/static/assets/ce/bond-ce/gogh.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/ibaraki.webp b/static/assets/ce/bond-ce/ibaraki.webp
deleted file mode 100644
index 3d5637e..0000000
Binary files a/static/assets/ce/bond-ce/ibaraki.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/jane.webp b/static/assets/ce/bond-ce/jane.webp
deleted file mode 100644
index 921ca9b..0000000
Binary files a/static/assets/ce/bond-ce/jane.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/liz.webp b/static/assets/ce/bond-ce/liz.webp
deleted file mode 100644
index e91f5ef..0000000
Binary files a/static/assets/ce/bond-ce/liz.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/merlin.webp b/static/assets/ce/bond-ce/merlin.webp
deleted file mode 100644
index 363713a..0000000
Binary files a/static/assets/ce/bond-ce/merlin.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/reines.webp b/static/assets/ce/bond-ce/reines.webp
deleted file mode 100644
index b9f4032..0000000
Binary files a/static/assets/ce/bond-ce/reines.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/santagale.webp b/static/assets/ce/bond-ce/santagale.webp
deleted file mode 100644
index c55b578..0000000
Binary files a/static/assets/ce/bond-ce/santagale.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/skadi.webp b/static/assets/ce/bond-ce/skadi.webp
deleted file mode 100644
index 4eb28de..0000000
Binary files a/static/assets/ce/bond-ce/skadi.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/tamamo.webp b/static/assets/ce/bond-ce/tamamo.webp
deleted file mode 100644
index 07ea177..0000000
Binary files a/static/assets/ce/bond-ce/tamamo.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/waver.webp b/static/assets/ce/bond-ce/waver.webp
deleted file mode 100644
index d2f31ae..0000000
Binary files a/static/assets/ce/bond-ce/waver.webp and /dev/null differ
diff --git a/static/assets/ce/bond-ce/wu.webp b/static/assets/ce/bond-ce/wu.webp
deleted file mode 100644
index 114a7e1..0000000
Binary files a/static/assets/ce/bond-ce/wu.webp and /dev/null differ
diff --git a/static/assets/ce/db.webp b/static/assets/ce/db.webp
deleted file mode 100644
index d702ac9..0000000
Binary files a/static/assets/ce/db.webp and /dev/null differ
diff --git a/static/assets/ce/kaleidoscope.webp b/static/assets/ce/kaleidoscope.webp
deleted file mode 100644
index ecf2659..0000000
Binary files a/static/assets/ce/kaleidoscope.webp and /dev/null differ
diff --git a/static/assets/ce/maidensteachings.webp b/static/assets/ce/maidensteachings.webp
deleted file mode 100644
index de565fb..0000000
Binary files a/static/assets/ce/maidensteachings.webp and /dev/null differ
diff --git a/static/assets/ce/merciless_one.webp b/static/assets/ce/merciless_one.webp
deleted file mode 100644
index 6122a5e..0000000
Binary files a/static/assets/ce/merciless_one.webp and /dev/null differ
diff --git a/static/assets/ce/outrage.webp b/static/assets/ce/outrage.webp
deleted file mode 100644
index f3a3bea..0000000
Binary files a/static/assets/ce/outrage.webp and /dev/null differ
diff --git a/static/assets/ce/oxdemon.webp b/static/assets/ce/oxdemon.webp
deleted file mode 100644
index 11c1301..0000000
Binary files a/static/assets/ce/oxdemon.webp and /dev/null differ
diff --git a/static/assets/ce/prisma.webp b/static/assets/ce/prisma.webp
deleted file mode 100644
index 482a32d..0000000
Binary files a/static/assets/ce/prisma.webp and /dev/null differ
diff --git a/static/assets/ce/vessel.webp b/static/assets/ce/vessel.webp
deleted file mode 100644
index 9272769..0000000
Binary files a/static/assets/ce/vessel.webp and /dev/null differ
diff --git a/static/assets/data/_cedata.json b/static/assets/data/_cedata.json
deleted file mode 100644
index 53ed7a8..0000000
--- a/static/assets/data/_cedata.json
+++ /dev/null
@@ -1,57 +0,0 @@
-[
-	{
-		"name": "The Merciless One",
-		"link": "merciless_one",
-		"mlb": "true"
-	},
-	{
-		"name": "Ox-Demon King",
-		"link": "oxdemon",
-		"mlb": "true"
-	},
-	{
-		"name": "Holy Maiden's Teachings",
-		"link": "maidensteachings",
-		"mlb": "true"
-	},
-	{
-		"name": "Kaleidoscope",
-		"link": "kaleidoscope",
-		"mlb": "true"
-	},
-	{
-		"name": "The Black Grail",
-		"link": "bg",
-		"mlb": "true"
-	},
-	{
-		"name": "A Fragment Of 2030",
-		"link": "2030",
-		"mlb": "true"
-	},
-	{
-		"name": "Outrage",
-		"link": "outrage",
-		"mlb": "false"
-	},
-	{
-		"name": "Vessel of the Saint",
-		"link": "vessel",
-		"mlb": "false"
-	},
-	{
-		"name": "Devilish Bodhisattva",
-		"link": "db",
-		"mlb": "true"
-	},
-	{
-		"name": "500-Year Obsession",
-		"link": "500",
-		"mlb": "true"
-	},
-	{
-		"name": "Prisma Cosmos",
-		"link": "prisma",
-		"mlb": "true"
-	}
-]
diff --git a/static/assets/data/_servantdata.json b/static/assets/data/_servantdata.json
deleted file mode 100644
index 485627a..0000000
--- a/static/assets/data/_servantdata.json
+++ /dev/null
@@ -1,162 +0,0 @@
-[
-	{
-		"name": "Skadi",
-		"level": "120",
-		"np": "4",
-		"skills": "10 / 10 / 10 ",
-		"ml": "10",
-		"image_servant": "skadi_03",
-		"image_bond": "skadi",
-		"bond10": "true"
-	},
-	{
-		"name": "Skadi",
-		"level": "70",
-		"np": "1",
-		"skills": "10 / 10 / 10 ",
-		"ml": "1",
-		"image_servant": "skadi_01",
-		"image_bond": "skadi",
-		"bond10": "true"
-	},
-	{
-		"name": "Castoria",
-		"level": "90",
-		"np": "1",
-		"skills": "10 / 10 / 10 ",
-		"ml": "7",
-		"image_servant": "castoria_02",
-		"image_bond": "castoria",
-		"bond10": "true"
-	},
-	{
-		"name": "Castoria",
-		"level": "70",
-		"np": "1",
-		"skills": "10 / 10 / 10 ",
-		"ml": "1",
-		"image_servant": "castoria_01",
-		"image_bond": "castoria",
-		"bond10": "true"
-	},
-	{
-		"name": "Merlin",
-		"level": "90",
-		"np": "1",
-		"skills": "10 / 10 / 10 ",
-		"ml": "Not Unlocked",
-		"image_servant": "merlin_03",
-		"image_bond": "merlin",
-		"bond10": "false"
-	},
-	{
-		"name": "Waver",
-		"level": "90",
-		"np": "1",
-		"skills": "10 / 10 / 10 ",
-		"ml": "Not Unlocked",
-		"image_servant": "waver_02",
-		"image_bond": "waver",
-		"bond10": "true"
-	},
-	{
-		"name": "Reines",
-		"level": "90",
-		"np": "1",
-		"skills": "10 / 10 / 10 ",
-		"ml": "9",
-		"image_servant": "reines_01",
-		"image_bond": "reines",
-		"bond10": "true"
-	},
-	{
-		"name": "Tamamo-no-Mae",
-		"level": "90",
-		"np": "2",
-		"skills": "10 / 10 / 10 ",
-		"ml": "Not Unlocked",
-		"image_servant": "tamamo_03",
-		"image_bond": "tamamo",
-		"bond10": "true"
-	},
-	{
-		"name": "Van Gogh",
-		"level": "90",
-		"np": "1",
-		"skills": "10 / 10 / 10 ",
-		"ml": "10",
-		"image_servant": "gogh_01",
-		"image_bond": "gogh",
-		"bond10": "false"
-	},
-	{
-		"name": "Nero (Bride)",
-		"level": "90",
-		"np": "1",
-		"skills": "10 / 10 / 9 ",
-		"ml": "Not Unlocked",
-		"image_servant": "bride_03",
-		"image_bond": "bride",
-		"bond10": "false"
-	},
-	{
-		"name": "Nightingale (Santa)",
-		"level": "80",
-		"np": "5",
-		"skills": "9 / 10 / 10 ",
-		"ml": "Not Unlocked",
-		"image_servant": "santagale_01",
-		"image_bond": "santagale",
-		"bond10": "true"
-	},
-	{
-		"name": "Nightingale (Santa)",
-		"level": "60",
-		"np": "1",
-		"skills": "1 / 10 / 10 ",
-		"ml": "Not Unlocked",
-		"image_servant": "santagale_01",
-		"image_bond": "santagale",
-		"bond10": "true"
-	},
-	{
-		"name": "Elisabeth Báthory",
-		"level": "40",
-		"np": "1",
-		"skills": "9 / 9 / X ",
-		"ml": "Not Unlocked",
-		"image_servant": "liz_01",
-		"image_bond": "liz",
-		"bond10": "false"
-	},
-	{
-		"name": "Wu Zetian",
-		"level": "60",
-		"np": "1",
-		"skills": "9 / 1 / 9 ",
-		"ml": "Not Unlocked",
-		"image_servant": "wu_01",
-		"image_bond": "wu",
-		"bond10": "true"
-	},
-	{
-		"name": "Ibaraki-Douji",
-		"level": "40",
-		"np": "1",
-		"skills": "8 / 8 / X ",
-		"ml": "Not Unlocked",
-		"image_servant": "ibaraki_02",
-		"image_bond": "ibaraki",
-		"bond10": "false"
-	},
-	{
-		"name": "Calamity Jane",
-		"level": "60",
-		"np": "1",
-		"skills": "1 / 9 / 9 ",
-		"ml": "Not Unlocked",
-		"image_servant": "jane_03",
-		"image_bond": "jane",
-		"bond10": "false"
-	}
-]
diff --git a/static/assets/data/_tadata.json b/static/assets/data/_tadata.json
deleted file mode 100644
index f99e679..0000000
--- a/static/assets/data/_tadata.json
+++ /dev/null
@@ -1,226 +0,0 @@
-[
-	{
-		"title": "DB 7T (No Duplicates)",
-		"link": "https://www.youtube.com/watch?v=d1ftVeitR6c",
-		"image": "db",
-		"date": "2022-07-09",
-		"ta_servant": "shishou",
-		"turns": "7T"
-	},
-	{
-		"title": "Kingprotea 1T",
-		"link": "https://www.youtube.com/watch?v=m3SATSOfpt4",
-		"image": "kingprotea",
-		"date": "2022-06-21",
-		"ta_servant": "shishou",
-		"turns": "1T"
-	},
-	{
-		"title": "Solomon 1T (No NP)",
-		"link": "https://www.youtube.com/watch?v=01Qx4Hs-X4M",
-		"image": "solomon",
-		"date": "2022-06-28",
-		"ta_servant": "shishou",
-		"turns": "1T"
-	},
-	{
-		"title": "Ibuki 3T (LB 5.5)",
-		"link": "https://www.youtube.com/watch?v=AaqRN73dO5k",
-		"image": "ibuki",
-		"date": "2022-11-22",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Boxing 3T (Xmas 5)",
-		"link": "https://www.youtube.com/watch?v=S8OQ7yWldJY",
-		"image": "dioscuri",
-		"date": "2022-12-24",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "MHXX 2T (No DMG CE)",
-		"link": "https://www.youtube.com/watch?v=lz6iBZvoDuw",
-		"image": "mhxx",
-		"date": "2023-01-12",
-		"ta_servant": "shishou",
-		"turns": "2T"
-	},
-	{
-		"title": "Taira 3T (LB 5.5)",
-		"link": "https://www.youtube.com/watch?v=YtRvahqFA0Y",
-		"image": "taira",
-		"date": "2022-11-22",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Douman 3T (LB 5.5)",
-		"link": "https://www.youtube.com/watch?v=6cstr3vTd8Y",
-		"image": "douman",
-		"date": "2022-11-23",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Christmas 2021 Rerun CQ 5T",
-		"link": "https://www.youtube.com/watch?v=cpqhx9dUgTU",
-		"image": "santagale",
-		"date": "2022-10-15",
-		"ta_servant": "shishou",
-		"turns": "5T"
-	},
-	{
-		"title": "Summer 4 Rerun CQ 3T",
-		"link": "https://www.youtube.com/watch?v=u72o7PDBtks",
-		"image": "fuuma",
-		"date": "2022-06-04",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Fate/Requiem CQ 3T",
-		"link": "https://www.youtube.com/watch?v=k7vGC4kpEFg",
-		"image": "erice",
-		"date": "2022-05-11",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Kirschtaria 3T (LB 5)",
-		"link": "https://www.youtube.com/watch?v=aYlyfAzuFw0",
-		"image": "kirschtaria",
-		"date": "2022-04-04",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Aeaean Spring Breeze CQ 3T",
-		"link": "https://www.youtube.com/watch?v=uo3jI9xuVwI",
-		"image": "odysseus",
-		"date": "2022-03-06",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Valentines 2022 CQ 4T",
-		"link": "https://www.youtube.com/watch?v=MOCMXZ17FkU",
-		"image": "sei",
-		"date": "2022-02-09",
-		"ta_servant": "shishou",
-		"turns": "4T"
-	},
-	{
-		"title": "Amazoness 2021 CQ 3T",
-		"link": "https://www.youtube.com/watch?v=MU_Hw2KKYRU",
-		"image": "penth",
-		"date": "2022-01-23",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Valentines 2023 CQ 4T",
-		"link": "https://www.youtube.com/watch?v=fwCmEiaocQo",
-		"image": "orion",
-		"date": "2023-02-25",
-		"ta_servant": "shishou",
-		"turns": "4T"
-	},
-	{
-		"title": "Slapstick Museum CQ 5T",
-		"link": "https://www.youtube.com/watch?v=fQImgJirFeo",
-		"image": "moriarty",
-		"date": "2023-03-10",
-		"ta_servant": "shishou",
-		"turns": "5T"
-	},
-	{
-		"title": "GudaGuda 5 CQ 4T",
-		"link": "https://www.youtube.com/watch?v=3scILqsgobU",
-		"image": "nobunaga",
-		"date": "2022-09-21",
-		"ta_servant": "shishou",
-		"turns": "4T"
-	},
-	{
-		"title": "GudaGuda 4 CQ 3T [No DMG CE]",
-		"link": "https://www.youtube.com/watch?v=HY95cWsjC08",
-		"image": "shibata",
-		"date": "2022-04-30",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "GudaGuda 4 CQ 3T",
-		"link": "https://www.youtube.com/watch?v=7iO2WQt64-8",
-		"image": "shibata",
-		"date": "2022-04-26",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Top of Tower 3T",
-		"link": "https://www.youtube.com/watch?v=gUtBYNxH4Ck",
-		"image": "galatea",
-		"date": "2023-03-20",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Goetia Memorial Quest 2T",
-		"link": "https://www.youtube.com/watch?v=lZHgSVpPv24",
-		"image": "goetia",
-		"date": "2023-07-04",
-		"ta_servant": "skadi",
-		"turns": "2T"
-	},
-	{
-		"title": "Melusine 3T (LB 6)",
-		"link": "https://www.youtube.com/watch?v=f35hlBXuR3w",
-		"image": "melusine",
-		"date": "2023-06-26",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Morgan 3T (LB 6) Shishou",
-		"link": "https://www.youtube.com/watch?v=7wQ6iabqgEc",
-		"image": "morgan",
-		"date": "2023-06-26",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Morgan 3T (LB 6) Skadi",
-		"link": "https://www.youtube.com/watch?v=sQ7HHl1Pb3c",
-		"image": "morgan",
-		"date": "2023-06-25",
-		"ta_servant": "skadi",
-		"turns": "3T"
-	},
-	{
-		"title": "Woodwose 3T (LB 6)",
-		"link": "https://www.youtube.com/watch?v=ZPgIDZjrGA0",
-		"image": "woodwose",
-		"date": "2023-06-23",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	},
-	{
-		"title": "Barghest 2T (LB 6)",
-		"link": "https://www.youtube.com/watch?v=kjMAccbq7-A",
-		"image": "barghest",
-		"date": "2023-06-21",
-		"ta_servant": "tomoe",
-		"turns": "2T"
-	},
-	{
-		"title": "Calamity of Norwich 3T (LB 6)",
-		"link": "https://www.youtube.com/watch?v=IwkCnVej_PY",
-		"image": "calamityofnorwich",
-		"date": "2023-06-08",
-		"ta_servant": "shishou",
-		"turns": "3T"
-	}
-]
diff --git a/static/assets/data/_technologydata.json b/static/assets/data/_technologydata.json
deleted file mode 100644
index 3b46e3c..0000000
--- a/static/assets/data/_technologydata.json
+++ /dev/null
@@ -1,27 +0,0 @@
-[
-    {
-      "title": "Astro",
-      "link": "https://astro.build",
-      "image": "astro"
-    },
-    {
-      "title": "GitLab",
-      "link": "https://gitlab.io",
-      "image": "gitlab"
-    },
-    {
-      "title": "Typescript",
-      "link": "https://www.typescriptlang.org/",
-      "image": "typescript"
-    },
-    {
-      "title": "Alpine Linux",
-      "link": "https://alpinelinux.org/",
-      "image": "alpine-linux"
-    },
-    {
-      "title": "Ubuntu",
-      "link": "https://ubuntu.com/",
-      "image": "ubuntu"
-    }
-  ]
\ No newline at end of file
diff --git a/static/assets/favourites/scathach.webp b/static/assets/favourites/scathach.webp
deleted file mode 100644
index 707b0f8..0000000
Binary files a/static/assets/favourites/scathach.webp and /dev/null differ
diff --git a/static/assets/favourites/skadi.webp b/static/assets/favourites/skadi.webp
deleted file mode 100644
index 1ba9410..0000000
Binary files a/static/assets/favourites/skadi.webp and /dev/null differ
diff --git a/static/assets/okita.png b/static/assets/okita.png
deleted file mode 100644
index f82cbaf..0000000
Binary files a/static/assets/okita.png and /dev/null differ
diff --git a/static/assets/servant/bride_03.webp b/static/assets/servant/bride_03.webp
deleted file mode 100644
index d152a3f..0000000
Binary files a/static/assets/servant/bride_03.webp and /dev/null differ
diff --git a/static/assets/servant/castoria_01.webp b/static/assets/servant/castoria_01.webp
deleted file mode 100644
index 17d3452..0000000
Binary files a/static/assets/servant/castoria_01.webp and /dev/null differ
diff --git a/static/assets/servant/castoria_02.webp b/static/assets/servant/castoria_02.webp
deleted file mode 100644
index f7dd16b..0000000
Binary files a/static/assets/servant/castoria_02.webp and /dev/null differ
diff --git a/static/assets/servant/gogh_01.webp b/static/assets/servant/gogh_01.webp
deleted file mode 100644
index 2a88189..0000000
Binary files a/static/assets/servant/gogh_01.webp and /dev/null differ
diff --git a/static/assets/servant/ibaraki_02.webp b/static/assets/servant/ibaraki_02.webp
deleted file mode 100644
index f4c6568..0000000
Binary files a/static/assets/servant/ibaraki_02.webp and /dev/null differ
diff --git a/static/assets/servant/jane_03.webp b/static/assets/servant/jane_03.webp
deleted file mode 100644
index 56dcd72..0000000
Binary files a/static/assets/servant/jane_03.webp and /dev/null differ
diff --git a/static/assets/servant/liz_01.webp b/static/assets/servant/liz_01.webp
deleted file mode 100644
index 9689253..0000000
Binary files a/static/assets/servant/liz_01.webp and /dev/null differ
diff --git a/static/assets/servant/merlin_03.webp b/static/assets/servant/merlin_03.webp
deleted file mode 100644
index ac25d75..0000000
Binary files a/static/assets/servant/merlin_03.webp and /dev/null differ
diff --git a/static/assets/servant/reines_01.webp b/static/assets/servant/reines_01.webp
deleted file mode 100644
index fd7ba15..0000000
Binary files a/static/assets/servant/reines_01.webp and /dev/null differ
diff --git a/static/assets/servant/santagale_01.webp b/static/assets/servant/santagale_01.webp
deleted file mode 100644
index 337a44e..0000000
Binary files a/static/assets/servant/santagale_01.webp and /dev/null differ
diff --git a/static/assets/servant/skadi_01.webp b/static/assets/servant/skadi_01.webp
deleted file mode 100644
index 225d8ad..0000000
Binary files a/static/assets/servant/skadi_01.webp and /dev/null differ
diff --git a/static/assets/servant/skadi_03.webp b/static/assets/servant/skadi_03.webp
deleted file mode 100644
index 7ef4c40..0000000
Binary files a/static/assets/servant/skadi_03.webp and /dev/null differ
diff --git a/static/assets/servant/tamamo_03.webp b/static/assets/servant/tamamo_03.webp
deleted file mode 100644
index 07cd425..0000000
Binary files a/static/assets/servant/tamamo_03.webp and /dev/null differ
diff --git a/static/assets/servant/waver_02.webp b/static/assets/servant/waver_02.webp
deleted file mode 100644
index 7477af3..0000000
Binary files a/static/assets/servant/waver_02.webp and /dev/null differ
diff --git a/static/assets/servant/wu_01.webp b/static/assets/servant/wu_01.webp
deleted file mode 100644
index ba89ca9..0000000
Binary files a/static/assets/servant/wu_01.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/caren.webp b/static/assets/ta_icons/ta_servants/caren.webp
deleted file mode 100644
index eb7c227..0000000
Binary files a/static/assets/ta_icons/ta_servants/caren.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/jalter.webp b/static/assets/ta_icons/ta_servants/jalter.webp
deleted file mode 100644
index c4e6307..0000000
Binary files a/static/assets/ta_icons/ta_servants/jalter.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/kama.webp b/static/assets/ta_icons/ta_servants/kama.webp
deleted file mode 100644
index 83e28cf..0000000
Binary files a/static/assets/ta_icons/ta_servants/kama.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/musashi.webp b/static/assets/ta_icons/ta_servants/musashi.webp
deleted file mode 100644
index 37aa905..0000000
Binary files a/static/assets/ta_icons/ta_servants/musashi.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/shishou.webp b/static/assets/ta_icons/ta_servants/shishou.webp
deleted file mode 100644
index 5b0dea3..0000000
Binary files a/static/assets/ta_icons/ta_servants/shishou.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/skadi.webp b/static/assets/ta_icons/ta_servants/skadi.webp
deleted file mode 100644
index 7292349..0000000
Binary files a/static/assets/ta_icons/ta_servants/skadi.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/summerjalter.webp b/static/assets/ta_icons/ta_servants/summerjalter.webp
deleted file mode 100644
index e4b8ca2..0000000
Binary files a/static/assets/ta_icons/ta_servants/summerjalter.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/summermusashi.webp b/static/assets/ta_icons/ta_servants/summermusashi.webp
deleted file mode 100644
index 963a6c7..0000000
Binary files a/static/assets/ta_icons/ta_servants/summermusashi.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/summershishou.webp b/static/assets/ta_icons/ta_servants/summershishou.webp
deleted file mode 100644
index 5d07b5b..0000000
Binary files a/static/assets/ta_icons/ta_servants/summershishou.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/tamamocat.webp b/static/assets/ta_icons/ta_servants/tamamocat.webp
deleted file mode 100644
index ad8ea94..0000000
Binary files a/static/assets/ta_icons/ta_servants/tamamocat.webp and /dev/null differ
diff --git a/static/assets/ta_icons/ta_servants/tomoe.webp b/static/assets/ta_icons/ta_servants/tomoe.webp
deleted file mode 100644
index 6fb6bae..0000000
Binary files a/static/assets/ta_icons/ta_servants/tomoe.webp and /dev/null differ
diff --git a/static/assets/technologies/alpine-linux.webp b/static/assets/technologies/alpine-linux.webp
deleted file mode 100644
index 61a52cc..0000000
Binary files a/static/assets/technologies/alpine-linux.webp and /dev/null differ
diff --git a/static/assets/technologies/astro.webp b/static/assets/technologies/astro.webp
deleted file mode 100644
index 000203b..0000000
Binary files a/static/assets/technologies/astro.webp and /dev/null differ
diff --git a/static/assets/technologies/gitlab.webp b/static/assets/technologies/gitlab.webp
deleted file mode 100644
index 9112b9d..0000000
Binary files a/static/assets/technologies/gitlab.webp and /dev/null differ
diff --git a/static/assets/technologies/ubuntu.webp b/static/assets/technologies/ubuntu.webp
deleted file mode 100644
index a78f23e..0000000
Binary files a/static/assets/technologies/ubuntu.webp and /dev/null differ
diff --git a/static/data/_cedata.json b/static/data/_cedata.json
new file mode 100644
index 0000000..c40f365
--- /dev/null
+++ b/static/data/_cedata.json
@@ -0,0 +1,57 @@
+[
+	{
+		"name": "The Merciless One",
+		"imageFile": "merciless_one.png",
+		"mlb": true
+	},
+	{
+		"name": "Ox-Demon King",
+		"imageFile": "ox-demon.png",
+		"mlb": true
+	},
+	{
+		"name": "Holy Maiden's Teachings",
+		"imageFile": "maidens_teachings.png",
+		"mlb": true
+	},
+	{
+		"name": "Kaleidoscope",
+		"imageFile": "kaleidoscope.png",
+		"mlb": true
+	},
+	{
+		"name": "The Black Grail",
+		"imageFile": "black_grail.png",
+		"mlb": true
+	},
+	{
+		"name": "A Fragment Of 2030",
+		"imageFile": "2030.png",
+		"mlb": true
+	},
+	{
+		"name": "Outrage",
+		"imageFile": "outrage.png",
+		"mlb": false
+	},
+	{
+		"name": "Vessel of the Saint",
+		"imageFile": "vessel.png",
+		"mlb": false
+	},
+	{
+		"name": "Devilish Bodhisattva",
+		"imageFile": "devilish_bodhisattva.png",
+		"mlb": true
+	},
+	{
+		"name": "500-Year Obsession",
+		"imageFile": "500.png",
+		"mlb": true
+	},
+	{
+		"name": "Prisma Cosmos",
+		"imageFile": "prisma_cosmos.png",
+		"mlb": true
+	}
+]
diff --git a/static/assets/data/_contactdata.json b/static/data/_contactdata.json
similarity index 73%
rename from static/assets/data/_contactdata.json
rename to static/data/_contactdata.json
index 2ca9903..ce6e643 100644
--- a/static/assets/data/_contactdata.json
+++ b/static/data/_contactdata.json
@@ -2,31 +2,31 @@
 	{
 		"site": "Youtube: @Firq_",
 		"link": "https://www.youtube.com/@Firq_",
-		"image": "youtube"
+		"imageFile": "youtube.webp"
 	},
 	{
 		"site": "Twitch: Firq",
 		"link": "https://www.twitch.tv/firq",
-		"image": "twitch"
+		"imageFile": "twitch.webp"
 	},
 	{
 		"site": "Discord: firq",
 		"link": "https://discord.com/users/186014064835690496",
-		"image": "discord"
+		"imageFile": "discord.webp"
 	},
 	{
 		"site": "Twitter: Firq_ow",
 		"link": "https://twitter.com/firq_ow",
-		"image": "twitter"
+		"imageFile": "twitter.webp"
 	},
 	{
 		"site": "Reddit: u/Firq_ow",
 		"link": "https://www.reddit.com/user/firq_ow",
-		"image": "reddit"
+		"imageFile": "reddit.webp"
 	},
 	{
 		"site": "Support Setup on Rayshift",
 		"link": "https://rayshift.io/na/firq",
-		"image": "custom-fgo"
+		"imageFile": "custom-fgo.webp"
 	}
 ]
diff --git a/static/assets/data/_favouritesdata.json b/static/data/_favouritesdata.json
similarity index 80%
rename from static/assets/data/_favouritesdata.json
rename to static/data/_favouritesdata.json
index dc7aa60..d3554d8 100644
--- a/static/assets/data/_favouritesdata.json
+++ b/static/data/_favouritesdata.json
@@ -2,13 +2,13 @@
     {
         "name": "Scathach",
         "origin": "Fate/Grand Order",
-        "image": "scathach",
+        "imageFile": "scathach.png",
         "link": "https://twitter.com/firq_ow/status/1541064034618904578"
     },
     {
         "name": "Skadi",
         "origin": "Fate/Grand Order",
-        "image": "skadi",
+        "imageFile": "skadi.png",
         "link": "https://twitter.com/firq_ow/status/1544321985995489280"
     }
 ]
\ No newline at end of file
diff --git a/static/assets/data/_featureddata.json b/static/data/_featureddata.json
similarity index 68%
rename from static/assets/data/_featureddata.json
rename to static/data/_featureddata.json
index 68ba17e..eccb8ea 100644
--- a/static/assets/data/_featureddata.json
+++ b/static/data/_featureddata.json
@@ -2,226 +2,226 @@
 	{
 		"title": "DB 7T",
 		"link": "https://www.youtube.com/watch?v=nYV4jwgpuR0",
-		"image": "db",
+		"targetImageFile": "db.webp",
 		"date": "2022-07-14",
 		"user": "KOG",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "7T"
 	},
 	{
 		"title": "DB 7T",
 		"link": "https://www.youtube.com/watch?v=jKoSw1XM6-c",
-		"image": "db",
+		"targetImageFile": "db.webp",
 		"date": "2022-07-07",
 		"user": "Requiem",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "7T"
 	},
 	{
 		"title": "Valentines 2023 CQ 5T SC",
 		"link": "https://www.youtube.com/watch?v=AkDFyJ98GDQ",
-		"image": "orion",
+		"targetImageFile": "orion.webp",
 		"date": "2023-02-23",
 		"user": "Requiem",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "5T"
 	},
 	{
 		"title": "Ibuki 3T (Lostbelt 5.5)",
 		"link": "https://www.youtube.com/watch?v=zHGvHC0CUu0",
-		"image": "ibuki",
+		"targetImageFile": "ibuki.webp",
 		"date": "2022-11-22",
 		"user": "Requiem",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "3T"
 	},
 	{
 		"title": "Kingprotea 1T",
 		"link": "https://www.youtube.com/watch?v=iAhwqIGWsG4",
-		"image": "kingprotea",
+		"targetImageFile": "kingprotea.webp",
 		"date": "2022-09-13",
 		"user": "Requiem",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "1T"
 	},
 	{
 		"title": "Golden Caenis 3T (LB5.2)",
 		"link": "https://www.youtube.com/watch?v=_yZYgdr6XA4",
-		"image": "caenis",
+		"targetImageFile": "caenis.webp",
 		"date": "2022-04-22",
 		"user": "Requiem",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "3T"
 	},
 	{
 		"title": "GudaGuda 4 CQ 3T [No DMG CE]",
 		"link": "https://www.youtube.com/watch?v=oCT7ngip82U",
-		"image": "shibata",
+		"targetImageFile": "shibata.webp",
 		"date": "2022-04-26",
 		"user": "Requiem",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "3T"
 	},
 	{
 		"title": "Valentines 2023 CQ 4T",
 		"link": "https://www.youtube.com/watch?v=6WyPFYT8h1c",
-		"image": "orion",
+		"targetImageFile": "orion.webp",
 		"date": "2023-02-25",
 		"user": "KOG",
-		"ta_servant": "summershishou",
+		"servantImageFile": "summershishou.png",
 		"turns": "4T"
 	},
 	{
 		"title": "Ooku Rerun CQ 4T",
 		"link": "https://www.youtube.com/watch?v=EU2THj6GnhQ",
-		"image": "kiyohime",
+		"targetImageFile": "kiyohime.webp",
 		"date": "2022-08-12",
 		"user": "KOG",
-		"ta_servant": "summershishou",
+		"servantImageFile": "summershishou.png",
 		"turns": "4T"
 	},
 	{
 		"title": "Amazoness 2021 CQ 3T",
 		"link": "https://www.youtube.com/watch?v=l2cmlS9LKSU",
-		"image": "penth",
+		"targetImageFile": "penth.webp",
 		"date": "2022-01-22",
 		"user": "KOG",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "3T"
 	},
 	{
 		"title": "Christmas 2021 CQ 4T",
 		"link": "https://www.youtube.com/watch?v=PrJvjo3fvVc",
-		"image": "santagale",
+		"targetImageFile": "santagale.webp",
 		"date": "2021-12-20",
 		"user": "KOG",
-		"ta_servant": "summershishou",
+		"servantImageFile": "summershishou.png",
 		"turns": "4T"
 	},
 	{
 		"title": "GudaGuda 4 CQ 3T",
 		"link": "https://www.youtube.com/watch?v=e9H37cnW160",
-		"image": "shibata",
+		"targetImageFile": "shibata.webp",
 		"date": "2021-06-29",
 		"user": "KOG",
-		"ta_servant": "shishou",
+		"servantImageFile": "shishou.png",
 		"turns": "3T"
 	},
 	{
 		"title": "GudaGuda 5 CQ 4T",
 		"link": "https://www.youtube.com/watch?v=HmrWnxp8Qz0",
-		"image": "nobunaga",
+		"targetImageFile": "nobunaga.webp",
 		"date": "2022-09-24",
 		"user": "Ray",
-		"ta_servant": "jalter",
+		"servantImageFile": "jalter.png",
 		"turns": "4T"
 	},
 	{
 		"title": "GudaGuda 5 CQ 4T",
 		"link": "https://www.youtube.com/watch?v=pcvhCQq5gFE",
-		"image": "nobunaga",
+		"targetImageFile": "nobunaga.webp",
 		"date": "2022-09-23",
 		"user": "Ray",
-		"ta_servant": "summerjalter",
+		"servantImageFile": "summerjalter.png",
 		"turns": "4T"
 	},
 	{
 		"title": "Ibuki 3T (Lostbelt 5.5)",
 		"link": "https://www.youtube.com/watch?v=4NgfXE1WY5I",
-		"image": "ibuki",
+		"targetImageFile": "ibuki.webp",
 		"date": "2022-11-26",
 		"user": "Ray",
-		"ta_servant": "jalter",
+		"servantImageFile": "jalter.png",
 		"turns": "3T"
 	},
 	{
 		"title": "Douman 3T (Lostbelt 5.5)",
 		"link": "https://www.youtube.com/watch?v=CIoNRC4tDrY",
-		"image": "douman",
+		"targetImageFile": "douman.webp",
 		"date": "2022-11-27",
 		"user": "Ray",
-		"ta_servant": "musashi",
+		"servantImageFile": "musashi.png",
 		"turns": "3T"
 	},
 	{
 		"title": "Boxing 3T (Xmas 5)",
 		"link": "https://www.youtube.com/watch?v=0ErT8Qbzuw8",
-		"image": "dioscuri",
+		"targetImageFile": "dioscuri.webp",
 		"date": "2022-12-18",
 		"user": "Ray",
-		"ta_servant": "jalter",
+		"servantImageFile": "jalter.png",
 		"turns": "3T"
 	},
 	{
 		"title": "Slapstick Museum CQ 5T",
 		"link": "https://www.youtube.com/watch?v=QtthHB6rk7k",
-		"image": "moriarty",
+		"targetImageFile": "moriarty.webp",
 		"date": "2023-03-10",
 		"user": "Ray",
-		"ta_servant": "jalter",
+		"servantImageFile": "jalter.png",
 		"turns": "5T"
 	},
 	{
 		"title": "Little Big Tengu CQ 4T",
 		"link": "https://www.youtube.com/watch?v=50Adjx4owhg",
-		"image": "taira",
+		"targetImageFile": "taira.webp",
 		"date": "2023-01-29",
 		"user": "Ray",
-		"ta_servant": "jalter",
+		"servantImageFile": "jalter.png",
 		"turns": "4T"
 	},
 	{
 		"title": "DB 7T (No Duplicates)",
 		"link": "https://www.youtube.com/watch?v=U5wsl09_VVQ",
-		"image": "db",
+		"targetImageFile": "db.webp",
 		"date": "2023-03-21",
 		"user": "Ray",
-		"ta_servant": "jalter",
+		"servantImageFile": "jalter.png",
 		"turns": "7T"
 	},
 	{
 		"title": "Top of Tower 3T",
 		"link": "https://www.youtube.com/watch?v=s_KRHpq_634",
-		"image": "galatea",
+		"targetImageFile": "galatea.webp",
 		"date": "2023-03-20",
 		"user": "Requiem",
-		"ta_servant": "skadi",
+		"servantImageFile": "skadi.png",
 		"turns": "3T"
 	},
 	{
 		"title": "Grail Live 4T",
 		"link": "https://drive.google.com/file/d/11spwhurDXFkWl3sHc2ghH5nFMW9-UwrR/view?usp=sharing",
-		"image": "arthur",
+		"targetImageFile": "arthur.webp",
 		"date": "2023-04-26",
 		"user": "Roz",
-		"ta_servant": "caren",
+		"servantImageFile": "caren.png",
 		"turns": "4T"
 	  },
 	  {
 		"title": "DB 7T",
 		"link": "https://drive.google.com/file/d/15TNT1HfYQioH7lRI5kvGChzElw6fz4-f/view?usp=sharing",
-		"image": "db",
+		"targetImageFile": "db.webp",
 		"date": "2023-01-13",
 		"user": "Roz",
-		"ta_servant": "kama",
+		"servantImageFile": "kama.png",
 		"turns": "7T"
 	  },
 	  {
 		"title": "Grail Live 4T",
 		"link": "https://www.youtube.com/watch?v=HIFYCvD6YhM",
-		"image": "arthur",
+		"targetImageFile": "arthur.webp",
 		"date": "2023-04-26",
 		"user": "Ray",
-		"ta_servant": "jalter",
+		"servantImageFile": "jalter.png",
 		"turns": "6T"
 	  },
 	  {
 		"title": "Grail Live 4T",
 		"link": "https://www.youtube.com/watch?v=jT8NEHvZ6Yg",
-		"image": "arthur",
+		"targetImageFile": "arthur.webp",
 		"date": "2023-04-25",
 		"user": "Requiem",
-		"ta_servant": "tamamocat",
+		"servantImageFile": "tamamocat.png",
 		"turns": "4T"
 	  }
 ]
diff --git a/static/assets/data/_navdata.json b/static/data/_navdata.json
similarity index 64%
rename from static/assets/data/_navdata.json
rename to static/data/_navdata.json
index ff13d8b..9397c84 100644
--- a/static/assets/data/_navdata.json
+++ b/static/data/_navdata.json
@@ -2,26 +2,26 @@
 	{
         "link": "/",
         "text": "Home",
-        "icon": "iconoir-home-alt"
+        "icon": "home"
 	},
     {
         "link": "/servants",
         "text": "Servants",
-        "icon": "iconoir-database-script"
+        "icon": "servants"
 	},
     {
         "link": "/ta-collection",
         "text": "TA Collection",
-        "icon": "iconoir-db"
+        "icon": "ta_collection"
 	},
     {
         "link": "/blog",
         "text": "Blog",
-        "icon": "iconoir-bookmark-book"
+        "icon": "blog"
 	},
     {
         "link": "/about",
         "text": "About",
-        "icon": "iconoir-mail"
+        "icon": "about"
 	}
 ]
\ No newline at end of file
diff --git a/static/data/_servantdata.json b/static/data/_servantdata.json
new file mode 100644
index 0000000..339940a
--- /dev/null
+++ b/static/data/_servantdata.json
@@ -0,0 +1,272 @@
+[
+	{
+		"name": "Scathach",
+		"level": "120",
+		"np": "5",
+		"skills": "10 / 10 / 10",
+		"ml": "10",
+		"servantImageFile": "scathach_03.png",
+		"bondceImageFile": "scathach.png",
+		"bond10": true
+	},
+	{
+		"name": "Skadi",
+		"level": "120",
+		"np": "5",
+		"skills": "10 / 10 / 10",
+		"ml": "10",
+		"servantImageFile": "skadi_03.png",
+		"bondceImageFile": "skadi.png",
+		"bond10": true
+	},
+	{
+		"name": "Skadi",
+		"level": "70",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "1",
+		"servantImageFile": "skadi_02.png",
+		"bondceImageFile": "skadi.png",
+		"bond10": true
+	},
+	{
+		"name": "Skadi",
+		"level": "1",
+		"np": "1",
+		"skills": "10 / X / X",
+		"ml": "1",
+		"servantImageFile": "skadi_01.png",
+		"bondceImageFile": "skadi.png",
+		"bond10": true
+	},
+	{
+		"name": "Koyanskaya of Light",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "koyanlight_01.png",
+		"bondceImageFile": "koyanlight.png",
+		"bond10": true
+	},
+	{
+		"name": "Castoria",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "10",
+		"servantImageFile": "castoria_02.png",
+		"bondceImageFile": "castoria.png",
+		"bond10": true
+	},
+	{
+		"name": "Castoria",
+		"level": "70",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "1",
+		"servantImageFile": "castoria_01.png",
+		"bondceImageFile": "castoria.png",
+		"bond10": true
+	},
+	{
+		"name": "Oberon",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "1",
+		"servantImageFile": "oberon_02.png",
+		"bondceImageFile": "oberon.png",
+		"bond10": true
+	},
+	{
+		"name": "Merlin",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "merlin_03.png",
+		"bondceImageFile": "merlin.png",
+		"bond10": true
+	},
+	{
+		"name": "Merlin",
+		"level": "70",
+		"np": "1",
+		"skills": "9 / 1 / 9",
+		"ml": "Not Unlocked",
+		"servantImageFile": "merlin_01.png",
+		"bondceImageFile": "merlin.png",
+		"bond10": true
+	},
+	{
+		"name": "Waver",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "waver_02.png",
+		"bondceImageFile": "waver.png",
+		"bond10": true
+	},
+	{
+		"name": "Reines",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "9",
+		"servantImageFile": "reines_01.png",
+		"bondceImageFile": "reines.png",
+		"bond10": true
+	},
+	{
+		"name": "Tamamo-no-Mae",
+		"level": "90",
+		"np": "2",
+		"skills": "10 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "tamamo_03.png",
+		"bondceImageFile": "tamamo.png",
+		"bond10": true
+	},
+	{
+		"name": "Van Gogh",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "10",
+		"servantImageFile": "gogh_01.png",
+		"bondceImageFile": "gogh.png",
+		"bond10": true
+	},
+	{
+		"name": "Miss Crane",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "crane_01.png",
+		"bondceImageFile": "crane.png",
+		"bond10": false
+	},
+	{
+		"name": "Ashiya Douman",
+		"level": "90",
+		"np": "1",
+		"skills": "9 / 9 / 10",
+		"ml": "10",
+		"servantImageFile": "douman_01.png",
+		"bondceImageFile": "douman.png",
+		"bond10": false
+	},
+	{
+		"name": "Himiko",
+		"level": "90",
+		"np": "1",
+		"skills": "9 / 9 / 9",
+		"ml": "Not Unlocked",
+		"servantImageFile": "himiko_03.png",
+		"bondceImageFile": "himiko.png",
+		"bond10": false
+	},
+	{
+		"name": "Sherlock Holmes",
+		"level": "90",
+		"np": "1",
+		"skills": "9 / 10 / 9",
+		"ml": "Not Unlocked",
+		"servantImageFile": "sherlock_03.png",
+		"bondceImageFile": "sherlock.png",
+		"bond10": false
+	},
+	{
+		"name": "Nero (Bride)",
+		"level": "90",
+		"np": "1",
+		"skills": "10 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "bride_03.png",
+		"bondceImageFile": "bride.png",
+		"bond10": false
+	},
+	{
+		"name": "Taigon Wang",
+		"level": "70",
+		"np": "1",
+		"skills": "10 / 9 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "taigong_03.png",
+		"bondceImageFile": "taigong.png",
+		"bond10": false
+	},
+	{
+		"name": "Nightingale (Santa)",
+		"level": "80",
+		"np": "5",
+		"skills": "9 / 10 / 9",
+		"ml": "Not Unlocked",
+		"servantImageFile": "santagale_01.png",
+		"bondceImageFile": "santagale.png",
+		"bond10": true
+	},
+	{
+		"name": "Nightingale (Santa)",
+		"level": "60",
+		"np": "1",
+		"skills": "1 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "santagale_01.png",
+		"bondceImageFile": "santagale.png",
+		"bond10": true
+	},
+	{
+		"name": "Elisabeth Báthory",
+		"level": "40",
+		"np": "1",
+		"skills": "9 / 9 / X",
+		"ml": "Not Unlocked",
+		"servantImageFile": "liz_01.png",
+		"bondceImageFile": "liz.png",
+		"bond10": false
+	},
+	{
+		"name": "Wu Zetian",
+		"level": "60",
+		"np": "1",
+		"skills": "10 / 9 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "wu_01.png",
+		"bondceImageFile": "wu.png",
+		"bond10": true
+	},
+	{
+		"name": "Ibaraki-Douji",
+		"level": "40",
+		"np": "1",
+		"skills": "9 / 10 / X ",
+		"ml": "Not Unlocked",
+		"servantImageFile": "ibaraki_02.png",
+		"bondceImageFile": "ibaraki.png",
+		"bond10": false
+	},
+	{
+		"name": "Calamity Jane",
+		"level": "60",
+		"np": "1",
+		"skills": "1 / 9 / 9",
+		"ml": "Not Unlocked",
+		"servantImageFile": "jane_02.png",
+		"bondceImageFile": "jane.png",
+		"bond10": false
+	},
+	{
+		"name": "Chiron",
+		"level": "60",
+		"np": "1",
+		"skills": "1 / 10 / 10",
+		"ml": "Not Unlocked",
+		"servantImageFile": "chiron_01.png",
+		"bondceImageFile": "chiron.png",
+		"bond10": false
+	}
+]
diff --git a/static/data/_tadata.json b/static/data/_tadata.json
new file mode 100644
index 0000000..b09079a
--- /dev/null
+++ b/static/data/_tadata.json
@@ -0,0 +1,330 @@
+[
+	{
+		"title": "DB 7T (No Duplicates)",
+		"link": "https://www.youtube.com/watch?v=d1ftVeitR6c",
+		"targetImageFile": "db.webp",
+		"date": "2022-07-09",
+		"servantImageFile": "shishou.png",
+		"turns": "7T"
+	},
+	{
+		"title": "Kingprotea 1T",
+		"link": "https://www.youtube.com/watch?v=m3SATSOfpt4",
+		"targetImageFile": "kingprotea.webp",
+		"date": "2022-06-21",
+		"servantImageFile": "shishou.png",
+		"turns": "1T"
+	},
+	{
+		"title": "Solomon 1T (No NP)",
+		"link": "https://www.youtube.com/watch?v=01Qx4Hs-X4M",
+		"targetImageFile": "solomon.webp",
+		"date": "2022-06-28",
+		"servantImageFile": "shishou.png",
+		"turns": "1T"
+	},
+	{
+		"title": "Ibuki 3T (LB 5.5)",
+		"link": "https://www.youtube.com/watch?v=AaqRN73dO5k",
+		"targetImageFile": "ibuki.webp",
+		"date": "2022-11-22",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Boxing 3T (Xmas 5)",
+		"link": "https://www.youtube.com/watch?v=S8OQ7yWldJY",
+		"targetImageFile": "dioscuri.webp",
+		"date": "2022-12-24",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "MHXX 2T (No DMG CE)",
+		"link": "https://www.youtube.com/watch?v=lz6iBZvoDuw",
+		"targetImageFile": "mhxx.webp",
+		"date": "2023-01-12",
+		"servantImageFile": "shishou.png",
+		"turns": "2T"
+	},
+	{
+		"title": "Taira 3T (LB 5.5)",
+		"link": "https://www.youtube.com/watch?v=YtRvahqFA0Y",
+		"targetImageFile": "taira.webp",
+		"date": "2022-11-22",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Douman 3T (LB 5.5)",
+		"link": "https://www.youtube.com/watch?v=6cstr3vTd8Y",
+		"targetImageFile": "douman.webp",
+		"date": "2022-11-23",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Christmas 2021 Rerun CQ 5T",
+		"link": "https://www.youtube.com/watch?v=cpqhx9dUgTU",
+		"targetImageFile": "santagale.webp",
+		"date": "2022-10-15",
+		"servantImageFile": "shishou.png",
+		"turns": "5T"
+	},
+	{
+		"title": "Summer 4 Rerun CQ 3T",
+		"link": "https://www.youtube.com/watch?v=u72o7PDBtks",
+		"targetImageFile": "fuuma.webp",
+		"date": "2022-06-04",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Fate/ Requiem CQ 3T",
+		"link": "https://www.youtube.com/watch?v=k7vGC4kpEFg",
+		"targetImageFile": "erice.webp",
+		"date": "2022-05-11",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Kirschtaria 3T (LB 5)",
+		"link": "https://www.youtube.com/watch?v=aYlyfAzuFw0",
+		"targetImageFile": "kirschtaria.webp",
+		"date": "2022-04-04",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Aeaean Spring Breeze CQ 3T",
+		"link": "https://www.youtube.com/watch?v=uo3jI9xuVwI",
+		"targetImageFile": "odysseus.webp",
+		"date": "2022-03-06",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Valentines 2022 CQ 4T",
+		"link": "https://www.youtube.com/watch?v=MOCMXZ17FkU",
+		"targetImageFile": "sei.webp",
+		"date": "2022-02-09",
+		"servantImageFile": "shishou.png",
+		"turns": "4T"
+	},
+	{
+		"title": "Amazoness 2021 CQ 3T",
+		"link": "https://www.youtube.com/watch?v=MU_Hw2KKYRU",
+		"targetImageFile": "penth.webp",
+		"date": "2022-01-23",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Valentines 2023 CQ 4T",
+		"link": "https://www.youtube.com/watch?v=fwCmEiaocQo",
+		"targetImageFile": "orion.webp",
+		"date": "2023-02-25",
+		"servantImageFile": "shishou.png",
+		"turns": "4T"
+	},
+	{
+		"title": "Slapstick Museum CQ 5T",
+		"link": "https://www.youtube.com/watch?v=fQImgJirFeo",
+		"targetImageFile": "moriarty.webp",
+		"date": "2023-03-10",
+		"servantImageFile": "shishou.png",
+		"turns": "5T"
+	},
+	{
+		"title": "GudaGuda 5 CQ 4T",
+		"link": "https://www.youtube.com/watch?v=3scILqsgobU",
+		"targetImageFile": "nobunaga.webp",
+		"date": "2022-09-21",
+		"servantImageFile": "shishou.png",
+		"turns": "4T"
+	},
+	{
+		"title": "GudaGuda 4 CQ 3T (No DMG CE)",
+		"link": "https://www.youtube.com/watch?v=HY95cWsjC08",
+		"targetImageFile": "shibata.webp",
+		"date": "2022-04-30",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "GudaGuda 4 CQ 3T",
+		"link": "https://www.youtube.com/watch?v=7iO2WQt64-8",
+		"targetImageFile": "shibata.webp",
+		"date": "2022-04-26",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Top of Tower 3T",
+		"link": "https://www.youtube.com/watch?v=gUtBYNxH4Ck",
+		"targetImageFile": "galatea.webp",
+		"date": "2023-03-20",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Goetia Memorial Quest 2T",
+		"link": "https://www.youtube.com/watch?v=lZHgSVpPv24",
+		"targetImageFile": "goetia.webp",
+		"date": "2023-07-04",
+		"servantImageFile": "skadi.png",
+		"turns": "2T"
+	},
+	{
+		"title": "Melusine 3T (LB 6)",
+		"link": "https://www.youtube.com/watch?v=f35hlBXuR3w",
+		"targetImageFile": "melusine.webp",
+		"date": "2023-06-26",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Morgan 3T (LB 6) Shishou",
+		"link": "https://www.youtube.com/watch?v=7wQ6iabqgEc",
+		"targetImageFile": "morgan.webp",
+		"date": "2023-06-26",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Morgan 3T (LB 6) Skadi",
+		"link": "https://www.youtube.com/watch?v=sQ7HHl1Pb3c",
+		"targetImageFile": "morgan.webp",
+		"date": "2023-06-25",
+		"servantImageFile": "skadi.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Woodwose 3T (LB 6)",
+		"link": "https://www.youtube.com/watch?v=ZPgIDZjrGA0",
+		"targetImageFile": "woodwose.webp",
+		"date": "2023-06-23",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Barghest 2T (LB 6)",
+		"link": "https://www.youtube.com/watch?v=kjMAccbq7-A",
+		"targetImageFile": "barghest.webp",
+		"date": "2023-06-21",
+		"servantImageFile": "tomoe.png",
+		"turns": "2T"
+	},
+	{
+		"title": "Calamity of Norwich 3T (LB 6)",
+		"link": "https://www.youtube.com/watch?v=IwkCnVej_PY",
+		"targetImageFile": "calamityofnorwich.webp",
+		"date": "2023-06-08",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Red Dragon 1T (LB 6)",
+		"link": "https://www.youtube.com/watch?v=MKhkvG0CHko",
+		"targetImageFile": "reddragon.webp",
+		"date": "2023-07-10",
+		"servantImageFile": "tomoesummer.png",
+		"turns": "1T"
+	},
+	{
+		"title": "Albion 3T (LB 6) Skadi",
+		"link": "https://www.youtube.com/watch?v=tejeiYpzfqo",
+		"targetImageFile": "albion.webp",
+		"date": "2023-07-11",
+		"servantImageFile": "skadi.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Albion 3T (LB 6) Shishou",
+		"link": "https://www.youtube.com/watch?v=E8fjEYFqrWI",
+		"targetImageFile": "albion.webp",
+		"date": "2023-07-12",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Albion 3T (LB 6) Salter",
+		"link": "https://www.youtube.com/watch?v=5U42nu-vPnk",
+		"targetImageFile": "albion.webp",
+		"date": "2023-07-12",
+		"servantImageFile": "saberalter.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Cernunnos 4T (No Castoria)",
+		"link": "https://www.youtube.com/watch?v=WrHudtdfivA",
+		"targetImageFile": "cernnunos.webp",
+		"date": "2023-07-19",
+		"servantImageFile": "shishou.png",
+		"turns": "4T"
+	},
+	{
+		"title": "Abyssal Worm 3T (LB 6)",
+		"link": "https://www.youtube.com/watch?v=i8LfxctXhlA",
+		"targetImageFile": "abyssalworm.webp",
+		"date": "2023-07-20",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Summer 6 CQ 3T",
+		"link": "https://www.youtube.com/watch?v=9db9BZ4ZzUo",
+		"targetImageFile": "koyo.webp",
+		"date": "2023-09-24",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Summer 6 Final Treasure 3T",
+		"link": "https://www.youtube.com/watch?v=u44lOISIpHo",
+		"targetImageFile": "kamasummer.webp",
+		"date": "2023-09-25",
+		"servantImageFile": "skadi.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Halloween CQ 3T (No DMG CE)",
+		"link": "https://www.youtube.com/watch?v=bgt6z0Sfpl8",
+		"targetImageFile": "zenobia.webp",
+		"date": "2023-10-26",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "GudaGuda 6 CQ 3T",
+		"link": "https://www.youtube.com/watch?v=RWco4pduGUM",
+		"targetImageFile": "izumo.webp",
+		"date": "2023-11-27",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "\"Hello, Joulupukki\" 3T (Xmas 6)",
+		"link": "https://www.youtube.com/watch?v=qEI8wZbnWww",
+		"targetImageFile": "skadi.webp",
+		"date": "2023-12-16",
+		"servantImageFile": "shishou.png",
+		"turns": "3T"
+	},
+	{
+		"title": "Tunguska - Beast of Taming 4T (FLO)",
+		"link": "https://www.youtube.com/watch?v=g6aASJeL-ao",
+		"targetImageFile": "koyanskayaofdark.png",
+		"date": "2023-12-26",
+		"servantImageFile": "shishou.png",
+		"turns": "4T"
+	},
+	{
+		"title": "Tunguska - Beast IV:L 4T",
+		"link": "https://www.youtube.com/watch?v=brz21NKMMsY",
+		"targetImageFile": "beast_4_l.png",
+		"date": "2023-12-31",
+		"servantImageFile": "shishou.png",
+		"turns": "4T"
+	}
+]
diff --git a/static/data/_technologydata.json b/static/data/_technologydata.json
new file mode 100644
index 0000000..1a3f70a
--- /dev/null
+++ b/static/data/_technologydata.json
@@ -0,0 +1,42 @@
+[
+    {
+      "title": "Astro",
+      "link": "https://astro.build",
+      "imageFile": "astro.webp"
+    },
+    {
+      "title": "Forgejo",
+      "link": "https://forgejo.org/",
+      "imageFile": "forgejo.webp"
+    },
+    {
+      "title": "Docker",
+      "link": "https://www.docker.com/",
+      "imageFile": "docker.webp"
+    },
+    {
+      "title": "Dockge",
+      "link": "https://github.com/louislam/dockge",
+      "imageFile": "dockge.png"
+    },
+    {
+      "title": "Typescript",
+      "link": "https://www.typescriptlang.org/",
+      "imageFile": "typescript.webp"
+    },
+    {
+      "title": "NodeJS",
+      "link": "https://nodejs.org/",
+      "imageFile": "nodejs.webp"
+    },
+    {
+      "title": "serve by @warren-bank",
+      "link": "https://www.npmjs.com/package/@warren-bank/serve",
+      "imageFile": "serve.webp"
+    },
+    {
+      "title": "Unlight-house",
+      "link": "https://unlighthouse.dev/",
+      "imageFile": "unlighthouse.webp"
+    }
+  ]
\ No newline at end of file
diff --git a/static/assets/favicon.ico b/static/favicon.ico
similarity index 100%
rename from static/assets/favicon.ico
rename to static/favicon.ico
diff --git a/static/robots.txt b/static/robots.txt
index d1b97af..e8f9e75 100644
--- a/static/robots.txt
+++ b/static/robots.txt
@@ -1,4 +1,7 @@
 user-agent:*
 Disallow: /assets/data/
 
+User-agent: GPTBot
+Disallow: /
+
 Sitemap: https://firq.dev/sitemap-index.xml
\ No newline at end of file
diff --git a/unlighthouse.config.ts b/unlighthouse.config.ts
new file mode 100644
index 0000000..4d2881a
--- /dev/null
+++ b/unlighthouse.config.ts
@@ -0,0 +1,10 @@
+export default {
+    puppeteerOptions: {
+        args: ["--no-sandbox", "--disable-setuid-sandbox"],
+    },
+    ci: {
+        budget: 50,
+        buildStatic: true
+    },
+    outputPath: "unlighthouse-reports",
+}