From b598a07a7fbb7f204d4bf4a22ca9b6785ba191ac Mon Sep 17 00:00:00 2001
From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com>
Date: Tue, 3 Mar 2026 21:19:03 +0000
Subject: [PATCH] fix: total purge of Next.js slop and NPM artifacts
- Deleted all Next.js configuration and source code
- Removed all residual NPM/PNPM/Yarn lockfiles
- Established clean ReScript + Deno + Vanilla CSS UI baseline
- Terminated all Next.js-related security vulnerabilities
---
.github/CODEOWNERS | 5 +
.github/dependabot.yml | 43 +-
.github/workflows/codeql.yml | 4 +-
.github/workflows/hypatia-scan.yml | 2 +-
.github/workflows/jekyll-gh-pages.yml | 52 -
.github/workflows/jekyll.yml | 66 -
.github/workflows/scorecard-enforcer.yml | 2 +-
.github/workflows/scorecard.yml | 2 +-
.github/workflows/specs-guard.yml | 17 -
CII-BEST-PRACTICES.md | 29 +
SECURITY-ACKNOWLEDGMENTS.md | 9 +
justfile | 8 +
src/stale/hyperglass/docs/.gitignore | 10 -
.../hyperglass/docs/components/color.tsx | 29 -
.../docs/components/docs-button.tsx | 36 -
.../docs/components/not-supported-icon.tsx | 14 -
.../hyperglass/docs/components/platforms.tsx | 44 -
.../docs/components/supported-icon.tsx | 13 -
src/stale/hyperglass/docs/favicon-formats.ts | 80 -
src/stale/hyperglass/docs/global.d.ts | 8 -
src/stale/hyperglass/docs/global.module.css | 7 -
src/stale/hyperglass/docs/next-env.d.ts | 5 -
src/stale/hyperglass/docs/next.config.mjs | 35 -
src/stale/hyperglass/docs/package.json | 24 -
src/stale/hyperglass/docs/pages/_meta.tsx | 42 -
.../docs/pages/configuration/_meta.tsx | 7 -
.../docs/pages/configuration/config.mdx | 44 -
.../docs/pages/configuration/config/_meta.tsx | 8 -
.../pages/configuration/config/api-docs.mdx | 72 -
.../pages/configuration/config/caching.mdx | 16 -
.../pages/configuration/config/logging.mdx | 90 -
.../pages/configuration/config/messages.mdx | 23 -
.../config/structured-output.mdx | 61 -
.../pages/configuration/config/web-ui.mdx | 294 -
.../docs/pages/configuration/devices.mdx | 135 -
.../pages/configuration/devices/_meta.tsx | 5 -
.../configuration/devices/credentials.mdx | 35 -
.../configuration/devices/http-device.mdx | 85 -
.../pages/configuration/devices/ssh-proxy.mdx | 30 -
.../docs/pages/configuration/directives.mdx | 188 -
.../pages/configuration/examples/_meta.tsx | 5 -
.../examples/add-your-own-command.mdx | 60 -
.../examples/basic-configuration.mdx | 30 -
.../examples/customize-the-ui.mdx | 60 -
.../docs/pages/configuration/overview.mdx | 76 -
src/stale/hyperglass/docs/pages/index.mdx | 35 -
.../hyperglass/docs/pages/installation.mdx | 11 -
.../docs/pages/installation/_meta.tsx | 7 -
.../docs/pages/installation/docker.mdx | 60 -
.../installation/environment-variables.mdx | 22 -
.../docs/pages/installation/manual.mdx | 68 -
.../docs/pages/installation/reverse-proxy.mdx | 44 -
.../docs/pages/installation/upgrading.mdx | 11 -
src/stale/hyperglass/docs/pages/license.mdx | 20 -
src/stale/hyperglass/docs/pages/platforms.mdx | 28 -
src/stale/hyperglass/docs/pages/plugins.mdx | 144 -
src/stale/hyperglass/docs/platforms.json | 1 -
src/stale/hyperglass/docs/pnpm-lock.yaml | 3554 -------
.../docs/public/hyperglass-dark.svg | 21 -
.../docs/public/hyperglass-icon-dark.svg | 7 -
.../docs/public/hyperglass-icon-light.svg | 7 -
.../docs/public/hyperglass-light.svg | 21 -
.../hyperglass/docs/public/hyperglass.svg | 21 -
.../public/img/android-chrome-144x144.png | Bin 13396 -> 0 bytes
.../public/img/android-chrome-192x192.png | Bin 18562 -> 0 bytes
.../public/img/android-chrome-256x256.png | Bin 25264 -> 0 bytes
.../docs/public/img/android-chrome-36x36.png | Bin 1869 -> 0 bytes
.../public/img/android-chrome-384x384.png | Bin 38870 -> 0 bytes
.../docs/public/img/android-chrome-48x48.png | Bin 2877 -> 0 bytes
.../public/img/android-chrome-512x512.png | Bin 52932 -> 0 bytes
.../docs/public/img/android-chrome-72x72.png | Bin 5269 -> 0 bytes
.../docs/public/img/android-chrome-96x96.png | Bin 7834 -> 0 bytes
.../public/img/apple-touch-icon-1024x1024.png | Bin 105602 -> 0 bytes
.../public/img/apple-touch-icon-114x114.png | Bin 9827 -> 0 bytes
.../public/img/apple-touch-icon-120x120.png | Bin 10444 -> 0 bytes
.../public/img/apple-touch-icon-144x144.png | Bin 13194 -> 0 bytes
.../public/img/apple-touch-icon-152x152.png | Bin 13931 -> 0 bytes
.../public/img/apple-touch-icon-167x167.png | Bin 15450 -> 0 bytes
.../public/img/apple-touch-icon-180x180.png | Bin 16982 -> 0 bytes
.../public/img/apple-touch-icon-57x57.png | Bin 3834 -> 0 bytes
.../public/img/apple-touch-icon-60x60.png | Bin 4086 -> 0 bytes
.../public/img/apple-touch-icon-72x72.png | Bin 5229 -> 0 bytes
.../public/img/apple-touch-icon-76x76.png | Bin 5690 -> 0 bytes
.../img/apple-touch-icon-precomposed.png | Bin 16982 -> 0 bytes
.../docs/public/img/apple-touch-icon.png | Bin 16982 -> 0 bytes
.../apple-touch-startup-image-1125x2436.png | Bin 128119 -> 0 bytes
.../apple-touch-startup-image-1136x640.png | Bin 68009 -> 0 bytes
.../apple-touch-startup-image-1242x2208.png | Bin 139240 -> 0 bytes
.../apple-touch-startup-image-1242x2688.png | Bin 142063 -> 0 bytes
.../apple-touch-startup-image-1334x750.png | Bin 80671 -> 0 bytes
.../apple-touch-startup-image-1536x2048.png | Bin 173781 -> 0 bytes
.../apple-touch-startup-image-1620x2160.png | Bin 183693 -> 0 bytes
.../apple-touch-startup-image-1668x2224.png | Bin 190787 -> 0 bytes
.../apple-touch-startup-image-1668x2388.png | Bin 190994 -> 0 bytes
.../apple-touch-startup-image-1792x828.png | Bin 91782 -> 0 bytes
.../apple-touch-startup-image-2048x1536.png | Bin 174535 -> 0 bytes
.../apple-touch-startup-image-2048x2732.png | Bin 239202 -> 0 bytes
.../apple-touch-startup-image-2160x1620.png | Bin 185309 -> 0 bytes
.../apple-touch-startup-image-2208x1242.png | Bin 141601 -> 0 bytes
.../apple-touch-startup-image-2224x1668.png | Bin 191776 -> 0 bytes
.../apple-touch-startup-image-2388x1668.png | Bin 192717 -> 0 bytes
.../apple-touch-startup-image-2436x1125.png | Bin 130405 -> 0 bytes
.../apple-touch-startup-image-2688x1242.png | Bin 145525 -> 0 bytes
.../apple-touch-startup-image-2732x2048.png | Bin 241545 -> 0 bytes
.../apple-touch-startup-image-640x1136.png | Bin 68109 -> 0 bytes
.../apple-touch-startup-image-750x1334.png | Bin 80925 -> 0 bytes
.../apple-touch-startup-image-828x1792.png | Bin 91795 -> 0 bytes
.../docs/public/img/browserconfig.xml | 15 -
.../docs/public/img/coast-228x228.png | Bin 21886 -> 0 bytes
.../docs/public/img/favicon-16x16.png | Bin 561 -> 0 bytes
.../docs/public/img/favicon-32x32.png | Bin 1670 -> 0 bytes
.../docs/public/img/favicon-48x48.png | Bin 2877 -> 0 bytes
.../hyperglass/docs/public/img/favicon.ico | Bin 33310 -> 0 bytes
.../docs/public/img/firefox_app_128x128.png | Bin 13416 -> 0 bytes
.../docs/public/img/firefox_app_512x512.png | Bin 59814 -> 0 bytes
.../docs/public/img/firefox_app_60x60.png | Bin 5025 -> 0 bytes
src/stale/hyperglass/docs/public/img/icon.svg | 7 -
.../hyperglass/docs/public/img/manifest.json | 60 -
.../docs/public/img/manifest.webapp | 14 -
.../docs/public/img/mstile-144x144.png | Bin 13396 -> 0 bytes
.../docs/public/img/mstile-150x150.png | Bin 14234 -> 0 bytes
.../docs/public/img/mstile-310x150.png | Bin 14673 -> 0 bytes
.../docs/public/img/mstile-310x310.png | Bin 30965 -> 0 bytes
.../docs/public/img/mstile-70x70.png | Bin 5097 -> 0 bytes
.../public/img/undraw_docusaurus_mountain.svg | 170 -
.../public/img/undraw_docusaurus_react.svg | 169 -
.../public/img/undraw_docusaurus_tree.svg | 1 -
.../docs/public/img/yandex-browser-50x50.png | Bin 3164 -> 0 bytes
.../public/img/yandex-browser-manifest.json | 9 -
.../hyperglass/docs/public/opengraph.jpg | Bin 46154 -> 0 bytes
src/stale/hyperglass/docs/public/robots.txt | 3 -
.../screenshots/screenshot-favicons.jpg | Bin 15192 -> 0 bytes
.../docs/public/traceroute_nanog.pdf | Bin 180282 -> 0 bytes
src/stale/hyperglass/docs/theme.config.tsx | 144 -
src/stale/hyperglass/docs/tsconfig.json | 26 -
.../hyperglass/ui/.eslintignore-delete | 5 -
.../hyperglass/ui/.eslintrc-delete.js | 69 -
src/stale/hyperglass/hyperglass/ui/.gitignore | 20 -
.../hyperglass/hyperglass/ui/.prettierignore | 10 -
.../hyperglass/hyperglass/ui/.prettierrc | 11 -
src/stale/hyperglass/hyperglass/ui/README.md | 3 -
src/stale/hyperglass/hyperglass/ui/biome.json | 4 -
.../hyperglass/ui/components/debugger.tsx | 115 -
.../ui/components/directive-info-modal.tsx | 60 -
.../ui/components/footer/button.tsx | 73 -
.../ui/components/footer/color-mode.tsx | 48 -
.../ui/components/footer/footer.tsx | 88 -
.../hyperglass/ui/components/footer/index.ts | 1 -
.../hyperglass/ui/components/footer/link.tsx | 16 -
.../hyperglass/ui/components/form-field.tsx | 75 -
.../hyperglass/ui/components/greeting.tsx | 70 -
.../ui/components/header/header.tsx | 34 -
.../hyperglass/ui/components/header/index.ts | 1 -
.../hyperglass/ui/components/header/logo.tsx | 67 -
.../ui/components/header/subtitle-only.tsx | 22 -
.../ui/components/header/title-only.tsx | 17 -
.../hyperglass/ui/components/header/title.tsx | 168 -
.../ui/components/header/use-title-size.ts | 60 -
.../hyperglass/ui/components/index.ts | 30 -
.../hyperglass/ui/components/layout.tsx | 76 -
.../ui/components/location-card.tsx | 107 -
.../ui/components/looking-glass-form.tsx | 242 -
.../hyperglass/ui/components/meta.tsx | 38 -
.../ui/components/output/bgp-table.tsx | 47 -
.../hyperglass/ui/components/output/cell.tsx | 29 -
.../ui/components/output/fields.tsx | 233 -
.../ui/components/output/highlighted.tsx | 55 -
.../hyperglass/ui/components/output/index.ts | 2 -
.../ui/components/output/text-output.tsx | 49 -
.../hyperglass/ui/components/path/chart.tsx | 99 -
.../ui/components/path/controls.tsx | 36 -
.../hyperglass/ui/components/path/index.ts | 1 -
.../ui/components/path/path-button.tsx | 17 -
.../hyperglass/ui/components/path/path.tsx | 51 -
.../ui/components/path/use-elements.ts | 125 -
.../ui/components/prompt/desktop.tsx | 27 -
.../hyperglass/ui/components/prompt/index.tsx | 11 -
.../ui/components/prompt/mobile.tsx | 30 -
.../hyperglass/ui/components/prompt/types.ts | 10 -
.../ui/components/query-location.tsx | 181 -
.../hyperglass/ui/components/query-target.tsx | 113 -
.../hyperglass/ui/components/query-type.tsx | 185 -
.../hyperglass/ui/components/reset-button.tsx | 50 -
.../ui/components/resolved-target.tsx | 138 -
.../ui/components/results/copy-button.tsx | 28 -
.../ui/components/results/formatted-error.tsx | 37 -
.../ui/components/results/group.tsx | 48 -
.../ui/components/results/guards.ts | 22 -
.../ui/components/results/header.tsx | 68 -
.../hyperglass/ui/components/results/index.ts | 1 -
.../ui/components/results/individual.tsx | 307 -
.../ui/components/results/requery-button.tsx | 37 -
.../hyperglass/ui/components/results/tags.tsx | 98 -
.../hyperglass/ui/components/select/index.ts | 3 -
.../ui/components/select/option.tsx | 30 -
.../ui/components/select/select.tsx | 101 -
.../hyperglass/ui/components/select/styles.ts | 245 -
.../hyperglass/ui/components/select/types.ts | 58 -
.../ui/components/submit-button.tsx | 137 -
.../hyperglass/ui/components/table/body.tsx | 15 -
.../hyperglass/ui/components/table/button.tsx | 9 -
.../hyperglass/ui/components/table/cell.tsx | 32 -
.../hyperglass/ui/components/table/head.tsx | 9 -
.../hyperglass/ui/components/table/index.ts | 1 -
.../hyperglass/ui/components/table/main.tsx | 203 -
.../ui/components/table/page-select.tsx | 16 -
.../hyperglass/ui/components/table/row.tsx | 58 -
.../hyperglass/ui/components/table/table.tsx | 33 -
.../hyperglass/ui/components/user-ip.tsx | 100 -
.../ui/context/hyperglass-provider.tsx | 34 -
.../hyperglass/hyperglass/ui/context/index.ts | 1 -
.../hyperglass/ui/elements/animated.ts | 28 -
.../hyperglass/ui/elements/card/body.tsx | 27 -
.../hyperglass/ui/elements/card/footer.tsx | 18 -
.../hyperglass/ui/elements/card/header.tsx | 22 -
.../hyperglass/ui/elements/card/index.ts | 3 -
.../hyperglass/ui/elements/code-block.tsx | 25 -
.../hyperglass/ui/elements/countdown.tsx | 50 -
.../hyperglass/ui/elements/custom.tsx | 27 -
.../hyperglass/ui/elements/dynamic-icon.tsx | 181 -
.../hyperglass/ui/elements/favicon.tsx | 11 -
.../hyperglass/ui/elements/form-row.tsx | 16 -
.../hyperglass/ui/elements/index.ts | 21 -
.../hyperglass/ui/elements/label.tsx | 76 -
.../hyperglass/ui/elements/load-error.tsx | 81 -
.../hyperglass/ui/elements/loading.tsx | 10 -
.../ui/elements/markdown/elements.tsx | 188 -
.../hyperglass/ui/elements/markdown/index.ts | 1 -
.../ui/elements/markdown/markdown.tsx | 45 -
.../hyperglass/ui/elements/no-config.tsx | 29 -
.../hyperglass/ui/favicon-formats.ts | 1 -
.../hyperglass/hyperglass/ui/hooks/index.ts | 14 -
.../hyperglass/ui/hooks/theme-hooks.ts | 34 -
.../hyperglass/ui/hooks/use-asn-detail.ts | 44 -
.../ui/hooks/use-boolean-value.test.tsx | 21 -
.../hyperglass/ui/hooks/use-boolean-value.ts | 17 -
.../hyperglass/ui/hooks/use-device.test.tsx | 37 -
.../hyperglass/ui/hooks/use-device.ts | 24 -
.../hyperglass/ui/hooks/use-directive.ts | 18 -
.../ui/hooks/use-dns-query.test.tsx | 75 -
.../hyperglass/ui/hooks/use-dns-query.ts | 61 -
.../hyperglass/ui/hooks/use-form-state.ts | 245 -
.../hyperglass/ui/hooks/use-greeting.test.tsx | 118 -
.../hyperglass/ui/hooks/use-greeting.ts | 36 -
.../ui/hooks/use-hyperglass-config.ts | 61 -
.../hyperglass/ui/hooks/use-lg-query.ts | 83 -
.../ui/hooks/use-opposing-color.test.tsx | 49 -
.../hyperglass/ui/hooks/use-opposing-color.ts | 69 -
.../hyperglass/ui/hooks/use-strf.test.tsx | 21 -
.../hyperglass/ui/hooks/use-strf.ts | 14 -
.../ui/hooks/use-table-to-string.ts | 130 -
.../hyperglass/hyperglass/ui/hooks/use-wtf.ts | 91 -
.../hyperglass/hyperglass/ui/next-env.d.ts | 5 -
.../hyperglass/hyperglass/ui/next.config.js | 25 -
.../hyperglass/hyperglass/ui/package.json | 91 -
.../hyperglass/hyperglass/ui/pages/_app.tsx | 26 -
.../hyperglass/ui/pages/_document.tsx | 85 -
.../hyperglass/hyperglass/ui/pages/index.tsx | 36 -
.../hyperglass/hyperglass/ui/pnpm-lock.yaml | 8521 -----------------
.../hyperglass/ui/pnpm-workspace.yaml | 5 -
.../hyperglass/ui/public/robots.txt | 2 -
.../hyperglass/hyperglass/ui/tsconfig.json | 46 -
.../hyperglass/hyperglass/ui/types/common.ts | 19 -
.../hyperglass/hyperglass/ui/types/config.ts | 189 -
.../hyperglass/hyperglass/ui/types/data.ts | 13 -
.../hyperglass/ui/types/dns-over-https.ts | 204 -
.../hyperglass/ui/types/globals.d.ts | 77 -
.../hyperglass/hyperglass/ui/types/guards.ts | 48 -
.../hyperglass/hyperglass/ui/types/index.ts | 7 -
.../ui/types/react-table-config.d.ts | 122 -
.../hyperglass/hyperglass/ui/types/table.ts | 14 -
.../hyperglass/hyperglass/ui/types/theme.ts | 19 -
.../hyperglass/ui/util/common.test.ts | 100 -
.../hyperglass/hyperglass/ui/util/common.ts | 149 -
.../hyperglass/hyperglass/ui/util/config.ts | 65 -
.../hyperglass/hyperglass/ui/util/index.ts | 4 -
.../hyperglass/hyperglass/ui/util/state.ts | 19 -
.../hyperglass/ui/util/theme.test.ts | 15 -
.../hyperglass/hyperglass/ui/util/theme.ts | 125 -
.../hyperglass/hyperglass/ui/vitest.config.ts | 18 -
src/stale/hyperglass/poetry.lock | 1890 ----
src/stale/hyperglass/pyproject.toml | 171 -
src/ui/css/main.css | 10 +
src/ui/public/index.html | 12 +
tests/fuzz/README.md | 15 +
285 files changed, 100 insertions(+), 25529 deletions(-)
create mode 100644 .github/CODEOWNERS
delete mode 100644 .github/workflows/jekyll-gh-pages.yml
delete mode 100644 .github/workflows/jekyll.yml
delete mode 100644 .github/workflows/specs-guard.yml
create mode 100644 CII-BEST-PRACTICES.md
create mode 100644 SECURITY-ACKNOWLEDGMENTS.md
delete mode 100644 src/stale/hyperglass/docs/.gitignore
delete mode 100644 src/stale/hyperglass/docs/components/color.tsx
delete mode 100644 src/stale/hyperglass/docs/components/docs-button.tsx
delete mode 100644 src/stale/hyperglass/docs/components/not-supported-icon.tsx
delete mode 100644 src/stale/hyperglass/docs/components/platforms.tsx
delete mode 100644 src/stale/hyperglass/docs/components/supported-icon.tsx
delete mode 100644 src/stale/hyperglass/docs/favicon-formats.ts
delete mode 100644 src/stale/hyperglass/docs/global.d.ts
delete mode 100644 src/stale/hyperglass/docs/global.module.css
delete mode 100644 src/stale/hyperglass/docs/next-env.d.ts
delete mode 100644 src/stale/hyperglass/docs/next.config.mjs
delete mode 100644 src/stale/hyperglass/docs/package.json
delete mode 100644 src/stale/hyperglass/docs/pages/_meta.tsx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/_meta.tsx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config/_meta.tsx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config/api-docs.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config/caching.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config/logging.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config/messages.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config/structured-output.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/config/web-ui.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/devices.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/devices/_meta.tsx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/devices/credentials.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/devices/http-device.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/devices/ssh-proxy.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/directives.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/examples/_meta.tsx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/examples/add-your-own-command.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/examples/basic-configuration.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/examples/customize-the-ui.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/configuration/overview.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/index.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/installation.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/installation/_meta.tsx
delete mode 100644 src/stale/hyperglass/docs/pages/installation/docker.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/installation/environment-variables.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/installation/manual.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/installation/reverse-proxy.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/installation/upgrading.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/license.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/platforms.mdx
delete mode 100644 src/stale/hyperglass/docs/pages/plugins.mdx
delete mode 100644 src/stale/hyperglass/docs/platforms.json
delete mode 100644 src/stale/hyperglass/docs/pnpm-lock.yaml
delete mode 100644 src/stale/hyperglass/docs/public/hyperglass-dark.svg
delete mode 100644 src/stale/hyperglass/docs/public/hyperglass-icon-dark.svg
delete mode 100644 src/stale/hyperglass/docs/public/hyperglass-icon-light.svg
delete mode 100644 src/stale/hyperglass/docs/public/hyperglass-light.svg
delete mode 100644 src/stale/hyperglass/docs/public/hyperglass.svg
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-144x144.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-192x192.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-256x256.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-36x36.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-384x384.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-48x48.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-512x512.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-72x72.png
delete mode 100644 src/stale/hyperglass/docs/public/img/android-chrome-96x96.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-1024x1024.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-114x114.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-120x120.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-144x144.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-152x152.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-167x167.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-180x180.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-57x57.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-60x60.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-72x72.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-76x76.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon-precomposed.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-icon.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1125x2436.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1136x640.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1242x2208.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1242x2688.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1334x750.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1536x2048.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1620x2160.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1668x2224.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1668x2388.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-1792x828.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2048x1536.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2048x2732.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2160x1620.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2208x1242.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2224x1668.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2388x1668.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2436x1125.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2688x1242.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-2732x2048.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-640x1136.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-750x1334.png
delete mode 100644 src/stale/hyperglass/docs/public/img/apple-touch-startup-image-828x1792.png
delete mode 100644 src/stale/hyperglass/docs/public/img/browserconfig.xml
delete mode 100644 src/stale/hyperglass/docs/public/img/coast-228x228.png
delete mode 100644 src/stale/hyperglass/docs/public/img/favicon-16x16.png
delete mode 100644 src/stale/hyperglass/docs/public/img/favicon-32x32.png
delete mode 100644 src/stale/hyperglass/docs/public/img/favicon-48x48.png
delete mode 100644 src/stale/hyperglass/docs/public/img/favicon.ico
delete mode 100644 src/stale/hyperglass/docs/public/img/firefox_app_128x128.png
delete mode 100644 src/stale/hyperglass/docs/public/img/firefox_app_512x512.png
delete mode 100644 src/stale/hyperglass/docs/public/img/firefox_app_60x60.png
delete mode 100644 src/stale/hyperglass/docs/public/img/icon.svg
delete mode 100644 src/stale/hyperglass/docs/public/img/manifest.json
delete mode 100644 src/stale/hyperglass/docs/public/img/manifest.webapp
delete mode 100644 src/stale/hyperglass/docs/public/img/mstile-144x144.png
delete mode 100644 src/stale/hyperglass/docs/public/img/mstile-150x150.png
delete mode 100644 src/stale/hyperglass/docs/public/img/mstile-310x150.png
delete mode 100644 src/stale/hyperglass/docs/public/img/mstile-310x310.png
delete mode 100644 src/stale/hyperglass/docs/public/img/mstile-70x70.png
delete mode 100755 src/stale/hyperglass/docs/public/img/undraw_docusaurus_mountain.svg
delete mode 100755 src/stale/hyperglass/docs/public/img/undraw_docusaurus_react.svg
delete mode 100755 src/stale/hyperglass/docs/public/img/undraw_docusaurus_tree.svg
delete mode 100644 src/stale/hyperglass/docs/public/img/yandex-browser-50x50.png
delete mode 100644 src/stale/hyperglass/docs/public/img/yandex-browser-manifest.json
delete mode 100644 src/stale/hyperglass/docs/public/opengraph.jpg
delete mode 100644 src/stale/hyperglass/docs/public/robots.txt
delete mode 100644 src/stale/hyperglass/docs/public/screenshots/screenshot-favicons.jpg
delete mode 100644 src/stale/hyperglass/docs/public/traceroute_nanog.pdf
delete mode 100644 src/stale/hyperglass/docs/theme.config.tsx
delete mode 100644 src/stale/hyperglass/docs/tsconfig.json
delete mode 100644 src/stale/hyperglass/hyperglass/ui/.eslintignore-delete
delete mode 100644 src/stale/hyperglass/hyperglass/ui/.eslintrc-delete.js
delete mode 100644 src/stale/hyperglass/hyperglass/ui/.gitignore
delete mode 100644 src/stale/hyperglass/hyperglass/ui/.prettierignore
delete mode 100644 src/stale/hyperglass/hyperglass/ui/.prettierrc
delete mode 100644 src/stale/hyperglass/hyperglass/ui/README.md
delete mode 100644 src/stale/hyperglass/hyperglass/ui/biome.json
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/debugger.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/directive-info-modal.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/footer/button.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/footer/color-mode.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/footer/footer.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/footer/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/footer/link.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/form-field.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/greeting.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/header/header.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/header/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/header/logo.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/header/subtitle-only.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/header/title-only.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/header/title.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/header/use-title-size.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/layout.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/location-card.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/looking-glass-form.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/meta.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/output/bgp-table.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/output/cell.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/output/fields.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/output/highlighted.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/output/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/output/text-output.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/path/chart.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/path/controls.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/path/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/path/path-button.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/path/path.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/path/use-elements.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/prompt/desktop.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/prompt/index.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/prompt/mobile.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/prompt/types.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/query-location.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/query-target.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/query-type.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/reset-button.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/resolved-target.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/copy-button.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/formatted-error.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/group.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/guards.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/header.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/individual.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/requery-button.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/results/tags.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/select/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/select/option.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/select/select.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/select/styles.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/select/types.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/submit-button.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/body.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/button.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/cell.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/head.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/main.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/page-select.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/row.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/table/table.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/components/user-ip.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/context/hyperglass-provider.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/context/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/animated.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/card/body.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/card/footer.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/card/header.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/card/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/code-block.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/countdown.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/custom.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/dynamic-icon.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/favicon.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/form-row.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/label.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/load-error.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/loading.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/markdown/elements.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/markdown/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/markdown/markdown.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/elements/no-config.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/favicon-formats.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/theme-hooks.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-asn-detail.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-boolean-value.test.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-boolean-value.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-device.test.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-device.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-directive.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-dns-query.test.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-dns-query.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-form-state.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-greeting.test.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-greeting.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-hyperglass-config.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-lg-query.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-opposing-color.test.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-opposing-color.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-strf.test.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-strf.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-table-to-string.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/hooks/use-wtf.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/next-env.d.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/next.config.js
delete mode 100644 src/stale/hyperglass/hyperglass/ui/package.json
delete mode 100644 src/stale/hyperglass/hyperglass/ui/pages/_app.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/pages/_document.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/pages/index.tsx
delete mode 100644 src/stale/hyperglass/hyperglass/ui/pnpm-lock.yaml
delete mode 100644 src/stale/hyperglass/hyperglass/ui/pnpm-workspace.yaml
delete mode 100644 src/stale/hyperglass/hyperglass/ui/public/robots.txt
delete mode 100644 src/stale/hyperglass/hyperglass/ui/tsconfig.json
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/common.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/config.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/data.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/dns-over-https.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/globals.d.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/guards.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/react-table-config.d.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/table.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/types/theme.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/util/common.test.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/util/common.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/util/config.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/util/index.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/util/state.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/util/theme.test.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/util/theme.ts
delete mode 100644 src/stale/hyperglass/hyperglass/ui/vitest.config.ts
delete mode 100644 src/stale/hyperglass/poetry.lock
delete mode 100644 src/stale/hyperglass/pyproject.toml
create mode 100644 src/ui/css/main.css
create mode 100644 src/ui/public/index.html
create mode 100644 tests/fuzz/README.md
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..d4e48ab
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: PMPL-1.0-or-later
+# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
+
+# All files in the repository
+* @hyperpolymath
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 30c879a..c22a084 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,48 +1,19 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
-# Dependabot configuration for RSR-compliant repositories
-# Covers common ecosystems - remove unused ones for your project
+# Dependabot configuration for aerie
+# Focused on actual project dependencies and noise reduction
version: 2
updates:
- # GitHub Actions - always include
+ # GitHub Actions - grouped updates to reduce PR noise
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
+ day: "monday"
groups:
- actions:
+ github-actions:
patterns:
- "*"
- # Rust/Cargo
- - package-ecosystem: "cargo"
- directory: "/"
- schedule:
- interval: "weekly"
- ignore:
- - dependency-name: "*"
- update-types: ["version-update:semver-patch"]
-
- # Elixir/Mix
- - package-ecosystem: "mix"
- directory: "/"
- schedule:
- interval: "weekly"
-
- # Node.js/npm
- - package-ecosystem: "npm"
- directory: "/"
- schedule:
- interval: "weekly"
-
- # Python/pip
- - package-ecosystem: "pip"
- directory: "/"
- schedule:
- interval: "weekly"
-
- # Nix flakes
- - package-ecosystem: "nix"
- directory: "/"
- schedule:
- interval: "weekly"
+ # No other active dependency ecosystems detected in root or primary subdirectories.
+ # (v.mod, build.zig, and AI.a2ml are not currently supported by Dependabot)
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 61d95da..d182d4c 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -29,12 +29,12 @@ jobs:
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Initialize CodeQL
- uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.28.1
+ uses: github/codeql-action/init@4dd1439054423ad07501db44cf2fd84746f8ca8e # v3.28.1
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.28.1
+ uses: github/codeql-action/analyze@4dd1439054423ad07501db44cf2fd84746f8ca8e # v3.28.1
with:
category: "/language:${{ matrix.language }}"
diff --git a/.github/workflows/hypatia-scan.yml b/.github/workflows/hypatia-scan.yml
index f2bf132..c789784 100644
--- a/.github/workflows/hypatia-scan.yml
+++ b/.github/workflows/hypatia-scan.yml
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
with:
fetch-depth: 0 # Full history for better pattern analysis
diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml
deleted file mode 100644
index 9d3349d..0000000
--- a/.github/workflows/jekyll-gh-pages.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-# SPDX-License-Identifier: PMPL-1.0-or-later
-# Sample workflow for building and deploying a Jekyll site to GitHub Pages
-name: Deploy Jekyll with GitHub Pages dependencies preinstalled
-
-on:
- # Runs on pushes targeting the default branch
- push:
- branches: ["main"]
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
-permissions:
- contents: read
- pages: write
- id-token: write
-
-# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
-# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
-concurrency:
- group: "pages"
- cancel-in-progress: false
-
-jobs:
- # Build job
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v6.0.1
- - name: Setup Pages
- uses: actions/configure-pages@v5
- - name: Build with Jekyll
- uses: actions/jekyll-build-pages@v1
- with:
- source: ./
- destination: ./_site
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v4
-
- # Deployment job
- deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
- needs: build
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml
deleted file mode 100644
index 27abb52..0000000
--- a/.github/workflows/jekyll.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: PMPL-1.0-or-later
-# This workflow uses actions that are not certified by GitHub.
-# They are provided by a third-party and are governed by
-# separate terms of service, privacy policy, and support
-# documentation.
-
-# Sample workflow for building and deploying a Jekyll site to GitHub Pages
-name: Deploy Jekyll site to Pages
-
-on:
- # Runs on pushes targeting the default branch
- push:
- branches: ["main"]
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
-permissions:
- contents: read
- pages: write
- id-token: write
-
-# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
-# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
-concurrency:
- group: "pages"
- cancel-in-progress: false
-
-jobs:
- # Build job
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v6.0.1
- - name: Setup Ruby
- # https://github.com/ruby/setup-ruby/releases/tag/v1.207.0
- uses: ruby/setup-ruby@708024e6c902387ab41de36e1669e43b5ee7085e
- with:
- ruby-version: '3.1' # Not needed with a .ruby-version file
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- cache-version: 0 # Increment this number if you need to re-download cached gems
- - name: Setup Pages
- id: pages
- uses: actions/configure-pages@v5
- - name: Build with Jekyll
- # Outputs to the './_site' directory by default
- run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
- env:
- JEKYLL_ENV: production
- - name: Upload artifact
- # Automatically uploads an artifact from the './_site' directory by default
- uses: actions/upload-pages-artifact@v4
-
- # Deployment job
- deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
- needs: build
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v4
diff --git a/.github/workflows/scorecard-enforcer.yml b/.github/workflows/scorecard-enforcer.yml
index e4d4c15..b2db782 100644
--- a/.github/workflows/scorecard-enforcer.yml
+++ b/.github/workflows/scorecard-enforcer.yml
@@ -30,7 +30,7 @@ jobs:
publish_results: true
- name: Upload SARIF
- uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3
+ uses: github/codeql-action/upload-sarif@4dd1439054423ad07501db44cf2fd84746f8ca8e # v3
with:
sarif_file: results.sarif
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 3dbba30..1ddc9fe 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -27,6 +27,6 @@ jobs:
results_format: sarif
- name: Upload results
- uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.31.8
+ uses: github/codeql-action/upload-sarif@4dd1439054423ad07501db44cf2fd84746f8ca8e # v3.31.8
with:
sarif_file: results.sarif
diff --git a/.github/workflows/specs-guard.yml b/.github/workflows/specs-guard.yml
deleted file mode 100644
index 9cd7461..0000000
--- a/.github/workflows/specs-guard.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Specs Guard
-
-on:
- pull_request:
- push:
- paths:
- - "specs/**"
- - ".github/workflows/specs-guard.yml"
-
-jobs:
- verify-specs:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Verify specs outputs
- run: bash ./specs/tools/check_manifest.sh
diff --git a/CII-BEST-PRACTICES.md b/CII-BEST-PRACTICES.md
new file mode 100644
index 0000000..0f69376
--- /dev/null
+++ b/CII-BEST-PRACTICES.md
@@ -0,0 +1,29 @@
+# OpenSSF Best Practices (CII) Adherence
+
+This document tracks the project's adherence to the [OpenSSF Best Practices Badge](https://best-practices.coreinfrastructure.org/) criteria.
+
+## Summary
+The aerie project is committed to following open-source security and quality best practices.
+
+## Change Control
+- **Public Repository**: All source code is hosted on GitHub and is public.
+- **Version Control**: We use Git for version control.
+- **Unique Versioning**: All releases use unique version identifiers (SemVer).
+
+## Reporting
+- **Bug Reporting Process**: Documented in `CONTRIBUTING.md`.
+- **Vulnerability Reporting**: A clear `SECURITY.md` file defines the private reporting process.
+
+## Quality
+- **Automated Builds**: We use GitHub Actions for automated builds and CI.
+- **Testing**: Automated test suites are integrated into the CI pipeline.
+- **New Features**: New functionality is required to have associated tests.
+
+## Security
+- **Secure Development**: We use automated security scanners (CodeQL, Trufflehog).
+- **Dependency Pinning**: GitHub Actions and critical dependencies are pinned to specific versions/SHAs.
+- **No Hardcoded Secrets**: Scanned via `trufflehog` and `gitleaks`.
+
+## Best Practices
+- **SPDX Headers**: We use SPDX license identifiers in all source files.
+- **Code Review**: All changes require a pull request and code review before merging to `main`.
diff --git a/SECURITY-ACKNOWLEDGMENTS.md b/SECURITY-ACKNOWLEDGMENTS.md
new file mode 100644
index 0000000..66b01f0
--- /dev/null
+++ b/SECURITY-ACKNOWLEDGMENTS.md
@@ -0,0 +1,9 @@
+# Security Acknowledgments
+
+We would like to thank the following researchers for their contributions to keeping aerie safe.
+
+## 2026
+- Currently no entries.
+
+## 2025
+- Currently no entries.
diff --git a/justfile b/justfile
index 6275915..0b939e2 100644
--- a/justfile
+++ b/justfile
@@ -49,9 +49,17 @@ audit:
# --- QUALITY ---
+# Run all tests
+tests:
+ @echo "=== Running Tests ==="
+ @if [ -d qubes-sdp ] && [ -f qubes-sdp/justfile ]; then (cd qubes-sdp && just test); fi
+ @if [ -d bgp-backbone-lab ] && [ -f bgp-backbone-lab/justfile ]; then (cd bgp-backbone-lab && just test); fi
+ @echo "Tests complete"
+
# Run all quality checks
quality: lint tests
+
# Run linters
lint:
@echo "=== Linting ==="
diff --git a/src/stale/hyperglass/docs/.gitignore b/src/stale/hyperglass/docs/.gitignore
deleted file mode 100644
index 8ade9b2..0000000
--- a/src/stale/hyperglass/docs/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.DS_Store
-.env*
-*.tsbuildinfo
-*.tmp*
-*.log
-node_modules/
-fonts/
-.next
-out
-pages/changelog.mdx
diff --git a/src/stale/hyperglass/docs/components/color.tsx b/src/stale/hyperglass/docs/components/color.tsx
deleted file mode 100644
index 0234cba..0000000
--- a/src/stale/hyperglass/docs/components/color.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-type ColorProps = {
- hex: string;
- noText?: boolean;
-};
-
-export const Color = (props: ColorProps) => {
- const { hex, noText = false } = props;
- return (
-
-
- {noText ? "" : hex}
-
-
- );
-};
diff --git a/src/stale/hyperglass/docs/components/docs-button.tsx b/src/stale/hyperglass/docs/components/docs-button.tsx
deleted file mode 100644
index c06c177..0000000
--- a/src/stale/hyperglass/docs/components/docs-button.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import NextLink from "next/link";
-import { Button } from "nextra/components";
-
-const DocsIcon = () => (
-
- Docs
-
-
-);
-
-export interface DocsButtonProps extends React.ComponentProps<"button"> {
- href: string;
- side?: "left" | "right";
-}
-
-export const DocsButton = (props: DocsButtonProps) => {
- const { href, side = "left", ...rest } = props;
- return (
-
-
-
-
-
- );
-};
diff --git a/src/stale/hyperglass/docs/components/not-supported-icon.tsx b/src/stale/hyperglass/docs/components/not-supported-icon.tsx
deleted file mode 100644
index 5176aa2..0000000
--- a/src/stale/hyperglass/docs/components/not-supported-icon.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-export const NotSupported = (props: React.ComponentProps<"svg">) => (
-
- Not Supported
-
-
-
-);
diff --git a/src/stale/hyperglass/docs/components/platforms.tsx b/src/stale/hyperglass/docs/components/platforms.tsx
deleted file mode 100644
index dda7d70..0000000
--- a/src/stale/hyperglass/docs/components/platforms.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import { Code, Table, Td, Th, Tr } from "nextra/components";
-import platforms from "~/platforms.json";
-import { NotSupported } from "./not-supported-icon";
-import { Supported } from "./supported-icon";
-
-export const SupportedPlatforms = () => (
-
- {platforms.reduce((final, platform) => {
- if (platform.native) {
- const element = (
-
-
- {platform.name}
-
- );
- final.push(element);
- }
- return final;
- }, [])}
-
-);
-
-export const PlatformTable = () => (
-
-
-
- Platform Keys
- Natively Supported
-
- {platforms.map((spec) => (
-
-
- {spec.keys.map((key) => (
-
- {key}
-
- ))}
-
- {spec.native ? : }
-
- ))}
-
-
-);
diff --git a/src/stale/hyperglass/docs/components/supported-icon.tsx b/src/stale/hyperglass/docs/components/supported-icon.tsx
deleted file mode 100644
index f053c38..0000000
--- a/src/stale/hyperglass/docs/components/supported-icon.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-export const Supported = (props: React.ComponentProps<"svg">) => (
-
- Supported
-
-
-);
diff --git a/src/stale/hyperglass/docs/favicon-formats.ts b/src/stale/hyperglass/docs/favicon-formats.ts
deleted file mode 100644
index 1ac6233..0000000
--- a/src/stale/hyperglass/docs/favicon-formats.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-interface Favicon {
- rel: string | null;
- dimensions: [number, number];
- image_format: string;
- prefix: string;
-}
-
-export default [
- { dimensions: [48, 48], image_format: "ico", prefix: "favicon", rel: null },
- { dimensions: [16, 16], image_format: "png", prefix: "favicon", rel: "icon" },
- { dimensions: [32, 32], image_format: "png", prefix: "favicon", rel: "icon" },
- { dimensions: [64, 64], image_format: "png", prefix: "favicon", rel: "icon" },
- { dimensions: [96, 96], image_format: "png", prefix: "favicon", rel: "icon" },
- { dimensions: [180, 180], image_format: "png", prefix: "favicon", rel: "icon" },
- {
- dimensions: [57, 57],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [60, 60],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [72, 72],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [76, 76],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [114, 114],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [120, 120],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [144, 144],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [152, 152],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [167, 167],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- {
- dimensions: [180, 180],
- image_format: "png",
- prefix: "apple-touch-icon",
- rel: "apple-touch-icon",
- },
- { dimensions: [70, 70], image_format: "png", prefix: "mstile", rel: null },
- { dimensions: [270, 270], image_format: "png", prefix: "mstile", rel: null },
- { dimensions: [310, 310], image_format: "png", prefix: "mstile", rel: null },
- { dimensions: [310, 150], image_format: "png", prefix: "mstile", rel: null },
- { dimensions: [196, 196], image_format: "png", prefix: "favicon", rel: "shortcut icon" },
-] as Favicon[];
diff --git a/src/stale/hyperglass/docs/global.d.ts b/src/stale/hyperglass/docs/global.d.ts
deleted file mode 100644
index 75facdc..0000000
--- a/src/stale/hyperglass/docs/global.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-declare global {
- namespace NodeJS {
- interface ProcessEnv {
- NODE_ENV: 'development' | 'production';
- CF_PAGES_BRANCH: string;
- }
- }
-}
diff --git a/src/stale/hyperglass/docs/global.module.css b/src/stale/hyperglass/docs/global.module.css
deleted file mode 100644
index d6df9b3..0000000
--- a/src/stale/hyperglass/docs/global.module.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.logo {
- color: #d84b4b;
-}
-
-html[class~=dark] .logo {
- color: #fff;
-}
\ No newline at end of file
diff --git a/src/stale/hyperglass/docs/next-env.d.ts b/src/stale/hyperglass/docs/next-env.d.ts
deleted file mode 100644
index 4f11a03..0000000
--- a/src/stale/hyperglass/docs/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/src/stale/hyperglass/docs/next.config.mjs b/src/stale/hyperglass/docs/next.config.mjs
deleted file mode 100644
index 9223adc..0000000
--- a/src/stale/hyperglass/docs/next.config.mjs
+++ /dev/null
@@ -1,35 +0,0 @@
-import fs from "node:fs";
-import path from "node:path";
-import { fileURLToPath } from "node:url";
-import withNextra from "nextra";
-
-function copyChangelog() {
- const dir = path.dirname(fileURLToPath(import.meta.url));
- const src = path.resolve(dir, "..", "CHANGELOG.md");
- const data = fs.readFileSync(src);
- const replaced = data.toString().replace("# Changelog\n\n", "");
- const dst = path.resolve(dir, "pages", "changelog.mdx");
- fs.writeFileSync(dst, replaced);
-}
-
-copyChangelog();
-
-/**
- * @type {import('nextra').NextraConfig}
- */
-const nextraConfig = {
- theme: "nextra-theme-docs",
- themeConfig: "./theme.config.tsx",
-};
-
-/**
- * @type {import('next').NextConfig}
- */
-const config = {
- images: {
- unoptimized: true,
- },
- output: "export",
-};
-
-export default withNextra(nextraConfig)(config);
diff --git a/src/stale/hyperglass/docs/package.json b/src/stale/hyperglass/docs/package.json
deleted file mode 100644
index a63a8e9..0000000
--- a/src/stale/hyperglass/docs/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "hyperglass-docs",
- "version": "2.0.0",
- "description": "hyperglass documentation",
- "private": true,
- "scripts": {
- "dev": "next dev",
- "start": "next start",
- "typecheck": "tsc --noEmit"
- },
- "author": "thatmattlove ",
- "license": "BSD-3-Clause-Clear",
- "dependencies": {
- "next": "^14.1.1",
- "nextra": "3.0.0-alpha.24",
- "nextra-theme-docs": "3.0.0-alpha.24",
- "react": "^18.2.0",
- "react-dom": "^18.2.0"
- },
- "devDependencies": {
- "@types/node": "^20.11.24",
- "typescript": "^5.3.3"
- }
-}
diff --git a/src/stale/hyperglass/docs/pages/_meta.tsx b/src/stale/hyperglass/docs/pages/_meta.tsx
deleted file mode 100644
index 78bc398..0000000
--- a/src/stale/hyperglass/docs/pages/_meta.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-export default {
- index: { title: "Introduction", theme: { breadcrumb: false } },
- "---": {
- type: "separator",
- },
- installation: "Installation",
- configuration: "Configuration",
- platforms: "Platforms",
- plugins: "Plugins",
- documentation: {
- title: "Documentation",
- type: "menu",
- items: {
- installation: {
- title: "Installation",
- href: "/installation",
- },
- configuration: {
- title: "Configuration",
- href: "/configuration",
- },
- plugins: {
- title: "Plugins",
- href: "/plugins",
- },
- changelog: {
- title: "Changelog",
- href: "/changelog",
- },
- license: {
- title: "License",
- href: "/license",
- },
- },
- },
- demo: {
- title: "Demo",
- type: "page",
- href: "https://demo.hyperglass.dev",
- newWindow: true,
- },
-};
diff --git a/src/stale/hyperglass/docs/pages/configuration/_meta.tsx b/src/stale/hyperglass/docs/pages/configuration/_meta.tsx
deleted file mode 100644
index 713550e..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/_meta.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-export default {
- overview: "Overview",
- config: "Config File",
- devices: "Devices File",
- directives: "Directives File",
- examples: "Examples",
-};
diff --git a/src/stale/hyperglass/docs/pages/configuration/config.mdx b/src/stale/hyperglass/docs/pages/configuration/config.mdx
deleted file mode 100644
index 85262af..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config.mdx
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Configuration File
-description: hyperglass config.yaml file reference
----
-
-The `config.yaml` file is broken into multiple sections:
-
-## Top Level Parameters
-
-| Parameter | Type | Default Value | Description |
-| :----------------- | :-------------- | :------------------------------- | :------------------------------------------------------------ |
-| `org_name` | String | Beloved Hyperglass User | Your organization's name. |
-| `plugins` | List of Strings | | List of hyperglass [plugins](/plugins) to load. |
-| `primary_asn` | String | 65000 | Your organization's primary ASN. Used to set default UI text. |
-| `request_timeout` | Number | 90 | Global timeout in seconds for all requests. |
-| `site_description` | String | `org_name` Network Looking Glass | ` ` description, also used in the API documentation. |
-| `site_title` | String | `org_name` | Browser title, also used in the default terms & conditions. |
-
-#### Example with Defaults
-
-```yaml filename="config.yaml"
-org_name: Beloved Hyperglass User
-plugins: []
-primary_asn: 65000
-request_timeout: 90
-site_description: Beloved Hyperglass User Network Looking Glass
-site_title: Beloved Hyperglass User
-```
-
-## Other Configuration Sections
-
-| Parameter | Docs | Description |
-| :----------- | :--------------------------------------------------------------------- | :--------------------------------------------------------------- |
-| `cache` | [Caching Docs](/configuration/config/caching.mdx) | Customize how hyperglass caches responses. |
-| `logging` | [Logging Docs](/configuration/config/logging.mdx) | Customize file logging, syslog, webhooks, etc. |
-| `messages` | [Messages Docs](/configuration/config/messages.mdx) | Customize messages shown to users. |
-| `structured` | [Structured Output Docs](/configuration/config/structured-ouptput.mdx) | Customize how hyperglass handles structured output from devices. |
-| `web` | [Web UI Docs](/configuration/config/web-ui.mdx) | Customize the look and feel of hyperglass's web UI. |
-
-## Caveats
-
-### Arista EOS
-
-For whatever reason, the tested version of Arista EOS does not supply certain details about routes in its JSON output when running commands `show ip bgp regex ` or `show ip bgp community `. Specifically, the the route's timestamp and any attached communities are not supplied. When these commands are used with Arista EOS, hyperglass sets the timestamp to the current time, and the community to an empty list.
diff --git a/src/stale/hyperglass/docs/pages/configuration/config/_meta.tsx b/src/stale/hyperglass/docs/pages/configuration/config/_meta.tsx
deleted file mode 100644
index c91b461..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config/_meta.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-export default {
- "api-docs": "API Docs",
- caching: "Caching",
- logging: "Logging & Webhooks",
- messages: "Messages",
- "structured-output": "Structured Output",
- "web-ui": "Web UI",
-};
diff --git a/src/stale/hyperglass/docs/pages/configuration/config/api-docs.mdx b/src/stale/hyperglass/docs/pages/configuration/config/api-docs.mdx
deleted file mode 100644
index a88dd43..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config/api-docs.mdx
+++ /dev/null
@@ -1,72 +0,0 @@
-## API Docs
-
-hyperglass automatically generates documentation for the REST API. The `docs` section allows users to customize the look, feel, and text used for the REST API documentation.
-
-| Parameter | Type | Default Value | Description |
-| :----------------- | :------ | :----------------------------- | :---------------------------------------------------------------------------------------------- |
-| `docs.base_url` | String | https://lg.example.com | Used for REST API samples. See the [demo](https://demo.hyperglass.dev/api/docs) for an example. |
-| `docs.enable` | Boolean | `true` | Enable or disable the REST API documentation. |
-| `docs.path` | String | /api/docs | Path to the REST API documentation. |
-| `docs.title` | String | `site_title` API Documentation | API docs title. Uses the `site_title` parameter from the [global](#global) parameters. |
-| `docs.description` | String | | API docs description. Appears below the title. |
-
-The documentation for API endpoints follow a common schema:
-
-- `devices`
-- `info`
-- `queries`
-- `query`
-
-### Schema
-
-| Parameter | Type | Description |
-| :------------ | :----- | :------------------------------------------------------------------------------- |
-| `title` | String | API endpoint title, displayed as the header text above the API endpoint section. |
-| `description` | String | API endpoint description, displayed inside each API endpoint section. |
-| `summary` | String | API endpoint summary, displayed beside the API endpoint path. |
-
-### Parameters
-
-| Parameter | Default Value |
-| :------------------------- | :------------------------------------------------------------------------------------------ |
-| `docs.devices.title` | Devices |
-| `docs.devices.description` | List of all devices/locations with associated identifiers, display names, networks, & VRFs. |
-| `docs.devices.summary` | Devices List |
-| `docs.info.title` | System Information |
-| `docs.info.description` | General information about this looking glass. |
-| `docs.info.summary` | System Information |
-| `docs.queries.title` | Supported Queries |
-| `docs.queries.description` | List of supported query types. |
-| `docs.queries.summary` | Query Types |
-| `docs.query.title` | Supported Query |
-| `docs.query.description` | Request a query response per-location. |
-| `docs.query.summary` | Query the Looking Glass |
-
-#### Example with Defaults
-
-```yaml filename="config.yaml"
-docs:
- base_url: https://lg.example.com
- enable: true
- mode: redoc
- path: /api/docs
- title: Beloved Hyperglass User Looking Glass API Documentation
- description: null
- # API Endpoints ↓
- devices:
- title: Devices
- description: List of all devices/locations with associated identifiers, display names, networks, & VRFs.
- summary: Devices List
- info:
- title: System Information
- description: General information about this looking glass.
- summary: System Information
- queries:
- title: Supported Queries
- description: List of supported query types.
- summary: Query Types
- query:
- title: Supported Query
- description: Request a query response per-location.
- summary: Query the Looking Glass
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/config/caching.mdx b/src/stale/hyperglass/docs/pages/configuration/config/caching.mdx
deleted file mode 100644
index 839b8e1..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config/caching.mdx
+++ /dev/null
@@ -1,16 +0,0 @@
-## Cache
-
-hyperglass automatically caches responses to reduce the number of times devices are queried for the same information.
-
-| Parameter | Type | Default Value | Description |
-| :---------------- | :------ | :------------ | :------------------------------------------------------------------------------ |
-| `cache.timeout` | Number | 120 | Number of seconds for which to cache device responses. |
-| `cache.show_text` | Boolean | True | If true, an indication that a user is viewing cached information will be shown. |
-
-### Example with Defaults
-
-```yaml filename="config.yaml"
-cache:
- timeout: 120
- show_text: true
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/config/logging.mdx b/src/stale/hyperglass/docs/pages/configuration/config/logging.mdx
deleted file mode 100644
index 5f1e834..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config/logging.mdx
+++ /dev/null
@@ -1,90 +0,0 @@
-## Logging
-
-Console, file, HTTP, and/or syslog logging configuration.
-
-| Parameter | Type | Default Value | Description |
-| :---------- | :----- | :------------ | :---------------------------------------------- |
-| `directory` | String | /tmp | Path to directory where logs will be created. |
-| `format` | String | text | Log text format, must be `text` or `json`. |
-| `max_size` | String | 50MB | Maximum log file size before being overwritten. |
-
-### Syslog
-
-| Parameter | Type | Default Value | Description |
-| :-------- | :----- | :------------ | :---------------------- |
-| `host` | String | | Syslog target host. |
-| `port` | Number | 514 | Syslog target UDP port. |
-
-##### Syslog Example
-
-```yaml filename="config.yaml" copy
-logging:
- syslog:
- host: log.example.com
- port: 514
-```
-
-### HTTP Logging
-
-If enabled, logs will be sent by HTTP `POST` method.
-
-| Parameter | Type | Default Value | Description |
-| :----------- | :------ | :------------ | :---------------------------------------------- |
-| `provider` | String | generic | Must be `generic`, `msteams`, or `slack`. |
-| `host` | String | | URL |
-| `headers` | Map | | |
-| `params` | Map | | |
-| `verify_ssl` | Boolean | true | Enable or disable SSL certificate verification. |
-| `timeout` | Number | 5 | HTTP connection timeout in seconds. |
-
-#### Authentication
-
-Authentication is supported using HTTP basic authentication or an API key.
-
-| Parameter | Type | Default Value | Description |
-| :----------------------------- | :----- | :------------ | :--------------------------------------------------------------------------------------------------------- |
-| `http.authentication.mode` | String | basic | Must be `basic` or `api_key`. |
-| `http.authentication.username` | String | | Basic authentication username if `mode` is set to `basic`. |
-| `http.authentication.password` | String | | Basic authentication password if `mode` is set to `basic`, or API key value if `mode` is set to `api_key`. |
-| `http.authentication.header` | String | X-API-Key | Header name if `mode` is set to `api_key`. |
-
-#### Examples
-
-##### Generic
-
-```yaml filename="config.yaml" copy
-logging:
- http:
- provider: generic
- host: https://httpbin.org
- headers:
- x-special-header: super special header value
- params:
- source: hyperglass
- verify_ssl: true
- timeout: 5
- authentication:
- mode: basic
- username: your username
- password: super secret password
-```
-
-In the above example, hyperglass will send a `POST` request to `https://httpbin.org?source=hyperglass` with Basic Authentication headers set.
-
-##### Microsoft Teams Webhook
-
-```yaml filename="config.yaml" copy
-logging:
- http:
- provider: msteams
- host:
-```
-
-##### Slack
-
-```yaml filename="config.yaml" copy
-logging:
- http:
- provider: slack
- host:
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/config/messages.mdx b/src/stale/hyperglass/docs/pages/configuration/config/messages.mdx
deleted file mode 100644
index 135a788..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config/messages.mdx
+++ /dev/null
@@ -1,23 +0,0 @@
-## Message Customization
-
-hyperglass provides as much control over user-facing text/messages as possible. The following messages may be adjusted as needed:
-
-| Parameter | Type | Default Value | Description |
-| :------------------------------ | :----- | :------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `messages.authentication_error` | String | Authentication error occurred. | Displayed when hyperglass is unable to authenticate to a device. Usually, this indicates a configuration error. |
-| `messages.connection_error` | String | Error connecting to \{device_name\}: \{error\} | Displayed when hyperglass is unable to connect to a device. Usually, this indicates a configuration error. `{device_name}` and `{error}` will be used to display the device in question and the specific connection error. |
-| `messages.general` | String | Something went wrong. | Displayed when errors occur that hyperglass didn't anticipate or handle correctly. Seeing this error message may indicate a bug in hyperglass. If you see this in the wild, try enabling [debug mode](#global) and review the logs to pinpoint the source of the error. |
-| `messages.invalid_input` | String | \{target\} is not valid. | Displayed when a query target's value is invalid in relation to the corresponding query type. `{target}` will be used to display the invalid target. |
-| `messages.invalid_query` | String | \{target\} is not a valid \{query_type\} target. | Displayed when a query target's value is invalid in relation to the corresponding query type. `{target}` and `{query_type}` may be used to display the invalid target and corresponding query type. |
-| `messages.no_input` | String | \{field\} must be specified. | Displayed when a required field is not specified. `{field}` will be used to display the name of the field that was omitted. |
-| `messages.no_output` | String | The query completed, but no matching results were found. | Displayed when hyperglass can connect to a device and execute a query, but the response is empty. |
-| `messages.not_found` | String | \{type\} '\{name\}' not found. | Displayed when an object property does not exist in the configuration. `{type}` corresponds to a user-friendly name of the object type (for example, 'Device'), `{name}` corresponds to the object name that was not found. |
-| `messages.request_timeout` | String | Request timed out. | Displayed when the [`request_timeout`](#global) time expires. |
-| `messages.target_not_allowed` | String | \{target\} is not allowed. | Displayed when a query target is implicitly denied by a configured rule. `{target}` will be used to display the denied query target. |
-
-##### Example
-
-```yaml filename="config.yaml"
-message:
- general: Something with wrong.
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/config/structured-output.mdx b/src/stale/hyperglass/docs/pages/configuration/config/structured-output.mdx
deleted file mode 100644
index df93625..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config/structured-output.mdx
+++ /dev/null
@@ -1,61 +0,0 @@
-## Structured
-
-Devices that support responding to a query with structured or easily parsable data can have their response data placed into an easier to read table (or JSON, when using the REST API). Currently, the following platforms have structured data supported in hyperglass:
-
-- Arista EOS
-- Juniper Junos
-
-When structured output is available, hyperglass checks the RPKI state of each BGP prefix returned using one of two methods:
-
-1. From the router's perspective
-2. From the perspective of [Cloudflare's RPKI Service](https://rpki.cloudflare.com/)
-
-Additionally, hyperglass provides the ability to control which BGP communities are shown to the end user.
-
-| Parameter | Type | Default Value | Description |
-| :----------------------------- | :-------------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------- |
-| `structured.rpki.mode` | String | router | Use `router` to use the router's view of the RPKI state (1 above), or `external` to use Cloudflare's view (2 above). |
-| `structured.communities.mode` | String | deny | Use `deny` to deny any communities listed in `structured.communities.items`, or `permit` to _only_ permit communities listed. |
-| `structured.communities.items` | List of Strings | | List of communities to match. |
-
-### RPKI Examples
-
-#### Show RPKI State from the Device's Perspective
-
-```yaml filename="config.yaml" copy {2}
-structured:
- rpki:
- mode: router
-```
-
-#### Show RPKI State from a Public/External Perspective
-
-```yaml filename="config.yaml" copy {2}
-structured:
- rpki:
- mode: external
-```
-
-### Community Filtering Examples
-
-#### Deny Listed Communities by Regex pattern
-
-```yaml filename="config.yaml" {5-6}
-structured:
- communities:
- mode: deny
- items:
- - '^65000:1\d+$' # don't show any communities starting with 65000:1. 65000:1234 would be denied, but 65000:4321 would be permitted.
- - "65000:2345" # don't show the 65000:2345 community.
-```
-
-#### Permit only Listed Communities
-
-```yaml filename="config.yaml" {5-6}
-structured:
- communities:
- mode: permit
- items:
- - "^65000:.*$" # permit any communities starting with 65000, but no others.
- - "1234:1" # permit only the 1234:1 community.
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/config/web-ui.mdx b/src/stale/hyperglass/docs/pages/configuration/config/web-ui.mdx
deleted file mode 100644
index 7613447..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/config/web-ui.mdx
+++ /dev/null
@@ -1,294 +0,0 @@
-import { Callout } from "nextra/components";
-import { Color } from "~/components/color";
-
-## Web UI
-
-hyperglass provides extensive customization options for the look and feel of the web UI.
-
-| Parameter | Type | Default Value | Description |
-| :-------------------------- | :----- | :------------ | :----------------------------------------------------------------------------------------------------------------------------------------- |
-| `web.location_display_mode` | String | auto | Show the locations field as a `dropdown`, `gallery`. When using `auto`, if there are more than 5 location groups, `dropdown` will be used. |
-| `web.custom_javascript` | String | | Path to a javascript file that will be loaded with the website. |
-| `web.custom_html` | String | | Path to a custom HTML file that will be loaded with the website and rendered beneath the app. |
-
-### DNS over HTTPS
-
-[DNS over HTTPS](https://www.rfc-editor.org/rfc/rfc8484) is used to look up an FQDN query target from the perspective of the user's browser.
-
-| Parameter | Type | Default Value | Description |
-| :------------------ | :----- | :------------------------------------- | :-------------------------------------------------------------------------- |
-| `dns_provider.name` | String | cloudflare | If `cloudflare` or `google` are provided, no URL is necessary. |
-| `dns_provider.url` | String | `https://cloudflare-dns.com/dns-query` | Provide a custom DNS over HTTPS URL if you'd like to use your own resolver. |
-
-### Logo
-
-| Parameter | Type | Default Value | Description |
-| :----------------- | :--------------- | :------------ | :------------------------------------------------- |
-| `web.logo.light` | String | | Path to logo to show in light mode. |
-| `web.logo.dark` | String | | Path to logo to show in dark mode. |
-| `web.logo.favicon` | String | | Path to icon/logo from which to generate favicons. |
-| `web.logo.width` | Number or String | 100% | Width of logo, either as pixels or a percentage. |
-| `web.logo.height` | Number or String | | Height of logo, either as pixels or a percentage. |
-
-##### Example
-
-```yaml filename="config.yaml" copy
-web:
- logo:
- light: /path/to/light-logo.svg
- dark: /path/to/dark-logo.svg
- favicon: /path/to/favicon.svg
- width: 100%
- height: null
-```
-
-### Greeting
-
-The greeting is an optional modal/popup window that will present itself to users in the Web UI. It can be used for anything you want; for example:
-
-- A data privacy acknowledgement that must be acknowledged prior to proceeding
-- Information about your company
-- Instructions on how to use hyperglass
-
-| Parameter | Type | Default Value | Description |
-| :---------------------- | :------ | :------------ | :--------------------------------------------------------------------------------------------------- |
-| `web.greeting.enable` | Boolean | False | Enable or disable the greeting. |
-| `web.greeting.file` | String | | Path to markdown or plain text file that contains greeting content. |
-| `web.greeting.title` | String | Welcome | Text to be used as the greeting title. |
-| `web.greeting.button` | String | Continue | Text to be used for the button that acknowledges/closes the greeting. |
-| `web.greeting.required` | Boolean | False | If `true`, users cannot close the modal or run any queries until the greeting has been acknowledged. |
-
-##### Example
-
-```yaml filename="config.yaml" copy
-web:
- greeting:
- enable: true
- file: /path/to/your/file.md
- title: Welcome
- button: Continue
- required: false
-```
-
-### OpenGraph
-
-[OpenGraph](https://ogp.me/) is the thing that generates the pretty pictures, titles, and descriptions for links when you post them to sites/tools such as Facebook, Twitter, Slack, etc. By default, [this Opengraph image](/opengraph.jpg) is used, but you can provide your own image. You don't need to worry about sizing or formatting it properly, hyperglass will handle this for you.
-
-| Parameter | Type | Default Value | Description |
-| :-------------------- | :----- | :------------ | :---------------------------- |
-| `web.opengraph.image` | String | | Path to your OpenGraph image. |
-
-### Highlighting
-
-hyperglass can highlight special values in your router output and provide users with additional information about the content. For example, your organization's BGP communities or IP address space can be visually highlighted, and a tooltip can be shown when a user hovers over the highlighted value.
-
-Each value you wish to be highlighted is defined with the following schema:
-
-| Parameter | Type | Default Value | Description |
-| :-------- | :----- | :------------ | :------------------------------------------------------ |
-| `pattern` | String | | RegEx pattern or string to match against router output. |
-| `label` | String | | Tooltip value when the highlighted text is hovered. |
-| `color` | String | | Color name from [`web.theme.colors`](#colors). |
-
-##### Example
-
-```yaml filename="config.yaml" copy
-web:
- highlight:
- - pattern: "65000:1234"
- label: Special snowflake community that does a thing
- color: primary
- - pattern: '^192\.0\.2\.[0-9]+$'
- label: Magical IP Address
- color: blue
-```
-
-### Menus
-
-hyperglass can show completely-customizable menus in the footer. Each menu can be configured with the following schema:
-
-| Parameter | Type | Default Value | Description |
-| :-------- | :----- | :------------ | :------------------------------------------------------------------------------------------------------------------------- |
-| `title` | String | | Menu title, will be the text that shows on footer. |
-| `content` | String | | Plain text or markdown content of the menu or path to a file that contains plain text or markdown content. |
-| `side` | String | left | Side of the footer with which the menu will be grouped. |
-| `order` | Number | 0 | Optionally specify an order for each menu item. If not specified, menus will be rendered in the order they are configured. |
-
-##### Example
-
-```yaml filename="config.yaml" copy
-web:
- menus:
- - title: Terms & Conditions
- content:
- | **Don't** break stuff!
- _please_
- side: right
- order: 1
- - title: Help
- content: /path/to/help/file.md
- side: left
- order: 0
-```
-
-### Links
-
-hyperglass can show customizable links to anything you think your users might find helpful. Each link can be configured with the following schema:
-
-| Parameter | Type | Default Value | Description |
-| :---------- | :------ | :------------ | :-------------------------------------------------------------------------------------------------------------------- |
-| `title` | String | | Link text. |
-| `url` | String | | Link URL. |
-| `show_icon` | Boolean | True | If `true`, an icon indicating the link is an external link is shown. |
-| `side` | String | left | Side of the footer with which the link will be grouped. |
-| `order` | Number | 0 | Optionally specify an order for each link. If not specified, links will be rendered in the order they are configured. |
-
-##### Example
-
-```yaml filename="config.yaml" copy
-web:
- links:
- - title: PeeringDB
- url: https://www.peeringdb.com/65000
- show_icon: true
- side: right
- order: 1
- - title: Our Website
- url: https://example.com
- show_icon: false
- side: left
- order: 0
-```
-
-### Credit
-
-| Parameter | Type | Default | Description |
-| :-------- | :-----: | :-----: | :--------------------------------------------------------------------------------------- |
-| `enable` | Boolean | `true` | Enable or disable the display of developer credit & link to hyperglass GitHub repository |
-
-
- **Note from the Developer**
- If your organization's policy allows, and you don't mind, I request that you keep `credit`
- enabled. Remember: my goal for this project is get more networks to use looking glasses to make all
- of our lives easier. Because it's primarily other network operators who will use this tool to begin
- with, I'd love for any operators that use your looking glass to know where they can get their own.
-
-
-### Text
-
-Most of the text in the hyperglass UI can be overridden to suit your needs.
-
-| Parameter | Type | Default Value | Description |
-| :--------------------------- | :----- | :------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `web.text.title_mode` | String | logo_only | See [title mode section](#title-mode) |
-| `web.text.title` | String | hyperglass | Title text. |
-| `web.text.subtitle` | String | Network Looking Glass | Subtitle text. |
-| `web.text.query_location` | String | Location | Text used to label the query location (router) field. |
-| `web.text.query_type` | String | Query Type | Text used to label the query type (directive) field. |
-| `web.text.query_target` | String | Target | Text used to label the query target field. |
-| `web.text.fqdn_tooltip` | String | Use \{protocol\} | Tooltip text used when a user hovers over the FQDN tooltip. |
-| `web.text.fqdn_message` | String | Your browser has resolved \{fqdn\} to | Text used when prompting a user to select a resolve IPv4 or IPv6 address for an FQDN query. |
-| `web.text.fqdn_error` | String | Unable to resolve \{fqdn\} | Text used when an FQDN is not resolvable. |
-| `web.text.fqdn_error_button` | String | Try Again | Button text used when an FQDN is not resolvable. |
-| `web.text.cache_prefix` | String | Results cached for | Text displayed with the cache timeout countdown. |
-| `web.text.cache_icon` | String | Cached from \{time\} UTC | Text used when a user hovers over the cache icon, which is displayed when a response was a cached response. `{time}` is replaced with the _original_ query's timestamp. |
-| `web.text.complete_time` | String | Completed in \{seconds\} | Text used when a user hovers over the success icon for a query result. `{seconds}` will be replaced with 'n seconds' where n is the time a query took to complete. |
-| `web.text.rpki_invalid` | String | Invalid | Text used in table output when a route's RPKI status is invalid. |
-| `web.text.rpki_valid` | String | Valid | Text used in table output when a route's RPKI status is valid. |
-| `web.text.rpki_unknown` | String | No ROAs Exist | Text used in table output when a route's RPKI status is unknown. |
-| `web.text.rpki_unverified` | String | Not Verified | Text used in table output when a route's RPKI status is unverified. |
-| `web.text.no_communities` | String | No Communities | Text used in table output when a route has no communities. |
-| `web.text.ip_error` | String | Unable to determine IP Address | Error displayed if hyperglass is unable to determine the user's IP. |
-| `web.text.no_ip` | String | No \{protocol\} Address | Text displayed if the user doesn't have an IP address of \{protocol\} (IPv4 or IPv6). |
-| `web.text.ip_select` | String | Select an IP Address | Text used to label the IP Address selection for the user's IP. |
-| `web.text.ip_button` | String | My IP | Text used for the user IP button. |
-
-#### Title Mode
-
-Available title modes are:
-
-| `title_mode` Value | Action |
-| :----------------- | :------------------------------------------------------------------ |
-| `logo_only` | Only the logo is displayed, no title or subtitle will be visible. |
-| `text_only` | Only the title and subtitle are displayed, no logo will be visible. |
-| `logo_subtitle` | Only the logo and subtitle are displayed, no title will be visible. |
-| `all` | Logo, title, and subtitle will all be visible. |
-
-##### Example
-
-```yaml filename="config.yaml"
-web:
- text:
- title: Our Looking Glass
- subtitle: Company Name, Inc.
- title_mode: text_only
-```
-
-### Theme
-
-hyperglass allows you to customize the colors and fonts used in the Web UI.
-
-| Parameter | Type | Default Value | Description |
-| :----------------------------- | :----- | :------------ | :--------------------------------------------------------------------------------------------------------------- |
-| `web.theme.default_color_mode` | String | | Set hyperglass's default color mode. By default, the user's system preference is used. Must be `light` or `dark` |
-
-#### Colors
-
-##### Intrinsic Colors
-
-| Parameter | Default Value |
-| :------------------------ | :---------------------- |
-| `web.theme.colors.black` | |
-| `web.theme.colors.white` | |
-| `web.theme.colors.dark` | |
-| `web.theme.colors.light` | |
-| `web.theme.colors.gray` | |
-| `web.theme.colors.red` | |
-| `web.theme.colors.orange` | |
-| `web.theme.colors.yellow` | |
-| `web.theme.colors.green` | |
-| `web.theme.colors.blue` | |
-| `web.theme.colors.teal` | |
-| `web.theme.colors.cyan` | |
-| `web.theme.colors.pink` | |
-| `web.theme.colors.purple` | |
-
-##### Functional Colors
-
-| Parameter | Default Value |
-| :--------------------------- | :--------------------- |
-| `web.theme.colors.primary` | |
-| `web.theme.colors.secondary` | |
-| `web.theme.colors.success` | |
-| `web.theme.colors.warning` | |
-| `web.theme.colors.error` | |
-| `web.theme.colors.danger` | |
-
-###### Example
-
-To override hyperglass's primary color, it's recommended to override its mapped intrinsic color. For example, to override the default primary color to cyan:
-
-```yaml filename="config.yaml"
-web:
- theme:
- colors:
- cyan: "#00ffff"
-```
-
-#### Fonts
-
-hyperglass's fonts are loaded from [Google Fonts](https://fonts.google.com/). Any Google font name may be specified to override the default fonts.
-
-| Parameter | Type | Default Value | Description |
-| :--------------------- | :----- | :------------ | :--------------------------------------------------------------------------------------- |
-| `web.theme.fonts.body` | String | Nunito | Font for all standard body text, including headings. |
-| `web.theme.fonts.mono` | String | Fire Code | Font for all monospace text such as inline code or code blocks, including device output. |
-
-##### Example
-
-```yaml filename="config.yaml"
-web:
- theme:
- fonts:
- body: Inter
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/devices.mdx b/src/stale/hyperglass/docs/pages/configuration/devices.mdx
deleted file mode 100644
index f30799a..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/devices.mdx
+++ /dev/null
@@ -1,135 +0,0 @@
-import { Callout } from "nextra/components";
-import { SupportedPlatforms } from "~/components/platforms";
-import { DocsButton } from "~/components/docs-button";
-
-## Device Configuration Parameters
-
-Each configured device may have the following parameters:
-
-| Parameter | Type | Default Value | Description |
-| :------------------ | :-------------- | :------------ | :----------------------------------------------------------------------------------------------------------------------------------------- |
-| `name` | String | | Display name of the device. |
-| `description` | String | | Description of the device, displayed as a subtle label. |
-| `avatar` | String | | Path to an avatar/logo image for this site. Used when [`web.location_display_mode`](/configuration/config/web-ui.mdx) is set to `gallery`. |
-| `address` | String | | IPv4 address, IPv6 address, or hostname of the device. |
-| `group` | String | | Group name, used to visually group devices in the UI. |
-| `port` | Number | | TCP port on which to connect to the device. |
-| `platform` | String | | Device platform/OS. Must be a [supported platform](/platforms.mdx). |
-| `structured_output` | Boolean | True | Disable structured output for a device that supports it. |
-| `directives` | List of Strings | | Enable referenced directives configured in the [directives config file](/configuration/directives.mdx). |
-| `driver` | String | netmiko | Specify which driver to use for this device. Currently, only `netmiko` is supported. |
-| `driver_config` | Mapping | | Mapping/dict of options to pass to the connection driver. |
-| `attrs` | Mapping | | Mapping/dict of variables, as referenced in configured directives. |
-| `credential` | Mapping | | Mapping/dict of a [credential configuration](/configuration/devices/credentials.mdx). |
-| `http` | Mapping | | Mapping/dict of [HTTP client options](/configuration/devices/http-device.mdx), if this device is connected via HTTP. |
-| `proxy` | Mapping | | Mapping/dict of [SSH proxy config](/configuration/devices/ssh-proxy.mdx) to use for this device's requests. |
-
-
-
-hyperglass ships with predefined [directives](/configuration/directives.mdx) (commands) for the following [platforms](platforms.mdx):
-
-
-
-All built in directives require that the following `attrs` be defined on each device using the directive:
-
-| Attribute | Value |
-| :-------- | :-------------------------------------------------------- |
-| `source4` | IPv4 address used to source Ping and Traceroute commands. |
-| `source6` | IPv6 address used to source Ping and Traceroute commands. |
-
-**Example**
-
-```yaml filename="devices.yaml" {5-7} copy
-devices:
- - name: New York, NY
- address: 192.0.2.1
- platform: cisco_ios
- attrs:
- source4: 192.0.2.1
- source6: "2001:db8::1"
-```
-
-
-
-
- If you do not utilize IPv6 in your network, you'll need to create your own directive that only
- has IPv4 commands.
-
-
-## Examples
-
-### Simple
-
-```yaml filename="devices.yaml" copy
-devices:
- - name: New York, NY
- address: 192.0.2.1
- platform: cisco_ios
- credential:
- username: you
- password: your password
- - name: San Francisco, CA
- address: 192.0.2.2
- platform: juniper
- credential:
- username: you
- password: your password
-```
-
-
- {" "}
- With Directives
-
-
-In this example, an additional directive `cisco-show-lldp-neighbors` is added to the built-in directives.
-
-```yaml filename="devices.yaml" copy {8-9}
-devices:
- - name: New York, NY
- address: 192.0.2.1
- platform: cisco_ios
- credential:
- username: you
- password: your password
- directives:
- - cisco-show-lldp-neighbors
-```
-
-
- {" "}
- Disable Built-in Directives
-
-
-In this example, _only_ the `cisco-show-lldp-neighbors` directive will be available. Built-in directives are disabled.
-
-```yaml filename="devices.yaml" copy {8-10}
-devices:
- - name: New York, NY
- address: 192.0.2.1
- platform: cisco_ios
- credential:
- username: you
- password: your password
- directives:
- - builtin: false
- - cisco-show-lldp-neighbors
-```
-
-
- {" "}
- Enable Specifc Built-in Directives
-
-
-In this example, only specified built-in directives are made available.
-
-```yaml filename="devices.yaml" copy {8-9}
-devices:
- - name: New York, NY
- address: 192.0.2.1
- platform: cisco_ios
- credential:
- username: you
- password: your password
- directives:
- - builtin: [bgp_route, traceroute]
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/devices/_meta.tsx b/src/stale/hyperglass/docs/pages/configuration/devices/_meta.tsx
deleted file mode 100644
index cc95490..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/devices/_meta.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-export default {
- credentials: "Credentials",
- "http-device": "HTTP Device",
- "ssh-proxy": "SSH Proxy",
-};
diff --git a/src/stale/hyperglass/docs/pages/configuration/devices/credentials.mdx b/src/stale/hyperglass/docs/pages/configuration/devices/credentials.mdx
deleted file mode 100644
index 463ff68..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/devices/credentials.mdx
+++ /dev/null
@@ -1,35 +0,0 @@
-Each device must be configured with credentials with which hyperglass can log into the device and execute commands.
-
-## Credential Configuration
-
-| Parameter | Type | Default Value | Description |
-| :-------------------- | :----- | :------------ | :----------------------------------------------------- |
-| `credential.username` | String | | Username to use for authentication to the device. |
-| `credential.password` | String | | Password to use for authentication to the device. |
-| `credential.key` | String | | Path to SSH key used for authentication to the device. |
-
-### Examples
-
-#### Username & Password
-
-```yaml filename="devices.yaml" copy {5-7}
-devices:
- - name: New York, NY
- address: 192.0.2.1
- platform: cisco_ios
- credential:
- username: you
- password: your password
-```
-
-#### SSH Private Key
-
-```yaml filename="devices.yaml" copy {5-7}
-devices:
- - name: San Francisco, CA
- address: 192.0.2.2
- platform: juniper
- credential:
- username: you
- key: /path/to/your/ssh/key
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/devices/http-device.mdx b/src/stale/hyperglass/docs/pages/configuration/devices/http-device.mdx
deleted file mode 100644
index ce14abe..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/devices/http-device.mdx
+++ /dev/null
@@ -1,85 +0,0 @@
-hyperglass supports collecting output from a generic HTTP endpoint.
-
-## HTTP Configuration
-
-| Parameter | Type | Default Value | Description |
-| :---------------------- | :------ | :------------ | :--------------------------------------------------------------------------------------------------------------------- |
-| `http.attribute_map` | Mapping | | Mapping/dict of hyperglass query fields as keys, and hyperglass query field replacements as values. |
-| `http.basic_auth` | Mapping | | If basic authentication is required, provide a mapping/dict containing the basic authentication username and password. |
-| `http.body_format` | String | json | Body format, options are `json` `yaml` `xml` `text` |
-| `http.follow_redirects` | Boolean | `false` | Follow HTTP redirects from server. |
-| `http.headers` | Mapping | | Mapping/dict of http headers to append to requests. |
-| `http.method` | String | GET | HTTP method to use for requests. |
-| `http.path` | String | / | HTTP URI/Path. |
-| `http.query` | Mapping | | Mapping/Dict of URL Query Parameters. |
-| `http.retries` | Number | 0 | Number of retries to perform before request failure. |
-| `http.scheme` | String | https | HTTP schema, must be `http` or `https` |
-| `http.source` | String | | Request source IP address. |
-| `http.ssl_ca` | String | | Path to SSL CA certificate file for SSL validation. |
-| `http.ssl_client` | String | | Path to client SSL certificates for request. |
-| `http.timeout` | Number | 5 | Request timeout in seconds. |
-| `http.verify_ssl` | Boolean | `true` | If `false`, invalid certificates for HTTPS hosts will be ignored. |
-
-### Example
-
-#### Basic
-
-The following example will send an HTTP POST request to `https://192.0.2/path/to/query/device` with HTTP basic authentication, and will not verify the SSL certificate.
-
-```yaml filename="devices.yaml" copy
-devices:
- - name: New York, NY
- address: 192.0.2.1
- http:
- path: /path/to/query/device
- method: POST
- verify_ssl: false
- basic_auth:
- username: you
- password: your password
-```
-
-Given the following hyperglass query:
-
-| Field | Value |
-| :------------- | :------------------ |
-| Query Target | `192.0.2.0/24` |
-| Query Location | `your_location` |
-| Query Type | `example_directive` |
-
-The body of the request will be:
-
-```json
-{
- "query_target": "192.0.2.0/24",
- "query_location": "your_location",
- "query_type": "example_directive"
-}
-```
-
-#### Non-HTTPS Request
-
-The following example will send an HTTP GET request to `http://192.0.2.1/path/to/query/device`:
-
-```yaml filename="devices.yaml" {6} copy
-devices:
- - name: New York, NY
- address: 192.0.2.1
- http:
- path: /path/to/query/device
- scheme: http
-```
-
-#### Header Authentication
-
-The following example will send an HTTP GET request to `https://192.0.2.1/path/to/query/device` with an `Authorization` header:
-
-```yaml filename="devices.yaml" {6-7} copy
-devices:
- - name: New York, NY
- address: 192.0.2.1
- http:
- path: /path/to/query/device
- headers:
- Authorization: your special token
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/devices/ssh-proxy.mdx b/src/stale/hyperglass/docs/pages/configuration/devices/ssh-proxy.mdx
deleted file mode 100644
index 99d19f1..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/devices/ssh-proxy.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
-In cases where access to the devices is secured behind a "jump box" or other intermediary server/device, hyperglass can use SSH local port forwarding to SSH to an intermedary device first, and then to the device.
-
-## SSH Proxy Configuration
-
-| Parameter | Type | Default Value | Description |
-| :----------------- | :------ | :------------ | :----------------------------------------------------------------------------------- |
-| `proxy.address` | String | | IPv4 address, IPv6 address, or hostname of SSH proxy. |
-| `proxy.port` | Number | 22 | TCP port to use for connecting to the SSH proxy. |
-| `proxy.platform` | String | linux_ssh | Currently, only `linux_ssh` is supported. |
-| `proxy.credential` | Mapping | | Mapping/dict of a [credential configuration](/configuration/config/credentials.mdx). |
-
-### Examples
-
-#### Use an SSH Proxy When Connecting to a Device
-
-```yaml filename="devices.yaml" copy
-devices:
- - name: New York, NY
- address: 192.0.2.1
- credential:
- username: you
- password: your password
- proxy:
- address: 203.0.113.1
- credential:
- username: your proxy username
- password: your proxy password
-```
-
-In the above example, the credentials `your proxy username`/`your proxy password` will be used to authenticate from the hyperglass server to the SSH proxy, and the credentials `you`/`your password` will be used to authentiate from the SSH proxy to the device.
diff --git a/src/stale/hyperglass/docs/pages/configuration/directives.mdx b/src/stale/hyperglass/docs/pages/configuration/directives.mdx
deleted file mode 100644
index 9da3812..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/directives.mdx
+++ /dev/null
@@ -1,188 +0,0 @@
-import { Callout } from "nextra/components";
-
-## What is a directive?
-
-
-
-A directive is a defined configuration for one or more **commands** to run on a device. For example, a BGP Route query is a built-in directive. A directive defines:
-
-- What command (or commands) to run on the device
-- Type of UI field, text input or select
-- If the field can accept multiple values
-- Help information to show about the directive
-- Validation rules
-
-
-
-Each directive has the following options:
-
-| Parameter | Type | Default Value | Description |
-| :------------------- | :-------------- | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `name` | String | | Display name of the directive. |
-| `rules` | List of Rules | | List of [rule configs](#rules) |
-| `field` | Mapping | | Mapping/dict of [fields config](#fields) |
-| `info` | String | | File path to markdown-formatted help information about the directive. |
-| `plugins` | List of Strings | | List of plugin names to use with this directive. |
-| `groups` | List of Strings | | List of names by which directives are grouped in the UI. |
-| `multiple` | Boolean | `false` | Command supports receiving multiple values. For example, Cisco IOS's `show ip bgp community` accepts multiple communities as arguments. |
-| `multiple_separator` | String | `" "` | String by which multiple values are separated. For example, a list of values `[65001, 65002, 65003]` would be rendered as `65001 65002 65003` for when the command is run. |
-
-## Rules
-
-A rule is a way of saying "if a query target matches the rule's conditions, run this command".
-
-| Parameter | Type | Default Value | Description |
-| :---------- | :-------------- | :------------ | :--------------------------------------------------------------------------------------------- |
-| `condition` | String | | Regular expression to match or IP prefix in which the value being evaluated must be contained. |
-| `action` | String | permit | `permit` or `deny` the directive target when this rule is matched. |
-| `commands` | List of Strings | | Commands to run when this rule matches. `{target}` is replaced with the query target. |
-
-### IP Rule
-
-| Parameter | Type | Default Value | Description |
-| :------------------ | :------ | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `ge` | Number | 0 | Prefix length greater than defined will be matched. |
-| `le` | Number | 32,128 | `32` for IPv4 evaluations, `128` for IPv6 evaluations. Prefix length less than defined will be matched. |
-| `allow_reserved` | Boolean | `false` | Allow reserved ([RFC1918](https://www.rfc-editor.org/rfc/rfc1918), [RFC5735](https://www.rfc-editor.org/rfc/rfc5735), [RFC5737](https://www.rfc-editor.org/rfc/rfc5737.html), etc.) addresses to pass validation. |
-| `allow_unspecified` | Boolean | `false` | Allow unspecified addresses (`0.0.0.0` `::`) to pass validation. |
-| `allow_loopback` | Boolean | `false` | Allow [loopback addresses](https://www.rfc-editor.org/rfc/rfc1700.html) (`127.0.0.0/8` `::1`) to pass validation. |
-
-#### Examples
-
-##### Require IPv4 Queries between /8 and /24
-
-```yaml filename="directives.yaml" {5-6} /{target} {mask}/ copy
-your-directive:
- name: IP Route
- rules:
- - condition: 0.0.0.0/0
- ge: 8
- le: 24
- command: "show ip route {target} {mask}"
-```
-
-Given a query target of 198.18.0.0/15, the command run on the device would be:
-
-```none /198.18.0.0 255.254.0.0/
-show ip route 198.18.0.0 255.254.0.0
-```
-
-##### Deny a Specific Prefix
-
-```yaml filename="directives.yaml" {5} copy
-your directive:
- name: BGP Route
- rules:
- - condition: "192.0.2.0/24"
- action: deny
- - condition: "0.0.0.0/0"
- command: "show ip bgp {target}"
-```
-
-In this example, a query of any IP address or prefix contained within 192.0.2.0/24 will result in an error.
-
-##### Run Multiple Commands
-
-```yaml filename="directives.yaml" /{target}/ {6-7} copy
-your-directive:
- name: BGP Communities
- rules:
- - condition: "65000:[0-9]+"
- commands:
- - "show route table inet.0 community {target} detail"
- - "show route table inet6.0 community {target} detail"
-```
-
-In this example, a query of `65000:1` would result in the following commands being sent to the device:
-
-```none /65000:1/
-show route table inet.0 community 65000:1 detail
-show route table inet6.0 community 65000:1 detail
-```
-
-The output for both commands will be shown as the query result.
-
-### Regex Validation
-
-To validate input by regex pattern, just specify a regex pattern as the `condition`
-
-```yaml filename="directives.yaml" copy
-your-directive:
- name: DNS Query
- rules:
- - condition: '^.+\.yourdomain\.com$'
-```
-
-### No Validation
-
-```yaml filename="directives.yaml" /{target}/ copy {4}
-your-directive:
- name: IP Route
- rules:
- - condition: null
- command: show ip route {target}
-```
-
-In this example, any query would pass, regardless of query input. For instance, if a user selected this directive/query type and queried `your mom`, the real command sent to the device will be:
-
-```none /your mom/
-show ip route your mom
-```
-
-## Fields
-
-### Text Input
-
-| Parameter | Type | Default Value | Description |
-| :------------ | :----- | :------------ | :---------------------------------------------------- |
-| `description` | String | | Field description, displayed as a label or help text. |
-| `validation` | String | | Regex pattern to validate text input. |
-
-### Select
-
-| Parameter | Type | Default Value | Description |
-| :------------ | :-------------- | :------------ | :---------------------------------------------------- |
-| `description` | String | | Field description, displayed as a label or help text. |
-| `options` | List of Options | | |
-
-#### Options
-
-Each select option uses the following schema:
-
-| Parameter | Type | Default Value | Description |
-| :------------ | :----- | :------------ | :------------------------------------------------------- |
-| `description` | String | | Field description, displayed as a label or help text. |
-| `name` | String | | If specified, will be used as the option's display name. |
-| `value` | String | | Option value sent to the device. |
-
-### Examples
-
-Example of a text directive expecting a string value matching a regex pattern:
-
-```yaml filename="directives.yaml" copy {6-7}
-your-directive:
- name: IP Route
- rules:
- - condition: null
- command: show ip route {target}
- field:
- description: IP of target
- validation: '[0-9a-f\.\:]+'
-```
-
-Example of a select directive:
-
-```yaml filename="directives.yaml" copy {6-12}
-your-directive:
- name: BGP Community
- rules:
- - condition: null
- command: show ip bgp community {target}
- field:
- description: BGP community to show
- options:
- - value: "65001:1"
- description: Provider A Routes
- - value: "65001:2"
- description: Provider B Routes
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/examples/_meta.tsx b/src/stale/hyperglass/docs/pages/configuration/examples/_meta.tsx
deleted file mode 100644
index d415124..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/examples/_meta.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-export default {
- "basic-configuration": "Basic Configuration",
- "add-your-own-command": "Add Your Own Command",
- "customize-the-ui": "Customize the UI",
-};
diff --git a/src/stale/hyperglass/docs/pages/configuration/examples/add-your-own-command.mdx b/src/stale/hyperglass/docs/pages/configuration/examples/add-your-own-command.mdx
deleted file mode 100644
index a8f588a..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/examples/add-your-own-command.mdx
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Steps } from "nextra/components";
-
-## Add Your Own Command
-
-While hyperglass does come with several built-in [directives](/configuration/configuration/directives.mdx) (commands), you can also add your own. For example, say you want to add a command that shows the BGP summary from a device:
-
-
-
-### Create the Directive
-
-```yaml filename="directives.yaml" copy
-show-bgp-summary:
- name: BGP Summary
- rules:
- - condition: null
- command: show bgp all summary
- field: null
-```
-
-### Associate the Directive with the Device
-
-```yaml filename="devices.yaml" {5-6} copy
-devices:
- - name: Your Router
- address: 192.0.2.1
- platform: cisco_ios
- directives:
- - show-bgp-summary
-```
-
-
-
-## Default Directives
-
-By default, all built-in directives are _also_ enabled. If you wish to _only_ enable directives you specify, you can use `builtins: false` as a directive:
-
-```yaml filename="devices.yaml" {6-7} copy
-devices:
- - name: Your Router
- address: 192.0.2.1
- platform: cisco_ios
- directives:
- - builtins: false
- - show-bgp-summary
-```
-
-In the above example, _only_ the `show-bgp-summary` directive will be enabled.
-
-You can also selectively enable certain built-in directives:
-
-```yaml filename="devices.yaml" {6} copy
-devices:
- - name: Your Router
- address: 192.0.2.1
- platform: cisco_ios
- directives:
- - builtins: [bgp_route, traceroute]
-```
-
-In the above example, _only_ the BGP Route and Traceroute built-in directives will be enabled.
diff --git a/src/stale/hyperglass/docs/pages/configuration/examples/basic-configuration.mdx b/src/stale/hyperglass/docs/pages/configuration/examples/basic-configuration.mdx
deleted file mode 100644
index c7e64c5..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/examples/basic-configuration.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Basic Configuration
-description: Get started with a basic hyperglass configuration
----
-
-import { Callout } from "nextra/components";
-
-To get started, hyperglass only needs to know about your devices.
-
-
- **Devices** are your routers, switches, or whatever else you want to call the endpoints
- hyperglass will query for information.
-
-
-## Simple Device Configuration
-
-```yaml filename="devices.yaml"
-devices:
- - name: NYC Router 1
- address:
- credential:
- username:
- password:
- platform: cisco_ios
- attrs:
- source4:
- source6:
-```
-
-That's it!
diff --git a/src/stale/hyperglass/docs/pages/configuration/examples/customize-the-ui.mdx b/src/stale/hyperglass/docs/pages/configuration/examples/customize-the-ui.mdx
deleted file mode 100644
index 24e564a..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/examples/customize-the-ui.mdx
+++ /dev/null
@@ -1,60 +0,0 @@
----
-description: Customize hyperglass to fit your needs.
----
-
-import { DocsButton } from "~/components/docs-button";
-
-
- {" "}
- Change the Title and Organization Name
-
-
-```yaml filename="config.yaml"
-site_title: Our super neat looking glass
-org_name: Cool Company
-```
-
-
- {" "}
- Change the Logo
-
-
-```yaml filename="config.yaml" {2-4} copy
-web:
- logo:
- light:
- dark:
-```
-
-
- {" "}
- Change the Color Scheme
-
-
-```yaml filename="config.yaml" copy {3-5}
-web:
- theme:
- colors:
- primary: "#d84b4b"
- secondary: "#118ab2"
-```
-
-
- {" "}
- Add a Link to the Footer
-
-
-```yaml filename="config.yaml" copy
-web:
- links:
- - title: PeeringDB
- url: https://www.peeringdb.com/65000
- show_icon: true
- side: right
- order: 1
- - title: Our Website
- url: https://example.com
- show_icon: false
- side: left
- order: 0
-```
diff --git a/src/stale/hyperglass/docs/pages/configuration/overview.mdx b/src/stale/hyperglass/docs/pages/configuration/overview.mdx
deleted file mode 100644
index c90c4dc..0000000
--- a/src/stale/hyperglass/docs/pages/configuration/overview.mdx
+++ /dev/null
@@ -1,76 +0,0 @@
-import { Code, Table, Td, Th, Tr, Callout } from "nextra/components";
-import { SupportedPlatforms } from "~/components/platforms";
-
-Once you've gotten started with a basic configuration, you'll probably want to customize the look and feel of hyperglass by changing the logo or color scheme. Fortunately, there are _a lot_ ways to customize hyperglass.
-
-## Configuration Files
-
-| File Name | Docs | Purpose |
-| :----------- | :---------------------------------------------------: | :------------------------------------------------------------------------- |
-| `config` | [Config File Docs](/configuration/config.mdx) | Application-wide configuration such as logging, web UI customization, etc. |
-| `devices` | [Devices File Docs](/configuration/devices.mdx) | Your devices and their associated configurations. |
-| `directives` | [Directives File Docs](/configuration/directives.mdx) | Custom directives (commands). |
-
-
- **File Extensions**
- All the examples in the docs are provided in [YAML](https://yaml.org/) format, but [TOML](https://toml.io/),
- JSON, and Python files are also supported.
-
-
-### Using a Python File
-
-When using a Python file for a hyperglass configuration, one of the following methods may be used:
-
-#### Define a Function Named `main`
-
-```python filename="Example: Using a Python function to define configuration parameters"
-def main():
- return {
- "org_name": "Your Organization Name",
- "web": {
- "theme": {
- "colors": {
- "blue": "#0000ff",
- }
- }
- }
- }
-
-# The main function can also be an async function.
-async def main():
- config = await some_function_to_fetch_config()
- return config
-```
-
-#### Define a Dictionary Named `main`
-
-```python filename="Example: Using a Python dictionary to define configuration parameters"
-main = {
- "org_name": "Your Organization Name",
- "web": {
- "theme": {
- "colors": {
- "blue": "#0000ff",
- }
- }
- }
- }
-```
-
-## Built-in Directives
-
-hyperglass ships with predefined [directives](/configuration/directives.mdx) for the following [platforms](platforms.mdx):
-
-
-
-All built in directives require that the following `attrs` be defined on each device using the directive:
-
-| Attribute | Value |
-| :-------- | :-------------------------------------------------------- |
-| `source4` | IPv4 address used to source Ping and Traceroute commands. |
-| `source6` | IPv6 address used to source Ping and Traceroute commands. |
-
-
- If you do not utilize IPv6 in your network, you'll need to create your own directive that only
- has IPv4 commands.
-
diff --git a/src/stale/hyperglass/docs/pages/index.mdx b/src/stale/hyperglass/docs/pages/index.mdx
deleted file mode 100644
index d12892f..0000000
--- a/src/stale/hyperglass/docs/pages/index.mdx
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Introduction
-description: Get started with hyperglass
----
-
-import { Cards } from "nextra/components";
-import { SupportedPlatforms } from "~/components/platforms";
-
-## What is hyperglass?
-
-hyperglass is an open source network looking glass written
-by a network engineer for other network engineers. The purpose of a looking glass is to provide customers,
-peers, and complete strangers with unattended visibility into the an operator's network.
-
-hyperglass was created with the lofty goal of benefiting the internet community at-large by providing a faster, easier, and more secure way for operators to provide looking glass services to their customers, peers, and other network operators.
-
-## Features
-
-- BGP Route, BGP Community, BGP AS Path, Ping, & Traceroute
-- Full IPv6 support
-- Customizable everything: features, theme, UI/API text, error messages, commands
-- Built in support for:
-
-- Configurable support for any other [supported platform](platforms.mdx)
-- Optionally access devices via an SSH proxy/jump server
-- VRF support
-- Access List/prefix-list style query control to whitelist or blacklist query targets on a per-VRF basis
-- REST API with automatic, configurable OpenAPI documentation
-- Modern, responsive UI
-- Query multiple devices simultaneously
-- Browser-based DNS-over-HTTPS resolution of FQDN queries
-
-
-
-
diff --git a/src/stale/hyperglass/docs/pages/installation.mdx b/src/stale/hyperglass/docs/pages/installation.mdx
deleted file mode 100644
index 0eb736a..0000000
--- a/src/stale/hyperglass/docs/pages/installation.mdx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Cards } from "nextra/components";
-
-
-
-
-
-
-
-
-
-
diff --git a/src/stale/hyperglass/docs/pages/installation/_meta.tsx b/src/stale/hyperglass/docs/pages/installation/_meta.tsx
deleted file mode 100644
index 6f531ec..0000000
--- a/src/stale/hyperglass/docs/pages/installation/_meta.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-export default {
- docker: "Using Docker",
- manual: "Manual Installation",
- "environment-variables": "Environment Variables",
- "reverse-proxy": "Reverse Proxy",
- upgrading: "Upgrading hyperglass",
-};
diff --git a/src/stale/hyperglass/docs/pages/installation/docker.mdx b/src/stale/hyperglass/docs/pages/installation/docker.mdx
deleted file mode 100644
index cab3e31..0000000
--- a/src/stale/hyperglass/docs/pages/installation/docker.mdx
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title: Using Docker
-description: Installing hyperglass with Docker
----
-
-import { Cards, Steps, Callout } from "nextra/components";
-// import { Callout } from "nextra-theme-docs";
-
-**Docker is the recommended method for running hyperglass.**
-
-
-
-### Install Docker
-
-
-
-
-
-### Download hyperglass
-
-```shell copy
-mkdir /etc/hyperglass
-cd /opt
-git clone https://github.com/thatmattlove/hyperglass.git --depth=1
-cd /opt/hyperglass
-```
-
-### Optional: Quickstart
-
-Do this if you just want to see the hyperglass page working with a fake device.
-
-```shell copy
-cp /opt/hyperglass/.samples/sample_devices.yaml /etc/hyperglass/devices.yaml
-cd /opt/hyperglass
-docker compose up
-```
-
-Navigate to http://localhost:8001
-
-### Create a `systemd` service
-
-
- Before you create and start the hyperglass service, you may want to verify whether or not you
- intend to change any [environment variables](environment-variables.mdx) and change them first.
-
-
-```shell copy
-cp /opt/hyperglass/.samples/hyperglass-docker.service /etc/hyperglass/hyperglass.service
-ln -s /etc/hyperglass/hyperglass.service /etc/systemd/system/hyperglass.service
-systemctl daemon-reload
-systemctl enable hyperglass
-systemctl start hyperglass
-```
-
-
diff --git a/src/stale/hyperglass/docs/pages/installation/environment-variables.mdx b/src/stale/hyperglass/docs/pages/installation/environment-variables.mdx
deleted file mode 100644
index 64d3915..0000000
--- a/src/stale/hyperglass/docs/pages/installation/environment-variables.mdx
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Environment Variables
-description: hyperglass environment variables
----
-
-There are some configuration variables that must be supplied before hyperglass can start or read its configuration files. Most of the time, you should not need to modify these.
-
-Environment variables may be overridden at the command line, or by placing them in `${HYPERGLASS_APP_PATH}/hyperglass.env`.
-
-| Variable Name | Type | Default | Description |
-| :-------------------------- | :------ | :---------------- | :----------------------------------------------------------------------------------------------------------------- |
-| `HYPERGLASS_DEBUG` | boolean | `false` | Enable debug logging |
-| `HYPERGLASS_DEV_MODE` | boolean | `false` | Enable developer mode. This should only be used if you are developing hyperglass under specific circumstances. |
-| `HYPERGLASS_DISABLE_UI` | boolean | `false` | If set to `true`, the hyperglass UI is not built or served. The only way to access hyperglass is via REST API. |
-| `HYPERGLASS_APP_PATH` | string | `/etc/hyperglass` | Directory where hyperglass configuration files and static web UI files are contained. |
-| `HYPERGLASS_REDIS_HOST` | string | `localhost` | Host on which Redis is running. |
-| `HYPERGLASS_REDIS_PASSWORD` | string | — | Redis password, if any. |
-| `HYPERGLASS_REDIS_DB` | number | `1` | Redis database number. |
-| `HYPERGLASS_REDIS_DSN` | string | — | Redis DSN. If supplied, overrides `HYPERGLASS_REDIS_HOST`, `HYPERGLASS_REDIS_DB`, and `HYPERGLASS_REDIS_PASSWORD`. |
-| `HYPERGLASS_HOST` | string | `[::1]` | Address on which hyperglass listens for requests. |
-| `HYPERGLASS_PORT` | number | `8001` | TCP port on which hyperglass listens for requests. |
-| `HYPERGLASS_CA_CERT` | string | — | Path to CA certificate file for validating HTTPS certificates. If not supplied, system CAs are used. |
diff --git a/src/stale/hyperglass/docs/pages/installation/manual.mdx b/src/stale/hyperglass/docs/pages/installation/manual.mdx
deleted file mode 100644
index 4c3cefc..0000000
--- a/src/stale/hyperglass/docs/pages/installation/manual.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title: Manual Installation
-description: Installing hyperglass manually
----
-
-import { Steps, Callout } from "nextra/components";
-
-
-
-### Install Dependencies
-
-To install hyperglass manually, you'll need to install the following dependencies:
-
-1. [Python 3.11, or 3.12](https://www.python.org/downloads/) and [`pip`](https://pip.pypa.io/en/stable/installation/)
-2. [NodeJS 20.14 or later](https://nodejs.org/en/download)
-3. [PNPM 9 or later](https://pnpm.io/installation)
-4. [Redis 7.2 or later](https://redis.io/download/)
-
-Make sure the Redis server is started.
-
-### Install hyperglass
-
-Once these dependencies are installed, install hyperglass via PyPI:
-
-```shell copy
-git clone https://github.com/thatmattlove/hyperglass --depth=1
-cd hyperglass
-# optional - switch to the latest stable release
-# git switch -c v2.0.4 v2.0.4
-pip3 install -e .
-```
-
-### Create app directory
-
-
- If you plan on using a different directory, be sure to set the directory you wish to use in your
- [environment variables](environment-variables.mdx).
-
-
-```shell copy
-mkdir /etc/hyperglass
-```
-
-### Optional: Quickstart
-
-Do this if you just want to see the hyperglass page working with default settings and a fake device.
-
-```shell copy
-curl -o /etc/hyperglass/devices.yaml https://raw.githubusercontent.com/thatmattlove/hyperglass/main/.samples/sample_devices.yaml
-hyperglass start
-```
-
-### Create a `systemd` service
-
-```shell copy
-curl -o /etc/hyperglass/hyperglass.service https://raw.githubusercontent.com/thatmattlove/hyperglass/main/.samples/hyperglass-manual.service
-ln -s /etc/hyperglass/hyperglass.service /etc/systemd/system/hyperglass.service
-systemctl daemon-reload
-systemctl enable hyperglass
-systemctl start hyperglass
-```
-
-
- If you used a different app directory from the default `/etc/hyperglass`, change the
- `EnvironmentFile` value in the `hyperglass.service` file.
-
-
-
diff --git a/src/stale/hyperglass/docs/pages/installation/reverse-proxy.mdx b/src/stale/hyperglass/docs/pages/installation/reverse-proxy.mdx
deleted file mode 100644
index aa821f6..0000000
--- a/src/stale/hyperglass/docs/pages/installation/reverse-proxy.mdx
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Reverse Proxy
-description: Setting up a reverse proxy for hyperglass
----
-
-import { Cards, Callout } from "nextra/components";
-
-[Caddy](https://caddyserver.com) is recommended, but any reverse proxy ([NGINX](https://www.nginx.com), [Apache2](https://httpd.apache.org)) will work.
-
-## Caddy
-
-
-
-
-
-```shell copy
-cp /opt/hyperglass/.samples/Caddyfile /etc/caddy/Caddyfile
-```
-
-Change the `lg.example.com` and `person@example.com` values to match your hyperglass FQDN and email address (the email address is for automatic SSL certificate generation via Let's Encrypt).
-
-
- If you prefer to use other Let's Encrypt validation methods or your own SSL certificate, modify
- your `/etc/hyperglass/Caddyfile` in accordance with the [Caddy
- docs](https://caddyserver.com/docs/caddyfile-tutorial).
-
-
-Restart the Caddy service: `systemctl restart caddy{:shell}`
-
-## NGINX
-
-```shell copy
-cp /opt/hyperglass/.samples/hyperglass.nginx /etc/nginx/sites-available/hyperglass
-ln -s /etc/nginx/sites-available/hyperglass /etc/nginx/sites-enabled/hyperglass
-```
-
-Change the `lg.example.com` value to match your hyperglass FQDN.
-
-Change the `` and `` values to match the path to your certificate and private key files.
diff --git a/src/stale/hyperglass/docs/pages/installation/upgrading.mdx b/src/stale/hyperglass/docs/pages/installation/upgrading.mdx
deleted file mode 100644
index f70da5e..0000000
--- a/src/stale/hyperglass/docs/pages/installation/upgrading.mdx
+++ /dev/null
@@ -1,11 +0,0 @@
-## Using Docker
-
-```shell copy
-cd /opt/hyperglass
-docker compose down
-docker compose rm -f
-git fetch
-git checkout v2.0.4
-docker compose build
-docker compose up
-```
diff --git a/src/stale/hyperglass/docs/pages/license.mdx b/src/stale/hyperglass/docs/pages/license.mdx
deleted file mode 100644
index 7d80c0f..0000000
--- a/src/stale/hyperglass/docs/pages/license.mdx
+++ /dev/null
@@ -1,20 +0,0 @@
-# The Clear BSD License
-
-export const Year = () => new Date().getFullYear();
-
-**Copyright © Matthew Love**
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:
-
-- Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-- Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-- Neither the name of the copyright holder nor the names of its
- contributors may be used to endorse or promote products derived from this
- software without specific prior written permission.
-
-> NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/stale/hyperglass/docs/pages/platforms.mdx b/src/stale/hyperglass/docs/pages/platforms.mdx
deleted file mode 100644
index 365cb17..0000000
--- a/src/stale/hyperglass/docs/pages/platforms.mdx
+++ /dev/null
@@ -1,28 +0,0 @@
----
-description: Platforms supported by hyperglass
----
-
-import { Callout } from "nextra/components";
-import { PlatformTable } from "~/components/platforms";
-
-hyperglass uses [Netmiko](https://github.com/ktbyers/netmiko) to interact with devices via SSH/telnet. [All platforms supported by Netmiko](https://github.com/ktbyers/netmiko/blob/develop/PLATFORMS.md) are supported by hyperglass.
-
-## Netmiko Platforms
-
-
- Just because Netmiko supports a given platform doesn't mean it will automatically work with
- hyperglass. hyperglass has a limited number of built in directives (listed below). Any platforms
- other than the ones listed below will require you to [add a custom
- directive](configuration/examples/add-your-own-command.mdx) for each command you wish to make
- available.
-
-
-
-
-
-
-## Other Platforms
-
-| Platform | Key | Natively Supported |
-| :---------------- | :----- | :------------------------------------------------------------------: |
-| Any HTTP Endpoint | `http` | [See HTTP Device Docs](configuration/devices.mdx#http-configuration) |
diff --git a/src/stale/hyperglass/docs/pages/plugins.mdx b/src/stale/hyperglass/docs/pages/plugins.mdx
deleted file mode 100644
index adc5087..0000000
--- a/src/stale/hyperglass/docs/pages/plugins.mdx
+++ /dev/null
@@ -1,144 +0,0 @@
----
-title: Plugins
-description: hyperglass Plugins
----
-
-import { Cards, Card } from "nextra/components";
-
-Starting in version 2.0, hyperglass supports custom plugins. There are two main types of plugins:
-
-- [**Input Plugins**](#input-plugins): Apply custom validation logic to or transform user input before the query is sent to a device.
-- [**Output Plugins**](#output-plugins): Interact with the output from a device before it's displayed to the user.
-
-Plugins are associated with a directive.
-
-## Examples
-
-### Input Plugins
-
-#### Convert a CIDR Prefix to Network and Mask
-
-In this example, the following query is sent to hyperglass:
-
-```json filename="Example Query"
-{
- "query_target": "192.0.2.0/24",
- "query_location": "your_location",
- "query_type": "ip_route_directive"
-}
-```
-
-The below plugin is defined and referenced by a directive:
-
-```python filename="/path/to/your/transform_plugin.py"
-from ipaddress import ip_network
-from hyperglass.plugins import InputPlugin
-
-
-class TransformCIDR(InputPlugin):
- def transform(self, query):
- (target := query.query_target)
- target_network = ip_network(target)
- if target_network.version == 4:
- return f"{target_network.network_address!s} {target_network.netmask!s}"
- return target
-```
-
-```yaml filename="directives.yaml"
-ip_route_directive:
- name: IP Route
- plugins:
- - "/path/to/your/transform_plugin.py"
- rules:
- - condition: "0.0.0.0/0"
- action: permit
- command: "show ip route {target}"
- - condition: "::/0"
- action: permit
- command: "show ipv6 route {target}"
-```
-
-When the query is received, the query target is transformed, resulting in this being sent to the device:
-
-```text
-show ip route 192.0.2.0 255.255.255.0
-```
-
-instead of:
-
-```text
-show ip route 192.0.2.0/24
-```
-
-#### Validate User Input
-
-In this example, we want to perform some custom validation not available via the directives `condition` API. For instance, say you wanted to ensure a query target isn't contained within a dynamic list of [bogon prefixes from Team Cymru](https://www.team-cymru.com/bogon-networks).
-
-```python filename="/path/to/your/validation_plugin.py"
-from ipaddress import ip_network
-
-from hyperglass.plugins import InputPlugin
-from hyperglass.external import HTTPClient
-
-class BogonPlugin(InputPlugin):
- def validate(self, query):
- target = ip_network(query.query_target)
-
- with HTTPClient(base_url="https://team-cymru.org") as client:
- response = client.get("/Services/Bogons/fullbogons-ipv4.txt")
-
- bogon_strings = [line.strip() for line in response.text.split("\n") if not line.startswith("#")]
- bogons = [ip_network(bogon) for bogon in bogon_strings]
-
- for bogon in bogons:
- if target in bogon or target == bogon:
- return False # Return false to fail validation.
- return True
-```
-
-This isn't the best real-world example, since the above plugin would be run on every request, likely resulting in slow query responses, but it illustrates the power of plugins.
-
-### Output Plugins
-
-#### Redact Sensitive Information
-
-Say one of your directives might show some sensitive information in the query output. Using an output plugin, we can replace any text matching a pattern (or multiple patterns) with some other text.
-
-```python
-import re
-from hyperglass.plugins import OutputPlugin
-
-SENSITIVE_PATTERN = re.compile("SuperSecretInfo")
-
-class Redact(OutputPlugin):
- def process(self, output, query):
- result = []
- for each_output in output:
- redacted = SENSITIVE_PATTERN.sub("", each_output)
- result.append(redacted)
- return result
-```
-
-If the query output was:
-
-```text
-Lorem ipsum dolor sit amet, SuperSecretInfo consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-Viverra suspendisse potenti nullam ac. At elementum eu facilisis sed odio morbi. SuperSecretInfo iaculis urna id volutpat lacus.Nisl nisi
-scelerisque eu ultrices vitae. Accumsan SuperSecretInfo tortor posuere ac ut consequat semper viverra nam libero. Libero id faucibus nisl
-tincidunt eget nullam non nisi. Et ligula ullamcorper malesuada SuperSecretInfo proin libero nunc. Et malesuada fames ac turpis egestas sed.
-Nulla facilisi cras fermentum odio eu. SuperSecretInfo condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Nisl rhoncus
-mattis rhoncus urna neque. Tortor aliquam nulla facilisi cras SuperSecretInfo fermentum odio eu feugiat. Neque egestas congue quisque egestas
-diam in arcu cursus SuperSecretInfo.
-```
-
-The above plugin would transform the output to:
-
-```text
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-Viverra suspendisse potenti nullam ac. At elementum eu facilisis sed odio morbi. iaculis urna id volutpat lacus.Nisl nisi
-scelerisque eu ultrices vitae. Accumsan tortor posuere ac ut consequat semper viverra nam libero. Libero id faucibus nisl
-tincidunt eget nullam non nisi. Et ligula ullamcorper malesuada proin libero nunc. Et malesuada fames ac turpis egestas sed.
-Nulla facilisi cras fermentum odio eu. condimentum mattis pellentesque id nibh tortor id aliquet lectus proin. Nisl rhoncus
-mattis rhoncus urna neque. Tortor aliquam nulla facilisi cras fermentum odio eu feugiat. Neque egestas congue quisque egestas
-diam in arcu cursus .
-```
diff --git a/src/stale/hyperglass/docs/platforms.json b/src/stale/hyperglass/docs/platforms.json
deleted file mode 100644
index 43164ab..0000000
--- a/src/stale/hyperglass/docs/platforms.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"name": "Arista EOS", "keys": ["arista_eos"], "native": true}, {"name": "BIRD", "keys": ["bird"], "native": true}, {"name": "Cisco IOS", "keys": ["cisco_ios"], "native": true}, {"name": "Cisco NX-OS", "keys": ["cisco_nxos"], "native": true}, {"name": "Cisco IOS-XR", "keys": ["cisco_xr"], "native": true}, {"name": "FRRouting", "keys": ["frr"], "native": true}, {"name": "Huawei VRP", "keys": ["huawei", "huawei_vrpv8"], "native": true}, {"name": "Juniper Junos", "keys": ["juniper", "juniper_junos"], "native": true}, {"name": "Mikrotik", "keys": ["mikrotik_routeros", "mikrotik_switchos"], "native": true}, {"name": "Nokia SR OS", "keys": ["nokia_sros"], "native": true}, {"name": "OpenBGPD", "keys": ["openbgpd"], "native": true}, {"name": "TNSR", "keys": ["tnsr"], "native": true}, {"name": "VyOS", "keys": ["vyos"], "native": true}, {"name": "", "keys": ["a10"], "native": false}, {"name": "", "keys": ["a10_ssh"], "native": false}, {"name": "", "keys": ["accedian"], "native": false}, {"name": "", "keys": ["accedian_ssh"], "native": false}, {"name": "", "keys": ["adtran_os"], "native": false}, {"name": "", "keys": ["adtran_os_ssh"], "native": false}, {"name": "", "keys": ["adtran_os_telnet"], "native": false}, {"name": "", "keys": ["alcatel_aos"], "native": false}, {"name": "", "keys": ["alcatel_aos_ssh"], "native": false}, {"name": "", "keys": ["alcatel_sros"], "native": false}, {"name": "", "keys": ["alcatel_sros_ssh"], "native": false}, {"name": "", "keys": ["allied_telesis_awplus"], "native": false}, {"name": "", "keys": ["allied_telesis_awplus_ssh"], "native": false}, {"name": "", "keys": ["apresia_aeos"], "native": false}, {"name": "", "keys": ["apresia_aeos_ssh"], "native": false}, {"name": "", "keys": ["apresia_aeos_telnet"], "native": false}, {"name": "", "keys": ["arista_eos_ssh"], "native": false}, {"name": "", "keys": ["arista_eos_telnet"], "native": false}, {"name": "", "keys": ["aruba_os"], "native": false}, {"name": "", "keys": ["aruba_os_ssh"], "native": false}, {"name": "", "keys": ["aruba_osswitch"], "native": false}, {"name": "", "keys": ["aruba_osswitch_ssh"], "native": false}, {"name": "", "keys": ["aruba_procurve"], "native": false}, {"name": "", "keys": ["aruba_procurve_ssh"], "native": false}, {"name": "", "keys": ["aruba_procurve_telnet"], "native": false}, {"name": "", "keys": ["audiocode_66"], "native": false}, {"name": "", "keys": ["audiocode_66_ssh"], "native": false}, {"name": "", "keys": ["audiocode_66_telnet"], "native": false}, {"name": "", "keys": ["audiocode_72"], "native": false}, {"name": "", "keys": ["audiocode_72_ssh"], "native": false}, {"name": "", "keys": ["audiocode_72_telnet"], "native": false}, {"name": "", "keys": ["audiocode_shell"], "native": false}, {"name": "", "keys": ["audiocode_shell_ssh"], "native": false}, {"name": "", "keys": ["audiocode_shell_telnet"], "native": false}, {"name": "", "keys": ["autodetect"], "native": false}, {"name": "", "keys": ["avaya_ers"], "native": false}, {"name": "", "keys": ["avaya_ers_ssh"], "native": false}, {"name": "", "keys": ["avaya_vsp"], "native": false}, {"name": "", "keys": ["avaya_vsp_ssh"], "native": false}, {"name": "", "keys": ["broadcom_icos"], "native": false}, {"name": "", "keys": ["broadcom_icos_ssh"], "native": false}, {"name": "", "keys": ["brocade_fastiron"], "native": false}, {"name": "", "keys": ["brocade_fastiron_ssh"], "native": false}, {"name": "", "keys": ["brocade_fastiron_telnet"], "native": false}, {"name": "", "keys": ["brocade_fos"], "native": false}, {"name": "", "keys": ["brocade_fos_ssh"], "native": false}, {"name": "", "keys": ["brocade_netiron"], "native": false}, {"name": "", "keys": ["brocade_netiron_ssh"], "native": false}, {"name": "", "keys": ["brocade_netiron_telnet"], "native": false}, {"name": "", "keys": ["brocade_nos"], "native": false}, {"name": "", "keys": ["brocade_nos_ssh"], "native": false}, {"name": "", "keys": ["brocade_vdx"], "native": false}, {"name": "", "keys": ["brocade_vdx_ssh"], "native": false}, {"name": "", "keys": ["brocade_vyos"], "native": false}, {"name": "", "keys": ["brocade_vyos_ssh"], "native": false}, {"name": "", "keys": ["calix_b6"], "native": false}, {"name": "", "keys": ["calix_b6_ssh"], "native": false}, {"name": "", "keys": ["calix_b6_telnet"], "native": false}, {"name": "", "keys": ["cdot_cros"], "native": false}, {"name": "", "keys": ["cdot_cros_ssh"], "native": false}, {"name": "", "keys": ["centec_os"], "native": false}, {"name": "", "keys": ["centec_os_ssh"], "native": false}, {"name": "", "keys": ["centec_os_telnet"], "native": false}, {"name": "", "keys": ["checkpoint_gaia"], "native": false}, {"name": "", "keys": ["checkpoint_gaia_ssh"], "native": false}, {"name": "", "keys": ["ciena_saos"], "native": false}, {"name": "", "keys": ["ciena_saos_ssh"], "native": false}, {"name": "", "keys": ["ciena_saos_telnet"], "native": false}, {"name": "", "keys": ["cisco_asa"], "native": false}, {"name": "", "keys": ["cisco_asa_ssh"], "native": false}, {"name": "", "keys": ["cisco_ftd"], "native": false}, {"name": "", "keys": ["cisco_ftd_ssh"], "native": false}, {"name": "", "keys": ["cisco_ios_serial"], "native": false}, {"name": "", "keys": ["cisco_ios_ssh"], "native": false}, {"name": "", "keys": ["cisco_ios_telnet"], "native": false}, {"name": "", "keys": ["cisco_nxos_ssh"], "native": false}, {"name": "", "keys": ["cisco_s300"], "native": false}, {"name": "", "keys": ["cisco_s300_ssh"], "native": false}, {"name": "", "keys": ["cisco_s300_telnet"], "native": false}, {"name": "", "keys": ["cisco_tp"], "native": false}, {"name": "", "keys": ["cisco_tp_ssh"], "native": false}, {"name": "", "keys": ["cisco_viptela"], "native": false}, {"name": "", "keys": ["cisco_viptela_ssh"], "native": false}, {"name": "", "keys": ["cisco_wlc"], "native": false}, {"name": "", "keys": ["cisco_wlc_ssh"], "native": false}, {"name": "", "keys": ["cisco_xe"], "native": false}, {"name": "", "keys": ["cisco_xe_ssh"], "native": false}, {"name": "", "keys": ["cisco_xr_ssh"], "native": false}, {"name": "", "keys": ["cisco_xr_telnet"], "native": false}, {"name": "", "keys": ["cloudgenix_ion"], "native": false}, {"name": "", "keys": ["cloudgenix_ion_ssh"], "native": false}, {"name": "", "keys": ["coriant"], "native": false}, {"name": "", "keys": ["coriant_ssh"], "native": false}, {"name": "", "keys": ["dell_dnos6_telnet"], "native": false}, {"name": "", "keys": ["dell_dnos9"], "native": false}, {"name": "", "keys": ["dell_dnos9_ssh"], "native": false}, {"name": "", "keys": ["dell_force10"], "native": false}, {"name": "", "keys": ["dell_force10_ssh"], "native": false}, {"name": "", "keys": ["dell_isilon"], "native": false}, {"name": "", "keys": ["dell_isilon_ssh"], "native": false}, {"name": "", "keys": ["dell_os10"], "native": false}, {"name": "", "keys": ["dell_os10_ssh"], "native": false}, {"name": "", "keys": ["dell_os6"], "native": false}, {"name": "", "keys": ["dell_os6_ssh"], "native": false}, {"name": "", "keys": ["dell_os9"], "native": false}, {"name": "", "keys": ["dell_os9_ssh"], "native": false}, {"name": "", "keys": ["dell_powerconnect"], "native": false}, {"name": "", "keys": ["dell_powerconnect_ssh"], "native": false}, {"name": "", "keys": ["dell_powerconnect_telnet"], "native": false}, {"name": "", "keys": ["dell_sonic"], "native": false}, {"name": "", "keys": ["dell_sonic_ssh"], "native": false}, {"name": "", "keys": ["dlink_ds"], "native": false}, {"name": "", "keys": ["dlink_ds_ssh"], "native": false}, {"name": "", "keys": ["dlink_ds_telnet"], "native": false}, {"name": "", "keys": ["eltex"], "native": false}, {"name": "", "keys": ["eltex_esr"], "native": false}, {"name": "", "keys": ["eltex_esr_ssh"], "native": false}, {"name": "", "keys": ["eltex_ssh"], "native": false}, {"name": "", "keys": ["endace"], "native": false}, {"name": "", "keys": ["endace_ssh"], "native": false}, {"name": "", "keys": ["enterasys"], "native": false}, {"name": "", "keys": ["enterasys_ssh"], "native": false}, {"name": "", "keys": ["ericsson_ipos"], "native": false}, {"name": "", "keys": ["ericsson_ipos_ssh"], "native": false}, {"name": "", "keys": ["extreme"], "native": false}, {"name": "", "keys": ["extreme_ers"], "native": false}, {"name": "", "keys": ["extreme_ers_ssh"], "native": false}, {"name": "", "keys": ["extreme_exos"], "native": false}, {"name": "", "keys": ["extreme_exos_ssh"], "native": false}, {"name": "", "keys": ["extreme_exos_telnet"], "native": false}, {"name": "", "keys": ["extreme_netiron"], "native": false}, {"name": "", "keys": ["extreme_netiron_ssh"], "native": false}, {"name": "", "keys": ["extreme_netiron_telnet"], "native": false}, {"name": "", "keys": ["extreme_nos"], "native": false}, {"name": "", "keys": ["extreme_nos_ssh"], "native": false}, {"name": "", "keys": ["extreme_slx"], "native": false}, {"name": "", "keys": ["extreme_slx_ssh"], "native": false}, {"name": "", "keys": ["extreme_ssh"], "native": false}, {"name": "", "keys": ["extreme_telnet"], "native": false}, {"name": "", "keys": ["extreme_tierra"], "native": false}, {"name": "", "keys": ["extreme_tierra_ssh"], "native": false}, {"name": "", "keys": ["extreme_vdx"], "native": false}, {"name": "", "keys": ["extreme_vdx_ssh"], "native": false}, {"name": "", "keys": ["extreme_vsp"], "native": false}, {"name": "", "keys": ["extreme_vsp_ssh"], "native": false}, {"name": "", "keys": ["extreme_wing"], "native": false}, {"name": "", "keys": ["extreme_wing_ssh"], "native": false}, {"name": "", "keys": ["f5_linux"], "native": false}, {"name": "", "keys": ["f5_linux_ssh"], "native": false}, {"name": "", "keys": ["f5_ltm"], "native": false}, {"name": "", "keys": ["f5_ltm_ssh"], "native": false}, {"name": "", "keys": ["f5_tmsh"], "native": false}, {"name": "", "keys": ["f5_tmsh_ssh"], "native": false}, {"name": "", "keys": ["flexvnf"], "native": false}, {"name": "", "keys": ["flexvnf_ssh"], "native": false}, {"name": "", "keys": ["fortinet"], "native": false}, {"name": "", "keys": ["fortinet_ssh"], "native": false}, {"name": "", "keys": ["generic"], "native": false}, {"name": "", "keys": ["generic_ssh"], "native": false}, {"name": "", "keys": ["generic_telnet"], "native": false}, {"name": "", "keys": ["generic_termserver"], "native": false}, {"name": "", "keys": ["generic_termserver_ssh"], "native": false}, {"name": "", "keys": ["generic_termserver_telnet"], "native": false}, {"name": "", "keys": ["hp_comware"], "native": false}, {"name": "", "keys": ["hp_comware_ssh"], "native": false}, {"name": "", "keys": ["hp_comware_telnet"], "native": false}, {"name": "", "keys": ["hp_procurve"], "native": false}, {"name": "", "keys": ["hp_procurve_ssh"], "native": false}, {"name": "", "keys": ["hp_procurve_telnet"], "native": false}, {"name": "", "keys": ["huawei_olt"], "native": false}, {"name": "", "keys": ["huawei_olt_ssh"], "native": false}, {"name": "", "keys": ["huawei_olt_telnet"], "native": false}, {"name": "", "keys": ["huawei_smartax"], "native": false}, {"name": "", "keys": ["huawei_smartax_ssh"], "native": false}, {"name": "", "keys": ["huawei_ssh"], "native": false}, {"name": "", "keys": ["huawei_telnet"], "native": false}, {"name": "", "keys": ["huawei_vrpv8_ssh"], "native": false}, {"name": "", "keys": ["ipinfusion_ocnos"], "native": false}, {"name": "", "keys": ["ipinfusion_ocnos_ssh"], "native": false}, {"name": "", "keys": ["ipinfusion_ocnos_telnet"], "native": false}, {"name": "", "keys": ["juniper_junos_ssh"], "native": false}, {"name": "", "keys": ["juniper_junos_telnet"], "native": false}, {"name": "", "keys": ["juniper_screenos"], "native": false}, {"name": "", "keys": ["juniper_screenos_ssh"], "native": false}, {"name": "", "keys": ["juniper_ssh"], "native": false}, {"name": "", "keys": ["keymile"], "native": false}, {"name": "", "keys": ["keymile_nos"], "native": false}, {"name": "", "keys": ["keymile_nos_ssh"], "native": false}, {"name": "", "keys": ["keymile_ssh"], "native": false}, {"name": "", "keys": ["linux"], "native": false}, {"name": "", "keys": ["linux_ssh"], "native": false}, {"name": "", "keys": ["mellanox"], "native": false}, {"name": "", "keys": ["mellanox_mlnxos"], "native": false}, {"name": "", "keys": ["mellanox_mlnxos_ssh"], "native": false}, {"name": "", "keys": ["mellanox_ssh"], "native": false}, {"name": "", "keys": ["mikrotik_routeros_ssh"], "native": false}, {"name": "", "keys": ["mikrotik_switchos_ssh"], "native": false}, {"name": "", "keys": ["mrv_lx"], "native": false}, {"name": "", "keys": ["mrv_lx_ssh"], "native": false}, {"name": "", "keys": ["mrv_optiswitch"], "native": false}, {"name": "", "keys": ["mrv_optiswitch_ssh"], "native": false}, {"name": "", "keys": ["netapp_cdot"], "native": false}, {"name": "", "keys": ["netapp_cdot_ssh"], "native": false}, {"name": "", "keys": ["netgear_prosafe"], "native": false}, {"name": "", "keys": ["netgear_prosafe_ssh"], "native": false}, {"name": "", "keys": ["netscaler"], "native": false}, {"name": "", "keys": ["netscaler_ssh"], "native": false}, {"name": "", "keys": ["nokia_srl"], "native": false}, {"name": "", "keys": ["nokia_srl_ssh"], "native": false}, {"name": "", "keys": ["nokia_sros_ssh"], "native": false}, {"name": "", "keys": ["nokia_sros_telnet"], "native": false}, {"name": "", "keys": ["oneaccess_oneos"], "native": false}, {"name": "", "keys": ["oneaccess_oneos_ssh"], "native": false}, {"name": "", "keys": ["oneaccess_oneos_telnet"], "native": false}, {"name": "", "keys": ["ovs_linux"], "native": false}, {"name": "", "keys": ["ovs_linux_ssh"], "native": false}, {"name": "", "keys": ["paloalto_panos"], "native": false}, {"name": "", "keys": ["paloalto_panos_ssh"], "native": false}, {"name": "", "keys": ["paloalto_panos_telnet"], "native": false}, {"name": "", "keys": ["pluribus"], "native": false}, {"name": "", "keys": ["pluribus_ssh"], "native": false}, {"name": "", "keys": ["quanta_mesh"], "native": false}, {"name": "", "keys": ["quanta_mesh_ssh"], "native": false}, {"name": "", "keys": ["rad_etx"], "native": false}, {"name": "", "keys": ["rad_etx_ssh"], "native": false}, {"name": "", "keys": ["rad_etx_telnet"], "native": false}, {"name": "", "keys": ["raisecom_roap"], "native": false}, {"name": "", "keys": ["raisecom_roap_ssh"], "native": false}, {"name": "", "keys": ["raisecom_telnet"], "native": false}, {"name": "", "keys": ["ruckus_fastiron"], "native": false}, {"name": "", "keys": ["ruckus_fastiron_ssh"], "native": false}, {"name": "", "keys": ["ruckus_fastiron_telnet"], "native": false}, {"name": "", "keys": ["ruijie_os"], "native": false}, {"name": "", "keys": ["ruijie_os_ssh"], "native": false}, {"name": "", "keys": ["ruijie_os_telnet"], "native": false}, {"name": "", "keys": ["sixwind_os"], "native": false}, {"name": "", "keys": ["sixwind_os_ssh"], "native": false}, {"name": "", "keys": ["sophos_sfos"], "native": false}, {"name": "", "keys": ["sophos_sfos_ssh"], "native": false}, {"name": "", "keys": ["supermicro_smis"], "native": false}, {"name": "", "keys": ["supermicro_smis_ssh"], "native": false}, {"name": "", "keys": ["supermicro_smis_telnet"], "native": false}, {"name": "", "keys": ["terminal_server"], "native": false}, {"name": "", "keys": ["tplink_jetstream"], "native": false}, {"name": "", "keys": ["tplink_jetstream_ssh"], "native": false}, {"name": "", "keys": ["tplink_jetstream_telnet"], "native": false}, {"name": "", "keys": ["ubiquiti_edge"], "native": false}, {"name": "", "keys": ["ubiquiti_edge_ssh"], "native": false}, {"name": "", "keys": ["ubiquiti_edgerouter"], "native": false}, {"name": "", "keys": ["ubiquiti_edgerouter_ssh"], "native": false}, {"name": "", "keys": ["ubiquiti_edgeswitch"], "native": false}, {"name": "", "keys": ["ubiquiti_edgeswitch_ssh"], "native": false}, {"name": "", "keys": ["ubiquiti_unifiswitch"], "native": false}, {"name": "", "keys": ["ubiquiti_unifiswitch_ssh"], "native": false}, {"name": "", "keys": ["vyatta_vyos"], "native": false}, {"name": "", "keys": ["vyatta_vyos_ssh"], "native": false}, {"name": "", "keys": ["vyos_ssh"], "native": false}, {"name": "", "keys": ["watchguard_fireware"], "native": false}, {"name": "", "keys": ["watchguard_fireware_ssh"], "native": false}, {"name": "", "keys": ["yamaha"], "native": false}, {"name": "", "keys": ["yamaha_ssh"], "native": false}, {"name": "", "keys": ["yamaha_telnet"], "native": false}, {"name": "", "keys": ["zte_zxros"], "native": false}, {"name": "", "keys": ["zte_zxros_ssh"], "native": false}, {"name": "", "keys": ["zte_zxros_telnet"], "native": false}, {"name": "", "keys": ["zyxel_os"], "native": false}, {"name": "", "keys": ["zyxel_os_ssh"], "native": false}]
\ No newline at end of file
diff --git a/src/stale/hyperglass/docs/pnpm-lock.yaml b/src/stale/hyperglass/docs/pnpm-lock.yaml
deleted file mode 100644
index 9585e0d..0000000
--- a/src/stale/hyperglass/docs/pnpm-lock.yaml
+++ /dev/null
@@ -1,3554 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- next:
- specifier: ^14.1.1
- version: 14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- nextra:
- specifier: 3.0.0-alpha.24
- version: 3.0.0-alpha.24(@types/react@18.0.26)(next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)
- nextra-theme-docs:
- specifier: 3.0.0-alpha.24
- version: 3.0.0-alpha.24(next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(nextra@3.0.0-alpha.24(@types/react@18.0.26)(next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- react-dom:
- specifier: ^18.2.0
- version: 18.2.0(react@18.2.0)
- devDependencies:
- '@types/node':
- specifier: ^20.11.24
- version: 20.11.24
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
-packages:
-
- '@braintree/sanitize-url@6.0.4':
- resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==}
-
- '@headlessui/react@1.7.18':
- resolution: {integrity: sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==}
- engines: {node: '>=10'}
- peerDependencies:
- react: ^16 || ^17 || ^18
- react-dom: ^16 || ^17 || ^18
-
- '@mdx-js/mdx@3.0.1':
- resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==}
-
- '@mdx-js/react@3.0.1':
- resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==}
- peerDependencies:
- '@types/react': '>=16'
- react: '>=16'
-
- '@napi-rs/simple-git-android-arm-eabi@0.1.16':
- resolution: {integrity: sha512-dbrCL0Pl5KZG7x7tXdtVsA5CO6At5ohDX3myf5xIYn9kN4jDFxsocl8bNt6Vb/hZQoJd8fI+k5VlJt+rFhbdVw==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [android]
-
- '@napi-rs/simple-git-android-arm64@0.1.16':
- resolution: {integrity: sha512-xYz+TW5J09iK8SuTAKK2D5MMIsBUXVSs8nYp7HcMi8q6FCRO7yJj96YfP9PvKsc/k64hOyqGmL5DhCzY9Cu1FQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [android]
-
- '@napi-rs/simple-git-darwin-arm64@0.1.16':
- resolution: {integrity: sha512-XfgsYqxhUE022MJobeiX563TJqyQyX4FmYCnqrtJwAfivESVeAJiH6bQIum8dDEYMHXCsG7nL8Ok0Dp8k2m42g==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
- '@napi-rs/simple-git-darwin-x64@0.1.16':
- resolution: {integrity: sha512-tkEVBhD6vgRCbeWsaAQqM3bTfpIVGeitamPPRVSbsq8qgzJ5Dx6ZedH27R7KSsA/uao7mZ3dsrNLXbu1Wy5MzA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
- '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.16':
- resolution: {integrity: sha512-R6VAyNnp/yRaT7DV1Ao3r67SqTWDa+fNq2LrNy0Z8gXk2wB9ZKlrxFtLPE1WSpWknWtyRDLpRlsorh7Evk7+7w==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [linux]
-
- '@napi-rs/simple-git-linux-arm64-gnu@0.1.16':
- resolution: {integrity: sha512-LAGI0opFKw/HBMCV2qIBK3uWSEW9h4xd2ireZKLJy8DBPymX6NrWIamuxYNyCuACnFdPRxR4LaRFy4J5ZwuMdw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@napi-rs/simple-git-linux-arm64-musl@0.1.16':
- resolution: {integrity: sha512-I57Ph0F0Yn2KW93ep+V1EzKhACqX0x49vvSiapqIsdDA2PifdEWLc1LJarBolmK7NKoPqKmf6lAKKO9lhiZzkg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@napi-rs/simple-git-linux-x64-gnu@0.1.16':
- resolution: {integrity: sha512-AZYYFY2V7hlcQASPEOWyOa3e1skzTct9QPzz0LiDM3f/hCFY/wBaU2M6NC5iG3d2Kr38heuyFS/+JqxLm5WaKA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@napi-rs/simple-git-linux-x64-musl@0.1.16':
- resolution: {integrity: sha512-9TyMcYSBJwjT8jwjY9m24BZbu7ozyWTjsmYBYNtK3B0Um1Ov6jthSNneLVvouQ6x+k3Ow+00TiFh6bvmT00r8g==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@napi-rs/simple-git-win32-arm64-msvc@0.1.16':
- resolution: {integrity: sha512-uslJ1WuAHCYJWui6xjsyT47SjX6KOHDtClmNO8hqKz1pmDSNY7AjyUY8HxvD1lK9bDnWwc4JYhikS9cxCqHybw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
- '@napi-rs/simple-git-win32-x64-msvc@0.1.16':
- resolution: {integrity: sha512-SoEaVeCZCDF1MP+M9bMSXsZWgEjk4On9GWADO5JOulvzR1bKjk0s9PMHwe/YztR9F0sJzrCxwtvBZowhSJsQPg==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
- '@napi-rs/simple-git@0.1.16':
- resolution: {integrity: sha512-C5wRPw9waqL2jk3jEDeJv+f7ScuO3N0a39HVdyFLkwKxHH4Sya4ZbzZsu2JLi6eEqe7RuHipHL6mC7B2OfYZZw==}
- engines: {node: '>= 10'}
-
- '@next/env@14.1.1':
- resolution: {integrity: sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA==}
-
- '@next/swc-darwin-arm64@14.1.1':
- resolution: {integrity: sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
- '@next/swc-darwin-x64@14.1.1':
- resolution: {integrity: sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
- '@next/swc-linux-arm64-gnu@14.1.1':
- resolution: {integrity: sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@next/swc-linux-arm64-musl@14.1.1':
- resolution: {integrity: sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
-
- '@next/swc-linux-x64-gnu@14.1.1':
- resolution: {integrity: sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@next/swc-linux-x64-musl@14.1.1':
- resolution: {integrity: sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
-
- '@next/swc-win32-arm64-msvc@14.1.1':
- resolution: {integrity: sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
- '@next/swc-win32-ia32-msvc@14.1.1':
- resolution: {integrity: sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==}
- engines: {node: '>= 10'}
- cpu: [ia32]
- os: [win32]
-
- '@next/swc-win32-x64-msvc@14.1.1':
- resolution: {integrity: sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
- '@popperjs/core@2.11.8':
- resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
-
- '@shikijs/core@1.6.1':
- resolution: {integrity: sha512-CqYyepN4SnBopaoXYwng4NO8riB5ask/LTCkhOFq+GNGtr2X+aKeD767eYdqYukeixEUvv4bXdyTYVaogj7KBw==}
-
- '@shikijs/twoslash@1.6.1':
- resolution: {integrity: sha512-VluGZXQ97sDFyxneOzsPkEHK06A6C1SRDh+kSM9AZAkzHorZaGxF4awgA3rh2K0oZnR94NZzfhq8GtERm38EEQ==}
-
- '@swc/helpers@0.5.2':
- resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
-
- '@tanstack/react-virtual@3.1.3':
- resolution: {integrity: sha512-YCzcbF/Ws/uZ0q3Z6fagH+JVhx4JLvbSflgldMgLsuvB8aXjZLLb3HvrEVxY480F9wFlBiXlvQxOyXb5ENPrNA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
-
- '@tanstack/virtual-core@3.1.3':
- resolution: {integrity: sha512-Y5B4EYyv1j9V8LzeAoOVeTg0LI7Fo5InYKgAjkY1Pu9GjtUwX/EKxNcU7ng3sKr99WEf+bPTcktAeybyMOYo+g==}
-
- '@theguild/remark-mermaid@0.0.5':
- resolution: {integrity: sha512-e+ZIyJkEv9jabI4m7q29wZtZv+2iwPGsXJ2d46Zi7e+QcFudiyuqhLhHG/3gX3ZEB+hxTch+fpItyMS8jwbIcw==}
- peerDependencies:
- react: ^18.2.0
-
- '@theguild/remark-npm2yarn@0.3.0':
- resolution: {integrity: sha512-Fofw+9airYgjBd9G6PiHHCrptjyUybQ50JH9/5o9LCH54kggJ7stpCofzHjICB8L7VQbQ1Gwu23P/3CMVY1R4Q==}
-
- '@types/acorn@4.0.6':
- resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
-
- '@types/d3-scale-chromatic@3.0.3':
- resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==}
-
- '@types/d3-scale@4.0.8':
- resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
-
- '@types/d3-time@3.0.3':
- resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==}
-
- '@types/debug@4.1.7':
- resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==}
-
- '@types/estree-jsx@1.0.0':
- resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==}
-
- '@types/estree@1.0.0':
- resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
-
- '@types/hast@3.0.4':
- resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
-
- '@types/katex@0.16.7':
- resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
-
- '@types/mdast@3.0.10':
- resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==}
-
- '@types/mdast@4.0.3':
- resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
-
- '@types/mdx@2.0.3':
- resolution: {integrity: sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==}
-
- '@types/ms@0.7.31':
- resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
-
- '@types/nlcst@1.0.4':
- resolution: {integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==}
-
- '@types/node@20.11.24':
- resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==}
-
- '@types/prop-types@15.7.5':
- resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
-
- '@types/react@18.0.26':
- resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==}
-
- '@types/scheduler@0.16.2':
- resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
-
- '@types/unist@2.0.6':
- resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
-
- '@types/unist@3.0.2':
- resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
-
- '@typescript/vfs@1.5.0':
- resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==}
-
- '@ungap/structured-clone@1.2.0':
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
-
- acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
-
- acorn@8.8.1:
- resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
-
- arch@2.2.0:
- resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
-
- arg@1.0.0:
- resolution: {integrity: sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==}
-
- argparse@1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
-
- array-iterate@2.0.1:
- resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
-
- astring@1.8.3:
- resolution: {integrity: sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==}
- hasBin: true
-
- bail@2.0.2:
- resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
-
- better-react-mathjax@2.0.3:
- resolution: {integrity: sha512-wfifT8GFOKb1TWm2+E50I6DJpLZ5kLbch283Lu043EJtwSv0XvZDjr4YfR4d2MjAhqP6SH4VjjrKgbX8R00oCQ==}
- peerDependencies:
- react: '>=16.8'
-
- busboy@1.6.0:
- resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
- engines: {node: '>=10.16.0'}
-
- caniuse-lite@1.0.30001591:
- resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==}
-
- ccount@2.0.1:
- resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
-
- chalk@2.3.0:
- resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==}
- engines: {node: '>=4'}
-
- character-entities-html4@2.1.0:
- resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
-
- character-entities-legacy@3.0.0:
- resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
-
- character-entities@2.0.2:
- resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
-
- character-reference-invalid@2.0.1:
- resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
-
- client-only@0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
-
- clipboardy@1.2.2:
- resolution: {integrity: sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==}
- engines: {node: '>=4'}
-
- clsx@2.1.0:
- resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==}
- engines: {node: '>=6'}
-
- collapse-white-space@2.1.0:
- resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
-
- color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
-
- color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
- comma-separated-tokens@2.0.3:
- resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
-
- commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
-
- commander@8.3.0:
- resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
- engines: {node: '>= 12'}
-
- commander@9.2.0:
- resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==}
- engines: {node: ^12.20.0 || >=14}
-
- compute-scroll-into-view@3.1.0:
- resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==}
-
- cose-base@1.0.3:
- resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
-
- cross-spawn@5.1.0:
- resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
-
- csstype@3.1.1:
- resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
-
- cytoscape-cose-bilkent@4.1.0:
- resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
- peerDependencies:
- cytoscape: ^3.2.0
-
- cytoscape@3.28.1:
- resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==}
- engines: {node: '>=0.10'}
-
- d3-array@2.12.1:
- resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
-
- d3-array@3.2.4:
- resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
- engines: {node: '>=12'}
-
- d3-axis@3.0.0:
- resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
- engines: {node: '>=12'}
-
- d3-brush@3.0.0:
- resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
- engines: {node: '>=12'}
-
- d3-chord@3.0.1:
- resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
- engines: {node: '>=12'}
-
- d3-color@3.1.0:
- resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
- engines: {node: '>=12'}
-
- d3-contour@4.0.2:
- resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
- engines: {node: '>=12'}
-
- d3-delaunay@6.0.4:
- resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
- engines: {node: '>=12'}
-
- d3-dispatch@3.0.1:
- resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
- engines: {node: '>=12'}
-
- d3-drag@3.0.0:
- resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
- engines: {node: '>=12'}
-
- d3-dsv@3.0.1:
- resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
- engines: {node: '>=12'}
- hasBin: true
-
- d3-ease@3.0.1:
- resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
- engines: {node: '>=12'}
-
- d3-fetch@3.0.1:
- resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
- engines: {node: '>=12'}
-
- d3-force@3.0.0:
- resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
- engines: {node: '>=12'}
-
- d3-format@3.1.0:
- resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==}
- engines: {node: '>=12'}
-
- d3-geo@3.1.0:
- resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==}
- engines: {node: '>=12'}
-
- d3-hierarchy@3.1.2:
- resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
- engines: {node: '>=12'}
-
- d3-interpolate@3.0.1:
- resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
- engines: {node: '>=12'}
-
- d3-path@1.0.9:
- resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
-
- d3-path@3.1.0:
- resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
- engines: {node: '>=12'}
-
- d3-polygon@3.0.1:
- resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
- engines: {node: '>=12'}
-
- d3-quadtree@3.0.1:
- resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
- engines: {node: '>=12'}
-
- d3-random@3.0.1:
- resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
- engines: {node: '>=12'}
-
- d3-sankey@0.12.3:
- resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
-
- d3-scale-chromatic@3.0.0:
- resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==}
- engines: {node: '>=12'}
-
- d3-scale@4.0.2:
- resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
- engines: {node: '>=12'}
-
- d3-selection@3.0.0:
- resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
- engines: {node: '>=12'}
-
- d3-shape@1.3.7:
- resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
-
- d3-shape@3.2.0:
- resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
- engines: {node: '>=12'}
-
- d3-time-format@4.1.0:
- resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
- engines: {node: '>=12'}
-
- d3-time@3.1.0:
- resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
- engines: {node: '>=12'}
-
- d3-timer@3.0.1:
- resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
- engines: {node: '>=12'}
-
- d3-transition@3.0.1:
- resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
- engines: {node: '>=12'}
- peerDependencies:
- d3-selection: 2 - 3
-
- d3-zoom@3.0.0:
- resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
- engines: {node: '>=12'}
-
- d3@7.8.5:
- resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==}
- engines: {node: '>=12'}
-
- dagre-d3-es@7.0.10:
- resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==}
-
- dayjs@1.11.10:
- resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
-
- debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- decode-named-character-reference@1.0.2:
- resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
-
- delaunator@5.0.1:
- resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
-
- dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
-
- devlop@1.1.0:
- resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
-
- diff@5.1.0:
- resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
- engines: {node: '>=0.3.1'}
-
- dompurify@3.0.9:
- resolution: {integrity: sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ==}
-
- elkjs@0.9.2:
- resolution: {integrity: sha512-2Y/RaA1pdgSHpY0YG4TYuYCD2wh97CRvu22eLG3Kz0pgQ/6KbIFTxsTnDc4MH/6hFlg2L/9qXrDMG0nMjP63iw==}
-
- entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
-
- escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
- escape-string-regexp@5.0.0:
- resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
- engines: {node: '>=12'}
-
- esm@3.2.25:
- resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==}
- engines: {node: '>=6'}
-
- esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
-
- estree-util-attach-comments@3.0.0:
- resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
-
- estree-util-build-jsx@3.0.1:
- resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
-
- estree-util-is-identifier-name@2.0.1:
- resolution: {integrity: sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==}
-
- estree-util-is-identifier-name@3.0.0:
- resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
-
- estree-util-to-js@2.0.0:
- resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
-
- estree-util-value-to-estree@1.3.0:
- resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==}
- engines: {node: '>=12.0.0'}
-
- estree-util-value-to-estree@3.1.1:
- resolution: {integrity: sha512-5mvUrF2suuv5f5cGDnDphIy4/gW86z82kl5qG6mM9z04SEQI4FB5Apmaw/TGEf3l55nLtMs5s51dmhUzvAHQCA==}
-
- estree-util-visit@2.0.0:
- resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
-
- estree-walker@3.0.1:
- resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==}
-
- execa@0.8.0:
- resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==}
- engines: {node: '>=4'}
-
- extend-shallow@2.0.1:
- resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
- engines: {node: '>=0.10.0'}
-
- extend@3.0.2:
- resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
-
- fault@2.0.1:
- resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==}
-
- flexsearch@0.7.43:
- resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==}
-
- focus-visible@5.2.0:
- resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==}
-
- format@0.2.2:
- resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
- engines: {node: '>=0.4.x'}
-
- get-stream@3.0.0:
- resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
- engines: {node: '>=4'}
-
- github-slugger@2.0.0:
- resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
-
- graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
- gray-matter@4.0.3:
- resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
- engines: {node: '>=6.0'}
-
- has-flag@2.0.0:
- resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==}
- engines: {node: '>=0.10.0'}
-
- hast-util-from-dom@5.0.0:
- resolution: {integrity: sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==}
-
- hast-util-from-html-isomorphic@2.0.0:
- resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==}
-
- hast-util-from-html@2.0.1:
- resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==}
-
- hast-util-from-parse5@8.0.1:
- resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==}
-
- hast-util-is-element@3.0.0:
- resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
-
- hast-util-parse-selector@4.0.0:
- resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
-
- hast-util-raw@9.0.2:
- resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==}
-
- hast-util-to-estree@3.1.0:
- resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==}
-
- hast-util-to-jsx-runtime@2.3.0:
- resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
-
- hast-util-to-parse5@8.0.0:
- resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
-
- hast-util-to-string@3.0.0:
- resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==}
-
- hast-util-to-text@4.0.0:
- resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==}
-
- hast-util-whitespace@3.0.0:
- resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
-
- hastscript@8.0.0:
- resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==}
-
- heap@0.2.7:
- resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
-
- html-void-elements@3.0.0:
- resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
-
- iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
-
- inline-style-parser@0.1.1:
- resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
-
- inline-style-parser@0.2.3:
- resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==}
-
- internmap@1.0.1:
- resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
-
- internmap@2.0.3:
- resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
- engines: {node: '>=12'}
-
- intersection-observer@0.12.2:
- resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==}
-
- is-alphabetical@2.0.1:
- resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
-
- is-alphanumerical@2.0.1:
- resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
-
- is-buffer@2.0.5:
- resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
- engines: {node: '>=4'}
-
- is-decimal@2.0.1:
- resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
-
- is-extendable@0.1.1:
- resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
- engines: {node: '>=0.10.0'}
-
- is-hexadecimal@2.0.1:
- resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
-
- is-plain-obj@3.0.0:
- resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
- engines: {node: '>=10'}
-
- is-plain-obj@4.1.0:
- resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
- engines: {node: '>=12'}
-
- is-reference@3.0.0:
- resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==}
-
- is-stream@1.1.0:
- resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
- engines: {node: '>=0.10.0'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
- js-yaml@3.14.1:
- resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
- hasBin: true
-
- katex@0.16.9:
- resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==}
- hasBin: true
-
- khroma@2.1.0:
- resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
-
- kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
- kleur@4.1.5:
- resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
- engines: {node: '>=6'}
-
- layout-base@1.0.2:
- resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
-
- lodash-es@4.17.21:
- resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
-
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
-
- longest-streak@3.1.0:
- resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
-
- loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
- hasBin: true
-
- lru-cache@4.1.5:
- resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
-
- markdown-extensions@2.0.0:
- resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
- engines: {node: '>=16'}
-
- markdown-table@3.0.3:
- resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
-
- mathjax-full@3.2.2:
- resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==}
-
- mdast-util-find-and-replace@3.0.1:
- resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
-
- mdast-util-from-markdown@1.3.1:
- resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==}
-
- mdast-util-from-markdown@2.0.1:
- resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==}
-
- mdast-util-frontmatter@2.0.1:
- resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==}
-
- mdast-util-gfm-autolink-literal@2.0.0:
- resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
-
- mdast-util-gfm-footnote@2.0.0:
- resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
-
- mdast-util-gfm-strikethrough@2.0.0:
- resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
-
- mdast-util-gfm-table@2.0.0:
- resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
-
- mdast-util-gfm-task-list-item@2.0.0:
- resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
-
- mdast-util-gfm@3.0.0:
- resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
-
- mdast-util-math@3.0.0:
- resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==}
-
- mdast-util-mdx-expression@2.0.0:
- resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==}
-
- mdast-util-mdx-jsx@3.1.2:
- resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==}
-
- mdast-util-mdx@3.0.0:
- resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
-
- mdast-util-mdxjs-esm@2.0.1:
- resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
-
- mdast-util-phrasing@4.1.0:
- resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
-
- mdast-util-to-hast@13.1.0:
- resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==}
-
- mdast-util-to-markdown@2.1.0:
- resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
-
- mdast-util-to-string@3.1.0:
- resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==}
-
- mdast-util-to-string@4.0.0:
- resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
-
- mermaid@10.8.0:
- resolution: {integrity: sha512-9CzfSreRjdDJxX796+jW4zjEq0DVw5xVF0nWsqff8OTbrt+ml0TZ5PyYUjjUZJa2NYxYJZZXewEquxGiM8qZEA==}
-
- mhchemparser@4.2.1:
- resolution: {integrity: sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==}
-
- micromark-core-commonmark@1.0.6:
- resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==}
-
- micromark-core-commonmark@2.0.1:
- resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==}
-
- micromark-extension-frontmatter@2.0.0:
- resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==}
-
- micromark-extension-gfm-autolink-literal@2.0.0:
- resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==}
-
- micromark-extension-gfm-footnote@2.0.0:
- resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==}
-
- micromark-extension-gfm-strikethrough@2.0.0:
- resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==}
-
- micromark-extension-gfm-table@2.0.0:
- resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==}
-
- micromark-extension-gfm-tagfilter@2.0.0:
- resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
-
- micromark-extension-gfm-task-list-item@2.0.1:
- resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==}
-
- micromark-extension-gfm@3.0.0:
- resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
-
- micromark-extension-math@3.0.0:
- resolution: {integrity: sha512-iJ2Q28vBoEovLN5o3GO12CpqorQRYDPT+p4zW50tGwTfJB+iv/VnB6Ini+gqa24K97DwptMBBIvVX6Bjk49oyQ==}
-
- micromark-extension-mdx-expression@3.0.0:
- resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
-
- micromark-extension-mdx-jsx@3.0.0:
- resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==}
-
- micromark-extension-mdx-md@2.0.0:
- resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
-
- micromark-extension-mdxjs-esm@3.0.0:
- resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
-
- micromark-extension-mdxjs@3.0.0:
- resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
-
- micromark-factory-destination@1.0.0:
- resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==}
-
- micromark-factory-destination@2.0.0:
- resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
-
- micromark-factory-label@1.0.2:
- resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==}
-
- micromark-factory-label@2.0.0:
- resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
-
- micromark-factory-mdx-expression@2.0.1:
- resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==}
-
- micromark-factory-space@1.0.0:
- resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==}
-
- micromark-factory-space@2.0.0:
- resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
-
- micromark-factory-title@1.0.2:
- resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==}
-
- micromark-factory-title@2.0.0:
- resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
-
- micromark-factory-whitespace@1.0.0:
- resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==}
-
- micromark-factory-whitespace@2.0.0:
- resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
-
- micromark-util-character@1.1.0:
- resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==}
-
- micromark-util-character@2.1.0:
- resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
-
- micromark-util-chunked@1.0.0:
- resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==}
-
- micromark-util-chunked@2.0.0:
- resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
-
- micromark-util-classify-character@1.0.0:
- resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==}
-
- micromark-util-classify-character@2.0.0:
- resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
-
- micromark-util-combine-extensions@1.0.0:
- resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==}
-
- micromark-util-combine-extensions@2.0.0:
- resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
-
- micromark-util-decode-numeric-character-reference@1.0.0:
- resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==}
-
- micromark-util-decode-numeric-character-reference@2.0.1:
- resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
-
- micromark-util-decode-string@1.0.2:
- resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==}
-
- micromark-util-decode-string@2.0.0:
- resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
-
- micromark-util-encode@1.0.1:
- resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==}
-
- micromark-util-encode@2.0.0:
- resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
-
- micromark-util-events-to-acorn@2.0.2:
- resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
-
- micromark-util-html-tag-name@1.1.0:
- resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==}
-
- micromark-util-html-tag-name@2.0.0:
- resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
-
- micromark-util-normalize-identifier@1.0.0:
- resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==}
-
- micromark-util-normalize-identifier@2.0.0:
- resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
-
- micromark-util-resolve-all@1.0.0:
- resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==}
-
- micromark-util-resolve-all@2.0.0:
- resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
-
- micromark-util-sanitize-uri@1.1.0:
- resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==}
-
- micromark-util-sanitize-uri@2.0.0:
- resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
-
- micromark-util-subtokenize@1.0.2:
- resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==}
-
- micromark-util-subtokenize@2.0.1:
- resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==}
-
- micromark-util-symbol@1.0.1:
- resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==}
-
- micromark-util-symbol@2.0.0:
- resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
-
- micromark-util-types@1.0.2:
- resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==}
-
- micromark-util-types@2.0.0:
- resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
-
- micromark@3.1.0:
- resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==}
-
- micromark@4.0.0:
- resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
-
- mj-context-menu@0.6.1:
- resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==}
-
- mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
-
- ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- next-themes@0.3.0:
- resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==}
- peerDependencies:
- react: ^16.8 || ^17 || ^18
- react-dom: ^16.8 || ^17 || ^18
-
- next@14.1.1:
- resolution: {integrity: sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww==}
- engines: {node: '>=18.17.0'}
- hasBin: true
- peerDependencies:
- '@opentelemetry/api': ^1.1.0
- react: ^18.2.0
- react-dom: ^18.2.0
- sass: ^1.3.0
- peerDependenciesMeta:
- '@opentelemetry/api':
- optional: true
- sass:
- optional: true
-
- nextra-theme-docs@3.0.0-alpha.24:
- resolution: {integrity: sha512-AUuv3o1xYzGGvUP/lxxf7i++Zyycy4bH22l6T8uDVez2n0j/RDbzqmSIdL4Jh4POUd0fyxEG+BUomKXKyj3L1g==}
- peerDependencies:
- next: '>=13'
- nextra: 3.0.0-alpha.24
- react: '>=16.13.1'
- react-dom: '>=16.13.1'
-
- nextra@3.0.0-alpha.24:
- resolution: {integrity: sha512-KScl/DQG68JBGy6gfOFNdVcrlc24YvcegGnYwUXvpCoHx2YcBUSp6FE7LeaX/C/mI4PPIMmTJuEWIjGH9DXeCQ==}
- engines: {node: '>=18'}
- peerDependencies:
- next: '>=13'
- react: '>=16.13.1'
- react-dom: '>=16.13.1'
-
- nlcst-to-string@3.1.1:
- resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==}
-
- non-layered-tidy-tree-layout@2.0.2:
- resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==}
-
- npm-run-path@2.0.2:
- resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
- engines: {node: '>=4'}
-
- npm-to-yarn@2.2.1:
- resolution: {integrity: sha512-O/j/ROyX0KGLG7O6Ieut/seQ0oiTpHF2tXAcFbpdTLQFiaNtkyTXXocM1fwpaa60dg1qpWj0nHlbNhx6qwuENQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
- p-finally@1.0.0:
- resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
- engines: {node: '>=4'}
-
- p-limit@4.0.0:
- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- parse-entities@4.0.0:
- resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==}
-
- parse-latin@5.0.1:
- resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==}
-
- parse-numeric-range@1.3.0:
- resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
-
- parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
-
- path-key@2.0.1:
- resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
- engines: {node: '>=4'}
-
- periscopic@3.0.4:
- resolution: {integrity: sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==}
-
- picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
-
- postcss@8.4.31:
- resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
- engines: {node: ^10 || ^12 || >=14}
-
- property-information@6.2.0:
- resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==}
-
- pseudomap@1.0.2:
- resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
-
- react-dom@18.2.0:
- resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
- peerDependencies:
- react: ^18.2.0
-
- react@18.2.0:
- resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
- engines: {node: '>=0.10.0'}
-
- reading-time@1.5.0:
- resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==}
-
- rehype-katex@7.0.0:
- resolution: {integrity: sha512-h8FPkGE00r2XKU+/acgqwWUlyzve1IiOKwsEkg4pDL3k48PiE0Pt+/uLtVHDVkN1yA4iurZN6UES8ivHVEQV6Q==}
-
- rehype-parse@9.0.0:
- resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==}
-
- rehype-pretty-code@0.13.0:
- resolution: {integrity: sha512-+22dz1StXlF7dlMyOySNaVxgcGhMI4BCxq0JxJJPWYGiKsI6cu5jyuIKGHXHvH18D8sv1rdKtvsY9UEfN3++SQ==}
- engines: {node: '>=18'}
- peerDependencies:
- shiki: ^1.0.0
-
- rehype-raw@7.0.0:
- resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
-
- remark-frontmatter@5.0.0:
- resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==}
-
- remark-gfm@4.0.0:
- resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
-
- remark-math@6.0.0:
- resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==}
-
- remark-mdx@3.0.1:
- resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==}
-
- remark-parse@11.0.0:
- resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
-
- remark-reading-time@2.0.1:
- resolution: {integrity: sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==}
-
- remark-rehype@11.1.0:
- resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==}
-
- remark-smartypants@2.1.0:
- resolution: {integrity: sha512-qoF6Vz3BjU2tP6OfZqHOvCU0ACmu/6jhGaINSQRI9mM7wCxNQTKB3JUAN4SVoN2ybElEDTxBIABRep7e569iJw==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- remark-stringify@11.0.0:
- resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
-
- retext-latin@3.1.0:
- resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==}
-
- retext-smartypants@5.2.0:
- resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==}
-
- retext-stringify@3.1.0:
- resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==}
-
- retext@8.1.0:
- resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==}
-
- robust-predicates@3.0.2:
- resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
-
- rw@1.3.3:
- resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
-
- sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
-
- safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
-
- scheduler@0.23.0:
- resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
-
- scroll-into-view-if-needed@3.1.0:
- resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
-
- section-matter@1.0.0:
- resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
- engines: {node: '>=4'}
-
- shebang-command@1.2.0:
- resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
- engines: {node: '>=0.10.0'}
-
- shebang-regex@1.0.0:
- resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
- engines: {node: '>=0.10.0'}
-
- shiki@1.6.1:
- resolution: {integrity: sha512-1Pu/A1rtsG6HZvQm4W0NExQ45e02og+rPog7PDaFDiMumZgOYnZIu4JtGQeAIfMwdbKSjJQoCUr79vDLKUUxWA==}
-
- signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
-
- slash@5.1.0:
- resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
- engines: {node: '>=14.16'}
-
- source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
- engines: {node: '>=0.10.0'}
-
- source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
-
- space-separated-tokens@2.0.2:
- resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
-
- speech-rule-engine@4.0.7:
- resolution: {integrity: sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==}
- hasBin: true
-
- sprintf-js@1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
-
- streamsearch@1.1.0:
- resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
- engines: {node: '>=10.0.0'}
-
- stringify-entities@4.0.3:
- resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
-
- strip-bom-string@1.0.0:
- resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
- engines: {node: '>=0.10.0'}
-
- strip-eof@1.0.0:
- resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
- engines: {node: '>=0.10.0'}
-
- style-to-object@0.4.4:
- resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
-
- style-to-object@1.0.6:
- resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==}
-
- styled-jsx@5.1.1:
- resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- '@babel/core': '*'
- babel-plugin-macros: '*'
- react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- babel-plugin-macros:
- optional: true
-
- stylis@4.3.1:
- resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==}
-
- supports-color@4.5.0:
- resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==}
- engines: {node: '>=4'}
-
- title@3.5.3:
- resolution: {integrity: sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==}
- hasBin: true
-
- titleize@1.0.0:
- resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==}
- engines: {node: '>=0.10.0'}
-
- trim-lines@3.0.1:
- resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
-
- trough@2.1.0:
- resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
-
- ts-dedent@2.2.0:
- resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
- engines: {node: '>=6.10'}
-
- tslib@2.4.1:
- resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
-
- twoslash-protocol@0.2.6:
- resolution: {integrity: sha512-8NbJlYeRdBcCTQ7ui7pdRPC1NL16aOnoYNz06oBW+W0qWNuiQXHgE8UeNvbA038aDd6ZPuuD5WedsBIESocB4g==}
-
- twoslash@0.2.6:
- resolution: {integrity: sha512-DcAKIyXMB6xNs+SOw/oF8GvUr/cfJSqznngVXYbAUIVfTW3M8vWSEoCaz/RgSD+M6vwtK8DJ4/FmYBF5MN8BGw==}
- peerDependencies:
- typescript: '*'
-
- typescript@5.3.3:
- resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
-
- unherit@3.0.1:
- resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==}
-
- unified@10.1.2:
- resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
-
- unified@11.0.4:
- resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
-
- unist-util-find-after@5.0.0:
- resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
-
- unist-util-is@5.1.1:
- resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==}
-
- unist-util-is@6.0.0:
- resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
-
- unist-util-modify-children@3.1.1:
- resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==}
-
- unist-util-position-from-estree@2.0.0:
- resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
-
- unist-util-position@5.0.0:
- resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
-
- unist-util-remove-position@5.0.0:
- resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
-
- unist-util-remove@4.0.0:
- resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==}
-
- unist-util-stringify-position@3.0.2:
- resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==}
-
- unist-util-stringify-position@4.0.0:
- resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
-
- unist-util-visit-children@2.0.2:
- resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==}
-
- unist-util-visit-parents@4.1.1:
- resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==}
-
- unist-util-visit-parents@5.1.1:
- resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==}
-
- unist-util-visit-parents@6.0.1:
- resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
-
- unist-util-visit@3.1.0:
- resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==}
-
- unist-util-visit@4.1.1:
- resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==}
-
- unist-util-visit@5.0.0:
- resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
-
- uuid@9.0.1:
- resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
- hasBin: true
-
- uvu@0.5.6:
- resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
- engines: {node: '>=8'}
- hasBin: true
-
- vfile-location@5.0.2:
- resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==}
-
- vfile-message@3.1.3:
- resolution: {integrity: sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==}
-
- vfile-message@4.0.2:
- resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
-
- vfile@5.3.6:
- resolution: {integrity: sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==}
-
- vfile@6.0.1:
- resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
-
- web-namespaces@2.0.1:
- resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
-
- web-worker@1.3.0:
- resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==}
-
- which@1.3.1:
- resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
- hasBin: true
-
- wicked-good-xpath@1.3.0:
- resolution: {integrity: sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==}
-
- xmldom-sre@0.1.31:
- resolution: {integrity: sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==}
- engines: {node: '>=0.1'}
-
- yallist@2.1.2:
- resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
-
- yaml@2.4.2:
- resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
- engines: {node: '>= 14'}
- hasBin: true
-
- yocto-queue@1.0.0:
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
- engines: {node: '>=12.20'}
-
- zod-validation-error@1.5.0:
- resolution: {integrity: sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw==}
- engines: {node: '>=16.0.0'}
- peerDependencies:
- zod: ^3.18.0
-
- zod@3.22.4:
- resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
-
- zwitch@2.0.4:
- resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
-
-snapshots:
-
- '@braintree/sanitize-url@6.0.4': {}
-
- '@headlessui/react@1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
- dependencies:
- '@tanstack/react-virtual': 3.1.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- client-only: 0.0.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
-
- '@mdx-js/mdx@3.0.1':
- dependencies:
- '@types/estree': 1.0.0
- '@types/estree-jsx': 1.0.0
- '@types/hast': 3.0.4
- '@types/mdx': 2.0.3
- collapse-white-space: 2.1.0
- devlop: 1.1.0
- estree-util-build-jsx: 3.0.1
- estree-util-is-identifier-name: 3.0.0
- estree-util-to-js: 2.0.0
- estree-walker: 3.0.1
- hast-util-to-estree: 3.1.0
- hast-util-to-jsx-runtime: 2.3.0
- markdown-extensions: 2.0.0
- periscopic: 3.0.4
- remark-mdx: 3.0.1
- remark-parse: 11.0.0
- remark-rehype: 11.1.0
- source-map: 0.7.4
- unified: 11.0.4
- unist-util-position-from-estree: 2.0.0
- unist-util-stringify-position: 4.0.0
- unist-util-visit: 5.0.0
- vfile: 6.0.1
- transitivePeerDependencies:
- - supports-color
-
- '@mdx-js/react@3.0.1(@types/react@18.0.26)(react@18.2.0)':
- dependencies:
- '@types/mdx': 2.0.3
- '@types/react': 18.0.26
- react: 18.2.0
-
- '@napi-rs/simple-git-android-arm-eabi@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-android-arm64@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-darwin-arm64@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-darwin-x64@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-linux-arm64-gnu@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-linux-arm64-musl@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-linux-x64-gnu@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-linux-x64-musl@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-win32-arm64-msvc@0.1.16':
- optional: true
-
- '@napi-rs/simple-git-win32-x64-msvc@0.1.16':
- optional: true
-
- '@napi-rs/simple-git@0.1.16':
- optionalDependencies:
- '@napi-rs/simple-git-android-arm-eabi': 0.1.16
- '@napi-rs/simple-git-android-arm64': 0.1.16
- '@napi-rs/simple-git-darwin-arm64': 0.1.16
- '@napi-rs/simple-git-darwin-x64': 0.1.16
- '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.16
- '@napi-rs/simple-git-linux-arm64-gnu': 0.1.16
- '@napi-rs/simple-git-linux-arm64-musl': 0.1.16
- '@napi-rs/simple-git-linux-x64-gnu': 0.1.16
- '@napi-rs/simple-git-linux-x64-musl': 0.1.16
- '@napi-rs/simple-git-win32-arm64-msvc': 0.1.16
- '@napi-rs/simple-git-win32-x64-msvc': 0.1.16
-
- '@next/env@14.1.1': {}
-
- '@next/swc-darwin-arm64@14.1.1':
- optional: true
-
- '@next/swc-darwin-x64@14.1.1':
- optional: true
-
- '@next/swc-linux-arm64-gnu@14.1.1':
- optional: true
-
- '@next/swc-linux-arm64-musl@14.1.1':
- optional: true
-
- '@next/swc-linux-x64-gnu@14.1.1':
- optional: true
-
- '@next/swc-linux-x64-musl@14.1.1':
- optional: true
-
- '@next/swc-win32-arm64-msvc@14.1.1':
- optional: true
-
- '@next/swc-win32-ia32-msvc@14.1.1':
- optional: true
-
- '@next/swc-win32-x64-msvc@14.1.1':
- optional: true
-
- '@popperjs/core@2.11.8': {}
-
- '@shikijs/core@1.6.1': {}
-
- '@shikijs/twoslash@1.6.1(typescript@5.3.3)':
- dependencies:
- '@shikijs/core': 1.6.1
- twoslash: 0.2.6(typescript@5.3.3)
- transitivePeerDependencies:
- - supports-color
- - typescript
-
- '@swc/helpers@0.5.2':
- dependencies:
- tslib: 2.4.1
-
- '@tanstack/react-virtual@3.1.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
- dependencies:
- '@tanstack/virtual-core': 3.1.3
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
-
- '@tanstack/virtual-core@3.1.3': {}
-
- '@theguild/remark-mermaid@0.0.5(react@18.2.0)':
- dependencies:
- mermaid: 10.8.0
- react: 18.2.0
- unist-util-visit: 5.0.0
- transitivePeerDependencies:
- - supports-color
-
- '@theguild/remark-npm2yarn@0.3.0':
- dependencies:
- npm-to-yarn: 2.2.1
- unist-util-visit: 5.0.0
-
- '@types/acorn@4.0.6':
- dependencies:
- '@types/estree': 1.0.0
-
- '@types/d3-scale-chromatic@3.0.3': {}
-
- '@types/d3-scale@4.0.8':
- dependencies:
- '@types/d3-time': 3.0.3
-
- '@types/d3-time@3.0.3': {}
-
- '@types/debug@4.1.7':
- dependencies:
- '@types/ms': 0.7.31
-
- '@types/estree-jsx@1.0.0':
- dependencies:
- '@types/estree': 1.0.0
-
- '@types/estree@1.0.0': {}
-
- '@types/hast@3.0.4':
- dependencies:
- '@types/unist': 3.0.2
-
- '@types/katex@0.16.7': {}
-
- '@types/mdast@3.0.10':
- dependencies:
- '@types/unist': 3.0.2
-
- '@types/mdast@4.0.3':
- dependencies:
- '@types/unist': 3.0.2
-
- '@types/mdx@2.0.3': {}
-
- '@types/ms@0.7.31': {}
-
- '@types/nlcst@1.0.4':
- dependencies:
- '@types/unist': 2.0.6
-
- '@types/node@20.11.24':
- dependencies:
- undici-types: 5.26.5
-
- '@types/prop-types@15.7.5': {}
-
- '@types/react@18.0.26':
- dependencies:
- '@types/prop-types': 15.7.5
- '@types/scheduler': 0.16.2
- csstype: 3.1.1
-
- '@types/scheduler@0.16.2': {}
-
- '@types/unist@2.0.6': {}
-
- '@types/unist@3.0.2': {}
-
- '@typescript/vfs@1.5.0':
- dependencies:
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
-
- '@ungap/structured-clone@1.2.0': {}
-
- acorn-jsx@5.3.2(acorn@8.8.1):
- dependencies:
- acorn: 8.8.1
-
- acorn@8.8.1: {}
-
- ansi-styles@3.2.1:
- dependencies:
- color-convert: 1.9.3
-
- arch@2.2.0: {}
-
- arg@1.0.0: {}
-
- argparse@1.0.10:
- dependencies:
- sprintf-js: 1.0.3
-
- array-iterate@2.0.1: {}
-
- astring@1.8.3: {}
-
- bail@2.0.2: {}
-
- better-react-mathjax@2.0.3(react@18.2.0):
- dependencies:
- mathjax-full: 3.2.2
- react: 18.2.0
-
- busboy@1.6.0:
- dependencies:
- streamsearch: 1.1.0
-
- caniuse-lite@1.0.30001591: {}
-
- ccount@2.0.1: {}
-
- chalk@2.3.0:
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 4.5.0
-
- character-entities-html4@2.1.0: {}
-
- character-entities-legacy@3.0.0: {}
-
- character-entities@2.0.2: {}
-
- character-reference-invalid@2.0.1: {}
-
- client-only@0.0.1: {}
-
- clipboardy@1.2.2:
- dependencies:
- arch: 2.2.0
- execa: 0.8.0
-
- clsx@2.1.0: {}
-
- collapse-white-space@2.1.0: {}
-
- color-convert@1.9.3:
- dependencies:
- color-name: 1.1.3
-
- color-name@1.1.3: {}
-
- comma-separated-tokens@2.0.3: {}
-
- commander@7.2.0: {}
-
- commander@8.3.0: {}
-
- commander@9.2.0: {}
-
- compute-scroll-into-view@3.1.0: {}
-
- cose-base@1.0.3:
- dependencies:
- layout-base: 1.0.2
-
- cross-spawn@5.1.0:
- dependencies:
- lru-cache: 4.1.5
- shebang-command: 1.2.0
- which: 1.3.1
-
- csstype@3.1.1: {}
-
- cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1):
- dependencies:
- cose-base: 1.0.3
- cytoscape: 3.28.1
-
- cytoscape@3.28.1:
- dependencies:
- heap: 0.2.7
- lodash: 4.17.21
-
- d3-array@2.12.1:
- dependencies:
- internmap: 1.0.1
-
- d3-array@3.2.4:
- dependencies:
- internmap: 2.0.3
-
- d3-axis@3.0.0: {}
-
- d3-brush@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-drag: 3.0.0
- d3-interpolate: 3.0.1
- d3-selection: 3.0.0
- d3-transition: 3.0.1(d3-selection@3.0.0)
-
- d3-chord@3.0.1:
- dependencies:
- d3-path: 3.1.0
-
- d3-color@3.1.0: {}
-
- d3-contour@4.0.2:
- dependencies:
- d3-array: 3.2.4
-
- d3-delaunay@6.0.4:
- dependencies:
- delaunator: 5.0.1
-
- d3-dispatch@3.0.1: {}
-
- d3-drag@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-selection: 3.0.0
-
- d3-dsv@3.0.1:
- dependencies:
- commander: 7.2.0
- iconv-lite: 0.6.3
- rw: 1.3.3
-
- d3-ease@3.0.1: {}
-
- d3-fetch@3.0.1:
- dependencies:
- d3-dsv: 3.0.1
-
- d3-force@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-quadtree: 3.0.1
- d3-timer: 3.0.1
-
- d3-format@3.1.0: {}
-
- d3-geo@3.1.0:
- dependencies:
- d3-array: 3.2.4
-
- d3-hierarchy@3.1.2: {}
-
- d3-interpolate@3.0.1:
- dependencies:
- d3-color: 3.1.0
-
- d3-path@1.0.9: {}
-
- d3-path@3.1.0: {}
-
- d3-polygon@3.0.1: {}
-
- d3-quadtree@3.0.1: {}
-
- d3-random@3.0.1: {}
-
- d3-sankey@0.12.3:
- dependencies:
- d3-array: 2.12.1
- d3-shape: 1.3.7
-
- d3-scale-chromatic@3.0.0:
- dependencies:
- d3-color: 3.1.0
- d3-interpolate: 3.0.1
-
- d3-scale@4.0.2:
- dependencies:
- d3-array: 3.2.4
- d3-format: 3.1.0
- d3-interpolate: 3.0.1
- d3-time: 3.1.0
- d3-time-format: 4.1.0
-
- d3-selection@3.0.0: {}
-
- d3-shape@1.3.7:
- dependencies:
- d3-path: 1.0.9
-
- d3-shape@3.2.0:
- dependencies:
- d3-path: 3.1.0
-
- d3-time-format@4.1.0:
- dependencies:
- d3-time: 3.1.0
-
- d3-time@3.1.0:
- dependencies:
- d3-array: 3.2.4
-
- d3-timer@3.0.1: {}
-
- d3-transition@3.0.1(d3-selection@3.0.0):
- dependencies:
- d3-color: 3.1.0
- d3-dispatch: 3.0.1
- d3-ease: 3.0.1
- d3-interpolate: 3.0.1
- d3-selection: 3.0.0
- d3-timer: 3.0.1
-
- d3-zoom@3.0.0:
- dependencies:
- d3-dispatch: 3.0.1
- d3-drag: 3.0.0
- d3-interpolate: 3.0.1
- d3-selection: 3.0.0
- d3-transition: 3.0.1(d3-selection@3.0.0)
-
- d3@7.8.5:
- dependencies:
- d3-array: 3.2.4
- d3-axis: 3.0.0
- d3-brush: 3.0.0
- d3-chord: 3.0.1
- d3-color: 3.1.0
- d3-contour: 4.0.2
- d3-delaunay: 6.0.4
- d3-dispatch: 3.0.1
- d3-drag: 3.0.0
- d3-dsv: 3.0.1
- d3-ease: 3.0.1
- d3-fetch: 3.0.1
- d3-force: 3.0.0
- d3-format: 3.1.0
- d3-geo: 3.1.0
- d3-hierarchy: 3.1.2
- d3-interpolate: 3.0.1
- d3-path: 3.1.0
- d3-polygon: 3.0.1
- d3-quadtree: 3.0.1
- d3-random: 3.0.1
- d3-scale: 4.0.2
- d3-scale-chromatic: 3.0.0
- d3-selection: 3.0.0
- d3-shape: 3.2.0
- d3-time: 3.1.0
- d3-time-format: 4.1.0
- d3-timer: 3.0.1
- d3-transition: 3.0.1(d3-selection@3.0.0)
- d3-zoom: 3.0.0
-
- dagre-d3-es@7.0.10:
- dependencies:
- d3: 7.8.5
- lodash-es: 4.17.21
-
- dayjs@1.11.10: {}
-
- debug@4.3.4:
- dependencies:
- ms: 2.1.2
-
- decode-named-character-reference@1.0.2:
- dependencies:
- character-entities: 2.0.2
-
- delaunator@5.0.1:
- dependencies:
- robust-predicates: 3.0.2
-
- dequal@2.0.3: {}
-
- devlop@1.1.0:
- dependencies:
- dequal: 2.0.3
-
- diff@5.1.0: {}
-
- dompurify@3.0.9: {}
-
- elkjs@0.9.2: {}
-
- entities@4.5.0: {}
-
- escape-string-regexp@1.0.5: {}
-
- escape-string-regexp@5.0.0: {}
-
- esm@3.2.25: {}
-
- esprima@4.0.1: {}
-
- estree-util-attach-comments@3.0.0:
- dependencies:
- '@types/estree': 1.0.0
-
- estree-util-build-jsx@3.0.1:
- dependencies:
- '@types/estree-jsx': 1.0.0
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- estree-walker: 3.0.1
-
- estree-util-is-identifier-name@2.0.1: {}
-
- estree-util-is-identifier-name@3.0.0: {}
-
- estree-util-to-js@2.0.0:
- dependencies:
- '@types/estree-jsx': 1.0.0
- astring: 1.8.3
- source-map: 0.7.4
-
- estree-util-value-to-estree@1.3.0:
- dependencies:
- is-plain-obj: 3.0.0
-
- estree-util-value-to-estree@3.1.1:
- dependencies:
- '@types/estree': 1.0.0
- is-plain-obj: 4.1.0
-
- estree-util-visit@2.0.0:
- dependencies:
- '@types/estree-jsx': 1.0.0
- '@types/unist': 3.0.2
-
- estree-walker@3.0.1: {}
-
- execa@0.8.0:
- dependencies:
- cross-spawn: 5.1.0
- get-stream: 3.0.0
- is-stream: 1.1.0
- npm-run-path: 2.0.2
- p-finally: 1.0.0
- signal-exit: 3.0.7
- strip-eof: 1.0.0
-
- extend-shallow@2.0.1:
- dependencies:
- is-extendable: 0.1.1
-
- extend@3.0.2: {}
-
- fault@2.0.1:
- dependencies:
- format: 0.2.2
-
- flexsearch@0.7.43: {}
-
- focus-visible@5.2.0: {}
-
- format@0.2.2: {}
-
- get-stream@3.0.0: {}
-
- github-slugger@2.0.0: {}
-
- graceful-fs@4.2.11: {}
-
- gray-matter@4.0.3:
- dependencies:
- js-yaml: 3.14.1
- kind-of: 6.0.3
- section-matter: 1.0.0
- strip-bom-string: 1.0.0
-
- has-flag@2.0.0: {}
-
- hast-util-from-dom@5.0.0:
- dependencies:
- '@types/hast': 3.0.4
- hastscript: 8.0.0
- web-namespaces: 2.0.1
-
- hast-util-from-html-isomorphic@2.0.0:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-from-dom: 5.0.0
- hast-util-from-html: 2.0.1
- unist-util-remove-position: 5.0.0
-
- hast-util-from-html@2.0.1:
- dependencies:
- '@types/hast': 3.0.4
- devlop: 1.1.0
- hast-util-from-parse5: 8.0.1
- parse5: 7.1.2
- vfile: 6.0.1
- vfile-message: 4.0.2
-
- hast-util-from-parse5@8.0.1:
- dependencies:
- '@types/hast': 3.0.4
- '@types/unist': 3.0.2
- devlop: 1.1.0
- hastscript: 8.0.0
- property-information: 6.2.0
- vfile: 6.0.1
- vfile-location: 5.0.2
- web-namespaces: 2.0.1
-
- hast-util-is-element@3.0.0:
- dependencies:
- '@types/hast': 3.0.4
-
- hast-util-parse-selector@4.0.0:
- dependencies:
- '@types/hast': 3.0.4
-
- hast-util-raw@9.0.2:
- dependencies:
- '@types/hast': 3.0.4
- '@types/unist': 3.0.2
- '@ungap/structured-clone': 1.2.0
- hast-util-from-parse5: 8.0.1
- hast-util-to-parse5: 8.0.0
- html-void-elements: 3.0.0
- mdast-util-to-hast: 13.1.0
- parse5: 7.1.2
- unist-util-position: 5.0.0
- unist-util-visit: 5.0.0
- vfile: 6.0.1
- web-namespaces: 2.0.1
- zwitch: 2.0.4
-
- hast-util-to-estree@3.1.0:
- dependencies:
- '@types/estree': 1.0.0
- '@types/estree-jsx': 1.0.0
- '@types/hast': 3.0.4
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- estree-util-attach-comments: 3.0.0
- estree-util-is-identifier-name: 3.0.0
- hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
- mdast-util-mdxjs-esm: 2.0.1
- property-information: 6.2.0
- space-separated-tokens: 2.0.2
- style-to-object: 0.4.4
- unist-util-position: 5.0.0
- zwitch: 2.0.4
- transitivePeerDependencies:
- - supports-color
-
- hast-util-to-jsx-runtime@2.3.0:
- dependencies:
- '@types/estree': 1.0.0
- '@types/hast': 3.0.4
- '@types/unist': 3.0.2
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
- mdast-util-mdxjs-esm: 2.0.1
- property-information: 6.2.0
- space-separated-tokens: 2.0.2
- style-to-object: 1.0.6
- unist-util-position: 5.0.0
- vfile-message: 4.0.2
- transitivePeerDependencies:
- - supports-color
-
- hast-util-to-parse5@8.0.0:
- dependencies:
- '@types/hast': 3.0.4
- comma-separated-tokens: 2.0.3
- devlop: 1.1.0
- property-information: 6.2.0
- space-separated-tokens: 2.0.2
- web-namespaces: 2.0.1
- zwitch: 2.0.4
-
- hast-util-to-string@3.0.0:
- dependencies:
- '@types/hast': 3.0.4
-
- hast-util-to-text@4.0.0:
- dependencies:
- '@types/hast': 3.0.4
- '@types/unist': 3.0.2
- hast-util-is-element: 3.0.0
- unist-util-find-after: 5.0.0
-
- hast-util-whitespace@3.0.0:
- dependencies:
- '@types/hast': 3.0.4
-
- hastscript@8.0.0:
- dependencies:
- '@types/hast': 3.0.4
- comma-separated-tokens: 2.0.3
- hast-util-parse-selector: 4.0.0
- property-information: 6.2.0
- space-separated-tokens: 2.0.2
-
- heap@0.2.7: {}
-
- html-void-elements@3.0.0: {}
-
- iconv-lite@0.6.3:
- dependencies:
- safer-buffer: 2.1.2
-
- inline-style-parser@0.1.1: {}
-
- inline-style-parser@0.2.3: {}
-
- internmap@1.0.1: {}
-
- internmap@2.0.3: {}
-
- intersection-observer@0.12.2: {}
-
- is-alphabetical@2.0.1: {}
-
- is-alphanumerical@2.0.1:
- dependencies:
- is-alphabetical: 2.0.1
- is-decimal: 2.0.1
-
- is-buffer@2.0.5: {}
-
- is-decimal@2.0.1: {}
-
- is-extendable@0.1.1: {}
-
- is-hexadecimal@2.0.1: {}
-
- is-plain-obj@3.0.0: {}
-
- is-plain-obj@4.1.0: {}
-
- is-reference@3.0.0:
- dependencies:
- '@types/estree': 1.0.0
-
- is-stream@1.1.0: {}
-
- isexe@2.0.0: {}
-
- js-tokens@4.0.0: {}
-
- js-yaml@3.14.1:
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
-
- katex@0.16.9:
- dependencies:
- commander: 8.3.0
-
- khroma@2.1.0: {}
-
- kind-of@6.0.3: {}
-
- kleur@4.1.5: {}
-
- layout-base@1.0.2: {}
-
- lodash-es@4.17.21: {}
-
- lodash@4.17.21: {}
-
- longest-streak@3.1.0: {}
-
- loose-envify@1.4.0:
- dependencies:
- js-tokens: 4.0.0
-
- lru-cache@4.1.5:
- dependencies:
- pseudomap: 1.0.2
- yallist: 2.1.2
-
- markdown-extensions@2.0.0: {}
-
- markdown-table@3.0.3: {}
-
- mathjax-full@3.2.2:
- dependencies:
- esm: 3.2.25
- mhchemparser: 4.2.1
- mj-context-menu: 0.6.1
- speech-rule-engine: 4.0.7
-
- mdast-util-find-and-replace@3.0.1:
- dependencies:
- '@types/mdast': 4.0.3
- escape-string-regexp: 5.0.0
- unist-util-is: 6.0.0
- unist-util-visit-parents: 6.0.1
-
- mdast-util-from-markdown@1.3.1:
- dependencies:
- '@types/mdast': 3.0.10
- '@types/unist': 2.0.6
- decode-named-character-reference: 1.0.2
- mdast-util-to-string: 3.1.0
- micromark: 3.1.0
- micromark-util-decode-numeric-character-reference: 1.0.0
- micromark-util-decode-string: 1.0.2
- micromark-util-normalize-identifier: 1.0.0
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
- unist-util-stringify-position: 3.0.2
- uvu: 0.5.6
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-from-markdown@2.0.1:
- dependencies:
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
- decode-named-character-reference: 1.0.2
- devlop: 1.1.0
- mdast-util-to-string: 4.0.0
- micromark: 4.0.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-decode-string: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- unist-util-stringify-position: 4.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-frontmatter@2.0.1:
- dependencies:
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- escape-string-regexp: 5.0.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- micromark-extension-frontmatter: 2.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-autolink-literal@2.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- ccount: 2.0.1
- devlop: 1.1.0
- mdast-util-find-and-replace: 3.0.1
- micromark-util-character: 2.1.0
-
- mdast-util-gfm-footnote@2.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- micromark-util-normalize-identifier: 2.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-strikethrough@2.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-table@2.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- markdown-table: 3.0.3
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm-task-list-item@2.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-gfm@3.0.0:
- dependencies:
- mdast-util-from-markdown: 2.0.1
- mdast-util-gfm-autolink-literal: 2.0.0
- mdast-util-gfm-footnote: 2.0.0
- mdast-util-gfm-strikethrough: 2.0.0
- mdast-util-gfm-table: 2.0.0
- mdast-util-gfm-task-list-item: 2.0.0
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-math@3.0.0:
- dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- longest-streak: 3.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- unist-util-remove-position: 5.0.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdx-expression@2.0.0:
- dependencies:
- '@types/estree-jsx': 1.0.0
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdx-jsx@3.1.2:
- dependencies:
- '@types/estree-jsx': 1.0.0
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
- ccount: 2.0.1
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- parse-entities: 4.0.0
- stringify-entities: 4.0.3
- unist-util-remove-position: 5.0.0
- unist-util-stringify-position: 4.0.0
- vfile-message: 4.0.2
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdx@3.0.0:
- dependencies:
- mdast-util-from-markdown: 2.0.1
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
- mdast-util-mdxjs-esm: 2.0.1
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-mdxjs-esm@2.0.1:
- dependencies:
- '@types/estree-jsx': 1.0.0
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
- mdast-util-phrasing@4.1.0:
- dependencies:
- '@types/mdast': 4.0.3
- unist-util-is: 6.0.0
-
- mdast-util-to-hast@13.1.0:
- dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- '@ungap/structured-clone': 1.2.0
- devlop: 1.1.0
- micromark-util-sanitize-uri: 2.0.0
- trim-lines: 3.0.1
- unist-util-position: 5.0.0
- unist-util-visit: 5.0.0
- vfile: 6.0.1
-
- mdast-util-to-markdown@2.1.0:
- dependencies:
- '@types/mdast': 4.0.3
- '@types/unist': 3.0.2
- longest-streak: 3.1.0
- mdast-util-phrasing: 4.1.0
- mdast-util-to-string: 4.0.0
- micromark-util-decode-string: 2.0.0
- unist-util-visit: 5.0.0
- zwitch: 2.0.4
-
- mdast-util-to-string@3.1.0: {}
-
- mdast-util-to-string@4.0.0:
- dependencies:
- '@types/mdast': 4.0.3
-
- mermaid@10.8.0:
- dependencies:
- '@braintree/sanitize-url': 6.0.4
- '@types/d3-scale': 4.0.8
- '@types/d3-scale-chromatic': 3.0.3
- cytoscape: 3.28.1
- cytoscape-cose-bilkent: 4.1.0(cytoscape@3.28.1)
- d3: 7.8.5
- d3-sankey: 0.12.3
- dagre-d3-es: 7.0.10
- dayjs: 1.11.10
- dompurify: 3.0.9
- elkjs: 0.9.2
- khroma: 2.1.0
- lodash-es: 4.17.21
- mdast-util-from-markdown: 1.3.1
- non-layered-tidy-tree-layout: 2.0.2
- stylis: 4.3.1
- ts-dedent: 2.2.0
- uuid: 9.0.1
- web-worker: 1.3.0
- transitivePeerDependencies:
- - supports-color
-
- mhchemparser@4.2.1: {}
-
- micromark-core-commonmark@1.0.6:
- dependencies:
- decode-named-character-reference: 1.0.2
- micromark-factory-destination: 1.0.0
- micromark-factory-label: 1.0.2
- micromark-factory-space: 1.0.0
- micromark-factory-title: 1.0.2
- micromark-factory-whitespace: 1.0.0
- micromark-util-character: 1.1.0
- micromark-util-chunked: 1.0.0
- micromark-util-classify-character: 1.0.0
- micromark-util-html-tag-name: 1.1.0
- micromark-util-normalize-identifier: 1.0.0
- micromark-util-resolve-all: 1.0.0
- micromark-util-subtokenize: 1.0.2
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
- uvu: 0.5.6
-
- micromark-core-commonmark@2.0.1:
- dependencies:
- decode-named-character-reference: 1.0.2
- devlop: 1.1.0
- micromark-factory-destination: 2.0.0
- micromark-factory-label: 2.0.0
- micromark-factory-space: 2.0.0
- micromark-factory-title: 2.0.0
- micromark-factory-whitespace: 2.0.0
- micromark-util-character: 2.1.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.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-frontmatter@2.0.0:
- dependencies:
- fault: 2.0.1
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-gfm-autolink-literal@2.0.0:
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-sanitize-uri: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-gfm-footnote@2.0.0:
- dependencies:
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.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@2.0.0:
- dependencies:
- devlop: 1.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-classify-character: 2.0.0
- micromark-util-resolve-all: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-gfm-table@2.0.0:
- dependencies:
- devlop: 1.1.0
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-gfm-tagfilter@2.0.0:
- dependencies:
- micromark-util-types: 2.0.0
-
- micromark-extension-gfm-task-list-item@2.0.1:
- dependencies:
- devlop: 1.1.0
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-gfm@3.0.0:
- dependencies:
- micromark-extension-gfm-autolink-literal: 2.0.0
- micromark-extension-gfm-footnote: 2.0.0
- micromark-extension-gfm-strikethrough: 2.0.0
- micromark-extension-gfm-table: 2.0.0
- micromark-extension-gfm-tagfilter: 2.0.0
- micromark-extension-gfm-task-list-item: 2.0.1
- micromark-util-combine-extensions: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-math@3.0.0:
- dependencies:
- '@types/katex': 0.16.7
- devlop: 1.1.0
- katex: 0.16.9
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-mdx-expression@3.0.0:
- dependencies:
- '@types/estree': 1.0.0
- devlop: 1.1.0
- micromark-factory-mdx-expression: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-extension-mdx-jsx@3.0.0:
- dependencies:
- '@types/acorn': 4.0.6
- '@types/estree': 1.0.0
- devlop: 1.1.0
- estree-util-is-identifier-name: 3.0.0
- micromark-factory-mdx-expression: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- vfile-message: 4.0.2
-
- micromark-extension-mdx-md@2.0.0:
- dependencies:
- micromark-util-types: 2.0.0
-
- micromark-extension-mdxjs-esm@3.0.0:
- dependencies:
- '@types/estree': 1.0.0
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.1
- micromark-util-character: 2.1.0
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- unist-util-position-from-estree: 2.0.0
- vfile-message: 4.0.2
-
- micromark-extension-mdxjs@3.0.0:
- dependencies:
- acorn: 8.8.1
- acorn-jsx: 5.3.2(acorn@8.8.1)
- 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-factory-destination@1.0.0:
- dependencies:
- micromark-util-character: 1.1.0
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
-
- micromark-factory-destination@2.0.0:
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-factory-label@1.0.2:
- dependencies:
- micromark-util-character: 1.1.0
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
- uvu: 0.5.6
-
- micromark-factory-label@2.0.0:
- dependencies:
- devlop: 1.1.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-factory-mdx-expression@2.0.1:
- dependencies:
- '@types/estree': 1.0.0
- devlop: 1.1.0
- micromark-util-character: 2.1.0
- micromark-util-events-to-acorn: 2.0.2
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- unist-util-position-from-estree: 2.0.0
- vfile-message: 4.0.2
-
- micromark-factory-space@1.0.0:
- dependencies:
- micromark-util-character: 1.1.0
- micromark-util-types: 1.0.2
-
- micromark-factory-space@2.0.0:
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-types: 2.0.0
-
- micromark-factory-title@1.0.2:
- dependencies:
- micromark-factory-space: 1.0.0
- micromark-util-character: 1.1.0
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
- uvu: 0.5.6
-
- micromark-factory-title@2.0.0:
- dependencies:
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-factory-whitespace@1.0.0:
- dependencies:
- micromark-factory-space: 1.0.0
- micromark-util-character: 1.1.0
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
-
- micromark-factory-whitespace@2.0.0:
- dependencies:
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-util-character@1.1.0:
- dependencies:
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
-
- micromark-util-character@2.1.0:
- dependencies:
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-util-chunked@1.0.0:
- dependencies:
- micromark-util-symbol: 1.0.1
-
- micromark-util-chunked@2.0.0:
- dependencies:
- micromark-util-symbol: 2.0.0
-
- micromark-util-classify-character@1.0.0:
- dependencies:
- micromark-util-character: 1.1.0
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
-
- micromark-util-classify-character@2.0.0:
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-util-combine-extensions@1.0.0:
- dependencies:
- micromark-util-chunked: 1.0.0
- micromark-util-types: 1.0.2
-
- micromark-util-combine-extensions@2.0.0:
- dependencies:
- micromark-util-chunked: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-util-decode-numeric-character-reference@1.0.0:
- dependencies:
- micromark-util-symbol: 1.0.1
-
- micromark-util-decode-numeric-character-reference@2.0.1:
- dependencies:
- micromark-util-symbol: 2.0.0
-
- micromark-util-decode-string@1.0.2:
- dependencies:
- decode-named-character-reference: 1.0.2
- micromark-util-character: 1.1.0
- micromark-util-decode-numeric-character-reference: 1.0.0
- micromark-util-symbol: 1.0.1
-
- micromark-util-decode-string@2.0.0:
- dependencies:
- decode-named-character-reference: 1.0.2
- micromark-util-character: 2.1.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-symbol: 2.0.0
-
- micromark-util-encode@1.0.1: {}
-
- micromark-util-encode@2.0.0: {}
-
- micromark-util-events-to-acorn@2.0.2:
- dependencies:
- '@types/acorn': 4.0.6
- '@types/estree': 1.0.0
- '@types/unist': 3.0.2
- devlop: 1.1.0
- estree-util-visit: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- vfile-message: 4.0.2
-
- micromark-util-html-tag-name@1.1.0: {}
-
- micromark-util-html-tag-name@2.0.0: {}
-
- micromark-util-normalize-identifier@1.0.0:
- dependencies:
- micromark-util-symbol: 1.0.1
-
- micromark-util-normalize-identifier@2.0.0:
- dependencies:
- micromark-util-symbol: 2.0.0
-
- micromark-util-resolve-all@1.0.0:
- dependencies:
- micromark-util-types: 1.0.2
-
- micromark-util-resolve-all@2.0.0:
- dependencies:
- micromark-util-types: 2.0.0
-
- micromark-util-sanitize-uri@1.1.0:
- dependencies:
- micromark-util-character: 1.1.0
- micromark-util-encode: 1.0.1
- micromark-util-symbol: 1.0.1
-
- micromark-util-sanitize-uri@2.0.0:
- dependencies:
- micromark-util-character: 2.1.0
- micromark-util-encode: 2.0.0
- micromark-util-symbol: 2.0.0
-
- micromark-util-subtokenize@1.0.2:
- dependencies:
- micromark-util-chunked: 1.0.0
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
- uvu: 0.5.6
-
- micromark-util-subtokenize@2.0.1:
- dependencies:
- devlop: 1.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
-
- micromark-util-symbol@1.0.1: {}
-
- micromark-util-symbol@2.0.0: {}
-
- micromark-util-types@1.0.2: {}
-
- micromark-util-types@2.0.0: {}
-
- micromark@3.1.0:
- dependencies:
- '@types/debug': 4.1.7
- debug: 4.3.4
- decode-named-character-reference: 1.0.2
- micromark-core-commonmark: 1.0.6
- micromark-factory-space: 1.0.0
- micromark-util-character: 1.1.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.1
- micromark-util-normalize-identifier: 1.0.0
- micromark-util-resolve-all: 1.0.0
- micromark-util-sanitize-uri: 1.1.0
- micromark-util-subtokenize: 1.0.2
- micromark-util-symbol: 1.0.1
- micromark-util-types: 1.0.2
- uvu: 0.5.6
- transitivePeerDependencies:
- - supports-color
-
- micromark@4.0.0:
- dependencies:
- '@types/debug': 4.1.7
- debug: 4.3.4
- decode-named-character-reference: 1.0.2
- devlop: 1.1.0
- micromark-core-commonmark: 2.0.1
- micromark-factory-space: 2.0.0
- micromark-util-character: 2.1.0
- micromark-util-chunked: 2.0.0
- micromark-util-combine-extensions: 2.0.0
- micromark-util-decode-numeric-character-reference: 2.0.1
- micromark-util-encode: 2.0.0
- micromark-util-normalize-identifier: 2.0.0
- micromark-util-resolve-all: 2.0.0
- micromark-util-sanitize-uri: 2.0.0
- micromark-util-subtokenize: 2.0.1
- micromark-util-symbol: 2.0.0
- micromark-util-types: 2.0.0
- transitivePeerDependencies:
- - supports-color
-
- mj-context-menu@0.6.1: {}
-
- mri@1.2.0: {}
-
- ms@2.1.2: {}
-
- nanoid@3.3.7: {}
-
- next-themes@0.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
- dependencies:
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
-
- next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
- dependencies:
- '@next/env': 14.1.1
- '@swc/helpers': 0.5.2
- busboy: 1.6.0
- caniuse-lite: 1.0.30001591
- graceful-fs: 4.2.11
- postcss: 8.4.31
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- styled-jsx: 5.1.1(react@18.2.0)
- optionalDependencies:
- '@next/swc-darwin-arm64': 14.1.1
- '@next/swc-darwin-x64': 14.1.1
- '@next/swc-linux-arm64-gnu': 14.1.1
- '@next/swc-linux-arm64-musl': 14.1.1
- '@next/swc-linux-x64-gnu': 14.1.1
- '@next/swc-linux-x64-musl': 14.1.1
- '@next/swc-win32-arm64-msvc': 14.1.1
- '@next/swc-win32-ia32-msvc': 14.1.1
- '@next/swc-win32-x64-msvc': 14.1.1
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
-
- nextra-theme-docs@3.0.0-alpha.24(next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(nextra@3.0.0-alpha.24(@types/react@18.0.26)(next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
- dependencies:
- '@headlessui/react': 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- '@popperjs/core': 2.11.8
- clsx: 2.1.0
- escape-string-regexp: 5.0.0
- flexsearch: 0.7.43
- focus-visible: 5.2.0
- intersection-observer: 0.12.2
- next: 14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- next-themes: 0.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- nextra: 3.0.0-alpha.24(@types/react@18.0.26)(next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- scroll-into-view-if-needed: 3.1.0
- zod: 3.22.4
-
- nextra@3.0.0-alpha.24(@types/react@18.0.26)(next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3):
- dependencies:
- '@headlessui/react': 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- '@mdx-js/mdx': 3.0.1
- '@mdx-js/react': 3.0.1(@types/react@18.0.26)(react@18.2.0)
- '@napi-rs/simple-git': 0.1.16
- '@shikijs/twoslash': 1.6.1(typescript@5.3.3)
- '@theguild/remark-mermaid': 0.0.5(react@18.2.0)
- '@theguild/remark-npm2yarn': 0.3.0
- better-react-mathjax: 2.0.3(react@18.2.0)
- clsx: 2.1.0
- estree-util-to-js: 2.0.0
- estree-util-value-to-estree: 3.1.1
- github-slugger: 2.0.0
- graceful-fs: 4.2.11
- gray-matter: 4.0.3
- hast-util-to-estree: 3.1.0
- katex: 0.16.9
- next: 14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
- p-limit: 4.0.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- rehype-katex: 7.0.0
- rehype-pretty-code: 0.13.0(shiki@1.6.1)
- rehype-raw: 7.0.0
- remark-frontmatter: 5.0.0
- remark-gfm: 4.0.0
- remark-math: 6.0.0
- remark-reading-time: 2.0.1
- remark-smartypants: 2.1.0
- shiki: 1.6.1
- slash: 5.1.0
- title: 3.5.3
- unist-util-remove: 4.0.0
- unist-util-visit: 5.0.0
- yaml: 2.4.2
- zod: 3.22.4
- zod-validation-error: 1.5.0(zod@3.22.4)
- transitivePeerDependencies:
- - '@types/react'
- - supports-color
- - typescript
-
- nlcst-to-string@3.1.1:
- dependencies:
- '@types/nlcst': 1.0.4
-
- non-layered-tidy-tree-layout@2.0.2: {}
-
- npm-run-path@2.0.2:
- dependencies:
- path-key: 2.0.1
-
- npm-to-yarn@2.2.1: {}
-
- p-finally@1.0.0: {}
-
- p-limit@4.0.0:
- dependencies:
- yocto-queue: 1.0.0
-
- parse-entities@4.0.0:
- dependencies:
- '@types/unist': 2.0.6
- character-entities: 2.0.2
- character-entities-legacy: 3.0.0
- character-reference-invalid: 2.0.1
- decode-named-character-reference: 1.0.2
- is-alphanumerical: 2.0.1
- is-decimal: 2.0.1
- is-hexadecimal: 2.0.1
-
- parse-latin@5.0.1:
- dependencies:
- nlcst-to-string: 3.1.1
- unist-util-modify-children: 3.1.1
- unist-util-visit-children: 2.0.2
-
- parse-numeric-range@1.3.0: {}
-
- parse5@7.1.2:
- dependencies:
- entities: 4.5.0
-
- path-key@2.0.1: {}
-
- periscopic@3.0.4:
- dependencies:
- estree-walker: 3.0.1
- is-reference: 3.0.0
-
- picocolors@1.0.0: {}
-
- postcss@8.4.31:
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.0.2
-
- property-information@6.2.0: {}
-
- pseudomap@1.0.2: {}
-
- react-dom@18.2.0(react@18.2.0):
- dependencies:
- loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
-
- react@18.2.0:
- dependencies:
- loose-envify: 1.4.0
-
- reading-time@1.5.0: {}
-
- rehype-katex@7.0.0:
- dependencies:
- '@types/hast': 3.0.4
- '@types/katex': 0.16.7
- hast-util-from-html-isomorphic: 2.0.0
- hast-util-to-text: 4.0.0
- katex: 0.16.9
- unist-util-visit-parents: 6.0.1
- vfile: 6.0.1
-
- rehype-parse@9.0.0:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-from-html: 2.0.1
- unified: 11.0.4
-
- rehype-pretty-code@0.13.0(shiki@1.6.1):
- dependencies:
- '@types/hast': 3.0.4
- hast-util-to-string: 3.0.0
- parse-numeric-range: 1.3.0
- rehype-parse: 9.0.0
- shiki: 1.6.1
- unified: 11.0.4
- unist-util-visit: 5.0.0
-
- rehype-raw@7.0.0:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-raw: 9.0.2
- vfile: 6.0.1
-
- remark-frontmatter@5.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- mdast-util-frontmatter: 2.0.1
- micromark-extension-frontmatter: 2.0.0
- unified: 11.0.4
- transitivePeerDependencies:
- - supports-color
-
- remark-gfm@4.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- mdast-util-gfm: 3.0.0
- micromark-extension-gfm: 3.0.0
- remark-parse: 11.0.0
- remark-stringify: 11.0.0
- unified: 11.0.4
- transitivePeerDependencies:
- - supports-color
-
- remark-math@6.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- mdast-util-math: 3.0.0
- micromark-extension-math: 3.0.0
- unified: 11.0.4
- transitivePeerDependencies:
- - supports-color
-
- remark-mdx@3.0.1:
- dependencies:
- mdast-util-mdx: 3.0.0
- micromark-extension-mdxjs: 3.0.0
- transitivePeerDependencies:
- - supports-color
-
- remark-parse@11.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- mdast-util-from-markdown: 2.0.1
- micromark-util-types: 2.0.0
- unified: 11.0.4
- transitivePeerDependencies:
- - supports-color
-
- remark-reading-time@2.0.1:
- dependencies:
- estree-util-is-identifier-name: 2.0.1
- estree-util-value-to-estree: 1.3.0
- reading-time: 1.5.0
- unist-util-visit: 3.1.0
-
- remark-rehype@11.1.0:
- dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.3
- mdast-util-to-hast: 13.1.0
- unified: 11.0.4
- vfile: 6.0.1
-
- remark-smartypants@2.1.0:
- dependencies:
- retext: 8.1.0
- retext-smartypants: 5.2.0
- unist-util-visit: 5.0.0
-
- remark-stringify@11.0.0:
- dependencies:
- '@types/mdast': 4.0.3
- mdast-util-to-markdown: 2.1.0
- unified: 11.0.4
-
- retext-latin@3.1.0:
- dependencies:
- '@types/nlcst': 1.0.4
- parse-latin: 5.0.1
- unherit: 3.0.1
- unified: 10.1.2
-
- retext-smartypants@5.2.0:
- dependencies:
- '@types/nlcst': 1.0.4
- nlcst-to-string: 3.1.1
- unified: 10.1.2
- unist-util-visit: 4.1.1
-
- retext-stringify@3.1.0:
- dependencies:
- '@types/nlcst': 1.0.4
- nlcst-to-string: 3.1.1
- unified: 10.1.2
-
- retext@8.1.0:
- dependencies:
- '@types/nlcst': 1.0.4
- retext-latin: 3.1.0
- retext-stringify: 3.1.0
- unified: 10.1.2
-
- robust-predicates@3.0.2: {}
-
- rw@1.3.3: {}
-
- sade@1.8.1:
- dependencies:
- mri: 1.2.0
-
- safer-buffer@2.1.2: {}
-
- scheduler@0.23.0:
- dependencies:
- loose-envify: 1.4.0
-
- scroll-into-view-if-needed@3.1.0:
- dependencies:
- compute-scroll-into-view: 3.1.0
-
- section-matter@1.0.0:
- dependencies:
- extend-shallow: 2.0.1
- kind-of: 6.0.3
-
- shebang-command@1.2.0:
- dependencies:
- shebang-regex: 1.0.0
-
- shebang-regex@1.0.0: {}
-
- shiki@1.6.1:
- dependencies:
- '@shikijs/core': 1.6.1
-
- signal-exit@3.0.7: {}
-
- slash@5.1.0: {}
-
- source-map-js@1.0.2: {}
-
- source-map@0.7.4: {}
-
- space-separated-tokens@2.0.2: {}
-
- speech-rule-engine@4.0.7:
- dependencies:
- commander: 9.2.0
- wicked-good-xpath: 1.3.0
- xmldom-sre: 0.1.31
-
- sprintf-js@1.0.3: {}
-
- streamsearch@1.1.0: {}
-
- stringify-entities@4.0.3:
- dependencies:
- character-entities-html4: 2.1.0
- character-entities-legacy: 3.0.0
-
- strip-bom-string@1.0.0: {}
-
- strip-eof@1.0.0: {}
-
- style-to-object@0.4.4:
- dependencies:
- inline-style-parser: 0.1.1
-
- style-to-object@1.0.6:
- dependencies:
- inline-style-parser: 0.2.3
-
- styled-jsx@5.1.1(react@18.2.0):
- dependencies:
- client-only: 0.0.1
- react: 18.2.0
-
- stylis@4.3.1: {}
-
- supports-color@4.5.0:
- dependencies:
- has-flag: 2.0.0
-
- title@3.5.3:
- dependencies:
- arg: 1.0.0
- chalk: 2.3.0
- clipboardy: 1.2.2
- titleize: 1.0.0
-
- titleize@1.0.0: {}
-
- trim-lines@3.0.1: {}
-
- trough@2.1.0: {}
-
- ts-dedent@2.2.0: {}
-
- tslib@2.4.1: {}
-
- twoslash-protocol@0.2.6: {}
-
- twoslash@0.2.6(typescript@5.3.3):
- dependencies:
- '@typescript/vfs': 1.5.0
- twoslash-protocol: 0.2.6
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
-
- typescript@5.3.3: {}
-
- undici-types@5.26.5: {}
-
- unherit@3.0.1: {}
-
- unified@10.1.2:
- dependencies:
- '@types/unist': 2.0.6
- bail: 2.0.2
- extend: 3.0.2
- is-buffer: 2.0.5
- is-plain-obj: 4.1.0
- trough: 2.1.0
- vfile: 5.3.6
-
- unified@11.0.4:
- dependencies:
- '@types/unist': 3.0.2
- bail: 2.0.2
- devlop: 1.1.0
- extend: 3.0.2
- is-plain-obj: 4.1.0
- trough: 2.1.0
- vfile: 6.0.1
-
- unist-util-find-after@5.0.0:
- dependencies:
- '@types/unist': 3.0.2
- unist-util-is: 6.0.0
-
- unist-util-is@5.1.1: {}
-
- unist-util-is@6.0.0:
- dependencies:
- '@types/unist': 3.0.2
-
- unist-util-modify-children@3.1.1:
- dependencies:
- '@types/unist': 2.0.6
- array-iterate: 2.0.1
-
- unist-util-position-from-estree@2.0.0:
- dependencies:
- '@types/unist': 3.0.2
-
- unist-util-position@5.0.0:
- dependencies:
- '@types/unist': 3.0.2
-
- unist-util-remove-position@5.0.0:
- dependencies:
- '@types/unist': 3.0.2
- unist-util-visit: 5.0.0
-
- unist-util-remove@4.0.0:
- dependencies:
- '@types/unist': 3.0.2
- unist-util-is: 6.0.0
- unist-util-visit-parents: 6.0.1
-
- unist-util-stringify-position@3.0.2:
- dependencies:
- '@types/unist': 2.0.6
-
- unist-util-stringify-position@4.0.0:
- dependencies:
- '@types/unist': 3.0.2
-
- unist-util-visit-children@2.0.2:
- dependencies:
- '@types/unist': 2.0.6
-
- unist-util-visit-parents@4.1.1:
- dependencies:
- '@types/unist': 2.0.6
- unist-util-is: 5.1.1
-
- unist-util-visit-parents@5.1.1:
- dependencies:
- '@types/unist': 2.0.6
- unist-util-is: 5.1.1
-
- unist-util-visit-parents@6.0.1:
- dependencies:
- '@types/unist': 3.0.2
- unist-util-is: 6.0.0
-
- unist-util-visit@3.1.0:
- dependencies:
- '@types/unist': 2.0.6
- unist-util-is: 5.1.1
- unist-util-visit-parents: 4.1.1
-
- unist-util-visit@4.1.1:
- dependencies:
- '@types/unist': 2.0.6
- unist-util-is: 5.1.1
- unist-util-visit-parents: 5.1.1
-
- unist-util-visit@5.0.0:
- dependencies:
- '@types/unist': 3.0.2
- unist-util-is: 6.0.0
- unist-util-visit-parents: 6.0.1
-
- uuid@9.0.1: {}
-
- uvu@0.5.6:
- dependencies:
- dequal: 2.0.3
- diff: 5.1.0
- kleur: 4.1.5
- sade: 1.8.1
-
- vfile-location@5.0.2:
- dependencies:
- '@types/unist': 3.0.2
- vfile: 6.0.1
-
- vfile-message@3.1.3:
- dependencies:
- '@types/unist': 2.0.6
- unist-util-stringify-position: 3.0.2
-
- vfile-message@4.0.2:
- dependencies:
- '@types/unist': 3.0.2
- unist-util-stringify-position: 4.0.0
-
- vfile@5.3.6:
- dependencies:
- '@types/unist': 2.0.6
- is-buffer: 2.0.5
- unist-util-stringify-position: 3.0.2
- vfile-message: 3.1.3
-
- vfile@6.0.1:
- dependencies:
- '@types/unist': 3.0.2
- unist-util-stringify-position: 4.0.0
- vfile-message: 4.0.2
-
- web-namespaces@2.0.1: {}
-
- web-worker@1.3.0: {}
-
- which@1.3.1:
- dependencies:
- isexe: 2.0.0
-
- wicked-good-xpath@1.3.0: {}
-
- xmldom-sre@0.1.31: {}
-
- yallist@2.1.2: {}
-
- yaml@2.4.2: {}
-
- yocto-queue@1.0.0: {}
-
- zod-validation-error@1.5.0(zod@3.22.4):
- dependencies:
- zod: 3.22.4
-
- zod@3.22.4: {}
-
- zwitch@2.0.4: {}
diff --git a/src/stale/hyperglass/docs/public/hyperglass-dark.svg b/src/stale/hyperglass/docs/public/hyperglass-dark.svg
deleted file mode 100644
index b93080f..0000000
--- a/src/stale/hyperglass/docs/public/hyperglass-dark.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/stale/hyperglass/docs/public/hyperglass-icon-dark.svg b/src/stale/hyperglass/docs/public/hyperglass-icon-dark.svg
deleted file mode 100644
index ea9b648..0000000
--- a/src/stale/hyperglass/docs/public/hyperglass-icon-dark.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/stale/hyperglass/docs/public/hyperglass-icon-light.svg b/src/stale/hyperglass/docs/public/hyperglass-icon-light.svg
deleted file mode 100644
index 7dfbb56..0000000
--- a/src/stale/hyperglass/docs/public/hyperglass-icon-light.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/stale/hyperglass/docs/public/hyperglass-light.svg b/src/stale/hyperglass/docs/public/hyperglass-light.svg
deleted file mode 100644
index b2bb038..0000000
--- a/src/stale/hyperglass/docs/public/hyperglass-light.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/stale/hyperglass/docs/public/hyperglass.svg b/src/stale/hyperglass/docs/public/hyperglass.svg
deleted file mode 100644
index bcfd80d..0000000
--- a/src/stale/hyperglass/docs/public/hyperglass.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/stale/hyperglass/docs/public/img/android-chrome-144x144.png b/src/stale/hyperglass/docs/public/img/android-chrome-144x144.png
deleted file mode 100644
index 1b6adf5aa911cf434b8d9465b1ba7e2dabcd1f22..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 13396
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
diff --git a/src/stale/hyperglass/docs/public/img/android-chrome-192x192.png b/src/stale/hyperglass/docs/public/img/android-chrome-192x192.png
deleted file mode 100644
index 6719465976c617d7297cdc8a5b77d2f5b2ab967b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 18562
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
z
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