From 352a8246928c4ccc29005b8b3e09cb731b92a3c1 Mon Sep 17 00:00:00 2001 From: Alexander Trost Date: Mon, 22 Apr 2024 11:20:01 +0200 Subject: [PATCH] feat: initial files Copied from galexrt/fivenet docs/ folder. Signed-off-by: Alexander Trost --- .editorconfig | 24 + .env.example | 5 + .eslintignore | 4 + .eslintrc.cjs | 13 + .github/workflows/commitlint.yml | 18 + .github/workflows/docs.yml | 55 + .github/workflows/test.yml | 30 + .gitignore | 27 + .npmrc | 1 + .vscode/settings.json | 5 + README.md | 22 + app.config.ts | 35 + app.vue | 65 + app/spa-loading-template.html | 79 + assets/css/herofull-pattern.css | 8 + components/CookieControl.vue | 104 + components/DocsHeader.vue | 41 + components/Footer.vue | 34 + components/LandingHeader.vue | 28 + components/LanguageSwitcherModal.vue | 87 + components/OgImage/OgImageDocs.vue | 29 + content/1.getting-started/1.index.md | 38 + content/1.getting-started/2.requirements.md | 68 + content/1.getting-started/3.installation.md | 7 + content/1.getting-started/4.configuration.md | 5 + content/1.getting-started/_dir.yml | 1 + content/2.user-guides/1.citizens.md | 11 + content/2.user-guides/2.vehicles.md | 7 + content/2.user-guides/3.documents/_dir.yml | 1 + content/2.user-guides/3.documents/index.md | 11 + .../2.user-guides/3.documents/templates.md | 109 + content/2.user-guides/4.jobs.md | 12 + content/2.user-guides/5.livemap.md | 10 + content/2.user-guides/6.centrum.md | 7 + content/2.user-guides/7.settings.md | 9 + content/2.user-guides/_dir.yml | 1 + content/2.user-guides/index.md | 5 + content/8.development/1.index.md | 28 + content/8.development/3.grpc-api.md | 8146 ++++++++++ content/8.development/4.release.md | 13 + content/8.development/5.user-activity.md | 36 + content/9.design/_dir.yml | 1 + content/9.design/dispatch-center.md | 104 + content/9.design/employee-management.md | 12 + content/9.design/jobs-managenet.md | 6 + content/9.design/player-tracker-rework.md | 15 + content/9.design/qualifications.md | 30 + content/index.yml | 8 + error.vue | 58 + grpc-api.md | 8282 ++++++++++ lang/de.json | 96 + lang/en.json | 96 + layouts/docs.vue | 23 + layouts/landing.vue | 9 + nuxt.config.ts | 96 + nuxt.schema.ts | 218 + package.json | 35 + pages/[...slug].vue | 82 + pages/index.vue | 119 + pnpm-lock.yaml | 12825 ++++++++++++++++ public/favicon.ico | Bin 0 -> 40676 bytes public/images/communities/flashliferp.png | Bin 0 -> 19832 bytes public/images/communities/modernv.png | Bin 0 -> 29193 bytes public/images/logo-200x200.png | Bin 0 -> 5682 bytes public/social-card.png | Bin 0 -> 90046 bytes server/api/search.json.get.ts | 5 + server/tsconfig.json | 3 + store/cookies.ts | 22 + tailwind.config.ts | 27 + tsconfig.json | 4 + vite-env.d.ts | 3 + 71 files changed, 31418 insertions(+) create mode 100755 .editorconfig create mode 100644 .env.example create mode 100644 .eslintignore create mode 100644 .eslintrc.cjs create mode 100644 .github/workflows/commitlint.yml create mode 100644 .github/workflows/docs.yml create mode 100644 .github/workflows/test.yml create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 app.config.ts create mode 100644 app.vue create mode 100644 app/spa-loading-template.html create mode 100644 assets/css/herofull-pattern.css create mode 100644 components/CookieControl.vue create mode 100644 components/DocsHeader.vue create mode 100644 components/Footer.vue create mode 100644 components/LandingHeader.vue create mode 100644 components/LanguageSwitcherModal.vue create mode 100644 components/OgImage/OgImageDocs.vue create mode 100644 content/1.getting-started/1.index.md create mode 100644 content/1.getting-started/2.requirements.md create mode 100644 content/1.getting-started/3.installation.md create mode 100644 content/1.getting-started/4.configuration.md create mode 100644 content/1.getting-started/_dir.yml create mode 100644 content/2.user-guides/1.citizens.md create mode 100644 content/2.user-guides/2.vehicles.md create mode 100644 content/2.user-guides/3.documents/_dir.yml create mode 100644 content/2.user-guides/3.documents/index.md create mode 100644 content/2.user-guides/3.documents/templates.md create mode 100644 content/2.user-guides/4.jobs.md create mode 100644 content/2.user-guides/5.livemap.md create mode 100644 content/2.user-guides/6.centrum.md create mode 100644 content/2.user-guides/7.settings.md create mode 100644 content/2.user-guides/_dir.yml create mode 100644 content/2.user-guides/index.md create mode 100644 content/8.development/1.index.md create mode 100644 content/8.development/3.grpc-api.md create mode 100644 content/8.development/4.release.md create mode 100644 content/8.development/5.user-activity.md create mode 100644 content/9.design/_dir.yml create mode 100644 content/9.design/dispatch-center.md create mode 100644 content/9.design/employee-management.md create mode 100644 content/9.design/jobs-managenet.md create mode 100644 content/9.design/player-tracker-rework.md create mode 100644 content/9.design/qualifications.md create mode 100644 content/index.yml create mode 100644 error.vue create mode 100644 grpc-api.md create mode 100644 lang/de.json create mode 100644 lang/en.json create mode 100644 layouts/docs.vue create mode 100644 layouts/landing.vue create mode 100644 nuxt.config.ts create mode 100644 nuxt.schema.ts create mode 100644 package.json create mode 100644 pages/[...slug].vue create mode 100644 pages/index.vue create mode 100644 pnpm-lock.yaml create mode 100644 public/favicon.ico create mode 100644 public/images/communities/flashliferp.png create mode 100644 public/images/communities/modernv.png create mode 100644 public/images/logo-200x200.png create mode 100644 public/social-card.png create mode 100644 server/api/search.json.get.ts create mode 100644 server/tsconfig.json create mode 100644 store/cookies.ts create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json create mode 100644 vite-env.d.ts diff --git a/.editorconfig b/.editorconfig new file mode 100755 index 000000000..059b59715 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,24 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.{yml,yaml}] +indent_size = 2 + +[Makefile] +indent_style = tab +indent_size = 4 + +[*.json] +indent_style = space +indent_size = 4 +insert_final_newline = false diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..8f0079ca3 --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +# Production license for @nuxt/ui-pro, get one at https://ui.nuxt.com/pro/purchase +NUXT_UI_PRO_LICENSE= + +# Public URL, used for OG Image when running nuxt generate +NUXT_PUBLIC_SITE_URL= diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..81705cc5d --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +dist +node_modules +.output +.nuxt diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 000000000..81550cee8 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,13 @@ +module.exports = { + root: true, + extends: ['@nuxt/eslint-config'], + rules: { + // Global + quotes: ['error', 'single'], + 'quote-props': ['error', 'as-needed'], + // Vue + 'vue/multi-word-component-names': 0, + 'vue/max-attributes-per-line': 'off', + 'vue/no-v-html': 0, + }, +}; diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 000000000..aeb035c1f --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,18 @@ +name: Lint Commit Messages + +on: + pull_request: + +jobs: + commitlint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - run: rm tsconfig.json + + - uses: wagoid/commitlint-github-action@v6 + with: + configFile: "./.commitlintrc.json" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..042a3eab8 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,55 @@ +name: Docs Build & Publish + +on: + push: + branches: + - main + +jobs: + docs: + runs-on: ubuntu-latest + permissions: + contents: write + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 20.12.2 + cache: pnpm + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Get JS dependencies + run: pnpm install + + - name: Build site + env: + NUXT_PUBLIC_SITE_URL: "https://fivenet.app/" + NUXT_UI_PRO_LICENSE: "${{ secrets.NUXT_UI_PRO_LICENSE }}" + run: | + pnpm generate + + - name: Deploy + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./.output/public/ + cname: fivenet.app diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..707d7709d --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,30 @@ +name: Test Code + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - main + - develop + +jobs: + node-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20.12.2 + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run pnpm build + env: + NUXT_UI_PRO_LICENSE: "${{ secrets.NUXT_UI_PRO_LICENSE }}" + run: pnpm build diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..6bbb425a0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +# Nuxt dev/build outputs +.output +.data +.nuxt +.nitro +.cache +dist + +# Node dependencies +node_modules + +# Logs +logs +*.log + +# Misc +.DS_Store +.fleet +.idea + +# Local env files +.env +.env.* +!.env.example + +# VSC +.history diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..bf2e7648b --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +shamefully-hoist=true diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..96945792c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "i18n-ally.localesPaths": [ + "lang" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 000000000..f0771c412 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# FiveNet Website + Documentation + +Has been built using +[![Nuxt UI Pro](https://img.shields.io/badge/Made%20with-Nuxt%20UI%20Pro-00DC82?logo=nuxt.js&labelColor=020420)](https://ui.nuxt.com/pro) + +## Development + +### Setup + +Make sure to install the dependencies: + +```bash +pnpm install +``` + +### Development Server + +Start the development server on `http://localhost:3000`: + +```bash +pnpm run dev +``` diff --git a/app.config.ts b/app.config.ts new file mode 100644 index 000000000..50efc4363 --- /dev/null +++ b/app.config.ts @@ -0,0 +1,35 @@ +export default defineAppConfig({ + ui: { + primary: 'malibu', + gray: 'slate', + footer: { + bottom: { + left: 'text-sm text-gray-500 dark:text-gray-400', + wrapper: 'border-t border-gray-200 dark:border-gray-800', + }, + }, + icons: { + dynamic: true, + // Nuxt UI Pro Icons + dark: 'i-mdi-moon-and-stars', + light: 'i-mdi-weather-sunny', + system: 'i-mdi-computer', + search: 'i-mdi-search', + external: 'i-mdi-external-link', + chevron: 'i-mdi-chevron-down', + hash: 'i-mdi-hashtag', + menu: 'i-mdi-menu', + close: 'i-mdi-window-close', + check: 'i-mdi-check-circle', + }, + }, + toc: { + bottom: { + edit: 'https://github.com/galexrt/fivenet/edit/main/content', + }, + }, + links: { + imprint: '', + privacyPolicy: '', + }, +}); diff --git a/app.vue b/app.vue new file mode 100644 index 000000000..9192989ae --- /dev/null +++ b/app.vue @@ -0,0 +1,65 @@ + + + diff --git a/app/spa-loading-template.html b/app/spa-loading-template.html new file mode 100644 index 000000000..5f071bd07 --- /dev/null +++ b/app/spa-loading-template.html @@ -0,0 +1,79 @@ + + + + +
+
+
+ FiveNet Logo +
+ +
+ + + + +
+
+
diff --git a/assets/css/herofull-pattern.css b/assets/css/herofull-pattern.css new file mode 100644 index 000000000..8ffd93326 --- /dev/null +++ b/assets/css/herofull-pattern.css @@ -0,0 +1,8 @@ +/* Generated using patternpad.com (Preset: "Patch", Density: 25%, Fade Colors: On, Colors: #ff415b, #5f55ae, #24b3b3) */ +.hero { + background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' standalone='no'%3F%3E%3Csvg xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2160 1002.8603844297437' preserveAspectRatio='xMaxYMax slice'%3E%3Cg transform='scale(1.2265409840720025)'%3E%3Crect x='0' y='0' width='1823.9438461538464' height='880.5246153846155' fill='%231a202c'/%3E%3Cg transform='translate(446.55 6.29) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%232a2842'/%3E%3C/g%3E%3Cg transform='translate(698.13 6.29) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231a494b'/%3E%3C/g%3E%3Cg transform='translate(949.71 6.29) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231d6466'/%3E%3C/g%3E%3Crect x='1012.6033076923078' y='6.2894615384615395' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1037.76 6.29) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2347417d'/%3E%3C/g%3E%3Crect x='1264.1817692307695' y='6.2894615384615395' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(132.08 69.18) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2337335d'/%3E%3C/g%3E%3Cg transform='translate(194.97 69.18) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23208182'/%3E%3C/g%3E%3Cg transform='translate(635.24 69.18) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23252439'/%3E%3C/g%3E%3Cg transform='translate(886.81 69.18) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2322191d'/%3E%3C/g%3E%3Cg transform='translate(1012.6 69.18) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231a202c'/%3E%3C/g%3E%3Cg transform='translate(1452.87 69.18) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23208889'/%3E%3C/g%3E%3Crect x='1515.760230769231' y='69.18407692307693' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1540.92 69.18) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231c5b5d'/%3E%3C/g%3E%3Cg transform='translate(1641.55 69.18) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231a1a22'/%3E%3C/g%3E%3Crect x='6.2894615384615395' y='132.07869230769234' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(194.97 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231c5d5f'/%3E%3C/g%3E%3Crect x='320.7625384615385' y='132.07869230769234' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(345.92 132.08) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23bb3548'/%3E%3C/g%3E%3Cg transform='translate(635.24 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23393562'/%3E%3C/g%3E%3Cg transform='translate(761.02 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231a4345'/%3E%3C/g%3E%3Cg transform='translate(886.81 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23f33f58'/%3E%3C/g%3E%3Cg transform='translate(1012.6 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23574e9e'/%3E%3C/g%3E%3Cg transform='translate(1327.08 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231f7e7f'/%3E%3C/g%3E%3Crect x='1515.760230769231' y='132.07869230769234' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1515.76 132.08) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23554c99'/%3E%3C/g%3E%3Cg transform='translate(1578.65 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23544c98'/%3E%3C/g%3E%3Cg transform='translate(1641.55 132.08) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23383460'/%3E%3C/g%3E%3Crect x='69.18407692307693' y='194.9733076923077' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(69.18 194.97) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23ec3e56'/%3E%3C/g%3E%3Cg transform='translate(94.34 194.97) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23484280'/%3E%3C/g%3E%3Crect x='132.07869230769234' y='194.9733076923077' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(132.08 220.13) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2322191d'/%3E%3C/g%3E%3Cg transform='translate(157.24 220.13) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2350212a'/%3E%3C/g%3E%3Cg transform='translate(446.55 194.97) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23252438'/%3E%3C/g%3E%3Cg transform='translate(509.45 194.97) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231f8182'/%3E%3C/g%3E%3Cg transform='translate(572.34 194.97) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23492028'/%3E%3C/g%3E%3Crect x='698.1302307692308' y='194.9733076923077' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(761.02 194.97) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2348417f'/%3E%3C/g%3E%3Cg transform='translate(1075.5 194.97) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23261a1e'/%3E%3C/g%3E%3Cg transform='translate(1641.55 194.97) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23212030'/%3E%3C/g%3E%3Cg transform='translate(1704.44 194.97) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23302d4f'/%3E%3C/g%3E%3Cg transform='translate(132.08 257.87) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23161c1f'/%3E%3C/g%3E%3Crect x='509.44638461538466' y='257.8679230769231' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(534.6 257.87) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23862b39'/%3E%3C/g%3E%3Cg transform='translate(572.34 257.87) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%239a2f3f'/%3E%3C/g%3E%3Crect x='761.0248461538462' y='257.8679230769231' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(761.02 257.87) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23219697'/%3E%3C/g%3E%3Cg transform='translate(786.18 257.87) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23292741'/%3E%3C/g%3E%3Cg transform='translate(786.18 283.03) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23171e21'/%3E%3C/g%3E%3Cg transform='translate(1075.5 257.87) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23219798'/%3E%3C/g%3E%3Cg transform='translate(1327.08 257.87) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23219292'/%3E%3C/g%3E%3Cg transform='translate(194.97 320.76) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2354222b'/%3E%3C/g%3E%3Cg transform='translate(446.55 320.76) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23411f26'/%3E%3C/g%3E%3Cg transform='translate(1201.29 320.76) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23193335'/%3E%3C/g%3E%3Crect x='1327.0763846153848' y='320.7625384615385' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1327.08 320.76) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23972e3e'/%3E%3C/g%3E%3Cg transform='translate(1515.76 320.76) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23752834'/%3E%3C/g%3E%3Cg transform='translate(6.29 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%233e396c'/%3E%3C/g%3E%3Crect x='194.9733076923077' y='383.65715384615385' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(194.97 383.66) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231f7e7f'/%3E%3C/g%3E%3Cg transform='translate(220.13 408.82) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%233d3869'/%3E%3C/g%3E%3Cg transform='translate(509.45 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2324aeae'/%3E%3C/g%3E%3Cg transform='translate(572.34 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231b4a4c'/%3E%3C/g%3E%3Cg transform='translate(635.24 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%236d2732'/%3E%3C/g%3E%3Cg transform='translate(823.92 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23504991'/%3E%3C/g%3E%3Cg transform='translate(886.81 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%233a3664'/%3E%3C/g%3E%3Cg transform='translate(1075.5 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23208485'/%3E%3C/g%3E%3Cg transform='translate(1201.29 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%237b2936'/%3E%3C/g%3E%3Cg transform='translate(1452.87 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231f8081'/%3E%3C/g%3E%3Cg transform='translate(1515.76 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23208a8b'/%3E%3C/g%3E%3Cg transform='translate(1767.34 383.66) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23182d30'/%3E%3C/g%3E%3Crect x='257.8679230769231' y='446.55176923076925' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(283.03 446.55) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23182c2f'/%3E%3C/g%3E%3Cg transform='translate(283.03 471.71) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2317181d'/%3E%3C/g%3E%3Cg transform='translate(320.76 446.55) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23229f9f'/%3E%3C/g%3E%3Cg transform='translate(761.02 446.55) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231d6667'/%3E%3C/g%3E%3Cg transform='translate(1012.6 446.55) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23a43142'/%3E%3C/g%3E%3Cg transform='translate(1138.39 446.55) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23219394'/%3E%3C/g%3E%3Crect x='1327.0763846153848' y='446.55176923076925' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1352.23 446.55) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23292741'/%3E%3C/g%3E%3Cg transform='translate(1352.23 471.71) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231c5d5f'/%3E%3C/g%3E%3Cg transform='translate(1389.97 446.55) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23161c1f'/%3E%3C/g%3E%3Cg transform='translate(6.29 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23db3b51'/%3E%3C/g%3E%3Cg transform='translate(132.08 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23242337'/%3E%3C/g%3E%3Cg transform='translate(383.66 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%232a1b1f'/%3E%3C/g%3E%3Crect x='509.44638461538466' y='509.44638461538466' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(823.92 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23cd384d'/%3E%3C/g%3E%3Crect x='1075.4979230769234' y='509.44638461538466' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1100.66 509.45) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23792936'/%3E%3C/g%3E%3Cg transform='translate(1075.5 534.6) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23433d75'/%3E%3C/g%3E%3Cg transform='translate(1100.66 534.6) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23d0384e'/%3E%3C/g%3E%3Cg transform='translate(1138.39 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23453f79'/%3E%3C/g%3E%3Cg transform='translate(1201.29 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%234d468a'/%3E%3C/g%3E%3Cg transform='translate(1452.87 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%233d1e25'/%3E%3C/g%3E%3Cg transform='translate(1704.44 509.45) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23229a9a'/%3E%3C/g%3E%3Crect x='132.07869230769234' y='572.341' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(157.24 597.5) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23e83d54'/%3E%3C/g%3E%3Cg transform='translate(509.45 572.34) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23ae3244'/%3E%3C/g%3E%3Cg transform='translate(886.81 572.34) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23bb3548'/%3E%3C/g%3E%3Cg transform='translate(949.71 572.34) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%234b4485'/%3E%3C/g%3E%3Cg transform='translate(1012.6 572.34) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2336325c'/%3E%3C/g%3E%3Cg transform='translate(1327.08 572.34) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23208687'/%3E%3C/g%3E%3Cg transform='translate(1515.76 572.34) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23e43c54'/%3E%3C/g%3E%3Cg transform='translate(383.66 635.24) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231f8081'/%3E%3C/g%3E%3Cg transform='translate(446.55 635.24) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%236b2632'/%3E%3C/g%3E%3Cg transform='translate(698.13 635.24) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23d4394f'/%3E%3C/g%3E%3Cg transform='translate(823.92 635.24) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%235f242e'/%3E%3C/g%3E%3Cg transform='translate(1012.6 635.24) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23423c73'/%3E%3C/g%3E%3Crect x='1075.4979230769234' y='635.2356153846155' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1075.5 635.24) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231e7476'/%3E%3C/g%3E%3Cg transform='translate(1452.87 635.24) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23d3394f'/%3E%3C/g%3E%3Crect x='1578.6548461538464' y='635.2356153846155' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1578.65 635.24) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%239f3040'/%3E%3C/g%3E%3Cg transform='translate(6.29 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23bc3548'/%3E%3C/g%3E%3Cg transform='translate(132.08 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%235e54ac'/%3E%3C/g%3E%3Cg transform='translate(320.76 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%235d54ab'/%3E%3C/g%3E%3Cg transform='translate(383.66 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23182d2f'/%3E%3C/g%3E%3Crect x='446.55176923076925' y='698.1302307692308' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(471.71 698.13) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23982f3e'/%3E%3C/g%3E%3Cg transform='translate(509.45 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231c5c5e'/%3E%3C/g%3E%3Cg transform='translate(761.02 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231b4f50'/%3E%3C/g%3E%3Cg transform='translate(1138.39 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%235a50a3'/%3E%3C/g%3E%3Cg transform='translate(1201.29 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23208485'/%3E%3C/g%3E%3Crect x='1264.1817692307695' y='698.1302307692308' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1264.18 698.13) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%237f2a37'/%3E%3C/g%3E%3Cg transform='translate(1289.34 723.29) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2363252f'/%3E%3C/g%3E%3Cg transform='translate(1452.87 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23343157'/%3E%3C/g%3E%3Cg transform='translate(1578.65 698.13) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231f7b7c'/%3E%3C/g%3E%3Cg transform='translate(6.29 761.02) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23932d3d'/%3E%3C/g%3E%3Cg transform='translate(698.13 761.02) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231e6e6f'/%3E%3C/g%3E%3Cg transform='translate(949.71 761.02) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23fb405a'/%3E%3C/g%3E%3Cg transform='translate(1138.39 761.02) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%234b4486'/%3E%3C/g%3E%3Cg transform='translate(1264.18 761.02) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231a202c'/%3E%3C/g%3E%3Cg transform='translate(1641.55 761.02) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231f7f80'/%3E%3C/g%3E%3Cg transform='translate(69.18 823.92) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23219293'/%3E%3C/g%3E%3Cg transform='translate(194.97 823.92) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23534b96'/%3E%3C/g%3E%3Cg transform='translate(320.76 823.92) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%2348417f'/%3E%3C/g%3E%3Cg transform='translate(509.45 823.92) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%236d2732'/%3E%3C/g%3E%3Crect x='761.0248461538462' y='823.9194615384616' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Crect x='1012.6033076923078' y='823.9194615384616' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1012.6 849.08) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23534b95'/%3E%3C/g%3E%3Crect x='1201.287153846154' y='823.9194615384616' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1201.29 823.92) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23421f26'/%3E%3C/g%3E%3Cg transform='translate(1264.18 823.92) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231b5153'/%3E%3C/g%3E%3Crect x='1389.9710000000002' y='823.9194615384616' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1415.13 823.92) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23982e3e'/%3E%3C/g%3E%3Cg transform='translate(1415.13 849.08) scale(1.258) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%231e7374'/%3E%3C/g%3E%3Crect x='1578.6548461538464' y='823.9194615384616' width='50.315692307692316' height='50.315692307692316' fill='%231a202c'/%3E%3Cg transform='translate(1641.55 823.92) scale(2.516) rotate(0)'%3E%3Cpath d='M10 5L5 0L0 5L5 10L0 15L5 20L10 15L15 20L20 15L15 10L20 5L15 0L10 5Z' fill='%23eb3d56'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); +} + +.hero-overlay { + background-color: rgb(var(--ui-background) / 0.6); +} diff --git a/components/CookieControl.vue b/components/CookieControl.vue new file mode 100644 index 000000000..3ec4b9852 --- /dev/null +++ b/components/CookieControl.vue @@ -0,0 +1,104 @@ + + + diff --git a/components/DocsHeader.vue b/components/DocsHeader.vue new file mode 100644 index 000000000..d33a72558 --- /dev/null +++ b/components/DocsHeader.vue @@ -0,0 +1,41 @@ + + + diff --git a/components/Footer.vue b/components/Footer.vue new file mode 100644 index 000000000..1d5e83912 --- /dev/null +++ b/components/Footer.vue @@ -0,0 +1,34 @@ + + + diff --git a/components/LandingHeader.vue b/components/LandingHeader.vue new file mode 100644 index 000000000..891083662 --- /dev/null +++ b/components/LandingHeader.vue @@ -0,0 +1,28 @@ + + + diff --git a/components/LanguageSwitcherModal.vue b/components/LanguageSwitcherModal.vue new file mode 100644 index 000000000..73c7b981f --- /dev/null +++ b/components/LanguageSwitcherModal.vue @@ -0,0 +1,87 @@ + + + diff --git a/components/OgImage/OgImageDocs.vue b/components/OgImage/OgImageDocs.vue new file mode 100644 index 000000000..0e7faacbf --- /dev/null +++ b/components/OgImage/OgImageDocs.vue @@ -0,0 +1,29 @@ + + + diff --git a/content/1.getting-started/1.index.md b/content/1.getting-started/1.index.md new file mode 100644 index 000000000..5a6117411 --- /dev/null +++ b/content/1.getting-started/1.index.md @@ -0,0 +1,38 @@ +--- +title: Getting Started +--- + +## Features + +### Citizens + +* Listing, Viewing and Searching Citizens +* Setting "Citizen props", e.g., wanted status, traffic infraction points. + +### Documents + +* Creating and Editing documents. +* Creating and Editing templates for documents. +* Commenting on documents. +* Access management by job ranks and citizens with multiple access levels. + +### Job + +* List of your colleagues with date of births and phone numbers. +* Time clock with stats for yourself and colleagues. + +### Livemap + +* Map to see your colleagues and other factions live. +* It allows you to see dispatches from your own faction from the dispatch center. + +### Dispatch Center (Centrum) + +* Functionality to convert GKSPhone dispatches to FiveNet dispatches. +* Live streamed to each users client. +* Employees can accept/decline dispatches. +* Automatic dispatch assignment mode. Disponents can manually handle dispatch assignment as well. + +### Control Panel + +* Each faction, if allowed to, can create and manage their own roles. Administrators can set "limits" in regards to permissions and attributes (e.g., what fields they can grant their members, etc.) diff --git a/content/1.getting-started/2.requirements.md b/content/1.getting-started/2.requirements.md new file mode 100644 index 000000000..8e9daf593 --- /dev/null +++ b/content/1.getting-started/2.requirements.md @@ -0,0 +1,68 @@ +--- +title: "Requirements" +--- + +## Must have + +* MySQL or MariaDB database aka the "gameserver database", the database the FiveM server is using. + * Make sure your tables have at least the [below structure](#database). +* NATS message queue server or cluster (prefered), with JetStream and memory storage enabled (you probably also want to have at least 1-20MB of memory storage available). +* Storage space: Either local filesystem directory or S3 bucket storage. +* Leaflet Map tiles: Generated using `gdal2tiles-leaflet` or similar. The map source image is expected to be `16384x16384` in resolution. + * To be able to generate the tiles, you must have the map file in the `./internal/maps/` directory. You can use `make gen-tiles` to generate the tiles. + +## Optional + +* Tracing: For OpenTelemetry based tracing support. + * Currently only Jaeger is supported as an exporter target. + +*** + +## Database + +This is a list of expected tables and their columns: + +### `jobs` Table + +* `name` +* `label` + +### `job_grades` Table + +* `job_name` +* `grade` +* `name` +* `label` + +### `licenses` Table + +* `type` +* `label` + +### `user_licenses` Table + +* `type` +* `owner` - `varchar(64) NOT NULL` + +### `owned_vehicles` Table + +* `owner` - `varchar(64) NOT NULL` +* `plate` +* `type` +* `model` (Optional, can be overriden via `database.custom.columns.user.visum`) + +### `users` Table + +* `id` - `int(11) NOT NULL AUTO_INCREMENT` +* `identifier` - `varchar(64) NOT NULL` +* `group` +* `firstname` +* `lastname` +* `dateofbirth` +* `job` +* `job_grade` +* `sex` +* `height` +* `phone_number` +* `visum` (Optional, can be overriden via `database.custom.columns.user.visum`) +* `playtime` (Optional, can be overriden via `database.custom.columns.user.playtime`) diff --git a/content/1.getting-started/3.installation.md b/content/1.getting-started/3.installation.md new file mode 100644 index 000000000..18786e57b --- /dev/null +++ b/content/1.getting-started/3.installation.md @@ -0,0 +1,7 @@ +--- +title: Installation +--- + +1. Download or build the FiveNet container images. +2. Prepare Fivenet config file. +3. Run FiveNet server, and other components. diff --git a/content/1.getting-started/4.configuration.md b/content/1.getting-started/4.configuration.md new file mode 100644 index 000000000..06103158a --- /dev/null +++ b/content/1.getting-started/4.configuration.md @@ -0,0 +1,5 @@ +--- +title: Configuration +--- + +[Example config file](https://github.com/galexrt/fivenet/blob/main/config.example.yaml) diff --git a/content/1.getting-started/_dir.yml b/content/1.getting-started/_dir.yml new file mode 100644 index 000000000..bcd2ba145 --- /dev/null +++ b/content/1.getting-started/_dir.yml @@ -0,0 +1 @@ +title: Getting Started diff --git a/content/2.user-guides/1.citizens.md b/content/2.user-guides/1.citizens.md new file mode 100644 index 000000000..b74883fea --- /dev/null +++ b/content/2.user-guides/1.citizens.md @@ -0,0 +1,11 @@ +--- +title: Citizens +--- + +## Features + +* Searching citizens by their name, date of birth, phone number, traffic infraction points and open fines. +* Setting citizen "properties" + * Wanted state + * Mug Shot + * And more... diff --git a/content/2.user-guides/2.vehicles.md b/content/2.user-guides/2.vehicles.md new file mode 100644 index 000000000..d5f862cce --- /dev/null +++ b/content/2.user-guides/2.vehicles.md @@ -0,0 +1,7 @@ +--- +title: Vehicles +--- + +## Features + +* Searching for vehicles by their plate and model (if available). diff --git a/content/2.user-guides/3.documents/_dir.yml b/content/2.user-guides/3.documents/_dir.yml new file mode 100644 index 000000000..52c86821a --- /dev/null +++ b/content/2.user-guides/3.documents/_dir.yml @@ -0,0 +1 @@ +title: Documents diff --git a/content/2.user-guides/3.documents/index.md b/content/2.user-guides/3.documents/index.md new file mode 100644 index 000000000..8e213e17d --- /dev/null +++ b/content/2.user-guides/3.documents/index.md @@ -0,0 +1,11 @@ +--- +title: Documents +--- + +## Features + +* Creating, editing and deleting documents. + * Document relations to citizens can be managed. + * Document references to other documents can be managed. + * Commenting on documents. +* Around documents there is the possibility to manage categories and templates to keep documents organized and clean. diff --git a/content/2.user-guides/3.documents/templates.md b/content/2.user-guides/3.documents/templates.md new file mode 100644 index 000000000..39ae09866 --- /dev/null +++ b/content/2.user-guides/3.documents/templates.md @@ -0,0 +1,109 @@ +--- +title: Templates +--- + +**Note**: A template must render out to valid HTML. + +Golang templating is used. In addition to base [Golang html/template functions](https://pkg.go.dev/html/template) [`sprig` template functions](https://masterminds.github.io/sprig/) are available for convience. + +* The whole template needs to be wrapped in `

` and `

`. +* Use `
` for new lines. + +## Available Variables + +* `.Documents` - List of documents that are in the user's clipboard. + * `.Id` + * `.CreatedAt` + * `.Title` + * `.State` + * `.CreatorId` + * `.Creator` - See [User Info Structure](#user-info-structure). + * `.Closed` - Boolean. + * `.CategoryId` + * `.Category` + * `.Name` + * `.Description` +* `.Users` - List of citizens/ users that are in the user's clipboard. + * See [User Info Structure](#user-info-structure). +* `.Vehicles` - List of vehicles that are in the user's clipboard. + * `Plate` + * `Model` + * `Type` + * `Owner` - See [User Info Structure](#user-info-structure). +* `.ActiveChar` - Author/Submitting user's info. + * See [User Info Structure](#user-info-structure). + +### User Info Structure + +* `.UserId` +* `.Identifier` +* `.Job`* - Preferrably use `jobLabel`. +* `.JobLabel`* +* `.JobGrade`* - Preferrably use `jobGradeLabel`. +* `.JobGradeLabel`* +* `.Firstname` +* `.Lastname` +* `.Dateofbirth` - In `DD.MM.YYYY` format. +* `.PhoneNumber` - Optional, might not always be included. + +(\*these fields are only available on the `.activeChar` variable) + +## Snippets + +### Access Creator Info + +```gotemplate +{{ .ActiveChar.Firstname }}, {{ .ActiveChar.Lastname }} +``` + +### Get first Citizen + +Get the first user in the list (first in the user's clipboard): + +```gotemplate +{{- $citizen := first .Users -}} +``` + +Example access citizen info: + +```gotemplate +{{ $citizen.Firstname }}, {{ $citizen.Lastname }} ({{ $citizen.Dateofbirth }}) +``` + +### Current Date and Time + +```gotemplate +{{ now | date "02.01.2006 15:04" }} +``` + +To learn more about different date and time formats, check out [the Golang `time` package documentation here](https://pkg.go.dev/time#pkg-constants). + +### Showing a Timestamp (e.g., `CreatedAt`) + +```gotemplate +{{ .CreatedAt | date "02.01.2006 15:04" }} +``` + +### Checkbox + +```html + +``` + +## Examples + +### Show List of Vehicles + +```gotemplate +{{ if not .Vehicles }} +

+No Vehicles involved. +

+{{ else }} + +{{ end }} +``` diff --git a/content/2.user-guides/4.jobs.md b/content/2.user-guides/4.jobs.md new file mode 100644 index 000000000..c08fcc3a7 --- /dev/null +++ b/content/2.user-guides/4.jobs.md @@ -0,0 +1,12 @@ +--- +title: Jobs +--- + +## Features + +* MOTD and Radio frequency available on the overview page. +* List of your colleagues. + * Activity of your colleagues, such as when a colleague has joined/"fired" from the job, got promoted/demoted, and other activity. +* Timeclock for on duty time tracking. +* Qualifications: A way to manage qualifications of citizens. +* Conduct register to track good and bad behavior of your employees. diff --git a/content/2.user-guides/5.livemap.md b/content/2.user-guides/5.livemap.md new file mode 100644 index 000000000..2df2615ad --- /dev/null +++ b/content/2.user-guides/5.livemap.md @@ -0,0 +1,10 @@ +--- +title: Livemap +--- + +## Features + +* Live position of your colleagues (depending on what your faction is allowed to see). +* Markers on the map of different types: + * Circle + * Icons diff --git a/content/2.user-guides/6.centrum.md b/content/2.user-guides/6.centrum.md new file mode 100644 index 000000000..db08d26a1 --- /dev/null +++ b/content/2.user-guides/6.centrum.md @@ -0,0 +1,7 @@ +--- +title: Dispatch Center +--- + +## Features + +* Dispatch Center. diff --git a/content/2.user-guides/7.settings.md b/content/2.user-guides/7.settings.md new file mode 100644 index 000000000..1d4b9e16f --- /dev/null +++ b/content/2.user-guides/7.settings.md @@ -0,0 +1,9 @@ +--- +title: Settings +--- + +## Features + +* Setting job properties, such as the logo, radio frequency, and more. + * Additionally the Discord sync settings can be accessed. +* For the server team, there are options to manage many other aspects of FiveNet. diff --git a/content/2.user-guides/_dir.yml b/content/2.user-guides/_dir.yml new file mode 100644 index 000000000..7d1c91464 --- /dev/null +++ b/content/2.user-guides/_dir.yml @@ -0,0 +1 @@ +title: User Guides diff --git a/content/2.user-guides/index.md b/content/2.user-guides/index.md new file mode 100644 index 000000000..b20804bec --- /dev/null +++ b/content/2.user-guides/index.md @@ -0,0 +1,5 @@ +--- +title: User Guides +--- + +This section contains information about FiveNet features, and guides, tipps and tricks around them. diff --git a/content/8.development/1.index.md b/content/8.development/1.index.md new file mode 100644 index 000000000..3e6f2efcc --- /dev/null +++ b/content/8.development/1.index.md @@ -0,0 +1,28 @@ +--- +title: "Development" +--- + +## Required Tooling + +* Golang `1.21` or higher + * The assumption is that your `PATH` contains `$GOPATH/bin`. +* `pnpm` (`yarn` is only used for generating the license disclaimer) +* [`protoc`](https://grpc.io/docs/protoc-installation/) + * Depending on your OS, Deb-based `libprotobuf-dev`, Fedora: `protobuf-dev` +* `protoc-gen-go` (might be available via your OSes package manager): + * `go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28` + * `go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2` +* `protoc-gen-js`: Run `pnpm` in the root of the repository to install this and other dependencies. +* `protoc-gen-grpc-web`: Download and install the latest release from https://github.com/grpc/grpc-web/releases +* `protoc-gen-validate`: Download and install the latest release from https://github.com/bufbuild/protoc-gen-validate/releases +* `protoc-go-inject-tag`: Run `go install github.com/favadi/protoc-go-inject-tag@latest`. +* `protoc-gen-doc`: Run `go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest`. +* `go-licenses`: Run `go install github.com/google/go-licenses@latest`. + +## Codium/ VSCode Users + +Make sure to use the "Vue - Official" extension version `v2.0.0` or higher. + +## GRPC Web Debugging in your Browser + +You must use this forked version: [Github jrapoport/grpc-web-devtools](https://github.com/jrapoport/grpc-web-devtools). diff --git a/content/8.development/3.grpc-api.md b/content/8.development/3.grpc-api.md new file mode 100644 index 000000000..d712a16f9 --- /dev/null +++ b/content/8.development/3.grpc-api.md @@ -0,0 +1,8146 @@ +# Protocol Documentation + + +## Table of Contents + +- [resources/accounts/accounts.proto](#resources_accounts_accounts-proto) + - [Account](#resources-accounts-Account) + +- [resources/accounts/oauth2.proto](#resources_accounts_oauth2-proto) + - [OAuth2Account](#resources-accounts-OAuth2Account) + - [OAuth2Provider](#resources-accounts-OAuth2Provider) + +- [resources/centrum/general.proto](#resources_centrum_general-proto) + - [Attributes](#resources-centrum-Attributes) + - [Disponents](#resources-centrum-Disponents) + - [UserUnitMapping](#resources-centrum-UserUnitMapping) + +- [resources/centrum/units.proto](#resources_centrum_units-proto) + - [Unit](#resources-centrum-Unit) + - [UnitAssignment](#resources-centrum-UnitAssignment) + - [UnitAssignments](#resources-centrum-UnitAssignments) + - [UnitStatus](#resources-centrum-UnitStatus) + + - [StatusUnit](#resources-centrum-StatusUnit) + +- [resources/centrum/settings.proto](#resources_centrum_settings-proto) + - [PredefinedStatus](#resources-centrum-PredefinedStatus) + - [Settings](#resources-centrum-Settings) + + - [CentrumMode](#resources-centrum-CentrumMode) + +- [resources/centrum/dispatches.proto](#resources_centrum_dispatches-proto) + - [Dispatch](#resources-centrum-Dispatch) + - [DispatchAssignment](#resources-centrum-DispatchAssignment) + - [DispatchAssignments](#resources-centrum-DispatchAssignments) + - [DispatchReference](#resources-centrum-DispatchReference) + - [DispatchReferences](#resources-centrum-DispatchReferences) + - [DispatchStatus](#resources-centrum-DispatchStatus) + + - [DispatchReferenceType](#resources-centrum-DispatchReferenceType) + - [StatusDispatch](#resources-centrum-StatusDispatch) + - [TakeDispatchResp](#resources-centrum-TakeDispatchResp) + +- [resources/common/database/database.proto](#resources_common_database_database-proto) + - [OrderBy](#resources-common-database-OrderBy) + - [PaginationRequest](#resources-common-database-PaginationRequest) + - [PaginationResponse](#resources-common-database-PaginationResponse) + +- [resources/common/i18n.proto](#resources_common_i18n-proto) + - [TranslateItem](#resources-common-TranslateItem) + - [TranslateItem.ParametersEntry](#resources-common-TranslateItem-ParametersEntry) + +- [resources/documents/category.proto](#resources_documents_category-proto) + - [Category](#resources-documents-Category) + +- [resources/documents/requests.proto](#resources_documents_requests-proto) + - [DocRequest](#resources-documents-DocRequest) + +- [resources/documents/activity.proto](#resources_documents_activity-proto) + - [DocAccessRequested](#resources-documents-DocAccessRequested) + - [DocActivity](#resources-documents-DocActivity) + - [DocActivityData](#resources-documents-DocActivityData) + - [DocOwnerChanged](#resources-documents-DocOwnerChanged) + - [DocUpdated](#resources-documents-DocUpdated) + + - [DocActivityType](#resources-documents-DocActivityType) + +- [resources/documents/access.proto](#resources_documents_access-proto) + - [DocumentAccess](#resources-documents-DocumentAccess) + - [DocumentJobAccess](#resources-documents-DocumentJobAccess) + - [DocumentUserAccess](#resources-documents-DocumentUserAccess) + + - [AccessLevel](#resources-documents-AccessLevel) + - [AccessLevelUpdateMode](#resources-documents-AccessLevelUpdateMode) + +- [resources/documents/comment.proto](#resources_documents_comment-proto) + - [Comment](#resources-documents-Comment) + +- [resources/documents/documents.proto](#resources_documents_documents-proto) + - [Document](#resources-documents-Document) + - [DocumentReference](#resources-documents-DocumentReference) + - [DocumentRelation](#resources-documents-DocumentRelation) + - [DocumentShort](#resources-documents-DocumentShort) + + - [DocContentType](#resources-documents-DocContentType) + - [DocReference](#resources-documents-DocReference) + - [DocRelation](#resources-documents-DocRelation) + +- [resources/documents/templates.proto](#resources_documents_templates-proto) + - [ObjectSpecs](#resources-documents-ObjectSpecs) + - [Template](#resources-documents-Template) + - [TemplateData](#resources-documents-TemplateData) + - [TemplateJobAccess](#resources-documents-TemplateJobAccess) + - [TemplateRequirements](#resources-documents-TemplateRequirements) + - [TemplateSchema](#resources-documents-TemplateSchema) + - [TemplateShort](#resources-documents-TemplateShort) + +- [resources/jobs/colleagues.proto](#resources_jobs_colleagues-proto) + - [Colleague](#resources-jobs-Colleague) + - [ColleagueAbsenceDate](#resources-jobs-ColleagueAbsenceDate) + - [ColleagueGradeChange](#resources-jobs-ColleagueGradeChange) + - [JobsUserActivity](#resources-jobs-JobsUserActivity) + - [JobsUserActivityData](#resources-jobs-JobsUserActivityData) + - [JobsUserProps](#resources-jobs-JobsUserProps) + + - [JobsUserActivityType](#resources-jobs-JobsUserActivityType) + +- [resources/jobs/conduct.proto](#resources_jobs_conduct-proto) + - [ConductEntry](#resources-jobs-ConductEntry) + + - [ConductType](#resources-jobs-ConductType) + +- [resources/jobs/timeclock.proto](#resources_jobs_timeclock-proto) + - [TimeclockEntry](#resources-jobs-TimeclockEntry) + - [TimeclockStats](#resources-jobs-TimeclockStats) + - [TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) + +- [resources/laws/laws.proto](#resources_laws_laws-proto) + - [Law](#resources-laws-Law) + - [LawBook](#resources-laws-LawBook) + +- [resources/livemap/tracker.proto](#resources_livemap_tracker-proto) + - [UsersUpdateEvent](#resources-livemap-UsersUpdateEvent) + +- [resources/livemap/livemap.proto](#resources_livemap_livemap-proto) + - [CircleMarker](#resources-livemap-CircleMarker) + - [Coords](#resources-livemap-Coords) + - [IconMarker](#resources-livemap-IconMarker) + - [MarkerData](#resources-livemap-MarkerData) + - [MarkerInfo](#resources-livemap-MarkerInfo) + - [MarkerMarker](#resources-livemap-MarkerMarker) + - [UserMarker](#resources-livemap-UserMarker) + + - [MarkerType](#resources-livemap-MarkerType) + +- [resources/notifications/notifications.proto](#resources_notifications_notifications-proto) + - [Data](#resources-notifications-Data) + - [Link](#resources-notifications-Link) + - [Notification](#resources-notifications-Notification) + + - [NotificationCategory](#resources-notifications-NotificationCategory) + +- [resources/permissions/permissions.proto](#resources_permissions_permissions-proto) + - [AttributeValues](#resources-permissions-AttributeValues) + - [JobGradeList](#resources-permissions-JobGradeList) + - [JobGradeList.JobsEntry](#resources-permissions-JobGradeList-JobsEntry) + - [Permission](#resources-permissions-Permission) + - [RawRoleAttribute](#resources-permissions-RawRoleAttribute) + - [Role](#resources-permissions-Role) + - [RoleAttribute](#resources-permissions-RoleAttribute) + - [StringList](#resources-permissions-StringList) + +- [resources/rector/audit.proto](#resources_rector_audit-proto) + - [AuditEntry](#resources-rector-AuditEntry) + + - [EventType](#resources-rector-EventType) + +- [resources/rector/config.proto](#resources_rector_config-proto) + - [AppConfig](#resources-rector-AppConfig) + - [Auth](#resources-rector-Auth) + - [Discord](#resources-rector-Discord) + - [JobInfo](#resources-rector-JobInfo) + - [Links](#resources-rector-Links) + - [Perm](#resources-rector-Perm) + - [Perms](#resources-rector-Perms) + - [UnemployedJob](#resources-rector-UnemployedJob) + - [UserTracker](#resources-rector-UserTracker) + - [Website](#resources-rector-Website) + +- [resources/timestamp/timestamp.proto](#resources_timestamp_timestamp-proto) + - [Timestamp](#resources-timestamp-Timestamp) + +- [resources/users/users.proto](#resources_users_users-proto) + - [License](#resources-users-License) + - [User](#resources-users-User) + - [UserActivity](#resources-users-UserActivity) + - [UserProps](#resources-users-UserProps) + - [UserShort](#resources-users-UserShort) + + - [UserActivityType](#resources-users-UserActivityType) + +- [resources/users/jobs.proto](#resources_users_jobs-proto) + - [DiscordSyncSettings](#resources-users-DiscordSyncSettings) + - [Job](#resources-users-Job) + - [JobGrade](#resources-users-JobGrade) + - [JobProps](#resources-users-JobProps) + - [JobSettings](#resources-users-JobSettings) + - [JobsAbsenceSettings](#resources-users-JobsAbsenceSettings) + - [QuickButtons](#resources-users-QuickButtons) + - [StatusLogSettings](#resources-users-StatusLogSettings) + - [UserInfoSyncSettings](#resources-users-UserInfoSyncSettings) + + - [UserInfoSyncUnemployedMode](#resources-users-UserInfoSyncUnemployedMode) + +- [resources/vehicles/vehicles.proto](#resources_vehicles_vehicles-proto) + - [Vehicle](#resources-vehicles-Vehicle) + +- [resources/filestore/file.proto](#resources_filestore_file-proto) + - [File](#resources-filestore-File) + - [FileInfo](#resources-filestore-FileInfo) + +- [resources/qualifications/qualifications.proto](#resources_qualifications_qualifications-proto) + - [Qualification](#resources-qualifications-Qualification) + - [QualificationAccess](#resources-qualifications-QualificationAccess) + - [QualificationDiscordSettings](#resources-qualifications-QualificationDiscordSettings) + - [QualificationJobAccess](#resources-qualifications-QualificationJobAccess) + - [QualificationRequest](#resources-qualifications-QualificationRequest) + - [QualificationRequirement](#resources-qualifications-QualificationRequirement) + - [QualificationResult](#resources-qualifications-QualificationResult) + - [QualificationShort](#resources-qualifications-QualificationShort) + - [QualificationTest](#resources-qualifications-QualificationTest) + - [QualificationTestQuestion](#resources-qualifications-QualificationTestQuestion) + - [TestQuestionData](#resources-qualifications-TestQuestionData) + - [TestQuestionDataMultipleChoice](#resources-qualifications-TestQuestionDataMultipleChoice) + - [TestQuestionDataText](#resources-qualifications-TestQuestionDataText) + + - [AccessLevel](#resources-qualifications-AccessLevel) + - [AccessLevelUpdateMode](#resources-qualifications-AccessLevelUpdateMode) + - [RequestStatus](#resources-qualifications-RequestStatus) + - [ResultStatus](#resources-qualifications-ResultStatus) + +- [services/auth/auth.proto](#services_auth_auth-proto) + - [ChangePasswordRequest](#services-auth-ChangePasswordRequest) + - [ChangePasswordResponse](#services-auth-ChangePasswordResponse) + - [ChangeUsernameRequest](#services-auth-ChangeUsernameRequest) + - [ChangeUsernameResponse](#services-auth-ChangeUsernameResponse) + - [ChooseCharacterRequest](#services-auth-ChooseCharacterRequest) + - [ChooseCharacterResponse](#services-auth-ChooseCharacterResponse) + - [CreateAccountRequest](#services-auth-CreateAccountRequest) + - [CreateAccountResponse](#services-auth-CreateAccountResponse) + - [DeleteOAuth2ConnectionRequest](#services-auth-DeleteOAuth2ConnectionRequest) + - [DeleteOAuth2ConnectionResponse](#services-auth-DeleteOAuth2ConnectionResponse) + - [ForgotPasswordRequest](#services-auth-ForgotPasswordRequest) + - [ForgotPasswordResponse](#services-auth-ForgotPasswordResponse) + - [GetAccountInfoRequest](#services-auth-GetAccountInfoRequest) + - [GetAccountInfoResponse](#services-auth-GetAccountInfoResponse) + - [GetCharactersRequest](#services-auth-GetCharactersRequest) + - [GetCharactersResponse](#services-auth-GetCharactersResponse) + - [LoginRequest](#services-auth-LoginRequest) + - [LoginResponse](#services-auth-LoginResponse) + - [LogoutRequest](#services-auth-LogoutRequest) + - [LogoutResponse](#services-auth-LogoutResponse) + - [SetSuperUserModeRequest](#services-auth-SetSuperUserModeRequest) + - [SetSuperUserModeResponse](#services-auth-SetSuperUserModeResponse) + + - [AuthService](#services-auth-AuthService) + +- [services/centrum/centrum.proto](#services_centrum_centrum-proto) + - [AssignDispatchRequest](#services-centrum-AssignDispatchRequest) + - [AssignDispatchResponse](#services-centrum-AssignDispatchResponse) + - [AssignUnitRequest](#services-centrum-AssignUnitRequest) + - [AssignUnitResponse](#services-centrum-AssignUnitResponse) + - [CreateDispatchRequest](#services-centrum-CreateDispatchRequest) + - [CreateDispatchResponse](#services-centrum-CreateDispatchResponse) + - [CreateOrUpdateUnitRequest](#services-centrum-CreateOrUpdateUnitRequest) + - [CreateOrUpdateUnitResponse](#services-centrum-CreateOrUpdateUnitResponse) + - [DeleteDispatchRequest](#services-centrum-DeleteDispatchRequest) + - [DeleteDispatchResponse](#services-centrum-DeleteDispatchResponse) + - [DeleteUnitRequest](#services-centrum-DeleteUnitRequest) + - [DeleteUnitResponse](#services-centrum-DeleteUnitResponse) + - [GetDispatchRequest](#services-centrum-GetDispatchRequest) + - [GetDispatchResponse](#services-centrum-GetDispatchResponse) + - [GetSettingsRequest](#services-centrum-GetSettingsRequest) + - [GetSettingsResponse](#services-centrum-GetSettingsResponse) + - [JoinUnitRequest](#services-centrum-JoinUnitRequest) + - [JoinUnitResponse](#services-centrum-JoinUnitResponse) + - [LatestState](#services-centrum-LatestState) + - [ListDispatchActivityRequest](#services-centrum-ListDispatchActivityRequest) + - [ListDispatchActivityResponse](#services-centrum-ListDispatchActivityResponse) + - [ListDispatchesRequest](#services-centrum-ListDispatchesRequest) + - [ListDispatchesResponse](#services-centrum-ListDispatchesResponse) + - [ListUnitActivityRequest](#services-centrum-ListUnitActivityRequest) + - [ListUnitActivityResponse](#services-centrum-ListUnitActivityResponse) + - [ListUnitsRequest](#services-centrum-ListUnitsRequest) + - [ListUnitsResponse](#services-centrum-ListUnitsResponse) + - [StreamRequest](#services-centrum-StreamRequest) + - [StreamResponse](#services-centrum-StreamResponse) + - [TakeControlRequest](#services-centrum-TakeControlRequest) + - [TakeControlResponse](#services-centrum-TakeControlResponse) + - [TakeDispatchRequest](#services-centrum-TakeDispatchRequest) + - [TakeDispatchResponse](#services-centrum-TakeDispatchResponse) + - [UpdateDispatchRequest](#services-centrum-UpdateDispatchRequest) + - [UpdateDispatchResponse](#services-centrum-UpdateDispatchResponse) + - [UpdateDispatchStatusRequest](#services-centrum-UpdateDispatchStatusRequest) + - [UpdateDispatchStatusResponse](#services-centrum-UpdateDispatchStatusResponse) + - [UpdateSettingsRequest](#services-centrum-UpdateSettingsRequest) + - [UpdateSettingsResponse](#services-centrum-UpdateSettingsResponse) + - [UpdateUnitStatusRequest](#services-centrum-UpdateUnitStatusRequest) + - [UpdateUnitStatusResponse](#services-centrum-UpdateUnitStatusResponse) + + - [CentrumService](#services-centrum-CentrumService) + +- [services/citizenstore/citizenstore.proto](#services_citizenstore_citizenstore-proto) + - [GetUserRequest](#services-citizenstore-GetUserRequest) + - [GetUserResponse](#services-citizenstore-GetUserResponse) + - [ListCitizensRequest](#services-citizenstore-ListCitizensRequest) + - [ListCitizensResponse](#services-citizenstore-ListCitizensResponse) + - [ListUserActivityRequest](#services-citizenstore-ListUserActivityRequest) + - [ListUserActivityResponse](#services-citizenstore-ListUserActivityResponse) + - [SetProfilePictureRequest](#services-citizenstore-SetProfilePictureRequest) + - [SetProfilePictureResponse](#services-citizenstore-SetProfilePictureResponse) + - [SetUserPropsRequest](#services-citizenstore-SetUserPropsRequest) + - [SetUserPropsResponse](#services-citizenstore-SetUserPropsResponse) + + - [CitizenStoreService](#services-citizenstore-CitizenStoreService) + +- [services/completor/completor.proto](#services_completor_completor-proto) + - [CompleteCitizensRequest](#services-completor-CompleteCitizensRequest) + - [CompleteCitizensRespoonse](#services-completor-CompleteCitizensRespoonse) + - [CompleteDocumentCategoriesRequest](#services-completor-CompleteDocumentCategoriesRequest) + - [CompleteDocumentCategoriesResponse](#services-completor-CompleteDocumentCategoriesResponse) + - [CompleteJobsRequest](#services-completor-CompleteJobsRequest) + - [CompleteJobsResponse](#services-completor-CompleteJobsResponse) + - [ListLawBooksRequest](#services-completor-ListLawBooksRequest) + - [ListLawBooksResponse](#services-completor-ListLawBooksResponse) + + - [CompletorService](#services-completor-CompletorService) + +- [services/dmv/vehicles.proto](#services_dmv_vehicles-proto) + - [ListVehiclesRequest](#services-dmv-ListVehiclesRequest) + - [ListVehiclesResponse](#services-dmv-ListVehiclesResponse) + + - [DMVService](#services-dmv-DMVService) + +- [services/docstore/docstore.proto](#services_docstore_docstore-proto) + - [AddDocumentReferenceRequest](#services-docstore-AddDocumentReferenceRequest) + - [AddDocumentReferenceResponse](#services-docstore-AddDocumentReferenceResponse) + - [AddDocumentRelationRequest](#services-docstore-AddDocumentRelationRequest) + - [AddDocumentRelationResponse](#services-docstore-AddDocumentRelationResponse) + - [ChangeDocumentOwnerRequest](#services-docstore-ChangeDocumentOwnerRequest) + - [ChangeDocumentOwnerResponse](#services-docstore-ChangeDocumentOwnerResponse) + - [CreateCategoryRequest](#services-docstore-CreateCategoryRequest) + - [CreateCategoryResponse](#services-docstore-CreateCategoryResponse) + - [CreateDocumentReqRequest](#services-docstore-CreateDocumentReqRequest) + - [CreateDocumentReqResponse](#services-docstore-CreateDocumentReqResponse) + - [CreateDocumentRequest](#services-docstore-CreateDocumentRequest) + - [CreateDocumentResponse](#services-docstore-CreateDocumentResponse) + - [CreateTemplateRequest](#services-docstore-CreateTemplateRequest) + - [CreateTemplateResponse](#services-docstore-CreateTemplateResponse) + - [DeleteCategoryRequest](#services-docstore-DeleteCategoryRequest) + - [DeleteCategoryResponse](#services-docstore-DeleteCategoryResponse) + - [DeleteCommentRequest](#services-docstore-DeleteCommentRequest) + - [DeleteCommentResponse](#services-docstore-DeleteCommentResponse) + - [DeleteDocumentReqRequest](#services-docstore-DeleteDocumentReqRequest) + - [DeleteDocumentReqResponse](#services-docstore-DeleteDocumentReqResponse) + - [DeleteDocumentRequest](#services-docstore-DeleteDocumentRequest) + - [DeleteDocumentResponse](#services-docstore-DeleteDocumentResponse) + - [DeleteTemplateRequest](#services-docstore-DeleteTemplateRequest) + - [DeleteTemplateResponse](#services-docstore-DeleteTemplateResponse) + - [EditCommentRequest](#services-docstore-EditCommentRequest) + - [EditCommentResponse](#services-docstore-EditCommentResponse) + - [GetCommentsRequest](#services-docstore-GetCommentsRequest) + - [GetCommentsResponse](#services-docstore-GetCommentsResponse) + - [GetDocumentAccessRequest](#services-docstore-GetDocumentAccessRequest) + - [GetDocumentAccessResponse](#services-docstore-GetDocumentAccessResponse) + - [GetDocumentReferencesRequest](#services-docstore-GetDocumentReferencesRequest) + - [GetDocumentReferencesResponse](#services-docstore-GetDocumentReferencesResponse) + - [GetDocumentRelationsRequest](#services-docstore-GetDocumentRelationsRequest) + - [GetDocumentRelationsResponse](#services-docstore-GetDocumentRelationsResponse) + - [GetDocumentRequest](#services-docstore-GetDocumentRequest) + - [GetDocumentResponse](#services-docstore-GetDocumentResponse) + - [GetTemplateRequest](#services-docstore-GetTemplateRequest) + - [GetTemplateResponse](#services-docstore-GetTemplateResponse) + - [ListCategoriesRequest](#services-docstore-ListCategoriesRequest) + - [ListCategoriesResponse](#services-docstore-ListCategoriesResponse) + - [ListDocumentActivityRequest](#services-docstore-ListDocumentActivityRequest) + - [ListDocumentActivityResponse](#services-docstore-ListDocumentActivityResponse) + - [ListDocumentReqsRequest](#services-docstore-ListDocumentReqsRequest) + - [ListDocumentReqsResponse](#services-docstore-ListDocumentReqsResponse) + - [ListDocumentsRequest](#services-docstore-ListDocumentsRequest) + - [ListDocumentsResponse](#services-docstore-ListDocumentsResponse) + - [ListTemplatesRequest](#services-docstore-ListTemplatesRequest) + - [ListTemplatesResponse](#services-docstore-ListTemplatesResponse) + - [ListUserDocumentsRequest](#services-docstore-ListUserDocumentsRequest) + - [ListUserDocumentsResponse](#services-docstore-ListUserDocumentsResponse) + - [PostCommentRequest](#services-docstore-PostCommentRequest) + - [PostCommentResponse](#services-docstore-PostCommentResponse) + - [RemoveDocumentReferenceRequest](#services-docstore-RemoveDocumentReferenceRequest) + - [RemoveDocumentReferenceResponse](#services-docstore-RemoveDocumentReferenceResponse) + - [RemoveDocumentRelationRequest](#services-docstore-RemoveDocumentRelationRequest) + - [RemoveDocumentRelationResponse](#services-docstore-RemoveDocumentRelationResponse) + - [SetDocumentAccessRequest](#services-docstore-SetDocumentAccessRequest) + - [SetDocumentAccessResponse](#services-docstore-SetDocumentAccessResponse) + - [ToggleDocumentRequest](#services-docstore-ToggleDocumentRequest) + - [ToggleDocumentResponse](#services-docstore-ToggleDocumentResponse) + - [UpdateCategoryRequest](#services-docstore-UpdateCategoryRequest) + - [UpdateCategoryResponse](#services-docstore-UpdateCategoryResponse) + - [UpdateDocumentReqRequest](#services-docstore-UpdateDocumentReqRequest) + - [UpdateDocumentReqResponse](#services-docstore-UpdateDocumentReqResponse) + - [UpdateDocumentRequest](#services-docstore-UpdateDocumentRequest) + - [UpdateDocumentResponse](#services-docstore-UpdateDocumentResponse) + - [UpdateTemplateRequest](#services-docstore-UpdateTemplateRequest) + - [UpdateTemplateResponse](#services-docstore-UpdateTemplateResponse) + + - [DocStoreService](#services-docstore-DocStoreService) + +- [services/jobs/conduct.proto](#services_jobs_conduct-proto) + - [CreateConductEntryRequest](#services-jobs-CreateConductEntryRequest) + - [CreateConductEntryResponse](#services-jobs-CreateConductEntryResponse) + - [DeleteConductEntryRequest](#services-jobs-DeleteConductEntryRequest) + - [DeleteConductEntryResponse](#services-jobs-DeleteConductEntryResponse) + - [ListConductEntriesRequest](#services-jobs-ListConductEntriesRequest) + - [ListConductEntriesResponse](#services-jobs-ListConductEntriesResponse) + - [UpdateConductEntryRequest](#services-jobs-UpdateConductEntryRequest) + - [UpdateConductEntryResponse](#services-jobs-UpdateConductEntryResponse) + + - [JobsConductService](#services-jobs-JobsConductService) + +- [services/jobs/timeclock.proto](#services_jobs_timeclock-proto) + - [GetTimeclockStatsRequest](#services-jobs-GetTimeclockStatsRequest) + - [GetTimeclockStatsResponse](#services-jobs-GetTimeclockStatsResponse) + - [ListInactiveEmployeesRequest](#services-jobs-ListInactiveEmployeesRequest) + - [ListInactiveEmployeesResponse](#services-jobs-ListInactiveEmployeesResponse) + - [ListTimeclockRequest](#services-jobs-ListTimeclockRequest) + - [ListTimeclockResponse](#services-jobs-ListTimeclockResponse) + + - [JobsTimeclockService](#services-jobs-JobsTimeclockService) + +- [services/jobs/jobs.proto](#services_jobs_jobs-proto) + - [GetColleagueRequest](#services-jobs-GetColleagueRequest) + - [GetColleagueResponse](#services-jobs-GetColleagueResponse) + - [GetMOTDRequest](#services-jobs-GetMOTDRequest) + - [GetMOTDResponse](#services-jobs-GetMOTDResponse) + - [GetSelfRequest](#services-jobs-GetSelfRequest) + - [GetSelfResponse](#services-jobs-GetSelfResponse) + - [ListColleagueActivityRequest](#services-jobs-ListColleagueActivityRequest) + - [ListColleagueActivityResponse](#services-jobs-ListColleagueActivityResponse) + - [ListColleaguesRequest](#services-jobs-ListColleaguesRequest) + - [ListColleaguesResponse](#services-jobs-ListColleaguesResponse) + - [SetJobsUserPropsRequest](#services-jobs-SetJobsUserPropsRequest) + - [SetJobsUserPropsResponse](#services-jobs-SetJobsUserPropsResponse) + - [SetMOTDRequest](#services-jobs-SetMOTDRequest) + - [SetMOTDResponse](#services-jobs-SetMOTDResponse) + + - [JobsService](#services-jobs-JobsService) + +- [services/livemapper/livemap.proto](#services_livemapper_livemap-proto) + - [CreateOrUpdateMarkerRequest](#services-livemapper-CreateOrUpdateMarkerRequest) + - [CreateOrUpdateMarkerResponse](#services-livemapper-CreateOrUpdateMarkerResponse) + - [DeleteMarkerRequest](#services-livemapper-DeleteMarkerRequest) + - [DeleteMarkerResponse](#services-livemapper-DeleteMarkerResponse) + - [JobsList](#services-livemapper-JobsList) + - [MarkerMarkersUpdates](#services-livemapper-MarkerMarkersUpdates) + - [StreamRequest](#services-livemapper-StreamRequest) + - [StreamResponse](#services-livemapper-StreamResponse) + - [UserMarkersUpdates](#services-livemapper-UserMarkersUpdates) + + - [LivemapperService](#services-livemapper-LivemapperService) + +- [services/notificator/notificator.proto](#services_notificator_notificator-proto) + - [GetNotificationsRequest](#services-notificator-GetNotificationsRequest) + - [GetNotificationsResponse](#services-notificator-GetNotificationsResponse) + - [MarkNotificationsRequest](#services-notificator-MarkNotificationsRequest) + - [MarkNotificationsResponse](#services-notificator-MarkNotificationsResponse) + - [StreamRequest](#services-notificator-StreamRequest) + - [StreamResponse](#services-notificator-StreamResponse) + - [TokenUpdate](#services-notificator-TokenUpdate) + + - [NotificatorService](#services-notificator-NotificatorService) + +- [services/rector/config.proto](#services_rector_config-proto) + - [GetAppConfigRequest](#services-rector-GetAppConfigRequest) + - [GetAppConfigResponse](#services-rector-GetAppConfigResponse) + - [UpdateAppConfigRequest](#services-rector-UpdateAppConfigRequest) + - [UpdateAppConfigResponse](#services-rector-UpdateAppConfigResponse) + + - [RectorConfigService](#services-rector-RectorConfigService) + +- [services/rector/filestore.proto](#services_rector_filestore-proto) + - [DeleteFileRequest](#services-rector-DeleteFileRequest) + - [DeleteFileResponse](#services-rector-DeleteFileResponse) + - [ListFilesRequest](#services-rector-ListFilesRequest) + - [ListFilesResponse](#services-rector-ListFilesResponse) + - [UploadFileRequest](#services-rector-UploadFileRequest) + - [UploadFileResponse](#services-rector-UploadFileResponse) + + - [RectorFilestoreService](#services-rector-RectorFilestoreService) + +- [services/rector/laws.proto](#services_rector_laws-proto) + - [CreateOrUpdateLawBookRequest](#services-rector-CreateOrUpdateLawBookRequest) + - [CreateOrUpdateLawBookResponse](#services-rector-CreateOrUpdateLawBookResponse) + - [CreateOrUpdateLawRequest](#services-rector-CreateOrUpdateLawRequest) + - [CreateOrUpdateLawResponse](#services-rector-CreateOrUpdateLawResponse) + - [DeleteLawBookRequest](#services-rector-DeleteLawBookRequest) + - [DeleteLawBookResponse](#services-rector-DeleteLawBookResponse) + - [DeleteLawRequest](#services-rector-DeleteLawRequest) + - [DeleteLawResponse](#services-rector-DeleteLawResponse) + + - [RectorLawsService](#services-rector-RectorLawsService) + +- [services/rector/rector.proto](#services_rector_rector-proto) + - [AttrsUpdate](#services-rector-AttrsUpdate) + - [CreateRoleRequest](#services-rector-CreateRoleRequest) + - [CreateRoleResponse](#services-rector-CreateRoleResponse) + - [DeleteRoleRequest](#services-rector-DeleteRoleRequest) + - [DeleteRoleResponse](#services-rector-DeleteRoleResponse) + - [GetJobPropsRequest](#services-rector-GetJobPropsRequest) + - [GetJobPropsResponse](#services-rector-GetJobPropsResponse) + - [GetPermissionsRequest](#services-rector-GetPermissionsRequest) + - [GetPermissionsResponse](#services-rector-GetPermissionsResponse) + - [GetRoleRequest](#services-rector-GetRoleRequest) + - [GetRoleResponse](#services-rector-GetRoleResponse) + - [GetRolesRequest](#services-rector-GetRolesRequest) + - [GetRolesResponse](#services-rector-GetRolesResponse) + - [PermItem](#services-rector-PermItem) + - [PermsUpdate](#services-rector-PermsUpdate) + - [SetJobPropsRequest](#services-rector-SetJobPropsRequest) + - [SetJobPropsResponse](#services-rector-SetJobPropsResponse) + - [UpdateRoleLimitsRequest](#services-rector-UpdateRoleLimitsRequest) + - [UpdateRoleLimitsResponse](#services-rector-UpdateRoleLimitsResponse) + - [UpdateRolePermsRequest](#services-rector-UpdateRolePermsRequest) + - [UpdateRolePermsResponse](#services-rector-UpdateRolePermsResponse) + - [ViewAuditLogRequest](#services-rector-ViewAuditLogRequest) + - [ViewAuditLogResponse](#services-rector-ViewAuditLogResponse) + + - [RectorService](#services-rector-RectorService) + +- [services/qualifications/qualifications.proto](#services_qualifications_qualifications-proto) + - [CreateOrUpdateQualificationRequestRequest](#services-qualifications-CreateOrUpdateQualificationRequestRequest) + - [CreateOrUpdateQualificationRequestResponse](#services-qualifications-CreateOrUpdateQualificationRequestResponse) + - [CreateOrUpdateQualificationResultRequest](#services-qualifications-CreateOrUpdateQualificationResultRequest) + - [CreateOrUpdateQualificationResultResponse](#services-qualifications-CreateOrUpdateQualificationResultResponse) + - [CreateQualificationRequest](#services-qualifications-CreateQualificationRequest) + - [CreateQualificationResponse](#services-qualifications-CreateQualificationResponse) + - [DeleteQualificationReqRequest](#services-qualifications-DeleteQualificationReqRequest) + - [DeleteQualificationReqResponse](#services-qualifications-DeleteQualificationReqResponse) + - [DeleteQualificationRequest](#services-qualifications-DeleteQualificationRequest) + - [DeleteQualificationResponse](#services-qualifications-DeleteQualificationResponse) + - [DeleteQualificationResultRequest](#services-qualifications-DeleteQualificationResultRequest) + - [DeleteQualificationResultResponse](#services-qualifications-DeleteQualificationResultResponse) + - [GetQualificationAccessRequest](#services-qualifications-GetQualificationAccessRequest) + - [GetQualificationAccessResponse](#services-qualifications-GetQualificationAccessResponse) + - [GetQualificationRequest](#services-qualifications-GetQualificationRequest) + - [GetQualificationResponse](#services-qualifications-GetQualificationResponse) + - [ListQualificationRequestsRequest](#services-qualifications-ListQualificationRequestsRequest) + - [ListQualificationRequestsResponse](#services-qualifications-ListQualificationRequestsResponse) + - [ListQualificationsRequest](#services-qualifications-ListQualificationsRequest) + - [ListQualificationsResponse](#services-qualifications-ListQualificationsResponse) + - [ListQualificationsResultsRequest](#services-qualifications-ListQualificationsResultsRequest) + - [ListQualificationsResultsResponse](#services-qualifications-ListQualificationsResultsResponse) + - [SetQualificationAccessRequest](#services-qualifications-SetQualificationAccessRequest) + - [SetQualificationAccessResponse](#services-qualifications-SetQualificationAccessResponse) + - [UpdateQualificationRequest](#services-qualifications-UpdateQualificationRequest) + - [UpdateQualificationResponse](#services-qualifications-UpdateQualificationResponse) + + - [QualificationsService](#services-qualifications-QualificationsService) + +- [Scalar Value Types](#scalar-value-types) + + + + +

Top

+ +## resources/accounts/accounts.proto + + + + + +### Account + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| username | [string](#string) | | | +| license | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/accounts/oauth2.proto + + + + + +### OAuth2Account + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| account_id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| provider_name | [string](#string) | | | +| provider | [OAuth2Provider](#resources-accounts-OAuth2Provider) | | | +| external_id | [uint64](#uint64) | | | +| username | [string](#string) | | | +| avatar | [string](#string) | | | + + + + + + + + +### OAuth2Provider + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| label | [string](#string) | | | +| homepage | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/centrum/general.proto + + + + + +### Attributes + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| list | [string](#string) | repeated | | + + + + + + + + +### Disponents + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| disponents | [resources.users.UserShort](#resources-users-UserShort) | repeated | | + + + + + + + + +### UserUnitMapping + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| user_id | [int32](#int32) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/centrum/units.proto + + + + + +### Unit + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| name | [string](#string) | | @sanitize | +| initials | [string](#string) | | @sanitize | +| color | [string](#string) | | | +| description | [string](#string) | optional | @sanitize | +| status | [UnitStatus](#resources-centrum-UnitStatus) | optional | | +| users | [UnitAssignment](#resources-centrum-UnitAssignment) | repeated | | +| attributes | [Attributes](#resources-centrum-Attributes) | optional | | +| home_postal | [string](#string) | optional | | + + + + + + + + +### UnitAssignment + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"unit_id" | +| user_id | [int32](#int32) | | @gotags: sql:"primary_key" alias:"user_id" | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + +### UnitAssignments + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| users | [UnitAssignment](#resources-centrum-UnitAssignment) | repeated | | + + + + + + + + +### UnitStatus + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| unit_id | [uint64](#uint64) | | | +| unit | [Unit](#resources-centrum-Unit) | optional | | +| status | [StatusUnit](#resources-centrum-StatusUnit) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | +| user_id | [int32](#int32) | optional | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| x | [double](#double) | optional | | +| y | [double](#double) | optional | | +| postal | [string](#string) | optional | @sanitize | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + + + +### StatusUnit + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| STATUS_UNIT_UNSPECIFIED | 0 | | +| STATUS_UNIT_UNKNOWN | 1 | | +| STATUS_UNIT_USER_ADDED | 2 | | +| STATUS_UNIT_USER_REMOVED | 3 | | +| STATUS_UNIT_UNAVAILABLE | 4 | | +| STATUS_UNIT_AVAILABLE | 5 | | +| STATUS_UNIT_ON_BREAK | 6 | | +| STATUS_UNIT_BUSY | 7 | | + + + + + + + + + + + +

Top

+ +## resources/centrum/settings.proto + + + + + +### PredefinedStatus + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_status | [string](#string) | repeated | | +| dispatch_status | [string](#string) | repeated | | + + + + + + + + +### Settings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| enabled | [bool](#bool) | | | +| mode | [CentrumMode](#resources-centrum-CentrumMode) | | | +| fallback_mode | [CentrumMode](#resources-centrum-CentrumMode) | | | +| predefined_status | [PredefinedStatus](#resources-centrum-PredefinedStatus) | optional | | + + + + + + + + + + +### CentrumMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| CENTRUM_MODE_UNSPECIFIED | 0 | | +| CENTRUM_MODE_MANUAL | 1 | | +| CENTRUM_MODE_CENTRAL_COMMAND | 2 | | +| CENTRUM_MODE_AUTO_ROUND_ROBIN | 3 | | +| CENTRUM_MODE_SIMPLIFIED | 4 | | + + + + + + + + + + + +

Top

+ +## resources/centrum/dispatches.proto + + + + + +### Dispatch + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| status | [DispatchStatus](#resources-centrum-DispatchStatus) | optional | | +| message | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| attributes | [Attributes](#resources-centrum-Attributes) | optional | | +| x | [double](#double) | | | +| y | [double](#double) | | | +| postal | [string](#string) | optional | @sanitize | +| anon | [bool](#bool) | | | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.User](#resources-users-User) | optional | | +| units | [DispatchAssignment](#resources-centrum-DispatchAssignment) | repeated | | +| references | [DispatchReferences](#resources-centrum-DispatchReferences) | optional | | + + + + + + + + +### DispatchAssignment + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"dispatch_id" | +| unit_id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"unit_id" | +| unit | [Unit](#resources-centrum-Unit) | optional | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| expires_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | + + + + + + + + +### DispatchAssignments + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| units | [DispatchAssignment](#resources-centrum-DispatchAssignment) | repeated | | + + + + + + + + +### DispatchReference + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| target_dispatch_id | [uint64](#uint64) | | | +| reference_type | [DispatchReferenceType](#resources-centrum-DispatchReferenceType) | | | + + + + + + + + +### DispatchReferences + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| references | [DispatchReference](#resources-centrum-DispatchReference) | repeated | | + + + + + + + + +### DispatchStatus + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| dispatch_id | [uint64](#uint64) | | | +| unit_id | [uint64](#uint64) | optional | | +| unit | [Unit](#resources-centrum-Unit) | optional | | +| status | [StatusDispatch](#resources-centrum-StatusDispatch) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | +| user_id | [int32](#int32) | optional | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| x | [double](#double) | optional | | +| y | [double](#double) | optional | | +| postal | [string](#string) | optional | @sanitize | + + + + + + + + + + +### DispatchReferenceType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DISPATCH_REFERENCE_TYPE_UNSPECIFIED | 0 | | +| DISPATCH_REFERENCE_TYPE_REFERENCED | 1 | | +| DISPATCH_REFERENCE_TYPE_DUPLICATED_BY | 2 | | +| DISPATCH_REFERENCE_TYPE_DUPLICATE_OF | 3 | | + + + + + +### StatusDispatch + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| STATUS_DISPATCH_UNSPECIFIED | 0 | | +| STATUS_DISPATCH_NEW | 1 | | +| STATUS_DISPATCH_UNASSIGNED | 2 | | +| STATUS_DISPATCH_UPDATED | 3 | | +| STATUS_DISPATCH_UNIT_ASSIGNED | 4 | | +| STATUS_DISPATCH_UNIT_UNASSIGNED | 5 | | +| STATUS_DISPATCH_UNIT_ACCEPTED | 6 | | +| STATUS_DISPATCH_UNIT_DECLINED | 7 | | +| STATUS_DISPATCH_EN_ROUTE | 8 | | +| STATUS_DISPATCH_ON_SCENE | 9 | | +| STATUS_DISPATCH_NEED_ASSISTANCE | 10 | | +| STATUS_DISPATCH_COMPLETED | 11 | | +| STATUS_DISPATCH_CANCELLED | 12 | | +| STATUS_DISPATCH_ARCHIVED | 13 | | + + + + + +### TakeDispatchResp + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| TAKE_DISPATCH_RESP_UNSPECIFIED | 0 | | +| TAKE_DISPATCH_RESP_TIMEOUT | 1 | | +| TAKE_DISPATCH_RESP_ACCEPTED | 2 | | +| TAKE_DISPATCH_RESP_DECLINED | 3 | | + + + + + + + + + + + +

Top

+ +## resources/common/database/database.proto + + + + + +### OrderBy + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| column | [string](#string) | | | +| desc | [bool](#bool) | | | + + + + + + + + +### PaginationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| offset | [int64](#int64) | | | +| page_size | [int64](#int64) | optional | | + + + + + + + + +### PaginationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| total_count | [int64](#int64) | | | +| offset | [int64](#int64) | | | +| end | [int64](#int64) | | | +| page_size | [int64](#int64) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/common/i18n.proto + + + + + +### TranslateItem + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| parameters | [TranslateItem.ParametersEntry](#resources-common-TranslateItem-ParametersEntry) | repeated | | + + + + + + + + +### TranslateItem.ParametersEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/category.proto + + + + + +### Category + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| job | [string](#string) | optional | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/requests.proto + + + + + +### DocRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| document_id | [uint64](#uint64) | | | +| request_type | [DocActivityType](#resources-documents-DocActivityType) | | | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | +| reason | [string](#string) | optional | | +| data | [DocActivityData](#resources-documents-DocActivityData) | | | +| accepted | [bool](#bool) | optional | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/activity.proto + + + + + +### DocAccessRequested + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| level | [AccessLevel](#resources-documents-AccessLevel) | | | + + + + + + + + +### DocActivity + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| document_id | [uint64](#uint64) | | | +| activity_type | [DocActivityType](#resources-documents-DocActivityType) | | | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | +| reason | [string](#string) | optional | | +| data | [DocActivityData](#resources-documents-DocActivityData) | | | + + + + + + + + +### DocActivityData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updated | [DocUpdated](#resources-documents-DocUpdated) | | | +| owner_changed | [DocOwnerChanged](#resources-documents-DocOwnerChanged) | | | +| access_updated | [DocumentAccess](#resources-documents-DocumentAccess) | | | +| access_requested | [DocAccessRequested](#resources-documents-DocAccessRequested) | | | + + + + + + + + +### DocOwnerChanged + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| new_owner_id | [int32](#int32) | | | +| new_owner | [resources.users.UserShort](#resources-users-UserShort) | | | + + + + + + + + +### DocUpdated + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title_diff | [string](#string) | optional | | +| content_diff | [string](#string) | optional | | +| state_diff | [string](#string) | optional | | + + + + + + + + + + +### DocActivityType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| DOC_ACTIVITY_TYPE_CREATED | 1 | Base | +| DOC_ACTIVITY_TYPE_STATUS_OPEN | 2 | | +| DOC_ACTIVITY_TYPE_STATUS_CLOSED | 3 | | +| DOC_ACTIVITY_TYPE_UPDATED | 4 | | +| DOC_ACTIVITY_TYPE_RELATIONS_UPDATED | 5 | | +| DOC_ACTIVITY_TYPE_REFERENCES_UPDATED | 6 | | +| DOC_ACTIVITY_TYPE_ACCESS_UPDATED | 7 | | +| DOC_ACTIVITY_TYPE_OWNER_CHANGED | 8 | | +| DOC_ACTIVITY_TYPE_DELETED | 9 | | +| DOC_ACTIVITY_TYPE_COMMENT_ADDED | 10 | Comments | +| DOC_ACTIVITY_TYPE_COMMENT_UPDATED | 11 | | +| DOC_ACTIVITY_TYPE_COMMENT_DELETED | 12 | | +| DOC_ACTIVITY_TYPE_REQUESTED_ACCESS | 13 | Requests | +| DOC_ACTIVITY_TYPE_REQUESTED_CLOSURE | 14 | | +| DOC_ACTIVITY_TYPE_REQUESTED_OPENING | 15 | | +| DOC_ACTIVITY_TYPE_REQUESTED_UPDATE | 16 | | +| DOC_ACTIVITY_TYPE_REQUESTED_OWNER_CHANGE | 17 | | +| DOC_ACTIVITY_TYPE_REQUESTED_DELETION | 18 | | + + + + + + + + + + + +

Top

+ +## resources/documents/access.proto + + + + + +### DocumentAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [DocumentJobAccess](#resources-documents-DocumentJobAccess) | repeated | @gotags: alias:"job_access" | +| users | [DocumentUserAccess](#resources-documents-DocumentUserAccess) | repeated | @gotags: alias:"user_access" | + + + + + + + + +### DocumentJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| job | [string](#string) | | @gotags: alias:"job" | +| job_label | [string](#string) | optional | @gotags: alias:"job_label" | +| minimum_grade | [int32](#int32) | | @gotags: alias:"minimum_grade" | +| job_grade_label | [string](#string) | optional | @gotags: alias:"job_grade_label" | +| access | [AccessLevel](#resources-documents-AccessLevel) | | @gotags: alias:"access" | +| required | [bool](#bool) | optional | @gotags: alias:"required" | + + + + + + + + +### DocumentUserAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| access | [AccessLevel](#resources-documents-AccessLevel) | | @gotags: alias:"access" | +| required | [bool](#bool) | optional | @gotags: alias:"required" | + + + + + + + + + + +### AccessLevel + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_BLOCKED | 1 | | +| ACCESS_LEVEL_VIEW | 2 | | +| ACCESS_LEVEL_COMMENT | 3 | | +| ACCESS_LEVEL_STATUS | 4 | | +| ACCESS_LEVEL_ACCESS | 5 | | +| ACCESS_LEVEL_EDIT | 6 | | + + + + + +### AccessLevelUpdateMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UPDATE_MODE_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_UPDATE_MODE_UPDATE | 1 | | +| ACCESS_LEVEL_UPDATE_MODE_DELETE | 2 | | +| ACCESS_LEVEL_UPDATE_MODE_CLEAR | 3 | | + + + + + + + + + + + +

Top

+ +## resources/documents/comment.proto + + + + + +### Comment + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| comment | [string](#string) | | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/documents.proto + + + + + +### Document + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category_id | [uint64](#uint64) | optional | | +| category | [Category](#resources-documents-Category) | optional | @gotags: alias:"category" | +| title | [string](#string) | | @sanitize | +| content_type | [DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| content | [string](#string) | | @sanitize | +| data | [string](#string) | optional | @sanitize + +@gotags: alias:"data" | +| creator_id | [int32](#int32) | optional | @gotags: alias:"creator_id" | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| state | [string](#string) | | @sanitize | +| closed | [bool](#bool) | | | +| public | [bool](#bool) | | | +| template_id | [uint64](#uint64) | optional | | + + + + + + + + +### DocumentReference + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | optional | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| source_document_id | [uint64](#uint64) | | @gotags: alias:"source_document_id" | +| source_document | [DocumentShort](#resources-documents-DocumentShort) | optional | @gotags: alias:"source_document" | +| reference | [DocReference](#resources-documents-DocReference) | | @gotags: alias:"reference" | +| target_document_id | [uint64](#uint64) | | @gotags: alias:"target_document_id" | +| target_document | [DocumentShort](#resources-documents-DocumentShort) | optional | @gotags: alias:"target_document" | +| creator_id | [int32](#int32) | optional | @gotags: alias:"creator_id" | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"ref_creator" | + + + + + + + + +### DocumentRelation + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | optional | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| document | [DocumentShort](#resources-documents-DocumentShort) | optional | @gotags: alias:"document" | +| source_user_id | [int32](#int32) | | @gotags: alias:"source_user_id" | +| source_user | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"source_user" | +| relation | [DocRelation](#resources-documents-DocRelation) | | @gotags: alias:"relation" | +| target_user_id | [int32](#int32) | | @gotags: alias:"target_user_id" | +| target_user | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"target_user" | + + + + + + + + +### DocumentShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category_id | [uint64](#uint64) | optional | | +| category | [Category](#resources-documents-Category) | optional | @gotags: alias:"category" | +| title | [string](#string) | | @sanitize | +| content_type | [DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| content | [string](#string) | | @sanitize | +| creator_id | [int32](#int32) | optional | @gotags: alias:"creator_id" | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | @gotags: alias:"creator_job" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | | +| public | [bool](#bool) | | | + + + + + + + + + + +### DocContentType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_CONTENT_TYPE_UNSPECIFIED | 0 | | +| DOC_CONTENT_TYPE_HTML | 1 | | +| DOC_CONTENT_TYPE_PLAIN | 2 | | + + + + + +### DocReference + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_REFERENCE_UNSPECIFIED | 0 | | +| DOC_REFERENCE_LINKED | 1 | | +| DOC_REFERENCE_SOLVES | 2 | | +| DOC_REFERENCE_CLOSES | 3 | | +| DOC_REFERENCE_DEPRECATES | 4 | | + + + + + +### DocRelation + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_RELATION_UNSPECIFIED | 0 | | +| DOC_RELATION_MENTIONED | 1 | | +| DOC_RELATION_TARGETS | 2 | | +| DOC_RELATION_CAUSED | 3 | | + + + + + + + + + + + +

Top

+ +## resources/documents/templates.proto + + + + + +### ObjectSpecs + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| required | [bool](#bool) | optional | | +| min | [int32](#int32) | optional | | +| max | [int32](#int32) | optional | | + + + + + + + + +### Template + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category | [Category](#resources-documents-Category) | | @gotags: alias:"category" | +| weight | [uint32](#uint32) | | | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | | @sanitize | +| content_title | [string](#string) | | @gotags: alias:"content_title" | +| content | [string](#string) | | @gotags: alias:"content" | +| state | [string](#string) | | @gotags: alias:"state" | +| schema | [TemplateSchema](#resources-documents-TemplateSchema) | | @gotags: alias:"schema" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | +| job_access | [TemplateJobAccess](#resources-documents-TemplateJobAccess) | repeated | | +| content_access | [DocumentAccess](#resources-documents-DocumentAccess) | | @gotags: alias:"access" | + + + + + + + + +### TemplateData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| activeChar | [resources.users.User](#resources-users-User) | | | +| documents | [DocumentShort](#resources-documents-DocumentShort) | repeated | | +| users | [resources.users.UserShort](#resources-users-UserShort) | repeated | | +| vehicles | [resources.vehicles.Vehicle](#resources-vehicles-Vehicle) | repeated | | + + + + + + + + +### TemplateJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| template_id | [uint64](#uint64) | | @gotags: alias:"template_id" | +| job | [string](#string) | | @gotags: alias:"job" | +| job_label | [string](#string) | optional | @gotags: alias:"job_label" | +| minimum_grade | [int32](#int32) | | @gotags: alias:"minimum_grade" | +| job_grade_label | [string](#string) | optional | @gotags: alias:"job_grade_label" | +| access | [AccessLevel](#resources-documents-AccessLevel) | | @gotags: alias:"access" | + + + + + + + + +### TemplateRequirements + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| documents | [ObjectSpecs](#resources-documents-ObjectSpecs) | optional | | +| users | [ObjectSpecs](#resources-documents-ObjectSpecs) | optional | | +| vehicles | [ObjectSpecs](#resources-documents-ObjectSpecs) | optional | | + + + + + + + + +### TemplateSchema + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| requirements | [TemplateRequirements](#resources-documents-TemplateRequirements) | | | + + + + + + + + +### TemplateShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category | [Category](#resources-documents-Category) | | @gotags: alias:"category" | +| weight | [uint32](#uint32) | | | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | | @sanitize | +| schema | [TemplateSchema](#resources-documents-TemplateSchema) | | @gotags: alias:"schema" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/jobs/colleagues.proto + + + + + +### Colleague + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| phone_number | [string](#string) | optional | | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | +| props | [JobsUserProps](#resources-jobs-JobsUserProps) | | @gotags: alias:"fivenet_jobs_user_props" | + + + + + + + + +### ColleagueAbsenceDate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| absence_begin | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| absence_end | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | + + + + + + + + +### ColleagueGradeChange + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| grade | [int32](#int32) | | | +| grade_label | [string](#string) | | | + + + + + + + + +### JobsUserActivity + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| source_user_id | [int32](#int32) | | | +| source_user | [Colleague](#resources-jobs-Colleague) | | @gotags: alias:"source_user" | +| target_user_id | [int32](#int32) | | | +| target_user | [Colleague](#resources-jobs-Colleague) | | @gotags: alias:"target_user" | +| activity_type | [JobsUserActivityType](#resources-jobs-JobsUserActivityType) | | | +| reason | [string](#string) | | @sanitize | +| data | [JobsUserActivityData](#resources-jobs-JobsUserActivityData) | | | + + + + + + + + +### JobsUserActivityData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| absence_date | [ColleagueAbsenceDate](#resources-jobs-ColleagueAbsenceDate) | | | +| grade_change | [ColleagueGradeChange](#resources-jobs-ColleagueGradeChange) | | | + + + + + + + + +### JobsUserProps + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | +| absence_begin | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| absence_end | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | + + + + + + + + + + +### JobsUserActivityType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| JOBS_USER_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| JOBS_USER_ACTIVITY_TYPE_HIRED | 1 | | +| JOBS_USER_ACTIVITY_TYPE_FIRED | 2 | | +| JOBS_USER_ACTIVITY_TYPE_PROMOTED | 3 | | +| JOBS_USER_ACTIVITY_TYPE_DEMOTED | 4 | | +| JOBS_USER_ACTIVITY_TYPE_ABSENCE_DATE | 5 | | + + + + + + + + + + + +

Top

+ +## resources/jobs/conduct.proto + + + + + +### ConductEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| type | [ConductType](#resources-jobs-ConductType) | | | +| message | [string](#string) | | @sanitize | +| expires_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| target_user_id | [int32](#int32) | | | +| target_user | [Colleague](#resources-jobs-Colleague) | optional | @gotags: alias:"target_user" | +| creator_id | [int32](#int32) | | | +| creator | [Colleague](#resources-jobs-Colleague) | optional | @gotags: alias:"creator" | + + + + + + + + + + +### ConductType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| CONDUCT_TYPE_UNSPECIFIED | 0 | | +| CONDUCT_TYPE_NEUTRAL | 1 | | +| CONDUCT_TYPE_POSITIVE | 2 | | +| CONDUCT_TYPE_NEGATIVE | 3 | | +| CONDUCT_TYPE_WARNING | 4 | | +| CONDUCT_TYPE_SUSPENSION | 5 | | +| CONDUCT_TYPE_NOTE | 6 | | + + + + + + + + + + + +

Top

+ +## resources/jobs/timeclock.proto + + + + + +### TimeclockEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| user_id | [int32](#int32) | | | +| user | [Colleague](#resources-jobs-Colleague) | optional | | +| start_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| end_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| spent_time | [float](#float) | | | + + + + + + + + +### TimeclockStats + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| spent_time_sum | [float](#float) | | | +| spent_time_avg | [float](#float) | | | +| spent_time_max | [float](#float) | | | + + + + + + + + +### TimeclockWeeklyStats + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| year | [int32](#int32) | | | +| calendar_week | [int32](#int32) | | | +| sum | [float](#float) | | | +| avg | [float](#float) | | | +| max | [float](#float) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/laws/laws.proto + + + + + +### Law + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"law.id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| lawbook_id | [uint64](#uint64) | | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| fine | [uint32](#uint32) | optional | | +| detention_time | [uint32](#uint32) | optional | | +| stvo_points | [uint32](#uint32) | optional | | + + + + + + + + +### LawBook + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| laws | [Law](#resources-laws-Law) | repeated | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/livemap/tracker.proto + + + + + +### UsersUpdateEvent + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| added | [UserMarker](#resources-livemap-UserMarker) | repeated | | +| removed | [UserMarker](#resources-livemap-UserMarker) | repeated | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/livemap/livemap.proto + + + + + +### CircleMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| radius | [int32](#int32) | | | +| oapcity | [float](#float) | optional | | + + + + + + + + +### Coords + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| x | [double](#double) | | | +| y | [double](#double) | | | + + + + + + + + +### IconMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| icon | [string](#string) | | | + + + + + + + + +### MarkerData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| circle | [CircleMarker](#resources-livemap-CircleMarker) | | | +| icon | [IconMarker](#resources-livemap-IconMarker) | | | + + + + + + + + +### MarkerInfo + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| job_label | [string](#string) | | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| x | [double](#double) | | | +| y | [double](#double) | | | +| postal | [string](#string) | optional | @sanitize | +| color | [string](#string) | optional | | +| icon | [string](#string) | optional | | + + + + + + + + +### MarkerMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| info | [MarkerInfo](#resources-livemap-MarkerInfo) | | | +| type | [MarkerType](#resources-livemap-MarkerType) | | @gotags: alias:"markerType" | +| expires_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| data | [MarkerData](#resources-livemap-MarkerData) | | @gotags: alias:"markerData" | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + +### UserMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| info | [MarkerInfo](#resources-livemap-MarkerInfo) | | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"user" | +| unit_id | [uint64](#uint64) | optional | | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | optional | | + + + + + + + + + + +### MarkerType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| MARKER_TYPE_UNSPECIFIED | 0 | | +| MARKER_TYPE_DOT | 1 | | +| MARKER_TYPE_CIRCLE | 2 | | +| MARKER_TYPE_ICON | 3 | | + + + + + + + + + + + +

Top

+ +## resources/notifications/notifications.proto + + + + + +### Data + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| link | [Link](#resources-notifications-Link) | optional | | +| caused_by | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + +### Link + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to | [string](#string) | | | +| title | [string](#string) | optional | | +| external | [bool](#bool) | optional | | + + + + + + + + +### Notification + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| read_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| user_id | [int32](#int32) | | | +| title | [resources.common.TranslateItem](#resources-common-TranslateItem) | | @sanitize | +| type | [string](#string) | optional | | +| content | [resources.common.TranslateItem](#resources-common-TranslateItem) | | @sanitize | +| category | [NotificationCategory](#resources-notifications-NotificationCategory) | | | +| data | [Data](#resources-notifications-Data) | optional | | +| starred | [bool](#bool) | optional | | + + + + + + + + + + +### NotificationCategory + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| NOTIFICATION_CATEGORY_UNSPECIFIED | 0 | | +| NOTIFICATION_CATEGORY_GENERAL | 1 | | +| NOTIFICATION_CATEGORY_DOCUMENT | 2 | | + + + + + + + + + + + +

Top

+ +## resources/permissions/permissions.proto + + + + + +### AttributeValues + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| string_list | [StringList](#resources-permissions-StringList) | | | +| job_list | [StringList](#resources-permissions-StringList) | | | +| job_grade_list | [JobGradeList](#resources-permissions-JobGradeList) | | | + + + + + + + + +### JobGradeList + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [JobGradeList.JobsEntry](#resources-permissions-JobGradeList-JobsEntry) | repeated | | + + + + + + + + +### JobGradeList.JobsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [int32](#int32) | | | + + + + + + + + +### Permission + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category | [string](#string) | | | +| name | [string](#string) | | | +| guard_name | [string](#string) | | | +| val | [bool](#bool) | | | + + + + + + + + +### RawRoleAttribute + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| attr_id | [uint64](#uint64) | | | +| permission_id | [uint64](#uint64) | | | +| category | [string](#string) | | | +| name | [string](#string) | | | +| key | [string](#string) | | | +| type | [string](#string) | | | +| valid_values | [AttributeValues](#resources-permissions-AttributeValues) | | | +| value | [AttributeValues](#resources-permissions-AttributeValues) | | | + + + + + + + + +### Role + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| permissions | [Permission](#resources-permissions-Permission) | repeated | | +| attributes | [RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | + + + + + + + + +### RoleAttribute + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| attr_id | [uint64](#uint64) | | | +| permission_id | [uint64](#uint64) | | | +| category | [string](#string) | | | +| name | [string](#string) | | | +| key | [string](#string) | | | +| type | [string](#string) | | | +| valid_values | [AttributeValues](#resources-permissions-AttributeValues) | | | +| value | [AttributeValues](#resources-permissions-AttributeValues) | | | +| max_values | [AttributeValues](#resources-permissions-AttributeValues) | optional | | + + + + + + + + +### StringList + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| strings | [string](#string) | repeated | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/rector/audit.proto + + + + + +### AuditEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| user_id | [uint64](#uint64) | | @gotags: alias:"user_id" | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| user_job | [string](#string) | | @gotags: alias:"user_job" | +| target_user_id | [int32](#int32) | optional | @gotags: alias:"target_user_id" | +| target_user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| target_user_job | [string](#string) | | @gotags: alias:"target_user_job" | +| service | [string](#string) | | @gotags: alias:"service" | +| method | [string](#string) | | @gotags: alias:"method" | +| state | [EventType](#resources-rector-EventType) | | @gotags: alias:"state" | +| data | [string](#string) | optional | @gotags: alias:"data" | + + + + + + + + + + +### EventType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| EVENT_TYPE_UNSPECIFIED | 0 | | +| EVENT_TYPE_ERRORED | 1 | | +| EVENT_TYPE_VIEWED | 2 | | +| EVENT_TYPE_CREATED | 3 | | +| EVENT_TYPE_UPDATED | 4 | | +| EVENT_TYPE_DELETED | 5 | | + + + + + + + + + + + +

Top

+ +## resources/rector/config.proto + + + + + +### AppConfig + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| auth | [Auth](#resources-rector-Auth) | | | +| perms | [Perms](#resources-rector-Perms) | | | +| website | [Website](#resources-rector-Website) | | | +| job_info | [JobInfo](#resources-rector-JobInfo) | | | +| user_tracker | [UserTracker](#resources-rector-UserTracker) | | | +| discord | [Discord](#resources-rector-Discord) | | | + + + + + + + + +### Auth + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signup_enabled | [bool](#bool) | | | + + + + + + + + +### Discord + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| enabled | [bool](#bool) | | | +| sync_interval | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| invite_url | [string](#string) | optional | | + + + + + + + + +### JobInfo + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unemployed_job | [UnemployedJob](#resources-rector-UnemployedJob) | | | +| public_jobs | [string](#string) | repeated | | +| hidden_jobs | [string](#string) | repeated | | + + + + + + + + +### Links + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| privacy_policy | [string](#string) | optional | | +| imprint | [string](#string) | optional | | + + + + + + + + +### Perm + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [string](#string) | | | +| name | [string](#string) | | | + + + + + + + + +### Perms + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| default | [Perm](#resources-rector-Perm) | repeated | | + + + + + + + + +### UnemployedJob + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| grade | [int32](#int32) | | | + + + + + + + + +### UserTracker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| refresh_time | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| db_refresh_time | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| livemap_jobs | [string](#string) | repeated | | + + + + + + + + +### Website + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| links | [Links](#resources-rector-Links) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/timestamp/timestamp.proto + + + + + +### Timestamp +Timestamp for storage messages. We've defined a new local type wrapper +of google.protobuf.Timestamp so we can implement sql.Scanner and sql.Valuer +interfaces. See: +https://golang.org/pkg/database/sql/#Scanner +https://golang.org/pkg/database/sql/driver/#Valuer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/users/users.proto + + + + + +### License + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| type | [string](#string) | | | +| label | [string](#string) | | | + + + + + + + + +### User + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| sex | [string](#string) | optional | | +| height | [string](#string) | optional | | +| phone_number | [string](#string) | optional | | +| visum | [int32](#int32) | optional | | +| playtime | [int32](#int32) | optional | | +| props | [UserProps](#resources-users-UserProps) | | @gotags: alias:"fivenet_user_props" | +| licenses | [License](#resources-users-License) | repeated | @gotags: alias:"user_licenses" | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | + + + + + + + + +### UserActivity + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"fivenet_user_activity.id" | +| type | [UserActivityType](#resources-users-UserActivityType) | | @gotags: alias:"fivenet_user_activity.type" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: alias:"fivenet_user_activity.created_at" | +| source_user | [UserShort](#resources-users-UserShort) | | @gotags: alias:"source_user" | +| target_user | [UserShort](#resources-users-UserShort) | | @gotags: alias:"target_user" | +| key | [string](#string) | | @sanitize + +@gotags: alias:"fivenet_user_activity.key" | +| old_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.old_value" | +| new_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.new_value" | +| reason | [string](#string) | | @sanitize + +@gotags: alias:"fivenet_user_activity.reason" | + + + + + + + + +### UserProps + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | +| wanted | [bool](#bool) | optional | | +| job_name | [string](#string) | optional | @gotags: alias:"job" | +| job | [Job](#resources-users-Job) | optional | | +| job_grade_number | [int32](#int32) | optional | @gotags: alias:"job_grade" | +| job_grade | [JobGrade](#resources-users-JobGrade) | optional | | +| traffic_infraction_points | [uint32](#uint32) | optional | | +| open_fines | [int64](#int64) | optional | | +| blood_type | [string](#string) | optional | | +| mug_shot | [resources.filestore.File](#resources-filestore-File) | optional | | + + + + + + + + +### UserShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| phone_number | [string](#string) | optional | | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | + + + + + + + + + + +### UserActivityType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| USER_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| USER_ACTIVITY_TYPE_CHANGED | 1 | | +| USER_ACTIVITY_TYPE_MENTIONED | 2 | | +| USER_ACTIVITY_TYPE_CREATED | 3 | | + + + + + + + + + + + +

Top

+ +## resources/users/jobs.proto + + + + + +### DiscordSyncSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_info_sync | [bool](#bool) | | | +| user_info_sync_settings | [UserInfoSyncSettings](#resources-users-UserInfoSyncSettings) | optional | | +| status_log | [bool](#bool) | | | +| status_log_settings | [StatusLogSettings](#resources-users-StatusLogSettings) | optional | | +| jobs_absence | [bool](#bool) | | | +| jobs_absence_settings | [JobsAbsenceSettings](#resources-users-JobsAbsenceSettings) | optional | | + + + + + + + + +### Job + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | @gotags: sql:"primary_key" alias:"name" | +| label | [string](#string) | | | +| grades | [JobGrade](#resources-users-JobGrade) | repeated | | + + + + + + + + +### JobGrade + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_name | [string](#string) | optional | | +| grade | [int32](#int32) | | | +| label | [string](#string) | | | + + + + + + + + +### JobProps + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| theme | [string](#string) | | | +| livemap_marker_color | [string](#string) | | | +| quick_buttons | [QuickButtons](#resources-users-QuickButtons) | | | +| radio_frequency | [string](#string) | optional | | +| discord_guild_id | [uint64](#uint64) | optional | | +| discord_last_sync | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| discord_sync_settings | [DiscordSyncSettings](#resources-users-DiscordSyncSettings) | | | +| motd | [string](#string) | optional | | +| logo_url | [resources.filestore.File](#resources-filestore-File) | optional | | +| settings | [JobSettings](#resources-users-JobSettings) | | | + + + + + + + + +### JobSettings + + + + + + + + + +### JobsAbsenceSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| absence_role | [string](#string) | | | + + + + + + + + +### QuickButtons + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| penalty_calculator | [bool](#bool) | | | +| body_checkup | [bool](#bool) | | | + + + + + + + + +### StatusLogSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| channel_id | [string](#string) | optional | | + + + + + + + + +### UserInfoSyncSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| employee_role_enabled | [bool](#bool) | | | +| employee_role_format | [string](#string) | optional | | +| grade_role_format | [string](#string) | optional | | +| unemployed_enabled | [bool](#bool) | | | +| unemployed_mode | [UserInfoSyncUnemployedMode](#resources-users-UserInfoSyncUnemployedMode) | | | +| unemployed_role_name | [string](#string) | optional | | + + + + + + + + + + +### UserInfoSyncUnemployedMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| USER_INFO_SYNC_UNEMPLOYED_MODE_UNSPECIFIED | 0 | | +| USER_INFO_SYNC_UNEMPLOYED_MODE_GIVE_ROLE | 1 | | +| USER_INFO_SYNC_UNEMPLOYED_MODE_KICK | 2 | | + + + + + + + + + + + +

Top

+ +## resources/vehicles/vehicles.proto + + + + + +### Vehicle + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| plate | [string](#string) | | | +| model | [string](#string) | optional | | +| type | [string](#string) | | | +| owner | [resources.users.UserShort](#resources-users-UserShort) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/filestore/file.proto + + + + + +### File + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| url | [string](#string) | optional | | +| data | [bytes](#bytes) | | | +| delete | [bool](#bool) | optional | | +| content_type | [string](#string) | optional | | +| extension | [string](#string) | optional | | + + + + + + + + +### FileInfo + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| last_modified | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| size | [int64](#int64) | | | +| content_type | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/qualifications/qualifications.proto + + + + + +### Qualification + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| weight | [uint32](#uint32) | | | +| closed | [bool](#bool) | | | +| abbreviation | [string](#string) | | @sanitize: method=StripTags | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize: method=StripTags | +| content | [string](#string) | | @sanitize | +| creator_id | [int32](#int32) | | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| access | [QualificationAccess](#resources-qualifications-QualificationAccess) | | | +| requirements | [QualificationRequirement](#resources-qualifications-QualificationRequirement) | repeated | | +| discord_settings | [QualificationDiscordSettings](#resources-qualifications-QualificationDiscordSettings) | optional | | +| result | [QualificationResult](#resources-qualifications-QualificationResult) | optional | | +| request | [QualificationRequest](#resources-qualifications-QualificationRequest) | optional | | + + + + + + + + +### QualificationAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [QualificationJobAccess](#resources-qualifications-QualificationJobAccess) | repeated | | + + + + + + + + +### QualificationDiscordSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sync_enabled | [bool](#bool) | | | +| role_name | [string](#string) | optional | | + + + + + + + + +### QualificationJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| minimum_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| access | [AccessLevel](#resources-qualifications-AccessLevel) | | | + + + + + + + + +### QualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| qualification | [QualificationShort](#resources-qualifications-QualificationShort) | optional | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"user" | +| user_comment | [string](#string) | optional | @sanitize: method=StripTags | +| status | [RequestStatus](#resources-qualifications-RequestStatus) | optional | | +| approved_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| approver_comment | [string](#string) | optional | @sanitize: method=StripTags | +| approver_id | [int32](#int32) | optional | | +| approver | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"approver" | +| approver_job | [string](#string) | optional | | + + + + + + + + +### QualificationRequirement + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| target_qualification_id | [uint64](#uint64) | | | +| target_qualification | [QualificationShort](#resources-qualifications-QualificationShort) | optional | @gotags: alias:"targetqualification.*" | + + + + + + + + +### QualificationResult + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| qualification | [QualificationShort](#resources-qualifications-QualificationShort) | optional | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"user" | +| status | [ResultStatus](#resources-qualifications-ResultStatus) | | | +| score | [uint32](#uint32) | optional | | +| summary | [string](#string) | | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | + + + + + + + + +### QualificationShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| weight | [uint32](#uint32) | | | +| closed | [bool](#bool) | | | +| abbreviation | [string](#string) | | @sanitize: method=StripTags | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| requirements | [QualificationRequirement](#resources-qualifications-QualificationRequirement) | repeated | | +| result | [QualificationResult](#resources-qualifications-QualificationResult) | optional | | + + + + + + + + +### QualificationTest + + + + + + + + + +### QualificationTestQuestion + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| qualification_id | [uint64](#uint64) | | | +| question | [string](#string) | | | +| data | [TestQuestionData](#resources-qualifications-TestQuestionData) | | | + + + + + + + + +### TestQuestionData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| separator | [bool](#bool) | | | +| yesno | [bool](#bool) | | | +| short_text | [TestQuestionDataText](#resources-qualifications-TestQuestionDataText) | | | +| long_text | [TestQuestionDataText](#resources-qualifications-TestQuestionDataText) | | | +| multiple_choice | [TestQuestionDataMultipleChoice](#resources-qualifications-TestQuestionDataMultipleChoice) | | | + + + + + + + + +### TestQuestionDataMultipleChoice +TODO + + + + + + + + +### TestQuestionDataText + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| min_length | [int32](#int32) | | | +| max_length | [int32](#int32) | | | + + + + + + + + + + +### AccessLevel + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_BLOCKED | 1 | | +| ACCESS_LEVEL_VIEW | 2 | | +| ACCESS_LEVEL_REQUEST | 3 | | +| ACCESS_LEVEL_TAKE | 4 | | +| ACCESS_LEVEL_GRADE | 5 | | +| ACCESS_LEVEL_MANAGE | 6 | | +| ACCESS_LEVEL_EDIT | 7 | | + + + + + +### AccessLevelUpdateMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UPDATE_MODE_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_UPDATE_MODE_UPDATE | 1 | | +| ACCESS_LEVEL_UPDATE_MODE_DELETE | 2 | | +| ACCESS_LEVEL_UPDATE_MODE_CLEAR | 3 | | + + + + + +### RequestStatus + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| REQUEST_STATUS_UNSPECIFIED | 0 | | +| REQUEST_STATUS_PENDING | 1 | | +| REQUEST_STATUS_DENIED | 2 | | +| REQUEST_STATUS_ACCEPTED | 3 | | +| REQUEST_STATUS_COMPLETED | 4 | | + + + + + +### ResultStatus + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| RESULT_STATUS_UNSPECIFIED | 0 | | +| RESULT_STATUS_PENDING | 1 | | +| RESULT_STATUS_FAILED | 2 | | +| RESULT_STATUS_SUCCESSFUL | 3 | | + + + + + + + + + + + +

Top

+ +## services/auth/auth.proto + + + + + +### ChangePasswordRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| current | [string](#string) | | | +| new | [string](#string) | | | + + + + + + + + +### ChangePasswordResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | + + + + + + + + +### ChangeUsernameRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| current | [string](#string) | | | +| new | [string](#string) | | | + + + + + + + + +### ChangeUsernameResponse + + + + + + + + + +### ChooseCharacterRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| char_id | [int32](#int32) | | | + + + + + + + + +### ChooseCharacterResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| permissions | [string](#string) | repeated | | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | +| char | [resources.users.User](#resources-users-User) | | | + + + + + + + + +### CreateAccountRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reg_token | [string](#string) | | | +| username | [string](#string) | | | +| password | [string](#string) | | | + + + + + + + + +### CreateAccountResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| account_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteOAuth2ConnectionRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| provider | [string](#string) | | | + + + + + + + + +### DeleteOAuth2ConnectionResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| success | [bool](#bool) | | | + + + + + + + + +### ForgotPasswordRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reg_token | [string](#string) | | | +| new | [string](#string) | | | + + + + + + + + +### ForgotPasswordResponse + + + + + + + + + +### GetAccountInfoRequest + + + + + + + + + +### GetAccountInfoResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| account | [resources.accounts.Account](#resources-accounts-Account) | | | +| oauth2_providers | [resources.accounts.OAuth2Provider](#resources-accounts-OAuth2Provider) | repeated | | +| oauth2_connections | [resources.accounts.OAuth2Account](#resources-accounts-OAuth2Account) | repeated | | + + + + + + + + +### GetCharactersRequest + + + + + + + + + +### GetCharactersResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| chars | [resources.users.User](#resources-users-User) | repeated | | + + + + + + + + +### LoginRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| username | [string](#string) | | | +| password | [string](#string) | | | + + + + + + + + +### LoginResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| account_id | [uint64](#uint64) | | | + + + + + + + + +### LogoutRequest + + + + + + + + + +### LogoutResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| success | [bool](#bool) | | | + + + + + + + + +### SetSuperUserModeRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| superuser | [bool](#bool) | | | +| job | [string](#string) | optional | | + + + + + + + + +### SetSuperUserModeResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | optional | | +| char | [resources.users.User](#resources-users-User) | | | + + + + + + + + + + + + + + +### AuthService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| Login | [LoginRequest](#services-auth-LoginRequest) | [LoginResponse](#services-auth-LoginResponse) | | +| Logout | [LogoutRequest](#services-auth-LogoutRequest) | [LogoutResponse](#services-auth-LogoutResponse) | | +| CreateAccount | [CreateAccountRequest](#services-auth-CreateAccountRequest) | [CreateAccountResponse](#services-auth-CreateAccountResponse) | | +| ChangeUsername | [ChangeUsernameRequest](#services-auth-ChangeUsernameRequest) | [ChangeUsernameResponse](#services-auth-ChangeUsernameResponse) | | +| ChangePassword | [ChangePasswordRequest](#services-auth-ChangePasswordRequest) | [ChangePasswordResponse](#services-auth-ChangePasswordResponse) | | +| ForgotPassword | [ForgotPasswordRequest](#services-auth-ForgotPasswordRequest) | [ForgotPasswordResponse](#services-auth-ForgotPasswordResponse) | | +| GetCharacters | [GetCharactersRequest](#services-auth-GetCharactersRequest) | [GetCharactersResponse](#services-auth-GetCharactersResponse) | | +| ChooseCharacter | [ChooseCharacterRequest](#services-auth-ChooseCharacterRequest) | [ChooseCharacterResponse](#services-auth-ChooseCharacterResponse) | @perm | +| GetAccountInfo | [GetAccountInfoRequest](#services-auth-GetAccountInfoRequest) | [GetAccountInfoResponse](#services-auth-GetAccountInfoResponse) | | +| DeleteOAuth2Connection | [DeleteOAuth2ConnectionRequest](#services-auth-DeleteOAuth2ConnectionRequest) | [DeleteOAuth2ConnectionResponse](#services-auth-DeleteOAuth2ConnectionResponse) | | +| SetSuperUserMode | [SetSuperUserModeRequest](#services-auth-SetSuperUserModeRequest) | [SetSuperUserModeResponse](#services-auth-SetSuperUserModeResponse) | | + + + + + + +

Top

+ +## services/centrum/centrum.proto + + + + + +### AssignDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | | +| to_add | [uint64](#uint64) | repeated | | +| to_remove | [uint64](#uint64) | repeated | | +| forced | [bool](#bool) | optional | | + + + + + + + + +### AssignDispatchResponse + + + + + + + + + +### AssignUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| to_add | [int32](#int32) | repeated | | +| to_remove | [int32](#int32) | repeated | | + + + + + + + + +### AssignUnitResponse + + + + + + + + + +### CreateDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### CreateDispatchResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### CreateOrUpdateUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | + + + + + + + + +### CreateOrUpdateUnitResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | + + + + + + + + +### DeleteDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteDispatchResponse + + + + + + + + + +### DeleteUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteUnitResponse + + + + + + + + + +### GetDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### GetDispatchResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### GetSettingsRequest + + + + + + + + + +### GetSettingsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | + + + + + + + + +### JoinUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | optional | | + + + + + + + + +### JoinUnitResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | + + + + + + + + +### LatestState + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| server_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| disponents | [resources.users.UserShort](#resources-users-UserShort) | repeated | | +| own_unit_id | [uint64](#uint64) | optional | | +| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | Send the current units and dispatches | +| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | + + + + + + + + +### ListDispatchActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| id | [uint64](#uint64) | | | + + + + + + + + +### ListDispatchActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | repeated | | + + + + + + + + +### ListDispatchesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | +| not_status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | +| ids | [uint64](#uint64) | repeated | | +| postal | [string](#string) | optional | | + + + + + + + + +### ListDispatchesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | + + + + + + + + +### ListUnitActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| id | [uint64](#uint64) | | | + + + + + + + + +### ListUnitActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | repeated | | + + + + + + + + +### ListUnitsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | repeated | | + + + + + + + + +### ListUnitsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | | + + + + + + + + +### StreamRequest + + + + + + + + + +### StreamResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| latest_state | [LatestState](#services-centrum-LatestState) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| disponents | [resources.centrum.Disponents](#resources-centrum-Disponents) | | | +| unit_created | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_deleted | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_updated | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_status | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | | | +| dispatch_created | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_deleted | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_updated | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_status | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | | | + + + + + + + + +### TakeControlRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signon | [bool](#bool) | | | + + + + + + + + +### TakeControlResponse + + + + + + + + + +### TakeDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_ids | [uint64](#uint64) | repeated | | +| resp | [resources.centrum.TakeDispatchResp](#resources-centrum-TakeDispatchResp) | | | +| reason | [string](#string) | optional | @sanitize | + + + + + + + + +### TakeDispatchResponse + + + + + + + + + +### UpdateDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### UpdateDispatchResponse + + + + + + + + + +### UpdateDispatchStatusRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | | +| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | + + + + + + + + +### UpdateDispatchStatusResponse + + + + + + + + + +### UpdateSettingsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | + + + + + + + + +### UpdateSettingsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | + + + + + + + + +### UpdateUnitStatusRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | + + + + + + + + +### UpdateUnitStatusResponse + + + + + + + + + + + + + + + +### CentrumService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| UpdateSettings | [UpdateSettingsRequest](#services-centrum-UpdateSettingsRequest) | [UpdateSettingsResponse](#services-centrum-UpdateSettingsResponse) | @perm | +| CreateDispatch | [CreateDispatchRequest](#services-centrum-CreateDispatchRequest) | [CreateDispatchResponse](#services-centrum-CreateDispatchResponse) | @perm | +| UpdateDispatch | [UpdateDispatchRequest](#services-centrum-UpdateDispatchRequest) | [UpdateDispatchResponse](#services-centrum-UpdateDispatchResponse) | @perm | +| DeleteDispatch | [DeleteDispatchRequest](#services-centrum-DeleteDispatchRequest) | [DeleteDispatchResponse](#services-centrum-DeleteDispatchResponse) | @perm | +| TakeControl | [TakeControlRequest](#services-centrum-TakeControlRequest) | [TakeControlResponse](#services-centrum-TakeControlResponse) | @perm | +| AssignDispatch | [AssignDispatchRequest](#services-centrum-AssignDispatchRequest) | [AssignDispatchResponse](#services-centrum-AssignDispatchResponse) | @perm: Name=TakeControl | +| AssignUnit | [AssignUnitRequest](#services-centrum-AssignUnitRequest) | [AssignUnitResponse](#services-centrum-AssignUnitResponse) | @perm: Name=TakeControl | +| Stream | [StreamRequest](#services-centrum-StreamRequest) | [StreamResponse](#services-centrum-StreamResponse) stream | @perm | +| GetSettings | [GetSettingsRequest](#services-centrum-GetSettingsRequest) | [GetSettingsResponse](#services-centrum-GetSettingsResponse) | @perm: Name=Stream | +| JoinUnit | [JoinUnitRequest](#services-centrum-JoinUnitRequest) | [JoinUnitResponse](#services-centrum-JoinUnitResponse) | @perm: Name=Stream | +| ListUnits | [ListUnitsRequest](#services-centrum-ListUnitsRequest) | [ListUnitsResponse](#services-centrum-ListUnitsResponse) | @perm: Name=Stream | +| ListUnitActivity | [ListUnitActivityRequest](#services-centrum-ListUnitActivityRequest) | [ListUnitActivityResponse](#services-centrum-ListUnitActivityResponse) | @perm: Name=Stream | +| GetDispatch | [GetDispatchRequest](#services-centrum-GetDispatchRequest) | [GetDispatchResponse](#services-centrum-GetDispatchResponse) | @perm: Name=Stream | +| ListDispatches | [ListDispatchesRequest](#services-centrum-ListDispatchesRequest) | [ListDispatchesResponse](#services-centrum-ListDispatchesResponse) | @perm: Name=Stream | +| ListDispatchActivity | [ListDispatchActivityRequest](#services-centrum-ListDispatchActivityRequest) | [ListDispatchActivityResponse](#services-centrum-ListDispatchActivityResponse) | @perm: Name=Stream | +| CreateOrUpdateUnit | [CreateOrUpdateUnitRequest](#services-centrum-CreateOrUpdateUnitRequest) | [CreateOrUpdateUnitResponse](#services-centrum-CreateOrUpdateUnitResponse) | @perm | +| DeleteUnit | [DeleteUnitRequest](#services-centrum-DeleteUnitRequest) | [DeleteUnitResponse](#services-centrum-DeleteUnitResponse) | @perm | +| TakeDispatch | [TakeDispatchRequest](#services-centrum-TakeDispatchRequest) | [TakeDispatchResponse](#services-centrum-TakeDispatchResponse) | @perm | +| UpdateUnitStatus | [UpdateUnitStatusRequest](#services-centrum-UpdateUnitStatusRequest) | [UpdateUnitStatusResponse](#services-centrum-UpdateUnitStatusResponse) | @perm: Name=TakeDispatch | +| UpdateDispatchStatus | [UpdateDispatchStatusRequest](#services-centrum-UpdateDispatchStatusRequest) | [UpdateDispatchStatusResponse](#services-centrum-UpdateDispatchStatusResponse) | @perm: Name=TakeDispatch | + + + + + + +

Top

+ +## services/citizenstore/citizenstore.proto + + + + + +### GetUserRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | + + + + + + + + +### GetUserResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user | [resources.users.User](#resources-users-User) | | | + + + + + + + + +### ListCitizensRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| search | [string](#string) | | Search params | +| wanted | [bool](#bool) | optional | | +| phone_number | [string](#string) | optional | | +| traffic_infraction_points | [uint32](#uint32) | optional | | +| dateofbirth | [string](#string) | optional | | +| open_fines | [uint64](#uint64) | optional | | + + + + + + + + +### ListCitizensResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| users | [resources.users.User](#resources-users-User) | repeated | | + + + + + + + + +### ListUserActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_id | [int32](#int32) | | | + + + + + + + + +### ListUserActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.users.UserActivity](#resources-users-UserActivity) | repeated | | + + + + + + + + +### SetProfilePictureRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| avatar | [resources.filestore.File](#resources-filestore-File) | | | + + + + + + + + +### SetProfilePictureResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| avatar | [resources.filestore.File](#resources-filestore-File) | | | + + + + + + + + +### SetUserPropsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.users.UserProps](#resources-users-UserProps) | | | +| reason | [string](#string) | | @sanitize | + + + + + + + + +### SetUserPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.users.UserProps](#resources-users-UserProps) | | | + + + + + + + + + + + + + + +### CitizenStoreService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListCitizens | [ListCitizensRequest](#services-citizenstore-ListCitizensRequest) | [ListCitizensResponse](#services-citizenstore-ListCitizensResponse) | @perm: Attrs=Fields/StringList:[]string{"PhoneNumber", "Licenses", "UserProps.Wanted", "UserProps.Job", "UserProps.TrafficInfractionPoints", "UserProps.OpenFines", "UserProps.BloodType", "UserProps.MugShot"} | +| GetUser | [GetUserRequest](#services-citizenstore-GetUserRequest) | [GetUserResponse](#services-citizenstore-GetUserResponse) | @perm: Attrs=Jobs/JobGradeList | +| ListUserActivity | [ListUserActivityRequest](#services-citizenstore-ListUserActivityRequest) | [ListUserActivityResponse](#services-citizenstore-ListUserActivityResponse) | @perm: Attrs=Fields/StringList:[]string{"SourceUser", "Own"} | +| SetUserProps | [SetUserPropsRequest](#services-citizenstore-SetUserPropsRequest) | [SetUserPropsResponse](#services-citizenstore-SetUserPropsResponse) | @perm: Attrs=Fields/StringList:[]string{"Wanted", "Job", "TrafficInfractionPoints", "MugShot"} | +| SetProfilePicture | [SetProfilePictureRequest](#services-citizenstore-SetProfilePictureRequest) | [SetProfilePictureResponse](#services-citizenstore-SetProfilePictureResponse) | @perm: Name=Any | + + + + + + +

Top

+ +## services/completor/completor.proto + + + + + +### CompleteCitizensRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | | | +| current_job | [bool](#bool) | optional | | +| on_duty | [bool](#bool) | optional | | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### CompleteCitizensRespoonse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| users | [resources.users.UserShort](#resources-users-UserShort) | repeated | @gotags: alias:"user" | + + + + + + + + +### CompleteDocumentCategoriesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | | | + + + + + + + + +### CompleteDocumentCategoriesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| categories | [resources.documents.Category](#resources-documents-Category) | repeated | | + + + + + + + + +### CompleteJobsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | optional | | +| exact_match | [bool](#bool) | optional | | +| current_job | [bool](#bool) | optional | | + + + + + + + + +### CompleteJobsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [resources.users.Job](#resources-users-Job) | repeated | | + + + + + + + + +### ListLawBooksRequest + + + + + + + + + +### ListLawBooksResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| books | [resources.laws.LawBook](#resources-laws-LawBook) | repeated | | + + + + + + + + + + + + + + +### CompletorService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| CompleteCitizens | [CompleteCitizensRequest](#services-completor-CompleteCitizensRequest) | [CompleteCitizensRespoonse](#services-completor-CompleteCitizensRespoonse) | @perm | +| CompleteJobs | [CompleteJobsRequest](#services-completor-CompleteJobsRequest) | [CompleteJobsResponse](#services-completor-CompleteJobsResponse) | @perm | +| CompleteDocumentCategories | [CompleteDocumentCategoriesRequest](#services-completor-CompleteDocumentCategoriesRequest) | [CompleteDocumentCategoriesResponse](#services-completor-CompleteDocumentCategoriesResponse) | @perm: Attrs=Jobs/JobList | +| ListLawBooks | [ListLawBooksRequest](#services-completor-ListLawBooksRequest) | [ListLawBooksResponse](#services-completor-ListLawBooksResponse) | @perm: Name=Any | + + + + + + +

Top

+ +## services/dmv/vehicles.proto + + + + + +### ListVehiclesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| orderBy | [resources.common.database.OrderBy](#resources-common-database-OrderBy) | repeated | | +| license_plate | [string](#string) | optional | Search params | +| model | [string](#string) | optional | | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### ListVehiclesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| vehicles | [resources.vehicles.Vehicle](#resources-vehicles-Vehicle) | repeated | | + + + + + + + + + + + + + + +### DMVService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListVehicles | [ListVehiclesRequest](#services-dmv-ListVehiclesRequest) | [ListVehiclesResponse](#services-dmv-ListVehiclesResponse) | @perm | + + + + + + +

Top

+ +## services/docstore/docstore.proto + + + + + +### AddDocumentReferenceRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reference | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | | | + + + + + + + + +### AddDocumentReferenceResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### AddDocumentRelationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| relation | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | | | + + + + + + + + +### AddDocumentRelationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### ChangeDocumentOwnerRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| new_user_id | [int32](#int32) | optional | | + + + + + + + + +### ChangeDocumentOwnerResponse + + + + + + + + + +### CreateCategoryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [resources.documents.Category](#resources-documents-Category) | | | + + + + + + + + +### CreateCategoryResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### CreateDocumentReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| request_type | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | | | +| reason | [string](#string) | optional | @sanitize | +| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | + + + + + + + + +### CreateDocumentReqResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | + + + + + + + + +### CreateDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | +| title | [string](#string) | | @sanitize: method=StripTags + +@gotags: alias:"title" | +| content | [string](#string) | | @sanitize + +@gotags: alias:"content" | +| content_type | [resources.documents.DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| data | [string](#string) | optional | @gotags: alias:"data" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | @gotags: alias:"closed" | +| public | [bool](#bool) | | @gotags: alias:"public" | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | +| template_id | [uint64](#uint64) | optional | | + + + + + + + + +### CreateDocumentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | + + + + + + + + +### CreateTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | + + + + + + + + +### CreateTemplateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteCategoryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| ids | [uint64](#uint64) | repeated | | + + + + + + + + +### DeleteCategoryResponse + + + + + + + + + +### DeleteCommentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteCommentResponse + + + + + + + + + +### DeleteDocumentReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteDocumentReqResponse + + + + + + + + + +### DeleteDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | + + + + + + + + +### DeleteDocumentResponse + + + + + + + + + +### DeleteTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteTemplateResponse + + + + + + + + + +### EditCommentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### EditCommentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### GetCommentsRequest +Comments =============================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetCommentsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| comments | [resources.documents.Comment](#resources-documents-Comment) | repeated | | + + + + + + + + +### GetDocumentAccessRequest +Access ===================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentAccessResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | + + + + + + + + +### GetDocumentReferencesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentReferencesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| references | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | repeated | @gotags: alias:"reference" | + + + + + + + + +### GetDocumentRelationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentRelationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | @gotags: alias:"relation" | + + + + + + + + +### GetDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document | [resources.documents.Document](#resources-documents-Document) | | | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | + + + + + + + + +### GetTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template_id | [uint64](#uint64) | | | +| data | [resources.documents.TemplateData](#resources-documents-TemplateData) | optional | | +| render | [bool](#bool) | optional | | + + + + + + + + +### GetTemplateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | +| rendered | [bool](#bool) | | | + + + + + + + + +### ListCategoriesRequest +Categories + + + + + + + + +### ListCategoriesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [resources.documents.Category](#resources-documents-Category) | repeated | | + + + + + + + + +### ListDocumentActivityRequest +Document Activity and Requests ============================================= + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | +| activity_types | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | repeated | Search | + + + + + + + + +### ListDocumentActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.documents.DocActivity](#resources-documents-DocActivity) | repeated | | + + + + + + + + +### ListDocumentReqsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### ListDocumentReqsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| requests | [resources.documents.DocRequest](#resources-documents-DocRequest) | repeated | | + + + + + + + + +### ListDocumentsRequest +Documents ================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| orderBy | [resources.common.database.OrderBy](#resources-common-database-OrderBy) | repeated | | +| search | [string](#string) | optional | Search params | +| category_ids | [uint64](#uint64) | repeated | | +| creator_ids | [int32](#int32) | repeated | | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| closed | [bool](#bool) | optional | | +| document_ids | [uint64](#uint64) | repeated | | + + + + + + + + +### ListDocumentsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| documents | [resources.documents.DocumentShort](#resources-documents-DocumentShort) | repeated | | + + + + + + + + +### ListTemplatesRequest +Templates ================================================================== + + + + + + + + +### ListTemplatesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| templates | [resources.documents.TemplateShort](#resources-documents-TemplateShort) | repeated | | + + + + + + + + +### ListUserDocumentsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_id | [int32](#int32) | | | +| relations | [resources.documents.DocRelation](#resources-documents-DocRelation) | repeated | | + + + + + + + + +### ListUserDocumentsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | | + + + + + + + + +### PostCommentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### PostCommentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### RemoveDocumentReferenceRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### RemoveDocumentReferenceResponse + + + + + + + + + +### RemoveDocumentRelationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### RemoveDocumentRelationResponse + + + + + + + + + +### SetDocumentAccessRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| mode | [resources.documents.AccessLevelUpdateMode](#resources-documents-AccessLevelUpdateMode) | | | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | + + + + + + + + +### SetDocumentAccessResponse + + + + + + + + + +### ToggleDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| closed | [bool](#bool) | | | + + + + + + + + +### ToggleDocumentResponse + + + + + + + + + +### UpdateCategoryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [resources.documents.Category](#resources-documents-Category) | | | + + + + + + + + +### UpdateCategoryResponse + + + + + + + + + +### UpdateDocumentReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| request_id | [uint64](#uint64) | | | +| reason | [string](#string) | optional | @sanitize | +| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | +| accepted | [bool](#bool) | | | + + + + + + + + +### UpdateDocumentReqResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | + + + + + + + + +### UpdateDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | +| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | +| title | [string](#string) | | @sanitize: method=StripTags + +@gotags: alias:"title" | +| content | [string](#string) | | @sanitize + +@gotags: alias:"content" | +| content_type | [resources.documents.DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| data | [string](#string) | optional | @gotags: alias:"data" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | @gotags: alias:"closed" | +| public | [bool](#bool) | | @gotags: alias:"public" | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | + + + + + + + + +### UpdateDocumentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | + + + + + + + + +### UpdateTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | + + + + + + + + +### UpdateTemplateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | + + + + + + + + + + + + + + +### DocStoreService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListTemplates | [ListTemplatesRequest](#services-docstore-ListTemplatesRequest) | [ListTemplatesResponse](#services-docstore-ListTemplatesResponse) | @perm | +| GetTemplate | [GetTemplateRequest](#services-docstore-GetTemplateRequest) | [GetTemplateResponse](#services-docstore-GetTemplateResponse) | @perm: Name=ListTemplates | +| CreateTemplate | [CreateTemplateRequest](#services-docstore-CreateTemplateRequest) | [CreateTemplateResponse](#services-docstore-CreateTemplateResponse) | @perm | +| UpdateTemplate | [UpdateTemplateRequest](#services-docstore-UpdateTemplateRequest) | [UpdateTemplateResponse](#services-docstore-UpdateTemplateResponse) | @perm: Name=CreateTemplate | +| DeleteTemplate | [DeleteTemplateRequest](#services-docstore-DeleteTemplateRequest) | [DeleteTemplateResponse](#services-docstore-DeleteTemplateResponse) | @perm | +| ListDocuments | [ListDocumentsRequest](#services-docstore-ListDocumentsRequest) | [ListDocumentsResponse](#services-docstore-ListDocumentsResponse) | @perm | +| GetDocument | [GetDocumentRequest](#services-docstore-GetDocumentRequest) | [GetDocumentResponse](#services-docstore-GetDocumentResponse) | @perm | +| CreateDocument | [CreateDocumentRequest](#services-docstore-CreateDocumentRequest) | [CreateDocumentResponse](#services-docstore-CreateDocumentResponse) | @perm | +| UpdateDocument | [UpdateDocumentRequest](#services-docstore-UpdateDocumentRequest) | [UpdateDocumentResponse](#services-docstore-UpdateDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteDocument | [DeleteDocumentRequest](#services-docstore-DeleteDocumentRequest) | [DeleteDocumentResponse](#services-docstore-DeleteDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ToggleDocument | [ToggleDocumentRequest](#services-docstore-ToggleDocumentRequest) | [ToggleDocumentResponse](#services-docstore-ToggleDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ChangeDocumentOwner | [ChangeDocumentOwnerRequest](#services-docstore-ChangeDocumentOwnerRequest) | [ChangeDocumentOwnerResponse](#services-docstore-ChangeDocumentOwnerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetDocumentReferences | [GetDocumentReferencesRequest](#services-docstore-GetDocumentReferencesRequest) | [GetDocumentReferencesResponse](#services-docstore-GetDocumentReferencesResponse) | @perm: Name=GetDocument | +| GetDocumentRelations | [GetDocumentRelationsRequest](#services-docstore-GetDocumentRelationsRequest) | [GetDocumentRelationsResponse](#services-docstore-GetDocumentRelationsResponse) | @perm: Name=GetDocument | +| AddDocumentReference | [AddDocumentReferenceRequest](#services-docstore-AddDocumentReferenceRequest) | [AddDocumentReferenceResponse](#services-docstore-AddDocumentReferenceResponse) | @perm | +| RemoveDocumentReference | [RemoveDocumentReferenceRequest](#services-docstore-RemoveDocumentReferenceRequest) | [RemoveDocumentReferenceResponse](#services-docstore-RemoveDocumentReferenceResponse) | @perm: Name=AddDocumentReference | +| AddDocumentRelation | [AddDocumentRelationRequest](#services-docstore-AddDocumentRelationRequest) | [AddDocumentRelationResponse](#services-docstore-AddDocumentRelationResponse) | @perm | +| RemoveDocumentRelation | [RemoveDocumentRelationRequest](#services-docstore-RemoveDocumentRelationRequest) | [RemoveDocumentRelationResponse](#services-docstore-RemoveDocumentRelationResponse) | @perm: Name=AddDocumentRelation | +| GetComments | [GetCommentsRequest](#services-docstore-GetCommentsRequest) | [GetCommentsResponse](#services-docstore-GetCommentsResponse) | @perm: Name=GetDocument | +| PostComment | [PostCommentRequest](#services-docstore-PostCommentRequest) | [PostCommentResponse](#services-docstore-PostCommentResponse) | @perm | +| EditComment | [EditCommentRequest](#services-docstore-EditCommentRequest) | [EditCommentResponse](#services-docstore-EditCommentResponse) | @perm: Name=PostComment | +| DeleteComment | [DeleteCommentRequest](#services-docstore-DeleteCommentRequest) | [DeleteCommentResponse](#services-docstore-DeleteCommentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetDocumentAccess | [GetDocumentAccessRequest](#services-docstore-GetDocumentAccessRequest) | [GetDocumentAccessResponse](#services-docstore-GetDocumentAccessResponse) | @perm: Name=GetDocument | +| SetDocumentAccess | [SetDocumentAccessRequest](#services-docstore-SetDocumentAccessRequest) | [SetDocumentAccessResponse](#services-docstore-SetDocumentAccessResponse) | @perm: Name=CreateDocument | +| ListDocumentActivity | [ListDocumentActivityRequest](#services-docstore-ListDocumentActivityRequest) | [ListDocumentActivityResponse](#services-docstore-ListDocumentActivityResponse) | @perm | +| ListDocumentReqs | [ListDocumentReqsRequest](#services-docstore-ListDocumentReqsRequest) | [ListDocumentReqsResponse](#services-docstore-ListDocumentReqsResponse) | @perm | +| CreateDocumentReq | [CreateDocumentReqRequest](#services-docstore-CreateDocumentReqRequest) | [CreateDocumentReqResponse](#services-docstore-CreateDocumentReqResponse) | @perm: Attrs=Types/StringList:[]string{"Access", "Closure", "Update", "Deletion", "OwnerChange"} | +| UpdateDocumentReq | [UpdateDocumentReqRequest](#services-docstore-UpdateDocumentReqRequest) | [UpdateDocumentReqResponse](#services-docstore-UpdateDocumentReqResponse) | @perm: Name=CreateDocumentReq | +| DeleteDocumentReq | [DeleteDocumentReqRequest](#services-docstore-DeleteDocumentReqRequest) | [DeleteDocumentReqResponse](#services-docstore-DeleteDocumentReqResponse) | @perm | +| ListUserDocuments | [ListUserDocumentsRequest](#services-docstore-ListUserDocumentsRequest) | [ListUserDocumentsResponse](#services-docstore-ListUserDocumentsResponse) | @perm | +| ListCategories | [ListCategoriesRequest](#services-docstore-ListCategoriesRequest) | [ListCategoriesResponse](#services-docstore-ListCategoriesResponse) | @perm | +| CreateCategory | [CreateCategoryRequest](#services-docstore-CreateCategoryRequest) | [CreateCategoryResponse](#services-docstore-CreateCategoryResponse) | @perm | +| UpdateCategory | [UpdateCategoryRequest](#services-docstore-UpdateCategoryRequest) | [UpdateCategoryResponse](#services-docstore-UpdateCategoryResponse) | @perm: Name=CreateCategory | +| DeleteCategory | [DeleteCategoryRequest](#services-docstore-DeleteCategoryRequest) | [DeleteCategoryResponse](#services-docstore-DeleteCategoryResponse) | @perm | + + + + + + +

Top

+ +## services/jobs/conduct.proto + + + + + +### CreateConductEntryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + +### CreateConductEntryResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + +### DeleteConductEntryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteConductEntryResponse + + + + + + + + + +### ListConductEntriesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| types | [resources.jobs.ConductType](#resources-jobs-ConductType) | repeated | Search params | +| show_expired | [bool](#bool) | optional | | +| user_ids | [int32](#int32) | repeated | | + + + + + + + + +### ListConductEntriesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| entries | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | repeated | | + + + + + + + + +### UpdateConductEntryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + +### UpdateConductEntryResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + + + + + + + +### JobsConductService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListConductEntries | [ListConductEntriesRequest](#services-jobs-ListConductEntriesRequest) | [ListConductEntriesResponse](#services-jobs-ListConductEntriesResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "All"} | +| CreateConductEntry | [CreateConductEntryRequest](#services-jobs-CreateConductEntryRequest) | [CreateConductEntryResponse](#services-jobs-CreateConductEntryResponse) | @perm | +| UpdateConductEntry | [UpdateConductEntryRequest](#services-jobs-UpdateConductEntryRequest) | [UpdateConductEntryResponse](#services-jobs-UpdateConductEntryResponse) | @perm | +| DeleteConductEntry | [DeleteConductEntryRequest](#services-jobs-DeleteConductEntryRequest) | [DeleteConductEntryResponse](#services-jobs-DeleteConductEntryResponse) | @perm | + + + + + + +

Top

+ +## services/jobs/timeclock.proto + + + + + +### GetTimeclockStatsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### GetTimeclockStatsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | +| weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | + + + + + + + + +### ListInactiveEmployeesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| days | [int32](#int32) | | | + + + + + + + + +### ListInactiveEmployeesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | + + + + + + + + +### ListTimeclockRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_ids | [int32](#int32) | repeated | Search | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| per_day | [bool](#bool) | optional | | + + + + + + + + +### ListTimeclockResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | +| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | +| weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | + + + + + + + + + + + + + + +### JobsTimeclockService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListTimeclock | [ListTimeclockRequest](#services-jobs-ListTimeclockRequest) | [ListTimeclockResponse](#services-jobs-ListTimeclockResponse) | @perm: Attrs=Access/StringList:[]string{"All"} | +| GetTimeclockStats | [GetTimeclockStatsRequest](#services-jobs-GetTimeclockStatsRequest) | [GetTimeclockStatsResponse](#services-jobs-GetTimeclockStatsResponse) | @perm: Name=ListTimeclock | +| ListInactiveEmployees | [ListInactiveEmployeesRequest](#services-jobs-ListInactiveEmployeesRequest) | [ListInactiveEmployeesResponse](#services-jobs-ListInactiveEmployeesResponse) | @perm | + + + + + + +

Top

+ +## services/jobs/jobs.proto + + + + + +### GetColleagueRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | + + + + + + + + +### GetColleagueResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | + + + + + + + + +### GetMOTDRequest + + + + + + + + + +### GetMOTDResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| motd | [string](#string) | | | + + + + + + + + +### GetSelfRequest + + + + + + + + + +### GetSelfResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | + + + + + + + + +### ListColleagueActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_ids | [int32](#int32) | repeated | | + + + + + + + + +### ListColleagueActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.jobs.JobsUserActivity](#resources-jobs-JobsUserActivity) | repeated | | + + + + + + + + +### ListColleaguesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| search | [string](#string) | | Search params | +| user_id | [int32](#int32) | optional | | +| absent | [bool](#bool) | optional | | + + + + + + + + +### ListColleaguesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | + + + + + + + + +### SetJobsUserPropsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | +| reason | [string](#string) | | @sanitize | + + + + + + + + +### SetJobsUserPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | + + + + + + + + +### SetMOTDRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| motd | [string](#string) | | @sanitize: method=StripTags | + + + + + + + + +### SetMOTDResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| motd | [string](#string) | | | + + + + + + + + + + + + + + +### JobsService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListColleagues | [ListColleaguesRequest](#services-jobs-ListColleaguesRequest) | [ListColleaguesResponse](#services-jobs-ListColleaguesResponse) | @perm | +| GetSelf | [GetSelfRequest](#services-jobs-GetSelfRequest) | [GetSelfResponse](#services-jobs-GetSelfResponse) | @perm: Name=ListColleagues | +| GetColleague | [GetColleagueRequest](#services-jobs-GetColleagueRequest) | [GetColleagueResponse](#services-jobs-GetColleagueResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ListColleagueActivity | [ListColleagueActivityRequest](#services-jobs-ListColleagueActivityRequest) | [ListColleagueActivityResponse](#services-jobs-ListColleagueActivityResponse) | @perm: Attrs=Types/StringList:[]string{"HIRED", "FIRED", "PROMOTED", "DEMOTED", "ABSENCE_DATE"} | +| SetJobsUserProps | [SetJobsUserPropsRequest](#services-jobs-SetJobsUserPropsRequest) | [SetJobsUserPropsResponse](#services-jobs-SetJobsUserPropsResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetMOTD | [GetMOTDRequest](#services-jobs-GetMOTDRequest) | [GetMOTDResponse](#services-jobs-GetMOTDResponse) | @perm: Name=Any | +| SetMOTD | [SetMOTDRequest](#services-jobs-SetMOTDRequest) | [SetMOTDResponse](#services-jobs-SetMOTDResponse) | @perm | + + + + + + +

Top

+ +## services/livemapper/livemap.proto + + + + + +### CreateOrUpdateMarkerRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | + + + + + + + + +### CreateOrUpdateMarkerResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | + + + + + + + + +### DeleteMarkerRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteMarkerResponse + + + + + + + + + +### JobsList + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| users | [resources.users.Job](#resources-users-Job) | repeated | | +| markers | [resources.users.Job](#resources-users-Job) | repeated | | + + + + + + + + +### MarkerMarkersUpdates + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| markers | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | repeated | | + + + + + + + + +### StreamRequest + + + + + + + + + +### StreamResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [JobsList](#services-livemapper-JobsList) | | | +| markers | [MarkerMarkersUpdates](#services-livemapper-MarkerMarkersUpdates) | | | +| users | [UserMarkersUpdates](#services-livemapper-UserMarkersUpdates) | | | + + + + + + + + +### UserMarkersUpdates + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| users | [resources.livemap.UserMarker](#resources-livemap-UserMarker) | repeated | | +| part | [int32](#int32) | | | + + + + + + + + + + + + + + +### LivemapperService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| Stream | [StreamRequest](#services-livemapper-StreamRequest) | [StreamResponse](#services-livemapper-StreamResponse) stream | @perm: Attrs=Markers/JobList|Players/JobGradeList | +| CreateOrUpdateMarker | [CreateOrUpdateMarkerRequest](#services-livemapper-CreateOrUpdateMarkerRequest) | [CreateOrUpdateMarkerResponse](#services-livemapper-CreateOrUpdateMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteMarker | [DeleteMarkerRequest](#services-livemapper-DeleteMarkerRequest) | [DeleteMarkerResponse](#services-livemapper-DeleteMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | + + + + + + +

Top

+ +## services/notificator/notificator.proto + + + + + +### GetNotificationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| include_read | [bool](#bool) | optional | | + + + + + + + + +### GetNotificationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| notifications | [resources.notifications.Notification](#resources-notifications-Notification) | repeated | | + + + + + + + + +### MarkNotificationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| ids | [uint64](#uint64) | repeated | | +| all | [bool](#bool) | optional | | + + + + + + + + +### MarkNotificationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updated | [uint64](#uint64) | | | + + + + + + + + +### StreamRequest + + + + + + + + + +### StreamResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| notification_count | [int32](#int32) | | | +| restart | [bool](#bool) | optional | | +| notification | [resources.notifications.Notification](#resources-notifications-Notification) | | | +| token | [TokenUpdate](#services-notificator-TokenUpdate) | | | + + + + + + + + +### TokenUpdate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| new_token | [string](#string) | optional | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| permissions | [string](#string) | repeated | | +| user_info | [resources.users.User](#resources-users-User) | optional | | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | optional | | + + + + + + + + + + + + + + +### NotificatorService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetNotifications | [GetNotificationsRequest](#services-notificator-GetNotificationsRequest) | [GetNotificationsResponse](#services-notificator-GetNotificationsResponse) | @perm: Name=Any | +| MarkNotifications | [MarkNotificationsRequest](#services-notificator-MarkNotificationsRequest) | [MarkNotificationsResponse](#services-notificator-MarkNotificationsResponse) | @perm: Name=Any | +| Stream | [StreamRequest](#services-notificator-StreamRequest) | [StreamResponse](#services-notificator-StreamResponse) stream | @perm: Name=Any | + + + + + + +

Top

+ +## services/rector/config.proto + + + + + +### GetAppConfigRequest + + + + + + + + + +### GetAppConfigResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | + + + + + + + + +### UpdateAppConfigRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | + + + + + + + + +### UpdateAppConfigResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | + + + + + + + + + + + + + + +### RectorConfigService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetAppConfig | [GetAppConfigRequest](#services-rector-GetAppConfigRequest) | [GetAppConfigResponse](#services-rector-GetAppConfigResponse) | @perm: Name=SuperUser | +| UpdateAppConfig | [UpdateAppConfigRequest](#services-rector-UpdateAppConfigRequest) | [UpdateAppConfigResponse](#services-rector-UpdateAppConfigResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/rector/filestore.proto + + + + + +### DeleteFileRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| path | [string](#string) | | | + + + + + + + + +### DeleteFileResponse + + + + + + + + + +### ListFilesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| path | [string](#string) | optional | | + + + + + + + + +### ListFilesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| files | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | repeated | | + + + + + + + + +### UploadFileRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| prefix | [string](#string) | | | +| name | [string](#string) | | | +| file | [resources.filestore.File](#resources-filestore-File) | | | + + + + + + + + +### UploadFileResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| file | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | | | + + + + + + + + + + + + + + +### RectorFilestoreService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListFiles | [ListFilesRequest](#services-rector-ListFilesRequest) | [ListFilesResponse](#services-rector-ListFilesResponse) | @perm: Name=SuperUser | +| UploadFile | [UploadFileRequest](#services-rector-UploadFileRequest) | [UploadFileResponse](#services-rector-UploadFileResponse) | @perm: Name=SuperUser | +| DeleteFile | [DeleteFileRequest](#services-rector-DeleteFileRequest) | [DeleteFileResponse](#services-rector-DeleteFileResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/rector/laws.proto + + + + + +### CreateOrUpdateLawBookRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | + + + + + + + + +### CreateOrUpdateLawBookResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | + + + + + + + + +### CreateOrUpdateLawRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| law | [resources.laws.Law](#resources-laws-Law) | | | + + + + + + + + +### CreateOrUpdateLawResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| law | [resources.laws.Law](#resources-laws-Law) | | | + + + + + + + + +### DeleteLawBookRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteLawBookResponse + + + + + + + + + +### DeleteLawRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteLawResponse + + + + + + + + + + + + + + + +### RectorLawsService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| CreateOrUpdateLawBook | [CreateOrUpdateLawBookRequest](#services-rector-CreateOrUpdateLawBookRequest) | [CreateOrUpdateLawBookResponse](#services-rector-CreateOrUpdateLawBookResponse) | @perm: Name=SuperUser | +| DeleteLawBook | [DeleteLawBookRequest](#services-rector-DeleteLawBookRequest) | [DeleteLawBookResponse](#services-rector-DeleteLawBookResponse) | @perm: Name=SuperUser | +| CreateOrUpdateLaw | [CreateOrUpdateLawRequest](#services-rector-CreateOrUpdateLawRequest) | [CreateOrUpdateLawResponse](#services-rector-CreateOrUpdateLawResponse) | @perm: Name=SuperUser | +| DeleteLaw | [DeleteLawRequest](#services-rector-DeleteLawRequest) | [DeleteLawResponse](#services-rector-DeleteLawResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/rector/rector.proto + + + + + +### AttrsUpdate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to_update | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | +| to_remove | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | + + + + + + + + +### CreateRoleRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| grade | [int32](#int32) | | | + + + + + + + + +### CreateRoleResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role | [resources.permissions.Role](#resources-permissions-Role) | | | + + + + + + + + +### DeleteRoleRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteRoleResponse + + + + + + + + + +### GetJobPropsRequest + + + + + + + + + +### GetJobPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | + + + + + + + + +### GetPermissionsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| filtered | [bool](#bool) | optional | | + + + + + + + + +### GetPermissionsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| permissions | [resources.permissions.Permission](#resources-permissions-Permission) | repeated | | +| attributes | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | + + + + + + + + +### GetRoleRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| filtered | [bool](#bool) | optional | | + + + + + + + + +### GetRoleResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role | [resources.permissions.Role](#resources-permissions-Role) | | | + + + + + + + + +### GetRolesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| lowest_rank | [bool](#bool) | optional | | + + + + + + + + +### GetRolesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| roles | [resources.permissions.Role](#resources-permissions-Role) | repeated | | + + + + + + + + +### PermItem + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| val | [bool](#bool) | | | + + + + + + + + +### PermsUpdate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to_update | [PermItem](#services-rector-PermItem) | repeated | | +| to_remove | [uint64](#uint64) | repeated | | + + + + + + + + +### SetJobPropsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | + + + + + + + + +### SetJobPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | + + + + + + + + +### UpdateRoleLimitsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | +| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | + + + + + + + + +### UpdateRoleLimitsResponse + + + + + + + + + +### UpdateRolePermsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | +| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | + + + + + + + + +### UpdateRolePermsResponse + + + + + + + + + +### ViewAuditLogRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_ids | [int32](#int32) | repeated | | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| service | [string](#string) | optional | | +| method | [string](#string) | optional | | +| search | [string](#string) | optional | | + + + + + + + + +### ViewAuditLogResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| logs | [resources.rector.AuditEntry](#resources-rector-AuditEntry) | repeated | | + + + + + + + + + + + + + + +### RectorService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetJobProps | [GetJobPropsRequest](#services-rector-GetJobPropsRequest) | [GetJobPropsResponse](#services-rector-GetJobPropsResponse) | @perm | +| SetJobProps | [SetJobPropsRequest](#services-rector-SetJobPropsRequest) | [SetJobPropsResponse](#services-rector-SetJobPropsResponse) | @perm | +| GetRoles | [GetRolesRequest](#services-rector-GetRolesRequest) | [GetRolesResponse](#services-rector-GetRolesResponse) | @perm | +| GetRole | [GetRoleRequest](#services-rector-GetRoleRequest) | [GetRoleResponse](#services-rector-GetRoleResponse) | @perm: Name=GetRoles | +| CreateRole | [CreateRoleRequest](#services-rector-CreateRoleRequest) | [CreateRoleResponse](#services-rector-CreateRoleResponse) | @perm | +| DeleteRole | [DeleteRoleRequest](#services-rector-DeleteRoleRequest) | [DeleteRoleResponse](#services-rector-DeleteRoleResponse) | @perm | +| UpdateRolePerms | [UpdateRolePermsRequest](#services-rector-UpdateRolePermsRequest) | [UpdateRolePermsResponse](#services-rector-UpdateRolePermsResponse) | @perm | +| GetPermissions | [GetPermissionsRequest](#services-rector-GetPermissionsRequest) | [GetPermissionsResponse](#services-rector-GetPermissionsResponse) | @perm: Name=GetRoles | +| ViewAuditLog | [ViewAuditLogRequest](#services-rector-ViewAuditLogRequest) | [ViewAuditLogResponse](#services-rector-ViewAuditLogResponse) | @perm | +| UpdateRoleLimits | [UpdateRoleLimitsRequest](#services-rector-UpdateRoleLimitsRequest) | [UpdateRoleLimitsResponse](#services-rector-UpdateRoleLimitsResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/qualifications/qualifications.proto + + + + + +### CreateOrUpdateQualificationRequestRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | + + + + + + + + +### CreateOrUpdateQualificationRequestResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | + + + + + + + + +### CreateOrUpdateQualificationResultRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | + + + + + + + + +### CreateOrUpdateQualificationResultResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | + + + + + + + + +### CreateQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | + + + + + + + + +### CreateQualificationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteQualificationReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | +| user_id | [int32](#int32) | | | + + + + + + + + +### DeleteQualificationReqResponse + + + + + + + + + +### DeleteQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteQualificationResponse + + + + + + + + + +### DeleteQualificationResultRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| result_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteQualificationResultResponse + + + + + + + + + +### GetQualificationAccessRequest +Access ===================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### GetQualificationAccessResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | + + + + + + + + +### GetQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### GetQualificationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | + + + + + + + + +### ListQualificationRequestsRequest +Requests =================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| qualification_id | [uint64](#uint64) | optional | Search params | +| status | [resources.qualifications.RequestStatus](#resources-qualifications-RequestStatus) | repeated | | + + + + + + + + +### ListQualificationRequestsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| requests | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | repeated | | + + + + + + + + +### ListQualificationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| search | [string](#string) | optional | Search params | + + + + + + + + +### ListQualificationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| qualifications | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | repeated | | + + + + + + + + +### ListQualificationsResultsRequest +Results ==================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| qualification_id | [uint64](#uint64) | optional | Search params | +| status | [resources.qualifications.ResultStatus](#resources-qualifications-ResultStatus) | repeated | | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### ListQualificationsResultsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| results | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | repeated | | + + + + + + + + +### SetQualificationAccessRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | +| mode | [resources.qualifications.AccessLevelUpdateMode](#resources-qualifications-AccessLevelUpdateMode) | | | +| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | + + + + + + + + +### SetQualificationAccessResponse + + + + + + + + + +### UpdateQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | + + + + + + + + +### UpdateQualificationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + + + + + + + +### QualificationsService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListQualifications | [ListQualificationsRequest](#services-qualifications-ListQualificationsRequest) | [ListQualificationsResponse](#services-qualifications-ListQualificationsResponse) | @perm | +| GetQualification | [GetQualificationRequest](#services-qualifications-GetQualificationRequest) | [GetQualificationResponse](#services-qualifications-GetQualificationResponse) | @perm | +| CreateQualification | [CreateQualificationRequest](#services-qualifications-CreateQualificationRequest) | [CreateQualificationResponse](#services-qualifications-CreateQualificationResponse) | @perm | +| UpdateQualification | [UpdateQualificationRequest](#services-qualifications-UpdateQualificationRequest) | [UpdateQualificationResponse](#services-qualifications-UpdateQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteQualification | [DeleteQualificationRequest](#services-qualifications-DeleteQualificationRequest) | [DeleteQualificationResponse](#services-qualifications-DeleteQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ListQualificationRequests | [ListQualificationRequestsRequest](#services-qualifications-ListQualificationRequestsRequest) | [ListQualificationRequestsResponse](#services-qualifications-ListQualificationRequestsResponse) | @perm: Name=GetQualification | +| CreateOrUpdateQualificationRequest | [CreateOrUpdateQualificationRequestRequest](#services-qualifications-CreateOrUpdateQualificationRequestRequest) | [CreateOrUpdateQualificationRequestResponse](#services-qualifications-CreateOrUpdateQualificationRequestResponse) | @perm: Name=GetQualification | +| DeleteQualificationReq | [DeleteQualificationReqRequest](#services-qualifications-DeleteQualificationReqRequest) | [DeleteQualificationReqResponse](#services-qualifications-DeleteQualificationReqResponse) | @perm | +| ListQualificationsResults | [ListQualificationsResultsRequest](#services-qualifications-ListQualificationsResultsRequest) | [ListQualificationsResultsResponse](#services-qualifications-ListQualificationsResultsResponse) | @perm: Name=GetQualification | +| CreateOrUpdateQualificationResult | [CreateOrUpdateQualificationResultRequest](#services-qualifications-CreateOrUpdateQualificationResultRequest) | [CreateOrUpdateQualificationResultResponse](#services-qualifications-CreateOrUpdateQualificationResultResponse) | @perm | +| DeleteQualificationResult | [DeleteQualificationResultRequest](#services-qualifications-DeleteQualificationResultRequest) | [DeleteQualificationResultResponse](#services-qualifications-DeleteQualificationResultResponse) | @perm | + + + + + +## Scalar Value Types + +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | +| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | +| double | | double | double | float | float64 | double | float | Float | +| float | | float | float | float | float32 | float | float | Float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | +| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | + diff --git a/content/8.development/4.release.md b/content/8.development/4.release.md new file mode 100644 index 000000000..218108148 --- /dev/null +++ b/content/8.development/4.release.md @@ -0,0 +1,13 @@ +--- +title: Release +--- + +FiveNet tries to follow [Semantic Versioning](https://semver.org/). + +## Process + +Use the following script to update the FiveNet version: + +```console +./internal/scripts/bump_version.sh X.Y.Z +``` diff --git a/content/8.development/5.user-activity.md b/content/8.development/5.user-activity.md new file mode 100644 index 000000000..30a8a0eed --- /dev/null +++ b/content/8.development/5.user-activity.md @@ -0,0 +1,36 @@ +--- +title: User Activity +--- + +## Entry Structure + +* Built-in + * `DocStore.Relation` + * If `newValue` set, user mention has been added. + * If `oldValue` set, user mention has been removed. + * `UserProps.Job` + * `newValue` contains the job and rank "pre-formatted" (e.g., `LSMD (Rettungsassistent)`). + * `UserProps.TrafficInfractionPoints` + * `oldValue` old points and `newValue` new points. + * `UserProps.Wanted` + * `newValue` new wanted state, `oldValue` previous wanted state. + * `UserProps.MugShot` + * `oldValue` contains the previous URL if any image was set. + * `newValue` contains the new URL or empty if removed. + * `UserProps.Attributes` + * `oldValue` removed attributes. + * `newValue` added attributes. +* External ("Plugin") + * `Plugin.Licenses` + * Fields: + * `reason`: Label of license + * Add/Given: If `newValue` is set, user was given a license. + * Remove/Revoked: If `oldValue` is set, user got license revoked. + * `Plugin.Billing.Fines` + * Sent: If `newValue` equal `0`, bill has been paid. + * Paid: If `oldValue = newValue`, bill has been removed/cleared. + * Removed: If `newValue` set, bill has been created. + * `Plugin.Jail` + * Jailed: If `oldValue` is empty and `newValue > 0`, player has been jailed for `newValue` time (seconds). + * Unjailed: If `newValue` is `0`, player has been unjailed by "police"/"admin" (in reason). + * Escaped: If `oldValue` is `0`, player has escaped (police notification triggered). diff --git a/content/9.design/_dir.yml b/content/9.design/_dir.yml new file mode 100644 index 000000000..0faa92859 --- /dev/null +++ b/content/9.design/_dir.yml @@ -0,0 +1 @@ +title: Design Docs diff --git a/content/9.design/dispatch-center.md b/content/9.design/dispatch-center.md new file mode 100644 index 000000000..cfcca3d7e --- /dev/null +++ b/content/9.design/dispatch-center.md @@ -0,0 +1,104 @@ +--- +title: "Dispatch Center" +--- + +## Dispatch Center + +* Two views (only for their own job; no job list attribute): + * One for disponents. + * Unit view on the livemap as a sidebar with quick buttons (see below "Livemap" point). +* Disponents take "control" of the dispatch center and can "sign on"/ "sign off" from it at any time. + * If no more disponents are signed on, the "fallback mode" is activated. +* Different Modes: + * `MANUAL`: Disponents **and** units can assign dispatches themselves. + * `CENTRAL_COMMAND`: Only the disponents can assign dispatches. + * `AUTO_ROUND_ROBIN`: Automatic assignment of dispatches to units that are either available, or busy (if none other available). +* Settings of dispatch center: + * `Enabled`: If dispatch center is enabled or not. + * `Mode`: Which mode it is run in by default. + * `Fallback Mode`: In case the dispatch center is empty, which mode it will fallback into. +* Status: + * `INACTIVE` - No one in the dispatch center (and not run by a bot). + * `ACTIVE` - Dispatch center has "humans" signed on to it. + * `AUTO` - An automatic system is running the dispatch center, requires the "mode" to be set to an "automatic" mode. +* Actions: + * `GetSettings` - Retrieve the dispatch center settings. + * `UpdateSettings` - Faction leaders set the dispatch center settings via this method. + * `TakeControl` - Disponents "sign on"/"sign off" from their dispatch center duties using this. + * `Stream` - Data stream for the changes happening. + +## Units + +* Created by the faction leaders via the control center. +* Users can be assigned by disponents and self-assign into one unit of their own job only. +* Users can set their own units status. + * The "informal" status are ignored in the "current status" when getting the status (e.g., `USER_ADDED`, etc.) +* Disponents can update unit status as they please. +* Unit Status: + * `UNKNOWN` - Dummy status should something go (very) wrong. + * `USER_ADDED` - User added to unit. + * `USER_REMOVED` - User removed from unit. + * `UNAVAILABLE` - Unit is unavailable for dispatches. + * `AVAILABLE` - Unit is available for dispatches. + * `ON_BREAK` - Unit is on break (will still get pings about broadcast dispatches). + * `BUSY` - Unit is busy (normally means en route to/on scene dispatch, etc.) +* Actions: + * `ListUnits` - List all units that the person has access to. + * `CreateOrUpdateUnit` - Create unit or update unit info (e.g., name, initials, description). + * `DeleteUnit` - Delete unit. + * `UpdateUnitStatus` - Update Unit status. Own unit can be updated by users, disponents can update any unit of their job. + * `AssignUnit` - Disponent function to assign an user to an unit. + * `JoinUnit` - For "normal" users to join and leave an unit via the Centrum Sidebar. + * `ListUnitActivity` - List own or others units activity. + +## Dispatches + +* Consist of a message, description, and a position (x and y coordinates). + * If specified or added/updated later on, attributes (list of strings) can be added. +* Status of the dispatch is "shared" by multiple units, e.g., unit one sets status `EN_ROUTE` and unit two sets `ON_SCENE`, both are in the dispatch status log. + * The "informal" status are ignored in the "current status" when getting the status (e.g., `UNIT_ASSIGNED`, etc.) +* Can be created manually via the dispatch center, livemap integration or "the phone" (for now the existing GKSPhone dispatch system is used). +* Can have attributes which are a list of strings attached to them (e.g., `dangerous`, `gun shots`). +* Disponents can update dispatches, including their status, as they please. +* Dispatches assigned to an unit can either be "forced" or "requested". + * "Requested" means that the assigned units get a popup with a timeout of 20 seconds that requires each unit to give their "approval or denial" to taking the dispatch. + * If a dispatch is not accepted, it will be marked as unassigned if no other unit was assigend to it. "Last one" to not accept, will cause the dispatch status to go to `UNASSIGNED` +* If an user leaves an unit and it will be empty, or an unit marks itself as `UNAVAILABLE`, the dispatches that are assigned to the unit that aren't `COMPLETED` or `CANCELLED`, will be set as `UNASSIGNED` (when no other unit is assigned then). +* Dispatch Status: + * `NEW` - Freshly created dispatch. + * `UNASSIGNED` - Waiting for "triage" by the disponents or units (depending on the mode). + * `UPDATED` - Dispatch has been updated. + * `UNIT_ASSIGNED` - Unit assigned to dispatch. + * `UNIT_UNASSIGNED` - Unit unassigned from dispatch. + * `EN_ROUTE` - Unit en route to dispatch. + * `ON_SCENE` - Unit arrived at dispatch location/on scene. + * `NEED_ASSISTANCE` - Assistance needed at dispatch. + * `COMPLETED` - Dispatch completed. + * `CANCELLED` - Dispatch cancelled. +* Actions: + * `ListDispatches` - List all dispatches that the person has access to. + * `CreateDispatch` - Create a dispatch (mainly used via the livemap page or dispatch center livemap). + * `UpdateDispatch` - Update dispatch details. + * `UpdateDispatchStatus` - Update dispatch status. + * `ListDispatchActivity` - List own or other dispatches activity. + * `AssignDispatch` - Assign dispatch to units. + * `TakeDispatch` - Units take/ "accept" dispatches either when they have been assigned one and accept it, or when they self assign a dispatch. + * Response status: + * `TIMEOUT` + * `ACCEPTED` + * `DECLINED` + +## Livemap + +* Quick action buttons for the different statuses. + * E.g., `COMPLETED`, `NEED_ASSISTANCE`, dispatch require a reason to be given. +* Show additional markers from the gameserver: + * Restricted zones ("Sperrzonen") as a [Leaflet Circle Markers (in the example the red circle)](https://leafletjs.com/examples/quick-start/#markers-circles-and-polygons). + +## Panicbuttons + +* Are "converted" to dispatches that are sent to every unit (broadcast) of the job the panicbutton presser is part of. + +## Limitations + +* All dispatches that are not completed or archived are loaded/ sent to the users. diff --git a/content/9.design/employee-management.md b/content/9.design/employee-management.md new file mode 100644 index 000000000..573c30cb5 --- /dev/null +++ b/content/9.design/employee-management.md @@ -0,0 +1,12 @@ +--- +title: "Employee Management" +--- + +## Goals + +* Self service for employees + * Absence/Vacations + * "Profile picture" +* Qualifications + +TODO diff --git a/content/9.design/jobs-managenet.md b/content/9.design/jobs-managenet.md new file mode 100644 index 000000000..d2db81225 --- /dev/null +++ b/content/9.design/jobs-managenet.md @@ -0,0 +1,6 @@ +--- +title: "Jobs" +--- + +* On-Duty Time Tracker +* "Vacation Requests" ("Abmeldungen") diff --git a/content/9.design/player-tracker-rework.md b/content/9.design/player-tracker-rework.md new file mode 100644 index 000000000..aa5a3fb47 --- /dev/null +++ b/content/9.design/player-tracker-rework.md @@ -0,0 +1,15 @@ +--- +title: "Player Tracker Rework" +--- + +## Current Functionality + +* Storing Livemap Marker (for "live" positions) +* Ability to get a single players position. +* Knowing if player is on/off duty. +* Subscribing to new on duty players and off duty/left server players + * Jobs Timeclock: Could be moved to FiveM-server-side. + +## Goals + +* Use Nats key value store for sharing the state. diff --git a/content/9.design/qualifications.md b/content/9.design/qualifications.md new file mode 100644 index 000000000..a09f0356e --- /dev/null +++ b/content/9.design/qualifications.md @@ -0,0 +1,30 @@ +--- +title: "Qualifications" +--- + +## What is a Qualifications? + +* An access level protected entity with a "public" (as in "anyone can see") facing name and description. +* A training/module that someone has been "granted" or has succcessfully taken the test for. +* A qualification can require certain prerequisites. A prerequisite can be a job rank, other successful qualification. + +### What elements are needed? + +* Qualification: Holds all basic infos about the qualification. + * Access: Holds the access levels to the qualification. + * Requirements: Requirements to be able to take the qualification. -> Don't deny the access to the qualification like access, but are required to send a request or to take the qualification. +* Requests: List of user requests to take the test for the qualification. +* Results: A "mapping" of score of an user test. +* Tests: Test progress of (started) tests from users. + * Info/Config of the Test: E.g., how many questions need to be right to pass, how much time do they have, etc. + * Test Questions: Questions for the qualification tests. + * User Test Answers: Answered questions "waiting for approval" by a "trainer". + +## Qualification Access Levels + +* Blocked. +* View. +* Request. +* Take. +* Grade. +* Edit. diff --git a/content/index.yml b/content/index.yml new file mode 100644 index 000000000..57c46bc53 --- /dev/null +++ b/content/index.yml @@ -0,0 +1,8 @@ +logos: + icons: + - image: "modernv.png" + alt: "ModernV" + to: "https://modernv.net/" + - image: "flashliferp.png" + alt: "Flashlife Roleplay" + to: "https://discord.gg/nmd6FC7n" diff --git a/error.vue b/error.vue new file mode 100644 index 000000000..6dac49723 --- /dev/null +++ b/error.vue @@ -0,0 +1,58 @@ + + + diff --git a/grpc-api.md b/grpc-api.md new file mode 100644 index 000000000..031e4587a --- /dev/null +++ b/grpc-api.md @@ -0,0 +1,8282 @@ +# Protocol Documentation + + +## Table of Contents + +- [resources/accounts/accounts.proto](#resources_accounts_accounts-proto) + - [Account](#resources-accounts-Account) + +- [resources/accounts/oauth2.proto](#resources_accounts_oauth2-proto) + - [OAuth2Account](#resources-accounts-OAuth2Account) + - [OAuth2Provider](#resources-accounts-OAuth2Provider) + +- [resources/centrum/dispatches.proto](#resources_centrum_dispatches-proto) + - [Dispatch](#resources-centrum-Dispatch) + - [DispatchAssignment](#resources-centrum-DispatchAssignment) + - [DispatchAssignments](#resources-centrum-DispatchAssignments) + - [DispatchReference](#resources-centrum-DispatchReference) + - [DispatchReferences](#resources-centrum-DispatchReferences) + - [DispatchStatus](#resources-centrum-DispatchStatus) + + - [DispatchReferenceType](#resources-centrum-DispatchReferenceType) + - [StatusDispatch](#resources-centrum-StatusDispatch) + - [TakeDispatchResp](#resources-centrum-TakeDispatchResp) + +- [resources/centrum/general.proto](#resources_centrum_general-proto) + - [Attributes](#resources-centrum-Attributes) + - [Disponents](#resources-centrum-Disponents) + - [UserUnitMapping](#resources-centrum-UserUnitMapping) + +- [resources/centrum/settings.proto](#resources_centrum_settings-proto) + - [PredefinedStatus](#resources-centrum-PredefinedStatus) + - [Settings](#resources-centrum-Settings) + - [Timings](#resources-centrum-Timings) + + - [CentrumMode](#resources-centrum-CentrumMode) + +- [resources/centrum/units.proto](#resources_centrum_units-proto) + - [Unit](#resources-centrum-Unit) + - [UnitAssignment](#resources-centrum-UnitAssignment) + - [UnitAssignments](#resources-centrum-UnitAssignments) + - [UnitStatus](#resources-centrum-UnitStatus) + + - [StatusUnit](#resources-centrum-StatusUnit) + +- [resources/common/database/database.proto](#resources_common_database_database-proto) + - [OrderBy](#resources-common-database-OrderBy) + - [PaginationRequest](#resources-common-database-PaginationRequest) + - [PaginationResponse](#resources-common-database-PaginationResponse) + +- [resources/common/i18n.proto](#resources_common_i18n-proto) + - [TranslateItem](#resources-common-TranslateItem) + - [TranslateItem.ParametersEntry](#resources-common-TranslateItem-ParametersEntry) + +- [resources/documents/access.proto](#resources_documents_access-proto) + - [DocumentAccess](#resources-documents-DocumentAccess) + - [DocumentJobAccess](#resources-documents-DocumentJobAccess) + - [DocumentUserAccess](#resources-documents-DocumentUserAccess) + + - [AccessLevel](#resources-documents-AccessLevel) + - [AccessLevelUpdateMode](#resources-documents-AccessLevelUpdateMode) + +- [resources/documents/activity.proto](#resources_documents_activity-proto) + - [DocAccessRequested](#resources-documents-DocAccessRequested) + - [DocActivity](#resources-documents-DocActivity) + - [DocActivityData](#resources-documents-DocActivityData) + - [DocOwnerChanged](#resources-documents-DocOwnerChanged) + - [DocUpdated](#resources-documents-DocUpdated) + + - [DocActivityType](#resources-documents-DocActivityType) + +- [resources/documents/category.proto](#resources_documents_category-proto) + - [Category](#resources-documents-Category) + +- [resources/documents/comment.proto](#resources_documents_comment-proto) + - [Comment](#resources-documents-Comment) + +- [resources/documents/documents.proto](#resources_documents_documents-proto) + - [Document](#resources-documents-Document) + - [DocumentReference](#resources-documents-DocumentReference) + - [DocumentRelation](#resources-documents-DocumentRelation) + - [DocumentShort](#resources-documents-DocumentShort) + + - [DocContentType](#resources-documents-DocContentType) + - [DocReference](#resources-documents-DocReference) + - [DocRelation](#resources-documents-DocRelation) + +- [resources/documents/requests.proto](#resources_documents_requests-proto) + - [DocRequest](#resources-documents-DocRequest) + +- [resources/documents/templates.proto](#resources_documents_templates-proto) + - [ObjectSpecs](#resources-documents-ObjectSpecs) + - [Template](#resources-documents-Template) + - [TemplateData](#resources-documents-TemplateData) + - [TemplateJobAccess](#resources-documents-TemplateJobAccess) + - [TemplateRequirements](#resources-documents-TemplateRequirements) + - [TemplateSchema](#resources-documents-TemplateSchema) + - [TemplateShort](#resources-documents-TemplateShort) + +- [resources/jobs/colleagues.proto](#resources_jobs_colleagues-proto) + - [Colleague](#resources-jobs-Colleague) + - [ColleagueAbsenceDate](#resources-jobs-ColleagueAbsenceDate) + - [ColleagueGradeChange](#resources-jobs-ColleagueGradeChange) + - [JobsUserActivity](#resources-jobs-JobsUserActivity) + - [JobsUserActivityData](#resources-jobs-JobsUserActivityData) + - [JobsUserProps](#resources-jobs-JobsUserProps) + + - [JobsUserActivityType](#resources-jobs-JobsUserActivityType) + +- [resources/jobs/conduct.proto](#resources_jobs_conduct-proto) + - [ConductEntry](#resources-jobs-ConductEntry) + + - [ConductType](#resources-jobs-ConductType) + +- [resources/jobs/timeclock.proto](#resources_jobs_timeclock-proto) + - [TimeclockEntry](#resources-jobs-TimeclockEntry) + - [TimeclockStats](#resources-jobs-TimeclockStats) + - [TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) + +- [resources/laws/laws.proto](#resources_laws_laws-proto) + - [Law](#resources-laws-Law) + - [LawBook](#resources-laws-LawBook) + +- [resources/livemap/livemap.proto](#resources_livemap_livemap-proto) + - [CircleMarker](#resources-livemap-CircleMarker) + - [Coords](#resources-livemap-Coords) + - [IconMarker](#resources-livemap-IconMarker) + - [MarkerData](#resources-livemap-MarkerData) + - [MarkerInfo](#resources-livemap-MarkerInfo) + - [MarkerMarker](#resources-livemap-MarkerMarker) + - [UserMarker](#resources-livemap-UserMarker) + + - [MarkerType](#resources-livemap-MarkerType) + +- [resources/livemap/tracker.proto](#resources_livemap_tracker-proto) + - [UsersUpdateEvent](#resources-livemap-UsersUpdateEvent) + +- [resources/notifications/notifications.proto](#resources_notifications_notifications-proto) + - [Data](#resources-notifications-Data) + - [Link](#resources-notifications-Link) + - [Notification](#resources-notifications-Notification) + + - [NotificationCategory](#resources-notifications-NotificationCategory) + +- [resources/permissions/permissions.proto](#resources_permissions_permissions-proto) + - [AttributeValues](#resources-permissions-AttributeValues) + - [JobGradeList](#resources-permissions-JobGradeList) + - [JobGradeList.JobsEntry](#resources-permissions-JobGradeList-JobsEntry) + - [Permission](#resources-permissions-Permission) + - [RawRoleAttribute](#resources-permissions-RawRoleAttribute) + - [Role](#resources-permissions-Role) + - [RoleAttribute](#resources-permissions-RoleAttribute) + - [StringList](#resources-permissions-StringList) + +- [resources/rector/audit.proto](#resources_rector_audit-proto) + - [AuditEntry](#resources-rector-AuditEntry) + + - [EventType](#resources-rector-EventType) + +- [resources/rector/config.proto](#resources_rector_config-proto) + - [AppConfig](#resources-rector-AppConfig) + - [Auth](#resources-rector-Auth) + - [Discord](#resources-rector-Discord) + - [JobInfo](#resources-rector-JobInfo) + - [Links](#resources-rector-Links) + - [Perm](#resources-rector-Perm) + - [Perms](#resources-rector-Perms) + - [UnemployedJob](#resources-rector-UnemployedJob) + - [UserTracker](#resources-rector-UserTracker) + - [Website](#resources-rector-Website) + +- [resources/timestamp/timestamp.proto](#resources_timestamp_timestamp-proto) + - [Timestamp](#resources-timestamp-Timestamp) + +- [resources/users/jobs.proto](#resources_users_jobs-proto) + - [DiscordSyncSettings](#resources-users-DiscordSyncSettings) + - [GroupSyncSettings](#resources-users-GroupSyncSettings) + - [Job](#resources-users-Job) + - [JobGrade](#resources-users-JobGrade) + - [JobProps](#resources-users-JobProps) + - [JobSettings](#resources-users-JobSettings) + - [JobsAbsenceSettings](#resources-users-JobsAbsenceSettings) + - [QuickButtons](#resources-users-QuickButtons) + - [StatusLogSettings](#resources-users-StatusLogSettings) + - [UserInfoSyncSettings](#resources-users-UserInfoSyncSettings) + + - [UserInfoSyncUnemployedMode](#resources-users-UserInfoSyncUnemployedMode) + +- [resources/users/users.proto](#resources_users_users-proto) + - [CitizenAttribute](#resources-users-CitizenAttribute) + - [CitizenAttributes](#resources-users-CitizenAttributes) + - [License](#resources-users-License) + - [User](#resources-users-User) + - [UserActivity](#resources-users-UserActivity) + - [UserProps](#resources-users-UserProps) + - [UserShort](#resources-users-UserShort) + + - [UserActivityType](#resources-users-UserActivityType) + +- [resources/vehicles/vehicles.proto](#resources_vehicles_vehicles-proto) + - [Vehicle](#resources-vehicles-Vehicle) + +- [resources/filestore/file.proto](#resources_filestore_file-proto) + - [File](#resources-filestore-File) + - [FileInfo](#resources-filestore-FileInfo) + +- [resources/qualifications/qualifications.proto](#resources_qualifications_qualifications-proto) + - [Qualification](#resources-qualifications-Qualification) + - [QualificationAccess](#resources-qualifications-QualificationAccess) + - [QualificationDiscordSettings](#resources-qualifications-QualificationDiscordSettings) + - [QualificationJobAccess](#resources-qualifications-QualificationJobAccess) + - [QualificationRequest](#resources-qualifications-QualificationRequest) + - [QualificationRequirement](#resources-qualifications-QualificationRequirement) + - [QualificationResult](#resources-qualifications-QualificationResult) + - [QualificationShort](#resources-qualifications-QualificationShort) + - [QualificationTest](#resources-qualifications-QualificationTest) + - [QualificationTestQuestion](#resources-qualifications-QualificationTestQuestion) + - [TestQuestionData](#resources-qualifications-TestQuestionData) + - [TestQuestionDataMultipleChoice](#resources-qualifications-TestQuestionDataMultipleChoice) + - [TestQuestionDataText](#resources-qualifications-TestQuestionDataText) + + - [AccessLevel](#resources-qualifications-AccessLevel) + - [AccessLevelUpdateMode](#resources-qualifications-AccessLevelUpdateMode) + - [RequestStatus](#resources-qualifications-RequestStatus) + - [ResultStatus](#resources-qualifications-ResultStatus) + +- [services/auth/auth.proto](#services_auth_auth-proto) + - [ChangePasswordRequest](#services-auth-ChangePasswordRequest) + - [ChangePasswordResponse](#services-auth-ChangePasswordResponse) + - [ChangeUsernameRequest](#services-auth-ChangeUsernameRequest) + - [ChangeUsernameResponse](#services-auth-ChangeUsernameResponse) + - [ChooseCharacterRequest](#services-auth-ChooseCharacterRequest) + - [ChooseCharacterResponse](#services-auth-ChooseCharacterResponse) + - [CreateAccountRequest](#services-auth-CreateAccountRequest) + - [CreateAccountResponse](#services-auth-CreateAccountResponse) + - [DeleteOAuth2ConnectionRequest](#services-auth-DeleteOAuth2ConnectionRequest) + - [DeleteOAuth2ConnectionResponse](#services-auth-DeleteOAuth2ConnectionResponse) + - [ForgotPasswordRequest](#services-auth-ForgotPasswordRequest) + - [ForgotPasswordResponse](#services-auth-ForgotPasswordResponse) + - [GetAccountInfoRequest](#services-auth-GetAccountInfoRequest) + - [GetAccountInfoResponse](#services-auth-GetAccountInfoResponse) + - [GetCharactersRequest](#services-auth-GetCharactersRequest) + - [GetCharactersResponse](#services-auth-GetCharactersResponse) + - [LoginRequest](#services-auth-LoginRequest) + - [LoginResponse](#services-auth-LoginResponse) + - [LogoutRequest](#services-auth-LogoutRequest) + - [LogoutResponse](#services-auth-LogoutResponse) + - [SetSuperUserModeRequest](#services-auth-SetSuperUserModeRequest) + - [SetSuperUserModeResponse](#services-auth-SetSuperUserModeResponse) + + - [AuthService](#services-auth-AuthService) + +- [services/centrum/centrum.proto](#services_centrum_centrum-proto) + - [AssignDispatchRequest](#services-centrum-AssignDispatchRequest) + - [AssignDispatchResponse](#services-centrum-AssignDispatchResponse) + - [AssignUnitRequest](#services-centrum-AssignUnitRequest) + - [AssignUnitResponse](#services-centrum-AssignUnitResponse) + - [CreateDispatchRequest](#services-centrum-CreateDispatchRequest) + - [CreateDispatchResponse](#services-centrum-CreateDispatchResponse) + - [CreateOrUpdateUnitRequest](#services-centrum-CreateOrUpdateUnitRequest) + - [CreateOrUpdateUnitResponse](#services-centrum-CreateOrUpdateUnitResponse) + - [DeleteDispatchRequest](#services-centrum-DeleteDispatchRequest) + - [DeleteDispatchResponse](#services-centrum-DeleteDispatchResponse) + - [DeleteUnitRequest](#services-centrum-DeleteUnitRequest) + - [DeleteUnitResponse](#services-centrum-DeleteUnitResponse) + - [GetDispatchRequest](#services-centrum-GetDispatchRequest) + - [GetDispatchResponse](#services-centrum-GetDispatchResponse) + - [GetSettingsRequest](#services-centrum-GetSettingsRequest) + - [GetSettingsResponse](#services-centrum-GetSettingsResponse) + - [JoinUnitRequest](#services-centrum-JoinUnitRequest) + - [JoinUnitResponse](#services-centrum-JoinUnitResponse) + - [LatestState](#services-centrum-LatestState) + - [ListDispatchActivityRequest](#services-centrum-ListDispatchActivityRequest) + - [ListDispatchActivityResponse](#services-centrum-ListDispatchActivityResponse) + - [ListDispatchesRequest](#services-centrum-ListDispatchesRequest) + - [ListDispatchesResponse](#services-centrum-ListDispatchesResponse) + - [ListUnitActivityRequest](#services-centrum-ListUnitActivityRequest) + - [ListUnitActivityResponse](#services-centrum-ListUnitActivityResponse) + - [ListUnitsRequest](#services-centrum-ListUnitsRequest) + - [ListUnitsResponse](#services-centrum-ListUnitsResponse) + - [StreamRequest](#services-centrum-StreamRequest) + - [StreamResponse](#services-centrum-StreamResponse) + - [TakeControlRequest](#services-centrum-TakeControlRequest) + - [TakeControlResponse](#services-centrum-TakeControlResponse) + - [TakeDispatchRequest](#services-centrum-TakeDispatchRequest) + - [TakeDispatchResponse](#services-centrum-TakeDispatchResponse) + - [UpdateDispatchRequest](#services-centrum-UpdateDispatchRequest) + - [UpdateDispatchResponse](#services-centrum-UpdateDispatchResponse) + - [UpdateDispatchStatusRequest](#services-centrum-UpdateDispatchStatusRequest) + - [UpdateDispatchStatusResponse](#services-centrum-UpdateDispatchStatusResponse) + - [UpdateSettingsRequest](#services-centrum-UpdateSettingsRequest) + - [UpdateSettingsResponse](#services-centrum-UpdateSettingsResponse) + - [UpdateUnitStatusRequest](#services-centrum-UpdateUnitStatusRequest) + - [UpdateUnitStatusResponse](#services-centrum-UpdateUnitStatusResponse) + + - [CentrumService](#services-centrum-CentrumService) + +- [services/citizenstore/citizenstore.proto](#services_citizenstore_citizenstore-proto) + - [GetUserRequest](#services-citizenstore-GetUserRequest) + - [GetUserResponse](#services-citizenstore-GetUserResponse) + - [ListCitizensRequest](#services-citizenstore-ListCitizensRequest) + - [ListCitizensResponse](#services-citizenstore-ListCitizensResponse) + - [ListUserActivityRequest](#services-citizenstore-ListUserActivityRequest) + - [ListUserActivityResponse](#services-citizenstore-ListUserActivityResponse) + - [ManageCitizenAttributesRequest](#services-citizenstore-ManageCitizenAttributesRequest) + - [ManageCitizenAttributesResponse](#services-citizenstore-ManageCitizenAttributesResponse) + - [SetProfilePictureRequest](#services-citizenstore-SetProfilePictureRequest) + - [SetProfilePictureResponse](#services-citizenstore-SetProfilePictureResponse) + - [SetUserPropsRequest](#services-citizenstore-SetUserPropsRequest) + - [SetUserPropsResponse](#services-citizenstore-SetUserPropsResponse) + + - [CitizenStoreService](#services-citizenstore-CitizenStoreService) + +- [services/completor/completor.proto](#services_completor_completor-proto) + - [CompleteCitizenAttributesRequest](#services-completor-CompleteCitizenAttributesRequest) + - [CompleteCitizenAttributesResponse](#services-completor-CompleteCitizenAttributesResponse) + - [CompleteCitizensRequest](#services-completor-CompleteCitizensRequest) + - [CompleteCitizensRespoonse](#services-completor-CompleteCitizensRespoonse) + - [CompleteDocumentCategoriesRequest](#services-completor-CompleteDocumentCategoriesRequest) + - [CompleteDocumentCategoriesResponse](#services-completor-CompleteDocumentCategoriesResponse) + - [CompleteJobsRequest](#services-completor-CompleteJobsRequest) + - [CompleteJobsResponse](#services-completor-CompleteJobsResponse) + - [ListLawBooksRequest](#services-completor-ListLawBooksRequest) + - [ListLawBooksResponse](#services-completor-ListLawBooksResponse) + + - [CompletorService](#services-completor-CompletorService) + +- [services/dmv/vehicles.proto](#services_dmv_vehicles-proto) + - [ListVehiclesRequest](#services-dmv-ListVehiclesRequest) + - [ListVehiclesResponse](#services-dmv-ListVehiclesResponse) + + - [DMVService](#services-dmv-DMVService) + +- [services/docstore/docstore.proto](#services_docstore_docstore-proto) + - [AddDocumentReferenceRequest](#services-docstore-AddDocumentReferenceRequest) + - [AddDocumentReferenceResponse](#services-docstore-AddDocumentReferenceResponse) + - [AddDocumentRelationRequest](#services-docstore-AddDocumentRelationRequest) + - [AddDocumentRelationResponse](#services-docstore-AddDocumentRelationResponse) + - [ChangeDocumentOwnerRequest](#services-docstore-ChangeDocumentOwnerRequest) + - [ChangeDocumentOwnerResponse](#services-docstore-ChangeDocumentOwnerResponse) + - [CreateCategoryRequest](#services-docstore-CreateCategoryRequest) + - [CreateCategoryResponse](#services-docstore-CreateCategoryResponse) + - [CreateDocumentReqRequest](#services-docstore-CreateDocumentReqRequest) + - [CreateDocumentReqResponse](#services-docstore-CreateDocumentReqResponse) + - [CreateDocumentRequest](#services-docstore-CreateDocumentRequest) + - [CreateDocumentResponse](#services-docstore-CreateDocumentResponse) + - [CreateTemplateRequest](#services-docstore-CreateTemplateRequest) + - [CreateTemplateResponse](#services-docstore-CreateTemplateResponse) + - [DeleteCategoryRequest](#services-docstore-DeleteCategoryRequest) + - [DeleteCategoryResponse](#services-docstore-DeleteCategoryResponse) + - [DeleteCommentRequest](#services-docstore-DeleteCommentRequest) + - [DeleteCommentResponse](#services-docstore-DeleteCommentResponse) + - [DeleteDocumentReqRequest](#services-docstore-DeleteDocumentReqRequest) + - [DeleteDocumentReqResponse](#services-docstore-DeleteDocumentReqResponse) + - [DeleteDocumentRequest](#services-docstore-DeleteDocumentRequest) + - [DeleteDocumentResponse](#services-docstore-DeleteDocumentResponse) + - [DeleteTemplateRequest](#services-docstore-DeleteTemplateRequest) + - [DeleteTemplateResponse](#services-docstore-DeleteTemplateResponse) + - [EditCommentRequest](#services-docstore-EditCommentRequest) + - [EditCommentResponse](#services-docstore-EditCommentResponse) + - [GetCommentsRequest](#services-docstore-GetCommentsRequest) + - [GetCommentsResponse](#services-docstore-GetCommentsResponse) + - [GetDocumentAccessRequest](#services-docstore-GetDocumentAccessRequest) + - [GetDocumentAccessResponse](#services-docstore-GetDocumentAccessResponse) + - [GetDocumentReferencesRequest](#services-docstore-GetDocumentReferencesRequest) + - [GetDocumentReferencesResponse](#services-docstore-GetDocumentReferencesResponse) + - [GetDocumentRelationsRequest](#services-docstore-GetDocumentRelationsRequest) + - [GetDocumentRelationsResponse](#services-docstore-GetDocumentRelationsResponse) + - [GetDocumentRequest](#services-docstore-GetDocumentRequest) + - [GetDocumentResponse](#services-docstore-GetDocumentResponse) + - [GetTemplateRequest](#services-docstore-GetTemplateRequest) + - [GetTemplateResponse](#services-docstore-GetTemplateResponse) + - [ListCategoriesRequest](#services-docstore-ListCategoriesRequest) + - [ListCategoriesResponse](#services-docstore-ListCategoriesResponse) + - [ListDocumentActivityRequest](#services-docstore-ListDocumentActivityRequest) + - [ListDocumentActivityResponse](#services-docstore-ListDocumentActivityResponse) + - [ListDocumentReqsRequest](#services-docstore-ListDocumentReqsRequest) + - [ListDocumentReqsResponse](#services-docstore-ListDocumentReqsResponse) + - [ListDocumentsRequest](#services-docstore-ListDocumentsRequest) + - [ListDocumentsResponse](#services-docstore-ListDocumentsResponse) + - [ListTemplatesRequest](#services-docstore-ListTemplatesRequest) + - [ListTemplatesResponse](#services-docstore-ListTemplatesResponse) + - [ListUserDocumentsRequest](#services-docstore-ListUserDocumentsRequest) + - [ListUserDocumentsResponse](#services-docstore-ListUserDocumentsResponse) + - [PostCommentRequest](#services-docstore-PostCommentRequest) + - [PostCommentResponse](#services-docstore-PostCommentResponse) + - [RemoveDocumentReferenceRequest](#services-docstore-RemoveDocumentReferenceRequest) + - [RemoveDocumentReferenceResponse](#services-docstore-RemoveDocumentReferenceResponse) + - [RemoveDocumentRelationRequest](#services-docstore-RemoveDocumentRelationRequest) + - [RemoveDocumentRelationResponse](#services-docstore-RemoveDocumentRelationResponse) + - [SetDocumentAccessRequest](#services-docstore-SetDocumentAccessRequest) + - [SetDocumentAccessResponse](#services-docstore-SetDocumentAccessResponse) + - [ToggleDocumentRequest](#services-docstore-ToggleDocumentRequest) + - [ToggleDocumentResponse](#services-docstore-ToggleDocumentResponse) + - [UpdateCategoryRequest](#services-docstore-UpdateCategoryRequest) + - [UpdateCategoryResponse](#services-docstore-UpdateCategoryResponse) + - [UpdateDocumentReqRequest](#services-docstore-UpdateDocumentReqRequest) + - [UpdateDocumentReqResponse](#services-docstore-UpdateDocumentReqResponse) + - [UpdateDocumentRequest](#services-docstore-UpdateDocumentRequest) + - [UpdateDocumentResponse](#services-docstore-UpdateDocumentResponse) + - [UpdateTemplateRequest](#services-docstore-UpdateTemplateRequest) + - [UpdateTemplateResponse](#services-docstore-UpdateTemplateResponse) + + - [DocStoreService](#services-docstore-DocStoreService) + +- [services/jobs/conduct.proto](#services_jobs_conduct-proto) + - [CreateConductEntryRequest](#services-jobs-CreateConductEntryRequest) + - [CreateConductEntryResponse](#services-jobs-CreateConductEntryResponse) + - [DeleteConductEntryRequest](#services-jobs-DeleteConductEntryRequest) + - [DeleteConductEntryResponse](#services-jobs-DeleteConductEntryResponse) + - [ListConductEntriesRequest](#services-jobs-ListConductEntriesRequest) + - [ListConductEntriesResponse](#services-jobs-ListConductEntriesResponse) + - [UpdateConductEntryRequest](#services-jobs-UpdateConductEntryRequest) + - [UpdateConductEntryResponse](#services-jobs-UpdateConductEntryResponse) + + - [JobsConductService](#services-jobs-JobsConductService) + +- [services/jobs/jobs.proto](#services_jobs_jobs-proto) + - [GetColleagueRequest](#services-jobs-GetColleagueRequest) + - [GetColleagueResponse](#services-jobs-GetColleagueResponse) + - [GetMOTDRequest](#services-jobs-GetMOTDRequest) + - [GetMOTDResponse](#services-jobs-GetMOTDResponse) + - [GetSelfRequest](#services-jobs-GetSelfRequest) + - [GetSelfResponse](#services-jobs-GetSelfResponse) + - [ListColleagueActivityRequest](#services-jobs-ListColleagueActivityRequest) + - [ListColleagueActivityResponse](#services-jobs-ListColleagueActivityResponse) + - [ListColleaguesRequest](#services-jobs-ListColleaguesRequest) + - [ListColleaguesResponse](#services-jobs-ListColleaguesResponse) + - [SetJobsUserPropsRequest](#services-jobs-SetJobsUserPropsRequest) + - [SetJobsUserPropsResponse](#services-jobs-SetJobsUserPropsResponse) + - [SetMOTDRequest](#services-jobs-SetMOTDRequest) + - [SetMOTDResponse](#services-jobs-SetMOTDResponse) + + - [JobsService](#services-jobs-JobsService) + +- [services/jobs/timeclock.proto](#services_jobs_timeclock-proto) + - [GetTimeclockStatsRequest](#services-jobs-GetTimeclockStatsRequest) + - [GetTimeclockStatsResponse](#services-jobs-GetTimeclockStatsResponse) + - [ListInactiveEmployeesRequest](#services-jobs-ListInactiveEmployeesRequest) + - [ListInactiveEmployeesResponse](#services-jobs-ListInactiveEmployeesResponse) + - [ListTimeclockRequest](#services-jobs-ListTimeclockRequest) + - [ListTimeclockResponse](#services-jobs-ListTimeclockResponse) + + - [JobsTimeclockService](#services-jobs-JobsTimeclockService) + +- [services/livemapper/livemap.proto](#services_livemapper_livemap-proto) + - [CreateOrUpdateMarkerRequest](#services-livemapper-CreateOrUpdateMarkerRequest) + - [CreateOrUpdateMarkerResponse](#services-livemapper-CreateOrUpdateMarkerResponse) + - [DeleteMarkerRequest](#services-livemapper-DeleteMarkerRequest) + - [DeleteMarkerResponse](#services-livemapper-DeleteMarkerResponse) + - [JobsList](#services-livemapper-JobsList) + - [MarkerMarkersUpdates](#services-livemapper-MarkerMarkersUpdates) + - [StreamRequest](#services-livemapper-StreamRequest) + - [StreamResponse](#services-livemapper-StreamResponse) + - [UserMarkersUpdates](#services-livemapper-UserMarkersUpdates) + + - [LivemapperService](#services-livemapper-LivemapperService) + +- [services/notificator/notificator.proto](#services_notificator_notificator-proto) + - [GetNotificationsRequest](#services-notificator-GetNotificationsRequest) + - [GetNotificationsResponse](#services-notificator-GetNotificationsResponse) + - [MarkNotificationsRequest](#services-notificator-MarkNotificationsRequest) + - [MarkNotificationsResponse](#services-notificator-MarkNotificationsResponse) + - [StreamRequest](#services-notificator-StreamRequest) + - [StreamResponse](#services-notificator-StreamResponse) + - [TokenUpdate](#services-notificator-TokenUpdate) + + - [NotificatorService](#services-notificator-NotificatorService) + +- [services/rector/config.proto](#services_rector_config-proto) + - [GetAppConfigRequest](#services-rector-GetAppConfigRequest) + - [GetAppConfigResponse](#services-rector-GetAppConfigResponse) + - [UpdateAppConfigRequest](#services-rector-UpdateAppConfigRequest) + - [UpdateAppConfigResponse](#services-rector-UpdateAppConfigResponse) + + - [RectorConfigService](#services-rector-RectorConfigService) + +- [services/rector/filestore.proto](#services_rector_filestore-proto) + - [DeleteFileRequest](#services-rector-DeleteFileRequest) + - [DeleteFileResponse](#services-rector-DeleteFileResponse) + - [ListFilesRequest](#services-rector-ListFilesRequest) + - [ListFilesResponse](#services-rector-ListFilesResponse) + - [UploadFileRequest](#services-rector-UploadFileRequest) + - [UploadFileResponse](#services-rector-UploadFileResponse) + + - [RectorFilestoreService](#services-rector-RectorFilestoreService) + +- [services/rector/laws.proto](#services_rector_laws-proto) + - [CreateOrUpdateLawBookRequest](#services-rector-CreateOrUpdateLawBookRequest) + - [CreateOrUpdateLawBookResponse](#services-rector-CreateOrUpdateLawBookResponse) + - [CreateOrUpdateLawRequest](#services-rector-CreateOrUpdateLawRequest) + - [CreateOrUpdateLawResponse](#services-rector-CreateOrUpdateLawResponse) + - [DeleteLawBookRequest](#services-rector-DeleteLawBookRequest) + - [DeleteLawBookResponse](#services-rector-DeleteLawBookResponse) + - [DeleteLawRequest](#services-rector-DeleteLawRequest) + - [DeleteLawResponse](#services-rector-DeleteLawResponse) + + - [RectorLawsService](#services-rector-RectorLawsService) + +- [services/rector/rector.proto](#services_rector_rector-proto) + - [AttrsUpdate](#services-rector-AttrsUpdate) + - [CreateRoleRequest](#services-rector-CreateRoleRequest) + - [CreateRoleResponse](#services-rector-CreateRoleResponse) + - [DeleteRoleRequest](#services-rector-DeleteRoleRequest) + - [DeleteRoleResponse](#services-rector-DeleteRoleResponse) + - [GetJobPropsRequest](#services-rector-GetJobPropsRequest) + - [GetJobPropsResponse](#services-rector-GetJobPropsResponse) + - [GetPermissionsRequest](#services-rector-GetPermissionsRequest) + - [GetPermissionsResponse](#services-rector-GetPermissionsResponse) + - [GetRoleRequest](#services-rector-GetRoleRequest) + - [GetRoleResponse](#services-rector-GetRoleResponse) + - [GetRolesRequest](#services-rector-GetRolesRequest) + - [GetRolesResponse](#services-rector-GetRolesResponse) + - [PermItem](#services-rector-PermItem) + - [PermsUpdate](#services-rector-PermsUpdate) + - [SetJobPropsRequest](#services-rector-SetJobPropsRequest) + - [SetJobPropsResponse](#services-rector-SetJobPropsResponse) + - [UpdateRoleLimitsRequest](#services-rector-UpdateRoleLimitsRequest) + - [UpdateRoleLimitsResponse](#services-rector-UpdateRoleLimitsResponse) + - [UpdateRolePermsRequest](#services-rector-UpdateRolePermsRequest) + - [UpdateRolePermsResponse](#services-rector-UpdateRolePermsResponse) + - [ViewAuditLogRequest](#services-rector-ViewAuditLogRequest) + - [ViewAuditLogResponse](#services-rector-ViewAuditLogResponse) + + - [RectorService](#services-rector-RectorService) + +- [services/qualifications/qualifications.proto](#services_qualifications_qualifications-proto) + - [CreateOrUpdateQualificationRequestRequest](#services-qualifications-CreateOrUpdateQualificationRequestRequest) + - [CreateOrUpdateQualificationRequestResponse](#services-qualifications-CreateOrUpdateQualificationRequestResponse) + - [CreateOrUpdateQualificationResultRequest](#services-qualifications-CreateOrUpdateQualificationResultRequest) + - [CreateOrUpdateQualificationResultResponse](#services-qualifications-CreateOrUpdateQualificationResultResponse) + - [CreateQualificationRequest](#services-qualifications-CreateQualificationRequest) + - [CreateQualificationResponse](#services-qualifications-CreateQualificationResponse) + - [DeleteQualificationReqRequest](#services-qualifications-DeleteQualificationReqRequest) + - [DeleteQualificationReqResponse](#services-qualifications-DeleteQualificationReqResponse) + - [DeleteQualificationRequest](#services-qualifications-DeleteQualificationRequest) + - [DeleteQualificationResponse](#services-qualifications-DeleteQualificationResponse) + - [DeleteQualificationResultRequest](#services-qualifications-DeleteQualificationResultRequest) + - [DeleteQualificationResultResponse](#services-qualifications-DeleteQualificationResultResponse) + - [GetQualificationAccessRequest](#services-qualifications-GetQualificationAccessRequest) + - [GetQualificationAccessResponse](#services-qualifications-GetQualificationAccessResponse) + - [GetQualificationRequest](#services-qualifications-GetQualificationRequest) + - [GetQualificationResponse](#services-qualifications-GetQualificationResponse) + - [ListQualificationRequestsRequest](#services-qualifications-ListQualificationRequestsRequest) + - [ListQualificationRequestsResponse](#services-qualifications-ListQualificationRequestsResponse) + - [ListQualificationsRequest](#services-qualifications-ListQualificationsRequest) + - [ListQualificationsResponse](#services-qualifications-ListQualificationsResponse) + - [ListQualificationsResultsRequest](#services-qualifications-ListQualificationsResultsRequest) + - [ListQualificationsResultsResponse](#services-qualifications-ListQualificationsResultsResponse) + - [SetQualificationAccessRequest](#services-qualifications-SetQualificationAccessRequest) + - [SetQualificationAccessResponse](#services-qualifications-SetQualificationAccessResponse) + - [UpdateQualificationRequest](#services-qualifications-UpdateQualificationRequest) + - [UpdateQualificationResponse](#services-qualifications-UpdateQualificationResponse) + + - [QualificationsService](#services-qualifications-QualificationsService) + +- [Scalar Value Types](#scalar-value-types) + + + + +

Top

+ +## resources/accounts/accounts.proto + + + + + +### Account + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| username | [string](#string) | | | +| license | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/accounts/oauth2.proto + + + + + +### OAuth2Account + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| account_id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| provider_name | [string](#string) | | | +| provider | [OAuth2Provider](#resources-accounts-OAuth2Provider) | | | +| external_id | [uint64](#uint64) | | | +| username | [string](#string) | | | +| avatar | [string](#string) | | | + + + + + + + + +### OAuth2Provider + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| label | [string](#string) | | | +| homepage | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/centrum/dispatches.proto + + + + + +### Dispatch + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| status | [DispatchStatus](#resources-centrum-DispatchStatus) | optional | | +| message | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| attributes | [Attributes](#resources-centrum-Attributes) | optional | | +| x | [double](#double) | | | +| y | [double](#double) | | | +| postal | [string](#string) | optional | @sanitize | +| anon | [bool](#bool) | | | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.User](#resources-users-User) | optional | | +| units | [DispatchAssignment](#resources-centrum-DispatchAssignment) | repeated | | +| references | [DispatchReferences](#resources-centrum-DispatchReferences) | optional | | + + + + + + + + +### DispatchAssignment + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"dispatch_id" | +| unit_id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"unit_id" | +| unit | [Unit](#resources-centrum-Unit) | optional | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| expires_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | + + + + + + + + +### DispatchAssignments + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| units | [DispatchAssignment](#resources-centrum-DispatchAssignment) | repeated | | + + + + + + + + +### DispatchReference + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| target_dispatch_id | [uint64](#uint64) | | | +| reference_type | [DispatchReferenceType](#resources-centrum-DispatchReferenceType) | | | + + + + + + + + +### DispatchReferences + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| references | [DispatchReference](#resources-centrum-DispatchReference) | repeated | | + + + + + + + + +### DispatchStatus + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| dispatch_id | [uint64](#uint64) | | | +| unit_id | [uint64](#uint64) | optional | | +| unit | [Unit](#resources-centrum-Unit) | optional | | +| status | [StatusDispatch](#resources-centrum-StatusDispatch) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | +| user_id | [int32](#int32) | optional | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| x | [double](#double) | optional | | +| y | [double](#double) | optional | | +| postal | [string](#string) | optional | @sanitize | + + + + + + + + + + +### DispatchReferenceType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DISPATCH_REFERENCE_TYPE_UNSPECIFIED | 0 | | +| DISPATCH_REFERENCE_TYPE_REFERENCED | 1 | | +| DISPATCH_REFERENCE_TYPE_DUPLICATED_BY | 2 | | +| DISPATCH_REFERENCE_TYPE_DUPLICATE_OF | 3 | | + + + + + +### StatusDispatch + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| STATUS_DISPATCH_UNSPECIFIED | 0 | | +| STATUS_DISPATCH_NEW | 1 | | +| STATUS_DISPATCH_UNASSIGNED | 2 | | +| STATUS_DISPATCH_UPDATED | 3 | | +| STATUS_DISPATCH_UNIT_ASSIGNED | 4 | | +| STATUS_DISPATCH_UNIT_UNASSIGNED | 5 | | +| STATUS_DISPATCH_UNIT_ACCEPTED | 6 | | +| STATUS_DISPATCH_UNIT_DECLINED | 7 | | +| STATUS_DISPATCH_EN_ROUTE | 8 | | +| STATUS_DISPATCH_ON_SCENE | 9 | | +| STATUS_DISPATCH_NEED_ASSISTANCE | 10 | | +| STATUS_DISPATCH_COMPLETED | 11 | | +| STATUS_DISPATCH_CANCELLED | 12 | | +| STATUS_DISPATCH_ARCHIVED | 13 | | + + + + + +### TakeDispatchResp + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| TAKE_DISPATCH_RESP_UNSPECIFIED | 0 | | +| TAKE_DISPATCH_RESP_TIMEOUT | 1 | | +| TAKE_DISPATCH_RESP_ACCEPTED | 2 | | +| TAKE_DISPATCH_RESP_DECLINED | 3 | | + + + + + + + + + + + +

Top

+ +## resources/centrum/general.proto + + + + + +### Attributes + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| list | [string](#string) | repeated | | + + + + + + + + +### Disponents + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| disponents | [resources.users.UserShort](#resources-users-UserShort) | repeated | | + + + + + + + + +### UserUnitMapping + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| user_id | [int32](#int32) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/centrum/settings.proto + + + + + +### PredefinedStatus + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_status | [string](#string) | repeated | | +| dispatch_status | [string](#string) | repeated | | + + + + + + + + +### Settings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| enabled | [bool](#bool) | | | +| mode | [CentrumMode](#resources-centrum-CentrumMode) | | | +| fallback_mode | [CentrumMode](#resources-centrum-CentrumMode) | | | +| predefined_status | [PredefinedStatus](#resources-centrum-PredefinedStatus) | optional | | +| timings | [Timings](#resources-centrum-Timings) | | | + + + + + + + + +### Timings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_max_wait | [int64](#int64) | | | + + + + + + + + + + +### CentrumMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| CENTRUM_MODE_UNSPECIFIED | 0 | | +| CENTRUM_MODE_MANUAL | 1 | | +| CENTRUM_MODE_CENTRAL_COMMAND | 2 | | +| CENTRUM_MODE_AUTO_ROUND_ROBIN | 3 | | +| CENTRUM_MODE_SIMPLIFIED | 4 | | + + + + + + + + + + + +

Top

+ +## resources/centrum/units.proto + + + + + +### Unit + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| name | [string](#string) | | @sanitize | +| initials | [string](#string) | | @sanitize | +| color | [string](#string) | | | +| description | [string](#string) | optional | @sanitize | +| status | [UnitStatus](#resources-centrum-UnitStatus) | optional | | +| users | [UnitAssignment](#resources-centrum-UnitAssignment) | repeated | | +| attributes | [Attributes](#resources-centrum-Attributes) | optional | | +| home_postal | [string](#string) | optional | | + + + + + + + + +### UnitAssignment + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"unit_id" | +| user_id | [int32](#int32) | | @gotags: sql:"primary_key" alias:"user_id" | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + +### UnitAssignments + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| users | [UnitAssignment](#resources-centrum-UnitAssignment) | repeated | | + + + + + + + + +### UnitStatus + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| unit_id | [uint64](#uint64) | | | +| unit | [Unit](#resources-centrum-Unit) | optional | | +| status | [StatusUnit](#resources-centrum-StatusUnit) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | +| user_id | [int32](#int32) | optional | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| x | [double](#double) | optional | | +| y | [double](#double) | optional | | +| postal | [string](#string) | optional | @sanitize | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + + + +### StatusUnit + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| STATUS_UNIT_UNSPECIFIED | 0 | | +| STATUS_UNIT_UNKNOWN | 1 | | +| STATUS_UNIT_USER_ADDED | 2 | | +| STATUS_UNIT_USER_REMOVED | 3 | | +| STATUS_UNIT_UNAVAILABLE | 4 | | +| STATUS_UNIT_AVAILABLE | 5 | | +| STATUS_UNIT_ON_BREAK | 6 | | +| STATUS_UNIT_BUSY | 7 | | + + + + + + + + + + + +

Top

+ +## resources/common/database/database.proto + + + + + +### OrderBy + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| column | [string](#string) | | | +| desc | [bool](#bool) | | | + + + + + + + + +### PaginationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| offset | [int64](#int64) | | | +| page_size | [int64](#int64) | optional | | + + + + + + + + +### PaginationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| total_count | [int64](#int64) | | | +| offset | [int64](#int64) | | | +| end | [int64](#int64) | | | +| page_size | [int64](#int64) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/common/i18n.proto + + + + + +### TranslateItem + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| parameters | [TranslateItem.ParametersEntry](#resources-common-TranslateItem-ParametersEntry) | repeated | | + + + + + + + + +### TranslateItem.ParametersEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/access.proto + + + + + +### DocumentAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [DocumentJobAccess](#resources-documents-DocumentJobAccess) | repeated | @gotags: alias:"job_access" | +| users | [DocumentUserAccess](#resources-documents-DocumentUserAccess) | repeated | @gotags: alias:"user_access" | + + + + + + + + +### DocumentJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| job | [string](#string) | | @gotags: alias:"job" | +| job_label | [string](#string) | optional | @gotags: alias:"job_label" | +| minimum_grade | [int32](#int32) | | @gotags: alias:"minimum_grade" | +| job_grade_label | [string](#string) | optional | @gotags: alias:"job_grade_label" | +| access | [AccessLevel](#resources-documents-AccessLevel) | | @gotags: alias:"access" | +| required | [bool](#bool) | optional | @gotags: alias:"required" | + + + + + + + + +### DocumentUserAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| access | [AccessLevel](#resources-documents-AccessLevel) | | @gotags: alias:"access" | +| required | [bool](#bool) | optional | @gotags: alias:"required" | + + + + + + + + + + +### AccessLevel + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_BLOCKED | 1 | | +| ACCESS_LEVEL_VIEW | 2 | | +| ACCESS_LEVEL_COMMENT | 3 | | +| ACCESS_LEVEL_STATUS | 4 | | +| ACCESS_LEVEL_ACCESS | 5 | | +| ACCESS_LEVEL_EDIT | 6 | | + + + + + +### AccessLevelUpdateMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UPDATE_MODE_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_UPDATE_MODE_UPDATE | 1 | | +| ACCESS_LEVEL_UPDATE_MODE_DELETE | 2 | | +| ACCESS_LEVEL_UPDATE_MODE_CLEAR | 3 | | + + + + + + + + + + + +

Top

+ +## resources/documents/activity.proto + + + + + +### DocAccessRequested + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| level | [AccessLevel](#resources-documents-AccessLevel) | | | + + + + + + + + +### DocActivity + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| document_id | [uint64](#uint64) | | | +| activity_type | [DocActivityType](#resources-documents-DocActivityType) | | | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | +| reason | [string](#string) | optional | | +| data | [DocActivityData](#resources-documents-DocActivityData) | | | + + + + + + + + +### DocActivityData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updated | [DocUpdated](#resources-documents-DocUpdated) | | | +| owner_changed | [DocOwnerChanged](#resources-documents-DocOwnerChanged) | | | +| access_updated | [DocumentAccess](#resources-documents-DocumentAccess) | | | +| access_requested | [DocAccessRequested](#resources-documents-DocAccessRequested) | | | + + + + + + + + +### DocOwnerChanged + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| new_owner_id | [int32](#int32) | | | +| new_owner | [resources.users.UserShort](#resources-users-UserShort) | | | + + + + + + + + +### DocUpdated + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| title_diff | [string](#string) | optional | | +| content_diff | [string](#string) | optional | | +| state_diff | [string](#string) | optional | | + + + + + + + + + + +### DocActivityType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| DOC_ACTIVITY_TYPE_CREATED | 1 | Base | +| DOC_ACTIVITY_TYPE_STATUS_OPEN | 2 | | +| DOC_ACTIVITY_TYPE_STATUS_CLOSED | 3 | | +| DOC_ACTIVITY_TYPE_UPDATED | 4 | | +| DOC_ACTIVITY_TYPE_RELATIONS_UPDATED | 5 | | +| DOC_ACTIVITY_TYPE_REFERENCES_UPDATED | 6 | | +| DOC_ACTIVITY_TYPE_ACCESS_UPDATED | 7 | | +| DOC_ACTIVITY_TYPE_OWNER_CHANGED | 8 | | +| DOC_ACTIVITY_TYPE_DELETED | 9 | | +| DOC_ACTIVITY_TYPE_COMMENT_ADDED | 10 | Comments | +| DOC_ACTIVITY_TYPE_COMMENT_UPDATED | 11 | | +| DOC_ACTIVITY_TYPE_COMMENT_DELETED | 12 | | +| DOC_ACTIVITY_TYPE_REQUESTED_ACCESS | 13 | Requests | +| DOC_ACTIVITY_TYPE_REQUESTED_CLOSURE | 14 | | +| DOC_ACTIVITY_TYPE_REQUESTED_OPENING | 15 | | +| DOC_ACTIVITY_TYPE_REQUESTED_UPDATE | 16 | | +| DOC_ACTIVITY_TYPE_REQUESTED_OWNER_CHANGE | 17 | | +| DOC_ACTIVITY_TYPE_REQUESTED_DELETION | 18 | | + + + + + + + + + + + +

Top

+ +## resources/documents/category.proto + + + + + +### Category + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| job | [string](#string) | optional | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/comment.proto + + + + + +### Comment + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| comment | [string](#string) | | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/documents.proto + + + + + +### Document + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category_id | [uint64](#uint64) | optional | | +| category | [Category](#resources-documents-Category) | optional | @gotags: alias:"category" | +| title | [string](#string) | | @sanitize | +| content_type | [DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| content | [string](#string) | | @sanitize | +| data | [string](#string) | optional | @sanitize + +@gotags: alias:"data" | +| creator_id | [int32](#int32) | optional | @gotags: alias:"creator_id" | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| state | [string](#string) | | @sanitize | +| closed | [bool](#bool) | | | +| public | [bool](#bool) | | | +| template_id | [uint64](#uint64) | optional | | + + + + + + + + +### DocumentReference + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | optional | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| source_document_id | [uint64](#uint64) | | @gotags: alias:"source_document_id" | +| source_document | [DocumentShort](#resources-documents-DocumentShort) | optional | @gotags: alias:"source_document" | +| reference | [DocReference](#resources-documents-DocReference) | | @gotags: alias:"reference" | +| target_document_id | [uint64](#uint64) | | @gotags: alias:"target_document_id" | +| target_document | [DocumentShort](#resources-documents-DocumentShort) | optional | @gotags: alias:"target_document" | +| creator_id | [int32](#int32) | optional | @gotags: alias:"creator_id" | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"ref_creator" | + + + + + + + + +### DocumentRelation + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | optional | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| document_id | [uint64](#uint64) | | | +| document | [DocumentShort](#resources-documents-DocumentShort) | optional | @gotags: alias:"document" | +| source_user_id | [int32](#int32) | | @gotags: alias:"source_user_id" | +| source_user | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"source_user" | +| relation | [DocRelation](#resources-documents-DocRelation) | | @gotags: alias:"relation" | +| target_user_id | [int32](#int32) | | @gotags: alias:"target_user_id" | +| target_user | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"target_user" | + + + + + + + + +### DocumentShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category_id | [uint64](#uint64) | optional | | +| category | [Category](#resources-documents-Category) | optional | @gotags: alias:"category" | +| title | [string](#string) | | @sanitize | +| content_type | [DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| content | [string](#string) | | @sanitize | +| creator_id | [int32](#int32) | optional | @gotags: alias:"creator_id" | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | @gotags: alias:"creator_job" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | | +| public | [bool](#bool) | | | + + + + + + + + + + +### DocContentType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_CONTENT_TYPE_UNSPECIFIED | 0 | | +| DOC_CONTENT_TYPE_HTML | 1 | | +| DOC_CONTENT_TYPE_PLAIN | 2 | | + + + + + +### DocReference + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_REFERENCE_UNSPECIFIED | 0 | | +| DOC_REFERENCE_LINKED | 1 | | +| DOC_REFERENCE_SOLVES | 2 | | +| DOC_REFERENCE_CLOSES | 3 | | +| DOC_REFERENCE_DEPRECATES | 4 | | + + + + + +### DocRelation + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| DOC_RELATION_UNSPECIFIED | 0 | | +| DOC_RELATION_MENTIONED | 1 | | +| DOC_RELATION_TARGETS | 2 | | +| DOC_RELATION_CAUSED | 3 | | + + + + + + + + + + + +

Top

+ +## resources/documents/requests.proto + + + + + +### DocRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| document_id | [uint64](#uint64) | | | +| request_type | [DocActivityType](#resources-documents-DocActivityType) | | | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | +| reason | [string](#string) | optional | | +| data | [DocActivityData](#resources-documents-DocActivityData) | | | +| accepted | [bool](#bool) | optional | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/documents/templates.proto + + + + + +### ObjectSpecs + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| required | [bool](#bool) | optional | | +| min | [int32](#int32) | optional | | +| max | [int32](#int32) | optional | | + + + + + + + + +### Template + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category | [Category](#resources-documents-Category) | | @gotags: alias:"category" | +| weight | [uint32](#uint32) | | | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | | @sanitize | +| content_title | [string](#string) | | @gotags: alias:"content_title" | +| content | [string](#string) | | @gotags: alias:"content" | +| state | [string](#string) | | @gotags: alias:"state" | +| schema | [TemplateSchema](#resources-documents-TemplateSchema) | | @gotags: alias:"schema" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | +| job_access | [TemplateJobAccess](#resources-documents-TemplateJobAccess) | repeated | | +| content_access | [DocumentAccess](#resources-documents-DocumentAccess) | | @gotags: alias:"access" | + + + + + + + + +### TemplateData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| activeChar | [resources.users.User](#resources-users-User) | | | +| documents | [DocumentShort](#resources-documents-DocumentShort) | repeated | | +| users | [resources.users.UserShort](#resources-users-UserShort) | repeated | | +| vehicles | [resources.vehicles.Vehicle](#resources-vehicles-Vehicle) | repeated | | + + + + + + + + +### TemplateJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| template_id | [uint64](#uint64) | | @gotags: alias:"template_id" | +| job | [string](#string) | | @gotags: alias:"job" | +| job_label | [string](#string) | optional | @gotags: alias:"job_label" | +| minimum_grade | [int32](#int32) | | @gotags: alias:"minimum_grade" | +| job_grade_label | [string](#string) | optional | @gotags: alias:"job_grade_label" | +| access | [AccessLevel](#resources-documents-AccessLevel) | | @gotags: alias:"access" | + + + + + + + + +### TemplateRequirements + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| documents | [ObjectSpecs](#resources-documents-ObjectSpecs) | optional | | +| users | [ObjectSpecs](#resources-documents-ObjectSpecs) | optional | | +| vehicles | [ObjectSpecs](#resources-documents-ObjectSpecs) | optional | | + + + + + + + + +### TemplateSchema + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| requirements | [TemplateRequirements](#resources-documents-TemplateRequirements) | | | + + + + + + + + +### TemplateShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category | [Category](#resources-documents-Category) | | @gotags: alias:"category" | +| weight | [uint32](#uint32) | | | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | | @sanitize | +| schema | [TemplateSchema](#resources-documents-TemplateSchema) | | @gotags: alias:"schema" | +| creator_job | [string](#string) | | | +| creator_job_label | [string](#string) | optional | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/jobs/colleagues.proto + + + + + +### Colleague + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| phone_number | [string](#string) | optional | | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | +| props | [JobsUserProps](#resources-jobs-JobsUserProps) | | @gotags: alias:"fivenet_jobs_user_props" | + + + + + + + + +### ColleagueAbsenceDate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| absence_begin | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| absence_end | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | + + + + + + + + +### ColleagueGradeChange + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| grade | [int32](#int32) | | | +| grade_label | [string](#string) | | | + + + + + + + + +### JobsUserActivity + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| source_user_id | [int32](#int32) | | | +| source_user | [Colleague](#resources-jobs-Colleague) | | @gotags: alias:"source_user" | +| target_user_id | [int32](#int32) | | | +| target_user | [Colleague](#resources-jobs-Colleague) | | @gotags: alias:"target_user" | +| activity_type | [JobsUserActivityType](#resources-jobs-JobsUserActivityType) | | | +| reason | [string](#string) | | @sanitize | +| data | [JobsUserActivityData](#resources-jobs-JobsUserActivityData) | | | + + + + + + + + +### JobsUserActivityData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| absence_date | [ColleagueAbsenceDate](#resources-jobs-ColleagueAbsenceDate) | | | +| grade_change | [ColleagueGradeChange](#resources-jobs-ColleagueGradeChange) | | | + + + + + + + + +### JobsUserProps + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | +| absence_begin | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| absence_end | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | + + + + + + + + + + +### JobsUserActivityType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| JOBS_USER_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| JOBS_USER_ACTIVITY_TYPE_HIRED | 1 | | +| JOBS_USER_ACTIVITY_TYPE_FIRED | 2 | | +| JOBS_USER_ACTIVITY_TYPE_PROMOTED | 3 | | +| JOBS_USER_ACTIVITY_TYPE_DEMOTED | 4 | | +| JOBS_USER_ACTIVITY_TYPE_ABSENCE_DATE | 5 | | + + + + + + + + + + + +

Top

+ +## resources/jobs/conduct.proto + + + + + +### ConductEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| type | [ConductType](#resources-jobs-ConductType) | | | +| message | [string](#string) | | @sanitize | +| expires_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| target_user_id | [int32](#int32) | | | +| target_user | [Colleague](#resources-jobs-Colleague) | optional | @gotags: alias:"target_user" | +| creator_id | [int32](#int32) | | | +| creator | [Colleague](#resources-jobs-Colleague) | optional | @gotags: alias:"creator" | + + + + + + + + + + +### ConductType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| CONDUCT_TYPE_UNSPECIFIED | 0 | | +| CONDUCT_TYPE_NEUTRAL | 1 | | +| CONDUCT_TYPE_POSITIVE | 2 | | +| CONDUCT_TYPE_NEGATIVE | 3 | | +| CONDUCT_TYPE_WARNING | 4 | | +| CONDUCT_TYPE_SUSPENSION | 5 | | +| CONDUCT_TYPE_NOTE | 6 | | + + + + + + + + + + + +

Top

+ +## resources/jobs/timeclock.proto + + + + + +### TimeclockEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| date | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| user_id | [int32](#int32) | | | +| user | [Colleague](#resources-jobs-Colleague) | optional | | +| start_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| end_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| spent_time | [float](#float) | | | + + + + + + + + +### TimeclockStats + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| spent_time_sum | [float](#float) | | | +| spent_time_avg | [float](#float) | | | +| spent_time_max | [float](#float) | | | + + + + + + + + +### TimeclockWeeklyStats + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| year | [int32](#int32) | | | +| calendar_week | [int32](#int32) | | | +| sum | [float](#float) | | | +| avg | [float](#float) | | | +| max | [float](#float) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/laws/laws.proto + + + + + +### Law + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"law.id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| lawbook_id | [uint64](#uint64) | | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| fine | [uint32](#uint32) | optional | | +| detention_time | [uint32](#uint32) | optional | | +| stvo_points | [uint32](#uint32) | optional | | + + + + + + + + +### LawBook + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| laws | [Law](#resources-laws-Law) | repeated | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/livemap/livemap.proto + + + + + +### CircleMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| radius | [int32](#int32) | | | +| opacity | [float](#float) | optional | | + + + + + + + + +### Coords + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| x | [double](#double) | | | +| y | [double](#double) | | | + + + + + + + + +### IconMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| icon | [string](#string) | | | + + + + + + + + +### MarkerData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| circle | [CircleMarker](#resources-livemap-CircleMarker) | | | +| icon | [IconMarker](#resources-livemap-IconMarker) | | | + + + + + + + + +### MarkerInfo + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| job_label | [string](#string) | | | +| name | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize | +| x | [double](#double) | | | +| y | [double](#double) | | | +| postal | [string](#string) | optional | @sanitize | +| color | [string](#string) | optional | | +| icon | [string](#string) | optional | | + + + + + + + + +### MarkerMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| info | [MarkerInfo](#resources-livemap-MarkerInfo) | | | +| type | [MarkerType](#resources-livemap-MarkerType) | | @gotags: alias:"markerType" | +| expires_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| data | [MarkerData](#resources-livemap-MarkerData) | | @gotags: alias:"markerData" | +| creator_id | [int32](#int32) | optional | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + +### UserMarker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| info | [MarkerInfo](#resources-livemap-MarkerInfo) | | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"user" | +| unit_id | [uint64](#uint64) | optional | | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | optional | | + + + + + + + + + + +### MarkerType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| MARKER_TYPE_UNSPECIFIED | 0 | | +| MARKER_TYPE_DOT | 1 | | +| MARKER_TYPE_CIRCLE | 2 | | +| MARKER_TYPE_ICON | 3 | | + + + + + + + + + + + +

Top

+ +## resources/livemap/tracker.proto + + + + + +### UsersUpdateEvent + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| added | [UserMarker](#resources-livemap-UserMarker) | repeated | | +| removed | [UserMarker](#resources-livemap-UserMarker) | repeated | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/notifications/notifications.proto + + + + + +### Data + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| link | [Link](#resources-notifications-Link) | optional | | +| caused_by | [resources.users.UserShort](#resources-users-UserShort) | optional | | + + + + + + + + +### Link + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to | [string](#string) | | | +| title | [string](#string) | optional | | +| external | [bool](#bool) | optional | | + + + + + + + + +### Notification + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| read_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| user_id | [int32](#int32) | | | +| title | [resources.common.TranslateItem](#resources-common-TranslateItem) | | @sanitize | +| type | [string](#string) | optional | | +| content | [resources.common.TranslateItem](#resources-common-TranslateItem) | | @sanitize | +| category | [NotificationCategory](#resources-notifications-NotificationCategory) | | | +| data | [Data](#resources-notifications-Data) | optional | | +| starred | [bool](#bool) | optional | | + + + + + + + + + + +### NotificationCategory + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| NOTIFICATION_CATEGORY_UNSPECIFIED | 0 | | +| NOTIFICATION_CATEGORY_GENERAL | 1 | | +| NOTIFICATION_CATEGORY_DOCUMENT | 2 | | + + + + + + + + + + + +

Top

+ +## resources/permissions/permissions.proto + + + + + +### AttributeValues + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| string_list | [StringList](#resources-permissions-StringList) | | | +| job_list | [StringList](#resources-permissions-StringList) | | | +| job_grade_list | [JobGradeList](#resources-permissions-JobGradeList) | | | + + + + + + + + +### JobGradeList + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [JobGradeList.JobsEntry](#resources-permissions-JobGradeList-JobsEntry) | repeated | | + + + + + + + + +### JobGradeList.JobsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [int32](#int32) | | | + + + + + + + + +### Permission + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| category | [string](#string) | | | +| name | [string](#string) | | | +| guard_name | [string](#string) | | | +| val | [bool](#bool) | | | + + + + + + + + +### RawRoleAttribute + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| attr_id | [uint64](#uint64) | | | +| permission_id | [uint64](#uint64) | | | +| category | [string](#string) | | | +| name | [string](#string) | | | +| key | [string](#string) | | | +| type | [string](#string) | | | +| valid_values | [AttributeValues](#resources-permissions-AttributeValues) | | | +| value | [AttributeValues](#resources-permissions-AttributeValues) | | | + + + + + + + + +### Role + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| permissions | [Permission](#resources-permissions-Permission) | repeated | | +| attributes | [RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | + + + + + + + + +### RoleAttribute + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| attr_id | [uint64](#uint64) | | | +| permission_id | [uint64](#uint64) | | | +| category | [string](#string) | | | +| name | [string](#string) | | | +| key | [string](#string) | | | +| type | [string](#string) | | | +| valid_values | [AttributeValues](#resources-permissions-AttributeValues) | | | +| value | [AttributeValues](#resources-permissions-AttributeValues) | | | +| max_values | [AttributeValues](#resources-permissions-AttributeValues) | optional | | + + + + + + + + +### StringList + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| strings | [string](#string) | repeated | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/rector/audit.proto + + + + + +### AuditEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| user_id | [uint64](#uint64) | | @gotags: alias:"user_id" | +| user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| user_job | [string](#string) | | @gotags: alias:"user_job" | +| target_user_id | [int32](#int32) | optional | @gotags: alias:"target_user_id" | +| target_user | [resources.users.UserShort](#resources-users-UserShort) | optional | | +| target_user_job | [string](#string) | | @gotags: alias:"target_user_job" | +| service | [string](#string) | | @gotags: alias:"service" | +| method | [string](#string) | | @gotags: alias:"method" | +| state | [EventType](#resources-rector-EventType) | | @gotags: alias:"state" | +| data | [string](#string) | optional | @gotags: alias:"data" | + + + + + + + + + + +### EventType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| EVENT_TYPE_UNSPECIFIED | 0 | | +| EVENT_TYPE_ERRORED | 1 | | +| EVENT_TYPE_VIEWED | 2 | | +| EVENT_TYPE_CREATED | 3 | | +| EVENT_TYPE_UPDATED | 4 | | +| EVENT_TYPE_DELETED | 5 | | + + + + + + + + + + + +

Top

+ +## resources/rector/config.proto + + + + + +### AppConfig + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| auth | [Auth](#resources-rector-Auth) | | | +| perms | [Perms](#resources-rector-Perms) | | | +| website | [Website](#resources-rector-Website) | | | +| job_info | [JobInfo](#resources-rector-JobInfo) | | | +| user_tracker | [UserTracker](#resources-rector-UserTracker) | | | +| discord | [Discord](#resources-rector-Discord) | | | + + + + + + + + +### Auth + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signup_enabled | [bool](#bool) | | | + + + + + + + + +### Discord + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| enabled | [bool](#bool) | | | +| sync_interval | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| invite_url | [string](#string) | optional | | + + + + + + + + +### JobInfo + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unemployed_job | [UnemployedJob](#resources-rector-UnemployedJob) | | | +| public_jobs | [string](#string) | repeated | | +| hidden_jobs | [string](#string) | repeated | | + + + + + + + + +### Links + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| privacy_policy | [string](#string) | optional | | +| imprint | [string](#string) | optional | | + + + + + + + + +### Perm + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [string](#string) | | | +| name | [string](#string) | | | + + + + + + + + +### Perms + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| default | [Perm](#resources-rector-Perm) | repeated | | + + + + + + + + +### UnemployedJob + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| grade | [int32](#int32) | | | + + + + + + + + +### UserTracker + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| refresh_time | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| db_refresh_time | [google.protobuf.Duration](#google-protobuf-Duration) | | | +| livemap_jobs | [string](#string) | repeated | | + + + + + + + + +### Website + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| links | [Links](#resources-rector-Links) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/timestamp/timestamp.proto + + + + + +### Timestamp +Timestamp for storage messages. We've defined a new local type wrapper +of google.protobuf.Timestamp so we can implement sql.Scanner and sql.Valuer +interfaces. See: +https://golang.org/pkg/database/sql/#Scanner +https://golang.org/pkg/database/sql/driver/#Valuer + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/users/jobs.proto + + + + + +### DiscordSyncSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_info_sync | [bool](#bool) | | | +| user_info_sync_settings | [UserInfoSyncSettings](#resources-users-UserInfoSyncSettings) | | | +| status_log | [bool](#bool) | | | +| status_log_settings | [StatusLogSettings](#resources-users-StatusLogSettings) | | | +| jobs_absence | [bool](#bool) | | | +| jobs_absence_settings | [JobsAbsenceSettings](#resources-users-JobsAbsenceSettings) | | | +| group_sync_settings | [GroupSyncSettings](#resources-users-GroupSyncSettings) | | | + + + + + + + + +### GroupSyncSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| ignored_role_ids | [string](#string) | repeated | | + + + + + + + + +### Job + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | @gotags: sql:"primary_key" alias:"name" | +| label | [string](#string) | | | +| grades | [JobGrade](#resources-users-JobGrade) | repeated | | + + + + + + + + +### JobGrade + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_name | [string](#string) | optional | | +| grade | [int32](#int32) | | | +| label | [string](#string) | | | + + + + + + + + +### JobProps + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| theme | [string](#string) | | | +| livemap_marker_color | [string](#string) | | | +| quick_buttons | [QuickButtons](#resources-users-QuickButtons) | | | +| radio_frequency | [string](#string) | optional | | +| discord_guild_id | [uint64](#uint64) | optional | | +| discord_last_sync | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| discord_sync_settings | [DiscordSyncSettings](#resources-users-DiscordSyncSettings) | | | +| motd | [string](#string) | optional | | +| logo_url | [resources.filestore.File](#resources-filestore-File) | optional | | +| settings | [JobSettings](#resources-users-JobSettings) | | | + + + + + + + + +### JobSettings + + + + + + + + + +### JobsAbsenceSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| absence_role | [string](#string) | | | + + + + + + + + +### QuickButtons + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| penalty_calculator | [bool](#bool) | | | +| body_checkup | [bool](#bool) | | | + + + + + + + + +### StatusLogSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| channel_id | [string](#string) | | | + + + + + + + + +### UserInfoSyncSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| employee_role_enabled | [bool](#bool) | | | +| employee_role_format | [string](#string) | | | +| grade_role_format | [string](#string) | | | +| unemployed_enabled | [bool](#bool) | | | +| unemployed_mode | [UserInfoSyncUnemployedMode](#resources-users-UserInfoSyncUnemployedMode) | | | +| unemployed_role_name | [string](#string) | | | + + + + + + + + + + +### UserInfoSyncUnemployedMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| USER_INFO_SYNC_UNEMPLOYED_MODE_UNSPECIFIED | 0 | | +| USER_INFO_SYNC_UNEMPLOYED_MODE_GIVE_ROLE | 1 | | +| USER_INFO_SYNC_UNEMPLOYED_MODE_KICK | 2 | | + + + + + + + + + + + +

Top

+ +## resources/users/users.proto + + + + + +### CitizenAttribute + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| job | [string](#string) | optional | | +| name | [string](#string) | | | +| color | [string](#string) | | | + + + + + + + + +### CitizenAttributes + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| list | [CitizenAttribute](#resources-users-CitizenAttribute) | repeated | | + + + + + + + + +### License + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| type | [string](#string) | | | +| label | [string](#string) | | | + + + + + + + + +### User + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| sex | [string](#string) | optional | | +| height | [string](#string) | optional | | +| phone_number | [string](#string) | optional | | +| visum | [int32](#int32) | optional | | +| playtime | [int32](#int32) | optional | | +| props | [UserProps](#resources-users-UserProps) | | @gotags: alias:"fivenet_user_props" | +| licenses | [License](#resources-users-License) | repeated | @gotags: alias:"user_licenses" | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | + + + + + + + + +### UserActivity + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: alias:"fivenet_user_activity.id" | +| type | [UserActivityType](#resources-users-UserActivityType) | | @gotags: alias:"fivenet_user_activity.type" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | @gotags: alias:"fivenet_user_activity.created_at" | +| source_user | [UserShort](#resources-users-UserShort) | | @gotags: alias:"source_user" | +| target_user | [UserShort](#resources-users-UserShort) | | @gotags: alias:"target_user" | +| key | [string](#string) | | @sanitize + +@gotags: alias:"fivenet_user_activity.key" | +| old_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.old_value" | +| new_value | [string](#string) | | @gotags: alias:"fivenet_user_activity.new_value" | +| reason | [string](#string) | | @sanitize + +@gotags: alias:"fivenet_user_activity.reason" | + + + + + + + + +### UserProps + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | +| wanted | [bool](#bool) | optional | | +| job_name | [string](#string) | optional | @gotags: alias:"job" | +| job | [Job](#resources-users-Job) | optional | | +| job_grade_number | [int32](#int32) | optional | @gotags: alias:"job_grade" | +| job_grade | [JobGrade](#resources-users-JobGrade) | optional | | +| traffic_infraction_points | [uint32](#uint32) | optional | | +| open_fines | [int64](#int64) | optional | | +| blood_type | [string](#string) | optional | | +| mug_shot | [resources.filestore.File](#resources-filestore-File) | optional | | +| attributes | [CitizenAttributes](#resources-users-CitizenAttributes) | optional | | + + + + + + + + +### UserShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | @gotags: alias:"id" | +| identifier | [string](#string) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| job_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| firstname | [string](#string) | | | +| lastname | [string](#string) | | | +| dateofbirth | [string](#string) | | | +| phone_number | [string](#string) | optional | | +| avatar | [resources.filestore.File](#resources-filestore-File) | optional | | + + + + + + + + + + +### UserActivityType + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| USER_ACTIVITY_TYPE_UNSPECIFIED | 0 | | +| USER_ACTIVITY_TYPE_CHANGED | 1 | | +| USER_ACTIVITY_TYPE_MENTIONED | 2 | | +| USER_ACTIVITY_TYPE_CREATED | 3 | | + + + + + + + + + + + +

Top

+ +## resources/vehicles/vehicles.proto + + + + + +### Vehicle + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| plate | [string](#string) | | | +| model | [string](#string) | optional | | +| type | [string](#string) | | | +| owner | [resources.users.UserShort](#resources-users-UserShort) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/filestore/file.proto + + + + + +### File + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| url | [string](#string) | optional | | +| data | [bytes](#bytes) | | | +| delete | [bool](#bool) | optional | | +| content_type | [string](#string) | optional | | +| extension | [string](#string) | optional | | + + + + + + + + +### FileInfo + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| last_modified | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| size | [int64](#int64) | | | +| content_type | [string](#string) | | | + + + + + + + + + + + + + + + + +

Top

+ +## resources/qualifications/qualifications.proto + + + + + +### Qualification + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| weight | [uint32](#uint32) | | | +| closed | [bool](#bool) | | | +| abbreviation | [string](#string) | | @sanitize: method=StripTags | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize: method=StripTags | +| content | [string](#string) | | @sanitize | +| creator_id | [int32](#int32) | | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| access | [QualificationAccess](#resources-qualifications-QualificationAccess) | | | +| requirements | [QualificationRequirement](#resources-qualifications-QualificationRequirement) | repeated | | +| discord_settings | [QualificationDiscordSettings](#resources-qualifications-QualificationDiscordSettings) | optional | | +| result | [QualificationResult](#resources-qualifications-QualificationResult) | optional | | +| request | [QualificationRequest](#resources-qualifications-QualificationRequest) | optional | | + + + + + + + + +### QualificationAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [QualificationJobAccess](#resources-qualifications-QualificationJobAccess) | repeated | | + + + + + + + + +### QualificationDiscordSettings + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sync_enabled | [bool](#bool) | | | +| role_name | [string](#string) | optional | | + + + + + + + + +### QualificationJobAccess + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| job | [string](#string) | | | +| job_label | [string](#string) | optional | | +| minimum_grade | [int32](#int32) | | | +| job_grade_label | [string](#string) | optional | | +| access | [AccessLevel](#resources-qualifications-AccessLevel) | | | + + + + + + + + +### QualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| qualification | [QualificationShort](#resources-qualifications-QualificationShort) | optional | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"user" | +| user_comment | [string](#string) | optional | @sanitize: method=StripTags | +| status | [RequestStatus](#resources-qualifications-RequestStatus) | optional | | +| approved_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| approver_comment | [string](#string) | optional | @sanitize: method=StripTags | +| approver_id | [int32](#int32) | optional | | +| approver | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"approver" | +| approver_job | [string](#string) | optional | | + + + + + + + + +### QualificationRequirement + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| target_qualification_id | [uint64](#uint64) | | | +| target_qualification | [QualificationShort](#resources-qualifications-QualificationShort) | optional | @gotags: alias:"targetqualification.*" | + + + + + + + + +### QualificationResult + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| qualification_id | [uint64](#uint64) | | | +| qualification | [QualificationShort](#resources-qualifications-QualificationShort) | optional | | +| user_id | [int32](#int32) | | | +| user | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"user" | +| status | [ResultStatus](#resources-qualifications-ResultStatus) | | | +| score | [uint32](#uint32) | optional | | +| summary | [string](#string) | | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | + + + + + + + + +### QualificationShort + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | @gotags: sql:"primary_key" alias:"id" | +| created_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| updated_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| deleted_at | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| job | [string](#string) | | | +| weight | [uint32](#uint32) | | | +| closed | [bool](#bool) | | | +| abbreviation | [string](#string) | | @sanitize: method=StripTags | +| title | [string](#string) | | @sanitize | +| description | [string](#string) | optional | @sanitize: method=StripTags | +| creator_id | [int32](#int32) | | | +| creator | [resources.users.UserShort](#resources-users-UserShort) | optional | @gotags: alias:"creator" | +| creator_job | [string](#string) | | | +| requirements | [QualificationRequirement](#resources-qualifications-QualificationRequirement) | repeated | | +| result | [QualificationResult](#resources-qualifications-QualificationResult) | optional | | + + + + + + + + +### QualificationTest + + + + + + + + + +### QualificationTestQuestion + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| qualification_id | [uint64](#uint64) | | | +| question | [string](#string) | | | +| data | [TestQuestionData](#resources-qualifications-TestQuestionData) | | | + + + + + + + + +### TestQuestionData + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| separator | [bool](#bool) | | | +| yesno | [bool](#bool) | | | +| short_text | [TestQuestionDataText](#resources-qualifications-TestQuestionDataText) | | | +| long_text | [TestQuestionDataText](#resources-qualifications-TestQuestionDataText) | | | +| multiple_choice | [TestQuestionDataMultipleChoice](#resources-qualifications-TestQuestionDataMultipleChoice) | | | + + + + + + + + +### TestQuestionDataMultipleChoice +TODO + + + + + + + + +### TestQuestionDataText + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| min_length | [int32](#int32) | | | +| max_length | [int32](#int32) | | | + + + + + + + + + + +### AccessLevel + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_BLOCKED | 1 | | +| ACCESS_LEVEL_VIEW | 2 | | +| ACCESS_LEVEL_REQUEST | 3 | | +| ACCESS_LEVEL_TAKE | 4 | | +| ACCESS_LEVEL_GRADE | 5 | | +| ACCESS_LEVEL_MANAGE | 6 | | +| ACCESS_LEVEL_EDIT | 7 | | + + + + + +### AccessLevelUpdateMode + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ACCESS_LEVEL_UPDATE_MODE_UNSPECIFIED | 0 | | +| ACCESS_LEVEL_UPDATE_MODE_UPDATE | 1 | | +| ACCESS_LEVEL_UPDATE_MODE_DELETE | 2 | | +| ACCESS_LEVEL_UPDATE_MODE_CLEAR | 3 | | + + + + + +### RequestStatus + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| REQUEST_STATUS_UNSPECIFIED | 0 | | +| REQUEST_STATUS_PENDING | 1 | | +| REQUEST_STATUS_DENIED | 2 | | +| REQUEST_STATUS_ACCEPTED | 3 | | +| REQUEST_STATUS_COMPLETED | 4 | | + + + + + +### ResultStatus + + +| Name | Number | Description | +| ---- | ------ | ----------- | +| RESULT_STATUS_UNSPECIFIED | 0 | | +| RESULT_STATUS_PENDING | 1 | | +| RESULT_STATUS_FAILED | 2 | | +| RESULT_STATUS_SUCCESSFUL | 3 | | + + + + + + + + + + + +

Top

+ +## services/auth/auth.proto + + + + + +### ChangePasswordRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| current | [string](#string) | | | +| new | [string](#string) | | | + + + + + + + + +### ChangePasswordResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | + + + + + + + + +### ChangeUsernameRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| current | [string](#string) | | | +| new | [string](#string) | | | + + + + + + + + +### ChangeUsernameResponse + + + + + + + + + +### ChooseCharacterRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| char_id | [int32](#int32) | | | + + + + + + + + +### ChooseCharacterResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| permissions | [string](#string) | repeated | | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | +| char | [resources.users.User](#resources-users-User) | | | + + + + + + + + +### CreateAccountRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reg_token | [string](#string) | | | +| username | [string](#string) | | | +| password | [string](#string) | | | + + + + + + + + +### CreateAccountResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| account_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteOAuth2ConnectionRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| provider | [string](#string) | | | + + + + + + + + +### DeleteOAuth2ConnectionResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| success | [bool](#bool) | | | + + + + + + + + +### ForgotPasswordRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reg_token | [string](#string) | | | +| new | [string](#string) | | | + + + + + + + + +### ForgotPasswordResponse + + + + + + + + + +### GetAccountInfoRequest + + + + + + + + + +### GetAccountInfoResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| account | [resources.accounts.Account](#resources-accounts-Account) | | | +| oauth2_providers | [resources.accounts.OAuth2Provider](#resources-accounts-OAuth2Provider) | repeated | | +| oauth2_connections | [resources.accounts.OAuth2Account](#resources-accounts-OAuth2Account) | repeated | | + + + + + + + + +### GetCharactersRequest + + + + + + + + + +### GetCharactersResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| chars | [resources.users.User](#resources-users-User) | repeated | | + + + + + + + + +### LoginRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| username | [string](#string) | | | +| password | [string](#string) | | | + + + + + + + + +### LoginResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| account_id | [uint64](#uint64) | | | + + + + + + + + +### LogoutRequest + + + + + + + + + +### LogoutResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| success | [bool](#bool) | | | + + + + + + + + +### SetSuperUserModeRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| superuser | [bool](#bool) | | | +| job | [string](#string) | optional | | + + + + + + + + +### SetSuperUserModeResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| token | [string](#string) | | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | optional | | +| char | [resources.users.User](#resources-users-User) | | | + + + + + + + + + + + + + + +### AuthService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| Login | [LoginRequest](#services-auth-LoginRequest) | [LoginResponse](#services-auth-LoginResponse) | | +| Logout | [LogoutRequest](#services-auth-LogoutRequest) | [LogoutResponse](#services-auth-LogoutResponse) | | +| CreateAccount | [CreateAccountRequest](#services-auth-CreateAccountRequest) | [CreateAccountResponse](#services-auth-CreateAccountResponse) | | +| ChangeUsername | [ChangeUsernameRequest](#services-auth-ChangeUsernameRequest) | [ChangeUsernameResponse](#services-auth-ChangeUsernameResponse) | | +| ChangePassword | [ChangePasswordRequest](#services-auth-ChangePasswordRequest) | [ChangePasswordResponse](#services-auth-ChangePasswordResponse) | | +| ForgotPassword | [ForgotPasswordRequest](#services-auth-ForgotPasswordRequest) | [ForgotPasswordResponse](#services-auth-ForgotPasswordResponse) | | +| GetCharacters | [GetCharactersRequest](#services-auth-GetCharactersRequest) | [GetCharactersResponse](#services-auth-GetCharactersResponse) | | +| ChooseCharacter | [ChooseCharacterRequest](#services-auth-ChooseCharacterRequest) | [ChooseCharacterResponse](#services-auth-ChooseCharacterResponse) | @perm | +| GetAccountInfo | [GetAccountInfoRequest](#services-auth-GetAccountInfoRequest) | [GetAccountInfoResponse](#services-auth-GetAccountInfoResponse) | | +| DeleteOAuth2Connection | [DeleteOAuth2ConnectionRequest](#services-auth-DeleteOAuth2ConnectionRequest) | [DeleteOAuth2ConnectionResponse](#services-auth-DeleteOAuth2ConnectionResponse) | | +| SetSuperUserMode | [SetSuperUserModeRequest](#services-auth-SetSuperUserModeRequest) | [SetSuperUserModeResponse](#services-auth-SetSuperUserModeResponse) | | + + + + + + +

Top

+ +## services/centrum/centrum.proto + + + + + +### AssignDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | | +| to_add | [uint64](#uint64) | repeated | | +| to_remove | [uint64](#uint64) | repeated | | +| forced | [bool](#bool) | optional | | + + + + + + + + +### AssignDispatchResponse + + + + + + + + + +### AssignUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| to_add | [int32](#int32) | repeated | | +| to_remove | [int32](#int32) | repeated | | + + + + + + + + +### AssignUnitResponse + + + + + + + + + +### CreateDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### CreateDispatchResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### CreateOrUpdateUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | + + + + + + + + +### CreateOrUpdateUnitResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | + + + + + + + + +### DeleteDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteDispatchResponse + + + + + + + + + +### DeleteUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteUnitResponse + + + + + + + + + +### GetDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### GetDispatchResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### GetSettingsRequest + + + + + + + + + +### GetSettingsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | + + + + + + + + +### JoinUnitRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | optional | | + + + + + + + + +### JoinUnitResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit | [resources.centrum.Unit](#resources-centrum-Unit) | | | + + + + + + + + +### LatestState + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| server_time | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| disponents | [resources.users.UserShort](#resources-users-UserShort) | repeated | | +| own_unit_id | [uint64](#uint64) | optional | | +| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | Send the current units and dispatches | +| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | + + + + + + + + +### ListDispatchActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| id | [uint64](#uint64) | | | + + + + + + + + +### ListDispatchActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | repeated | | + + + + + + + + +### ListDispatchesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | +| not_status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | repeated | | +| ids | [uint64](#uint64) | repeated | | +| postal | [string](#string) | optional | | + + + + + + + + +### ListDispatchesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| dispatches | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | repeated | | + + + + + + + + +### ListUnitActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| id | [uint64](#uint64) | | | + + + + + + + + +### ListUnitActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | repeated | | + + + + + + + + +### ListUnitsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | repeated | | + + + + + + + + +### ListUnitsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| units | [resources.centrum.Unit](#resources-centrum-Unit) | repeated | | + + + + + + + + +### StreamRequest + + + + + + + + + +### StreamResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| latest_state | [LatestState](#services-centrum-LatestState) | | | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | +| disponents | [resources.centrum.Disponents](#resources-centrum-Disponents) | | | +| unit_created | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_deleted | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_updated | [resources.centrum.Unit](#resources-centrum-Unit) | | | +| unit_status | [resources.centrum.UnitStatus](#resources-centrum-UnitStatus) | | | +| dispatch_created | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_deleted | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_updated | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | +| dispatch_status | [resources.centrum.DispatchStatus](#resources-centrum-DispatchStatus) | | | + + + + + + + + +### TakeControlRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signon | [bool](#bool) | | | + + + + + + + + +### TakeControlResponse + + + + + + + + + +### TakeDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_ids | [uint64](#uint64) | repeated | | +| resp | [resources.centrum.TakeDispatchResp](#resources-centrum-TakeDispatchResp) | | | +| reason | [string](#string) | optional | @sanitize | + + + + + + + + +### TakeDispatchResponse + + + + + + + + + +### UpdateDispatchRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch | [resources.centrum.Dispatch](#resources-centrum-Dispatch) | | | + + + + + + + + +### UpdateDispatchResponse + + + + + + + + + +### UpdateDispatchStatusRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| dispatch_id | [uint64](#uint64) | | | +| status | [resources.centrum.StatusDispatch](#resources-centrum-StatusDispatch) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | + + + + + + + + +### UpdateDispatchStatusResponse + + + + + + + + + +### UpdateSettingsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | + + + + + + + + +### UpdateSettingsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| settings | [resources.centrum.Settings](#resources-centrum-Settings) | | | + + + + + + + + +### UpdateUnitStatusRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| unit_id | [uint64](#uint64) | | | +| status | [resources.centrum.StatusUnit](#resources-centrum-StatusUnit) | | | +| reason | [string](#string) | optional | @sanitize | +| code | [string](#string) | optional | @sanitize | + + + + + + + + +### UpdateUnitStatusResponse + + + + + + + + + + + + + + + +### CentrumService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| UpdateSettings | [UpdateSettingsRequest](#services-centrum-UpdateSettingsRequest) | [UpdateSettingsResponse](#services-centrum-UpdateSettingsResponse) | @perm | +| CreateDispatch | [CreateDispatchRequest](#services-centrum-CreateDispatchRequest) | [CreateDispatchResponse](#services-centrum-CreateDispatchResponse) | @perm | +| UpdateDispatch | [UpdateDispatchRequest](#services-centrum-UpdateDispatchRequest) | [UpdateDispatchResponse](#services-centrum-UpdateDispatchResponse) | @perm | +| DeleteDispatch | [DeleteDispatchRequest](#services-centrum-DeleteDispatchRequest) | [DeleteDispatchResponse](#services-centrum-DeleteDispatchResponse) | @perm | +| TakeControl | [TakeControlRequest](#services-centrum-TakeControlRequest) | [TakeControlResponse](#services-centrum-TakeControlResponse) | @perm | +| AssignDispatch | [AssignDispatchRequest](#services-centrum-AssignDispatchRequest) | [AssignDispatchResponse](#services-centrum-AssignDispatchResponse) | @perm: Name=TakeControl | +| AssignUnit | [AssignUnitRequest](#services-centrum-AssignUnitRequest) | [AssignUnitResponse](#services-centrum-AssignUnitResponse) | @perm: Name=TakeControl | +| Stream | [StreamRequest](#services-centrum-StreamRequest) | [StreamResponse](#services-centrum-StreamResponse) stream | @perm | +| GetSettings | [GetSettingsRequest](#services-centrum-GetSettingsRequest) | [GetSettingsResponse](#services-centrum-GetSettingsResponse) | @perm: Name=Stream | +| JoinUnit | [JoinUnitRequest](#services-centrum-JoinUnitRequest) | [JoinUnitResponse](#services-centrum-JoinUnitResponse) | @perm: Name=Stream | +| ListUnits | [ListUnitsRequest](#services-centrum-ListUnitsRequest) | [ListUnitsResponse](#services-centrum-ListUnitsResponse) | @perm: Name=Stream | +| ListUnitActivity | [ListUnitActivityRequest](#services-centrum-ListUnitActivityRequest) | [ListUnitActivityResponse](#services-centrum-ListUnitActivityResponse) | @perm: Name=Stream | +| GetDispatch | [GetDispatchRequest](#services-centrum-GetDispatchRequest) | [GetDispatchResponse](#services-centrum-GetDispatchResponse) | @perm: Name=Stream | +| ListDispatches | [ListDispatchesRequest](#services-centrum-ListDispatchesRequest) | [ListDispatchesResponse](#services-centrum-ListDispatchesResponse) | @perm: Name=Stream | +| ListDispatchActivity | [ListDispatchActivityRequest](#services-centrum-ListDispatchActivityRequest) | [ListDispatchActivityResponse](#services-centrum-ListDispatchActivityResponse) | @perm: Name=Stream | +| CreateOrUpdateUnit | [CreateOrUpdateUnitRequest](#services-centrum-CreateOrUpdateUnitRequest) | [CreateOrUpdateUnitResponse](#services-centrum-CreateOrUpdateUnitResponse) | @perm | +| DeleteUnit | [DeleteUnitRequest](#services-centrum-DeleteUnitRequest) | [DeleteUnitResponse](#services-centrum-DeleteUnitResponse) | @perm | +| TakeDispatch | [TakeDispatchRequest](#services-centrum-TakeDispatchRequest) | [TakeDispatchResponse](#services-centrum-TakeDispatchResponse) | @perm | +| UpdateUnitStatus | [UpdateUnitStatusRequest](#services-centrum-UpdateUnitStatusRequest) | [UpdateUnitStatusResponse](#services-centrum-UpdateUnitStatusResponse) | @perm: Name=TakeDispatch | +| UpdateDispatchStatus | [UpdateDispatchStatusRequest](#services-centrum-UpdateDispatchStatusRequest) | [UpdateDispatchStatusResponse](#services-centrum-UpdateDispatchStatusResponse) | @perm: Name=TakeDispatch | + + + + + + +

Top

+ +## services/citizenstore/citizenstore.proto + + + + + +### GetUserRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | + + + + + + + + +### GetUserResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user | [resources.users.User](#resources-users-User) | | | + + + + + + + + +### ListCitizensRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| search | [string](#string) | | Search params | +| wanted | [bool](#bool) | optional | | +| phone_number | [string](#string) | optional | | +| traffic_infraction_points | [uint32](#uint32) | optional | | +| dateofbirth | [string](#string) | optional | | +| open_fines | [uint64](#uint64) | optional | | + + + + + + + + +### ListCitizensResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| users | [resources.users.User](#resources-users-User) | repeated | | + + + + + + + + +### ListUserActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_id | [int32](#int32) | | | + + + + + + + + +### ListUserActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.users.UserActivity](#resources-users-UserActivity) | repeated | | + + + + + + + + +### ManageCitizenAttributesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| attributes | [resources.users.CitizenAttribute](#resources-users-CitizenAttribute) | repeated | | + + + + + + + + +### ManageCitizenAttributesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| attributes | [resources.users.CitizenAttribute](#resources-users-CitizenAttribute) | repeated | | + + + + + + + + +### SetProfilePictureRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| avatar | [resources.filestore.File](#resources-filestore-File) | | | + + + + + + + + +### SetProfilePictureResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| avatar | [resources.filestore.File](#resources-filestore-File) | | | + + + + + + + + +### SetUserPropsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.users.UserProps](#resources-users-UserProps) | | | +| reason | [string](#string) | | @sanitize | + + + + + + + + +### SetUserPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.users.UserProps](#resources-users-UserProps) | | | + + + + + + + + + + + + + + +### CitizenStoreService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListCitizens | [ListCitizensRequest](#services-citizenstore-ListCitizensRequest) | [ListCitizensResponse](#services-citizenstore-ListCitizensResponse) | @perm: Attrs=Fields/StringList:[]string{"PhoneNumber", "Licenses", "UserProps.Wanted", "UserProps.Job", "UserProps.TrafficInfractionPoints", "UserProps.OpenFines", "UserProps.BloodType", "UserProps.MugShot", "UserProps.Attributes"} | +| GetUser | [GetUserRequest](#services-citizenstore-GetUserRequest) | [GetUserResponse](#services-citizenstore-GetUserResponse) | @perm: Attrs=Jobs/JobGradeList | +| ListUserActivity | [ListUserActivityRequest](#services-citizenstore-ListUserActivityRequest) | [ListUserActivityResponse](#services-citizenstore-ListUserActivityResponse) | @perm: Attrs=Fields/StringList:[]string{"SourceUser", "Own"} | +| SetUserProps | [SetUserPropsRequest](#services-citizenstore-SetUserPropsRequest) | [SetUserPropsResponse](#services-citizenstore-SetUserPropsResponse) | @perm: Attrs=Fields/StringList:[]string{"Wanted", "Job", "TrafficInfractionPoints", "MugShot", "Attributes"} | +| SetProfilePicture | [SetProfilePictureRequest](#services-citizenstore-SetProfilePictureRequest) | [SetProfilePictureResponse](#services-citizenstore-SetProfilePictureResponse) | @perm: Name=Any | +| ManageCitizenAttributes | [ManageCitizenAttributesRequest](#services-citizenstore-ManageCitizenAttributesRequest) | [ManageCitizenAttributesResponse](#services-citizenstore-ManageCitizenAttributesResponse) | @perm | + + + + + + +

Top

+ +## services/completor/completor.proto + + + + + +### CompleteCitizenAttributesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | | | + + + + + + + + +### CompleteCitizenAttributesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| attributes | [resources.users.CitizenAttribute](#resources-users-CitizenAttribute) | repeated | | + + + + + + + + +### CompleteCitizensRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | | | +| current_job | [bool](#bool) | optional | | +| on_duty | [bool](#bool) | optional | | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### CompleteCitizensRespoonse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| users | [resources.users.UserShort](#resources-users-UserShort) | repeated | @gotags: alias:"user" | + + + + + + + + +### CompleteDocumentCategoriesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | | | + + + + + + + + +### CompleteDocumentCategoriesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| categories | [resources.documents.Category](#resources-documents-Category) | repeated | | + + + + + + + + +### CompleteJobsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| search | [string](#string) | optional | | +| exact_match | [bool](#bool) | optional | | +| current_job | [bool](#bool) | optional | | + + + + + + + + +### CompleteJobsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [resources.users.Job](#resources-users-Job) | repeated | | + + + + + + + + +### ListLawBooksRequest + + + + + + + + + +### ListLawBooksResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| books | [resources.laws.LawBook](#resources-laws-LawBook) | repeated | | + + + + + + + + + + + + + + +### CompletorService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| CompleteCitizens | [CompleteCitizensRequest](#services-completor-CompleteCitizensRequest) | [CompleteCitizensRespoonse](#services-completor-CompleteCitizensRespoonse) | @perm | +| CompleteJobs | [CompleteJobsRequest](#services-completor-CompleteJobsRequest) | [CompleteJobsResponse](#services-completor-CompleteJobsResponse) | @perm | +| CompleteDocumentCategories | [CompleteDocumentCategoriesRequest](#services-completor-CompleteDocumentCategoriesRequest) | [CompleteDocumentCategoriesResponse](#services-completor-CompleteDocumentCategoriesResponse) | @perm: Attrs=Jobs/JobList | +| ListLawBooks | [ListLawBooksRequest](#services-completor-ListLawBooksRequest) | [ListLawBooksResponse](#services-completor-ListLawBooksResponse) | @perm: Name=Any | +| CompleteCitizenAttributes | [CompleteCitizenAttributesRequest](#services-completor-CompleteCitizenAttributesRequest) | [CompleteCitizenAttributesResponse](#services-completor-CompleteCitizenAttributesResponse) | @perm: Attrs=Jobs/JobList | + + + + + + +

Top

+ +## services/dmv/vehicles.proto + + + + + +### ListVehiclesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| orderBy | [resources.common.database.OrderBy](#resources-common-database-OrderBy) | repeated | | +| license_plate | [string](#string) | optional | Search params | +| model | [string](#string) | optional | | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### ListVehiclesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| vehicles | [resources.vehicles.Vehicle](#resources-vehicles-Vehicle) | repeated | | + + + + + + + + + + + + + + +### DMVService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListVehicles | [ListVehiclesRequest](#services-dmv-ListVehiclesRequest) | [ListVehiclesResponse](#services-dmv-ListVehiclesResponse) | @perm | + + + + + + +

Top

+ +## services/docstore/docstore.proto + + + + + +### AddDocumentReferenceRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reference | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | | | + + + + + + + + +### AddDocumentReferenceResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### AddDocumentRelationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| relation | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | | | + + + + + + + + +### AddDocumentRelationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### ChangeDocumentOwnerRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| new_user_id | [int32](#int32) | optional | | + + + + + + + + +### ChangeDocumentOwnerResponse + + + + + + + + + +### CreateCategoryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [resources.documents.Category](#resources-documents-Category) | | | + + + + + + + + +### CreateCategoryResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### CreateDocumentReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| request_type | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | | | +| reason | [string](#string) | optional | @sanitize | +| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | + + + + + + + + +### CreateDocumentReqResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | + + + + + + + + +### CreateDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | +| title | [string](#string) | | @sanitize: method=StripTags + +@gotags: alias:"title" | +| content | [string](#string) | | @sanitize + +@gotags: alias:"content" | +| content_type | [resources.documents.DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| data | [string](#string) | optional | @gotags: alias:"data" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | @gotags: alias:"closed" | +| public | [bool](#bool) | | @gotags: alias:"public" | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | +| template_id | [uint64](#uint64) | optional | | + + + + + + + + +### CreateDocumentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | + + + + + + + + +### CreateTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | + + + + + + + + +### CreateTemplateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteCategoryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| ids | [uint64](#uint64) | repeated | | + + + + + + + + +### DeleteCategoryResponse + + + + + + + + + +### DeleteCommentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteCommentResponse + + + + + + + + + +### DeleteDocumentReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteDocumentReqResponse + + + + + + + + + +### DeleteDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | + + + + + + + + +### DeleteDocumentResponse + + + + + + + + + +### DeleteTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteTemplateResponse + + + + + + + + + +### EditCommentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### EditCommentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### GetCommentsRequest +Comments =============================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetCommentsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| comments | [resources.documents.Comment](#resources-documents-Comment) | repeated | | + + + + + + + + +### GetDocumentAccessRequest +Access ===================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentAccessResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | + + + + + + + + +### GetDocumentReferencesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentReferencesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| references | [resources.documents.DocumentReference](#resources-documents-DocumentReference) | repeated | @gotags: alias:"reference" | + + + + + + + + +### GetDocumentRelationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentRelationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | @gotags: alias:"relation" | + + + + + + + + +### GetDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### GetDocumentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document | [resources.documents.Document](#resources-documents-Document) | | | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | + + + + + + + + +### GetTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template_id | [uint64](#uint64) | | | +| data | [resources.documents.TemplateData](#resources-documents-TemplateData) | optional | | +| render | [bool](#bool) | optional | | + + + + + + + + +### GetTemplateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | +| rendered | [bool](#bool) | | | + + + + + + + + +### ListCategoriesRequest +Categories + + + + + + + + +### ListCategoriesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [resources.documents.Category](#resources-documents-Category) | repeated | | + + + + + + + + +### ListDocumentActivityRequest +Document Activity and Requests ============================================= + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | +| activity_types | [resources.documents.DocActivityType](#resources-documents-DocActivityType) | repeated | Search | + + + + + + + + +### ListDocumentActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.documents.DocActivity](#resources-documents-DocActivity) | repeated | | + + + + + + + + +### ListDocumentReqsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| document_id | [uint64](#uint64) | | | + + + + + + + + +### ListDocumentReqsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| requests | [resources.documents.DocRequest](#resources-documents-DocRequest) | repeated | | + + + + + + + + +### ListDocumentsRequest +Documents ================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| orderBy | [resources.common.database.OrderBy](#resources-common-database-OrderBy) | repeated | | +| search | [string](#string) | optional | Search params | +| category_ids | [uint64](#uint64) | repeated | | +| creator_ids | [int32](#int32) | repeated | | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| closed | [bool](#bool) | optional | | +| document_ids | [uint64](#uint64) | repeated | | + + + + + + + + +### ListDocumentsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| documents | [resources.documents.DocumentShort](#resources-documents-DocumentShort) | repeated | | + + + + + + + + +### ListTemplatesRequest +Templates ================================================================== + + + + + + + + +### ListTemplatesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| templates | [resources.documents.TemplateShort](#resources-documents-TemplateShort) | repeated | | + + + + + + + + +### ListUserDocumentsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_id | [int32](#int32) | | | +| relations | [resources.documents.DocRelation](#resources-documents-DocRelation) | repeated | | + + + + + + + + +### ListUserDocumentsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| relations | [resources.documents.DocumentRelation](#resources-documents-DocumentRelation) | repeated | | + + + + + + + + +### PostCommentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### PostCommentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| comment | [resources.documents.Comment](#resources-documents-Comment) | | | + + + + + + + + +### RemoveDocumentReferenceRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### RemoveDocumentReferenceResponse + + + + + + + + + +### RemoveDocumentRelationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### RemoveDocumentRelationResponse + + + + + + + + + +### SetDocumentAccessRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| mode | [resources.documents.AccessLevelUpdateMode](#resources-documents-AccessLevelUpdateMode) | | | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | | | + + + + + + + + +### SetDocumentAccessResponse + + + + + + + + + +### ToggleDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| closed | [bool](#bool) | | | + + + + + + + + +### ToggleDocumentResponse + + + + + + + + + +### UpdateCategoryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| category | [resources.documents.Category](#resources-documents-Category) | | | + + + + + + + + +### UpdateCategoryResponse + + + + + + + + + +### UpdateDocumentReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | | +| request_id | [uint64](#uint64) | | | +| reason | [string](#string) | optional | @sanitize | +| data | [resources.documents.DocActivityData](#resources-documents-DocActivityData) | optional | | +| accepted | [bool](#bool) | | | + + + + + + + + +### UpdateDocumentReqResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.documents.DocRequest](#resources-documents-DocRequest) | | | + + + + + + + + +### UpdateDocumentRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | +| category_id | [uint64](#uint64) | optional | @gotags: alias:"category_id" | +| title | [string](#string) | | @sanitize: method=StripTags + +@gotags: alias:"title" | +| content | [string](#string) | | @sanitize + +@gotags: alias:"content" | +| content_type | [resources.documents.DocContentType](#resources-documents-DocContentType) | | @gotags: alias:"content_type" | +| data | [string](#string) | optional | @gotags: alias:"data" | +| state | [string](#string) | | @sanitize + +@gotags: alias:"state" | +| closed | [bool](#bool) | | @gotags: alias:"closed" | +| public | [bool](#bool) | | @gotags: alias:"public" | +| access | [resources.documents.DocumentAccess](#resources-documents-DocumentAccess) | optional | | + + + + + + + + +### UpdateDocumentResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| document_id | [uint64](#uint64) | | @gotags: alias:"id" | + + + + + + + + +### UpdateTemplateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | + + + + + + + + +### UpdateTemplateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| template | [resources.documents.Template](#resources-documents-Template) | | | + + + + + + + + + + + + + + +### DocStoreService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListTemplates | [ListTemplatesRequest](#services-docstore-ListTemplatesRequest) | [ListTemplatesResponse](#services-docstore-ListTemplatesResponse) | @perm | +| GetTemplate | [GetTemplateRequest](#services-docstore-GetTemplateRequest) | [GetTemplateResponse](#services-docstore-GetTemplateResponse) | @perm: Name=ListTemplates | +| CreateTemplate | [CreateTemplateRequest](#services-docstore-CreateTemplateRequest) | [CreateTemplateResponse](#services-docstore-CreateTemplateResponse) | @perm | +| UpdateTemplate | [UpdateTemplateRequest](#services-docstore-UpdateTemplateRequest) | [UpdateTemplateResponse](#services-docstore-UpdateTemplateResponse) | @perm: Name=CreateTemplate | +| DeleteTemplate | [DeleteTemplateRequest](#services-docstore-DeleteTemplateRequest) | [DeleteTemplateResponse](#services-docstore-DeleteTemplateResponse) | @perm | +| ListDocuments | [ListDocumentsRequest](#services-docstore-ListDocumentsRequest) | [ListDocumentsResponse](#services-docstore-ListDocumentsResponse) | @perm | +| GetDocument | [GetDocumentRequest](#services-docstore-GetDocumentRequest) | [GetDocumentResponse](#services-docstore-GetDocumentResponse) | @perm | +| CreateDocument | [CreateDocumentRequest](#services-docstore-CreateDocumentRequest) | [CreateDocumentResponse](#services-docstore-CreateDocumentResponse) | @perm | +| UpdateDocument | [UpdateDocumentRequest](#services-docstore-UpdateDocumentRequest) | [UpdateDocumentResponse](#services-docstore-UpdateDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteDocument | [DeleteDocumentRequest](#services-docstore-DeleteDocumentRequest) | [DeleteDocumentResponse](#services-docstore-DeleteDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ToggleDocument | [ToggleDocumentRequest](#services-docstore-ToggleDocumentRequest) | [ToggleDocumentResponse](#services-docstore-ToggleDocumentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ChangeDocumentOwner | [ChangeDocumentOwnerRequest](#services-docstore-ChangeDocumentOwnerRequest) | [ChangeDocumentOwnerResponse](#services-docstore-ChangeDocumentOwnerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetDocumentReferences | [GetDocumentReferencesRequest](#services-docstore-GetDocumentReferencesRequest) | [GetDocumentReferencesResponse](#services-docstore-GetDocumentReferencesResponse) | @perm: Name=GetDocument | +| GetDocumentRelations | [GetDocumentRelationsRequest](#services-docstore-GetDocumentRelationsRequest) | [GetDocumentRelationsResponse](#services-docstore-GetDocumentRelationsResponse) | @perm: Name=GetDocument | +| AddDocumentReference | [AddDocumentReferenceRequest](#services-docstore-AddDocumentReferenceRequest) | [AddDocumentReferenceResponse](#services-docstore-AddDocumentReferenceResponse) | @perm | +| RemoveDocumentReference | [RemoveDocumentReferenceRequest](#services-docstore-RemoveDocumentReferenceRequest) | [RemoveDocumentReferenceResponse](#services-docstore-RemoveDocumentReferenceResponse) | @perm: Name=AddDocumentReference | +| AddDocumentRelation | [AddDocumentRelationRequest](#services-docstore-AddDocumentRelationRequest) | [AddDocumentRelationResponse](#services-docstore-AddDocumentRelationResponse) | @perm | +| RemoveDocumentRelation | [RemoveDocumentRelationRequest](#services-docstore-RemoveDocumentRelationRequest) | [RemoveDocumentRelationResponse](#services-docstore-RemoveDocumentRelationResponse) | @perm: Name=AddDocumentRelation | +| GetComments | [GetCommentsRequest](#services-docstore-GetCommentsRequest) | [GetCommentsResponse](#services-docstore-GetCommentsResponse) | @perm: Name=GetDocument | +| PostComment | [PostCommentRequest](#services-docstore-PostCommentRequest) | [PostCommentResponse](#services-docstore-PostCommentResponse) | @perm | +| EditComment | [EditCommentRequest](#services-docstore-EditCommentRequest) | [EditCommentResponse](#services-docstore-EditCommentResponse) | @perm: Name=PostComment | +| DeleteComment | [DeleteCommentRequest](#services-docstore-DeleteCommentRequest) | [DeleteCommentResponse](#services-docstore-DeleteCommentResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetDocumentAccess | [GetDocumentAccessRequest](#services-docstore-GetDocumentAccessRequest) | [GetDocumentAccessResponse](#services-docstore-GetDocumentAccessResponse) | @perm: Name=GetDocument | +| SetDocumentAccess | [SetDocumentAccessRequest](#services-docstore-SetDocumentAccessRequest) | [SetDocumentAccessResponse](#services-docstore-SetDocumentAccessResponse) | @perm: Name=CreateDocument | +| ListDocumentActivity | [ListDocumentActivityRequest](#services-docstore-ListDocumentActivityRequest) | [ListDocumentActivityResponse](#services-docstore-ListDocumentActivityResponse) | @perm | +| ListDocumentReqs | [ListDocumentReqsRequest](#services-docstore-ListDocumentReqsRequest) | [ListDocumentReqsResponse](#services-docstore-ListDocumentReqsResponse) | @perm | +| CreateDocumentReq | [CreateDocumentReqRequest](#services-docstore-CreateDocumentReqRequest) | [CreateDocumentReqResponse](#services-docstore-CreateDocumentReqResponse) | @perm: Attrs=Types/StringList:[]string{"Access", "Closure", "Update", "Deletion", "OwnerChange"} | +| UpdateDocumentReq | [UpdateDocumentReqRequest](#services-docstore-UpdateDocumentReqRequest) | [UpdateDocumentReqResponse](#services-docstore-UpdateDocumentReqResponse) | @perm: Name=CreateDocumentReq | +| DeleteDocumentReq | [DeleteDocumentReqRequest](#services-docstore-DeleteDocumentReqRequest) | [DeleteDocumentReqResponse](#services-docstore-DeleteDocumentReqResponse) | @perm | +| ListUserDocuments | [ListUserDocumentsRequest](#services-docstore-ListUserDocumentsRequest) | [ListUserDocumentsResponse](#services-docstore-ListUserDocumentsResponse) | @perm | +| ListCategories | [ListCategoriesRequest](#services-docstore-ListCategoriesRequest) | [ListCategoriesResponse](#services-docstore-ListCategoriesResponse) | @perm | +| CreateCategory | [CreateCategoryRequest](#services-docstore-CreateCategoryRequest) | [CreateCategoryResponse](#services-docstore-CreateCategoryResponse) | @perm | +| UpdateCategory | [UpdateCategoryRequest](#services-docstore-UpdateCategoryRequest) | [UpdateCategoryResponse](#services-docstore-UpdateCategoryResponse) | @perm: Name=CreateCategory | +| DeleteCategory | [DeleteCategoryRequest](#services-docstore-DeleteCategoryRequest) | [DeleteCategoryResponse](#services-docstore-DeleteCategoryResponse) | @perm | + + + + + + +

Top

+ +## services/jobs/conduct.proto + + + + + +### CreateConductEntryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + +### CreateConductEntryResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + +### DeleteConductEntryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteConductEntryResponse + + + + + + + + + +### ListConductEntriesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| types | [resources.jobs.ConductType](#resources-jobs-ConductType) | repeated | Search params | +| show_expired | [bool](#bool) | optional | | +| user_ids | [int32](#int32) | repeated | | + + + + + + + + +### ListConductEntriesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| entries | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | repeated | | + + + + + + + + +### UpdateConductEntryRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + +### UpdateConductEntryResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [resources.jobs.ConductEntry](#resources-jobs-ConductEntry) | | | + + + + + + + + + + + + + + +### JobsConductService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListConductEntries | [ListConductEntriesRequest](#services-jobs-ListConductEntriesRequest) | [ListConductEntriesResponse](#services-jobs-ListConductEntriesResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "All"} | +| CreateConductEntry | [CreateConductEntryRequest](#services-jobs-CreateConductEntryRequest) | [CreateConductEntryResponse](#services-jobs-CreateConductEntryResponse) | @perm | +| UpdateConductEntry | [UpdateConductEntryRequest](#services-jobs-UpdateConductEntryRequest) | [UpdateConductEntryResponse](#services-jobs-UpdateConductEntryResponse) | @perm | +| DeleteConductEntry | [DeleteConductEntryRequest](#services-jobs-DeleteConductEntryRequest) | [DeleteConductEntryResponse](#services-jobs-DeleteConductEntryResponse) | @perm | + + + + + + +

Top

+ +## services/jobs/jobs.proto + + + + + +### GetColleagueRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | | | + + + + + + + + +### GetColleagueResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | + + + + + + + + +### GetMOTDRequest + + + + + + + + + +### GetMOTDResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| motd | [string](#string) | | | + + + + + + + + +### GetSelfRequest + + + + + + + + + +### GetSelfResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| colleague | [resources.jobs.Colleague](#resources-jobs-Colleague) | | | + + + + + + + + +### ListColleagueActivityRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_ids | [int32](#int32) | repeated | | + + + + + + + + +### ListColleagueActivityResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| activity | [resources.jobs.JobsUserActivity](#resources-jobs-JobsUserActivity) | repeated | | + + + + + + + + +### ListColleaguesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| search | [string](#string) | | Search params | +| user_id | [int32](#int32) | optional | | +| absent | [bool](#bool) | optional | | + + + + + + + + +### ListColleaguesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | + + + + + + + + +### SetJobsUserPropsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | +| reason | [string](#string) | | @sanitize | + + + + + + + + +### SetJobsUserPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| props | [resources.jobs.JobsUserProps](#resources-jobs-JobsUserProps) | | | + + + + + + + + +### SetMOTDRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| motd | [string](#string) | | @sanitize: method=StripTags | + + + + + + + + +### SetMOTDResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| motd | [string](#string) | | | + + + + + + + + + + + + + + +### JobsService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListColleagues | [ListColleaguesRequest](#services-jobs-ListColleaguesRequest) | [ListColleaguesResponse](#services-jobs-ListColleaguesResponse) | @perm | +| GetSelf | [GetSelfRequest](#services-jobs-GetSelfRequest) | [GetSelfResponse](#services-jobs-GetSelfResponse) | @perm: Name=ListColleagues | +| GetColleague | [GetColleagueRequest](#services-jobs-GetColleagueRequest) | [GetColleagueResponse](#services-jobs-GetColleagueResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ListColleagueActivity | [ListColleagueActivityRequest](#services-jobs-ListColleagueActivityRequest) | [ListColleagueActivityResponse](#services-jobs-ListColleagueActivityResponse) | @perm: Attrs=Types/StringList:[]string{"HIRED", "FIRED", "PROMOTED", "DEMOTED", "ABSENCE_DATE"} | +| SetJobsUserProps | [SetJobsUserPropsRequest](#services-jobs-SetJobsUserPropsRequest) | [SetJobsUserPropsResponse](#services-jobs-SetJobsUserPropsResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| GetMOTD | [GetMOTDRequest](#services-jobs-GetMOTDRequest) | [GetMOTDResponse](#services-jobs-GetMOTDResponse) | @perm: Name=Any | +| SetMOTD | [SetMOTDRequest](#services-jobs-SetMOTDRequest) | [SetMOTDResponse](#services-jobs-SetMOTDResponse) | @perm | + + + + + + +

Top

+ +## services/jobs/timeclock.proto + + + + + +### GetTimeclockStatsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### GetTimeclockStatsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | +| weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | + + + + + + + + +### ListInactiveEmployeesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| days | [int32](#int32) | | | + + + + + + + + +### ListInactiveEmployeesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| colleagues | [resources.jobs.Colleague](#resources-jobs-Colleague) | repeated | | + + + + + + + + +### ListTimeclockRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_ids | [int32](#int32) | repeated | Search | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| per_day | [bool](#bool) | optional | | + + + + + + + + +### ListTimeclockResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| entries | [resources.jobs.TimeclockEntry](#resources-jobs-TimeclockEntry) | repeated | | +| stats | [resources.jobs.TimeclockStats](#resources-jobs-TimeclockStats) | | | +| weekly | [resources.jobs.TimeclockWeeklyStats](#resources-jobs-TimeclockWeeklyStats) | repeated | | + + + + + + + + + + + + + + +### JobsTimeclockService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListTimeclock | [ListTimeclockRequest](#services-jobs-ListTimeclockRequest) | [ListTimeclockResponse](#services-jobs-ListTimeclockResponse) | @perm: Attrs=Access/StringList:[]string{"All"} | +| GetTimeclockStats | [GetTimeclockStatsRequest](#services-jobs-GetTimeclockStatsRequest) | [GetTimeclockStatsResponse](#services-jobs-GetTimeclockStatsResponse) | @perm: Name=ListTimeclock | +| ListInactiveEmployees | [ListInactiveEmployeesRequest](#services-jobs-ListInactiveEmployeesRequest) | [ListInactiveEmployeesResponse](#services-jobs-ListInactiveEmployeesResponse) | @perm | + + + + + + +

Top

+ +## services/livemapper/livemap.proto + + + + + +### CreateOrUpdateMarkerRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | + + + + + + + + +### CreateOrUpdateMarkerResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| marker | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | | | + + + + + + + + +### DeleteMarkerRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteMarkerResponse + + + + + + + + + +### JobsList + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| users | [resources.users.Job](#resources-users-Job) | repeated | | +| markers | [resources.users.Job](#resources-users-Job) | repeated | | + + + + + + + + +### MarkerMarkersUpdates + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| markers | [resources.livemap.MarkerMarker](#resources-livemap-MarkerMarker) | repeated | | + + + + + + + + +### StreamRequest + + + + + + + + + +### StreamResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| jobs | [JobsList](#services-livemapper-JobsList) | | | +| markers | [MarkerMarkersUpdates](#services-livemapper-MarkerMarkersUpdates) | | | +| users | [UserMarkersUpdates](#services-livemapper-UserMarkersUpdates) | | | + + + + + + + + +### UserMarkersUpdates + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| users | [resources.livemap.UserMarker](#resources-livemap-UserMarker) | repeated | | +| part | [int32](#int32) | | | + + + + + + + + + + + + + + +### LivemapperService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| Stream | [StreamRequest](#services-livemapper-StreamRequest) | [StreamResponse](#services-livemapper-StreamResponse) stream | @perm: Attrs=Markers/JobList|Players/JobGradeList | +| CreateOrUpdateMarker | [CreateOrUpdateMarkerRequest](#services-livemapper-CreateOrUpdateMarkerRequest) | [CreateOrUpdateMarkerResponse](#services-livemapper-CreateOrUpdateMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteMarker | [DeleteMarkerRequest](#services-livemapper-DeleteMarkerRequest) | [DeleteMarkerResponse](#services-livemapper-DeleteMarkerResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | + + + + + + +

Top

+ +## services/notificator/notificator.proto + + + + + +### GetNotificationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| include_read | [bool](#bool) | optional | | + + + + + + + + +### GetNotificationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| notifications | [resources.notifications.Notification](#resources-notifications-Notification) | repeated | | + + + + + + + + +### MarkNotificationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| ids | [uint64](#uint64) | repeated | | +| all | [bool](#bool) | optional | | + + + + + + + + +### MarkNotificationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updated | [uint64](#uint64) | | | + + + + + + + + +### StreamRequest + + + + + + + + + +### StreamResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| notification_count | [int32](#int32) | | | +| restart | [bool](#bool) | optional | | +| notification | [resources.notifications.Notification](#resources-notifications-Notification) | | | +| token | [TokenUpdate](#services-notificator-TokenUpdate) | | | + + + + + + + + +### TokenUpdate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| new_token | [string](#string) | optional | | +| expires | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | | | +| permissions | [string](#string) | repeated | | +| user_info | [resources.users.User](#resources-users-User) | optional | | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | optional | | + + + + + + + + + + + + + + +### NotificatorService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetNotifications | [GetNotificationsRequest](#services-notificator-GetNotificationsRequest) | [GetNotificationsResponse](#services-notificator-GetNotificationsResponse) | @perm: Name=Any | +| MarkNotifications | [MarkNotificationsRequest](#services-notificator-MarkNotificationsRequest) | [MarkNotificationsResponse](#services-notificator-MarkNotificationsResponse) | @perm: Name=Any | +| Stream | [StreamRequest](#services-notificator-StreamRequest) | [StreamResponse](#services-notificator-StreamResponse) stream | @perm: Name=Any | + + + + + + +

Top

+ +## services/rector/config.proto + + + + + +### GetAppConfigRequest + + + + + + + + + +### GetAppConfigResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | + + + + + + + + +### UpdateAppConfigRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | + + + + + + + + +### UpdateAppConfigResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| config | [resources.rector.AppConfig](#resources-rector-AppConfig) | | | + + + + + + + + + + + + + + +### RectorConfigService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetAppConfig | [GetAppConfigRequest](#services-rector-GetAppConfigRequest) | [GetAppConfigResponse](#services-rector-GetAppConfigResponse) | @perm: Name=SuperUser | +| UpdateAppConfig | [UpdateAppConfigRequest](#services-rector-UpdateAppConfigRequest) | [UpdateAppConfigResponse](#services-rector-UpdateAppConfigResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/rector/filestore.proto + + + + + +### DeleteFileRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| path | [string](#string) | | | + + + + + + + + +### DeleteFileResponse + + + + + + + + + +### ListFilesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| path | [string](#string) | optional | | + + + + + + + + +### ListFilesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| files | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | repeated | | + + + + + + + + +### UploadFileRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| prefix | [string](#string) | | | +| name | [string](#string) | | | +| file | [resources.filestore.File](#resources-filestore-File) | | | + + + + + + + + +### UploadFileResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| file | [resources.filestore.FileInfo](#resources-filestore-FileInfo) | | | + + + + + + + + + + + + + + +### RectorFilestoreService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListFiles | [ListFilesRequest](#services-rector-ListFilesRequest) | [ListFilesResponse](#services-rector-ListFilesResponse) | @perm: Name=SuperUser | +| UploadFile | [UploadFileRequest](#services-rector-UploadFileRequest) | [UploadFileResponse](#services-rector-UploadFileResponse) | @perm: Name=SuperUser | +| DeleteFile | [DeleteFileRequest](#services-rector-DeleteFileRequest) | [DeleteFileResponse](#services-rector-DeleteFileResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/rector/laws.proto + + + + + +### CreateOrUpdateLawBookRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | + + + + + + + + +### CreateOrUpdateLawBookResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| lawBook | [resources.laws.LawBook](#resources-laws-LawBook) | | | + + + + + + + + +### CreateOrUpdateLawRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| law | [resources.laws.Law](#resources-laws-Law) | | | + + + + + + + + +### CreateOrUpdateLawResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| law | [resources.laws.Law](#resources-laws-Law) | | | + + + + + + + + +### DeleteLawBookRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteLawBookResponse + + + + + + + + + +### DeleteLawRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteLawResponse + + + + + + + + + + + + + + + +### RectorLawsService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| CreateOrUpdateLawBook | [CreateOrUpdateLawBookRequest](#services-rector-CreateOrUpdateLawBookRequest) | [CreateOrUpdateLawBookResponse](#services-rector-CreateOrUpdateLawBookResponse) | @perm: Name=SuperUser | +| DeleteLawBook | [DeleteLawBookRequest](#services-rector-DeleteLawBookRequest) | [DeleteLawBookResponse](#services-rector-DeleteLawBookResponse) | @perm: Name=SuperUser | +| CreateOrUpdateLaw | [CreateOrUpdateLawRequest](#services-rector-CreateOrUpdateLawRequest) | [CreateOrUpdateLawResponse](#services-rector-CreateOrUpdateLawResponse) | @perm: Name=SuperUser | +| DeleteLaw | [DeleteLawRequest](#services-rector-DeleteLawRequest) | [DeleteLawResponse](#services-rector-DeleteLawResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/rector/rector.proto + + + + + +### AttrsUpdate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to_update | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | +| to_remove | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | + + + + + + + + +### CreateRoleRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job | [string](#string) | | | +| grade | [int32](#int32) | | | + + + + + + + + +### CreateRoleResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role | [resources.permissions.Role](#resources-permissions-Role) | | | + + + + + + + + +### DeleteRoleRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | + + + + + + + + +### DeleteRoleResponse + + + + + + + + + +### GetJobPropsRequest + + + + + + + + + +### GetJobPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | + + + + + + + + +### GetPermissionsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| filtered | [bool](#bool) | optional | | + + + + + + + + +### GetPermissionsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| permissions | [resources.permissions.Permission](#resources-permissions-Permission) | repeated | | +| attributes | [resources.permissions.RoleAttribute](#resources-permissions-RoleAttribute) | repeated | | + + + + + + + + +### GetRoleRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| filtered | [bool](#bool) | optional | | + + + + + + + + +### GetRoleResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role | [resources.permissions.Role](#resources-permissions-Role) | | | + + + + + + + + +### GetRolesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| lowest_rank | [bool](#bool) | optional | | + + + + + + + + +### GetRolesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| roles | [resources.permissions.Role](#resources-permissions-Role) | repeated | | + + + + + + + + +### PermItem + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| val | [bool](#bool) | | | + + + + + + + + +### PermsUpdate + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| to_update | [PermItem](#services-rector-PermItem) | repeated | | +| to_remove | [uint64](#uint64) | repeated | | + + + + + + + + +### SetJobPropsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | + + + + + + + + +### SetJobPropsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| job_props | [resources.users.JobProps](#resources-users-JobProps) | | | + + + + + + + + +### UpdateRoleLimitsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| role_id | [uint64](#uint64) | | | +| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | +| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | + + + + + + + + +### UpdateRoleLimitsResponse + + + + + + + + + +### UpdateRolePermsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [uint64](#uint64) | | | +| perms | [PermsUpdate](#services-rector-PermsUpdate) | optional | | +| attrs | [AttrsUpdate](#services-rector-AttrsUpdate) | optional | | + + + + + + + + +### UpdateRolePermsResponse + + + + + + + + + +### ViewAuditLogRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| user_ids | [int32](#int32) | repeated | | +| from | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| to | [resources.timestamp.Timestamp](#resources-timestamp-Timestamp) | optional | | +| service | [string](#string) | optional | | +| method | [string](#string) | optional | | +| search | [string](#string) | optional | | + + + + + + + + +### ViewAuditLogResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| logs | [resources.rector.AuditEntry](#resources-rector-AuditEntry) | repeated | | + + + + + + + + + + + + + + +### RectorService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetJobProps | [GetJobPropsRequest](#services-rector-GetJobPropsRequest) | [GetJobPropsResponse](#services-rector-GetJobPropsResponse) | @perm | +| SetJobProps | [SetJobPropsRequest](#services-rector-SetJobPropsRequest) | [SetJobPropsResponse](#services-rector-SetJobPropsResponse) | @perm | +| GetRoles | [GetRolesRequest](#services-rector-GetRolesRequest) | [GetRolesResponse](#services-rector-GetRolesResponse) | @perm | +| GetRole | [GetRoleRequest](#services-rector-GetRoleRequest) | [GetRoleResponse](#services-rector-GetRoleResponse) | @perm: Name=GetRoles | +| CreateRole | [CreateRoleRequest](#services-rector-CreateRoleRequest) | [CreateRoleResponse](#services-rector-CreateRoleResponse) | @perm | +| DeleteRole | [DeleteRoleRequest](#services-rector-DeleteRoleRequest) | [DeleteRoleResponse](#services-rector-DeleteRoleResponse) | @perm | +| UpdateRolePerms | [UpdateRolePermsRequest](#services-rector-UpdateRolePermsRequest) | [UpdateRolePermsResponse](#services-rector-UpdateRolePermsResponse) | @perm | +| GetPermissions | [GetPermissionsRequest](#services-rector-GetPermissionsRequest) | [GetPermissionsResponse](#services-rector-GetPermissionsResponse) | @perm: Name=GetRoles | +| ViewAuditLog | [ViewAuditLogRequest](#services-rector-ViewAuditLogRequest) | [ViewAuditLogResponse](#services-rector-ViewAuditLogResponse) | @perm | +| UpdateRoleLimits | [UpdateRoleLimitsRequest](#services-rector-UpdateRoleLimitsRequest) | [UpdateRoleLimitsResponse](#services-rector-UpdateRoleLimitsResponse) | @perm: Name=SuperUser | + + + + + + +

Top

+ +## services/qualifications/qualifications.proto + + + + + +### CreateOrUpdateQualificationRequestRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | + + + + + + + + +### CreateOrUpdateQualificationRequestResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | | | + + + + + + + + +### CreateOrUpdateQualificationResultRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | + + + + + + + + +### CreateOrUpdateQualificationResultResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| result | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | | | + + + + + + + + +### CreateQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | + + + + + + + + +### CreateQualificationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteQualificationReqRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | +| user_id | [int32](#int32) | | | + + + + + + + + +### DeleteQualificationReqResponse + + + + + + + + + +### DeleteQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteQualificationResponse + + + + + + + + + +### DeleteQualificationResultRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| result_id | [uint64](#uint64) | | | + + + + + + + + +### DeleteQualificationResultResponse + + + + + + + + + +### GetQualificationAccessRequest +Access ===================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### GetQualificationAccessResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | + + + + + + + + +### GetQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + +### GetQualificationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | + + + + + + + + +### ListQualificationRequestsRequest +Requests =================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| qualification_id | [uint64](#uint64) | optional | Search params | +| status | [resources.qualifications.RequestStatus](#resources-qualifications-RequestStatus) | repeated | | + + + + + + + + +### ListQualificationRequestsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| requests | [resources.qualifications.QualificationRequest](#resources-qualifications-QualificationRequest) | repeated | | + + + + + + + + +### ListQualificationsRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| search | [string](#string) | optional | Search params | + + + + + + + + +### ListQualificationsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| qualifications | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | repeated | | + + + + + + + + +### ListQualificationsResultsRequest +Results ==================================================================== + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationRequest](#resources-common-database-PaginationRequest) | | | +| qualification_id | [uint64](#uint64) | optional | Search params | +| status | [resources.qualifications.ResultStatus](#resources-qualifications-ResultStatus) | repeated | | +| user_id | [int32](#int32) | optional | | + + + + + + + + +### ListQualificationsResultsResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| pagination | [resources.common.database.PaginationResponse](#resources-common-database-PaginationResponse) | | | +| results | [resources.qualifications.QualificationResult](#resources-qualifications-QualificationResult) | repeated | | + + + + + + + + +### SetQualificationAccessRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | +| mode | [resources.qualifications.AccessLevelUpdateMode](#resources-qualifications-AccessLevelUpdateMode) | | | +| access | [resources.qualifications.QualificationAccess](#resources-qualifications-QualificationAccess) | | | + + + + + + + + +### SetQualificationAccessResponse + + + + + + + + + +### UpdateQualificationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification | [resources.qualifications.Qualification](#resources-qualifications-Qualification) | | | + + + + + + + + +### UpdateQualificationResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| qualification_id | [uint64](#uint64) | | | + + + + + + + + + + + + + + +### QualificationsService + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| ListQualifications | [ListQualificationsRequest](#services-qualifications-ListQualificationsRequest) | [ListQualificationsResponse](#services-qualifications-ListQualificationsResponse) | @perm | +| GetQualification | [GetQualificationRequest](#services-qualifications-GetQualificationRequest) | [GetQualificationResponse](#services-qualifications-GetQualificationResponse) | @perm | +| CreateQualification | [CreateQualificationRequest](#services-qualifications-CreateQualificationRequest) | [CreateQualificationResponse](#services-qualifications-CreateQualificationResponse) | @perm | +| UpdateQualification | [UpdateQualificationRequest](#services-qualifications-UpdateQualificationRequest) | [UpdateQualificationResponse](#services-qualifications-UpdateQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| DeleteQualification | [DeleteQualificationRequest](#services-qualifications-DeleteQualificationRequest) | [DeleteQualificationResponse](#services-qualifications-DeleteQualificationResponse) | @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"} | +| ListQualificationRequests | [ListQualificationRequestsRequest](#services-qualifications-ListQualificationRequestsRequest) | [ListQualificationRequestsResponse](#services-qualifications-ListQualificationRequestsResponse) | @perm: Name=GetQualification | +| CreateOrUpdateQualificationRequest | [CreateOrUpdateQualificationRequestRequest](#services-qualifications-CreateOrUpdateQualificationRequestRequest) | [CreateOrUpdateQualificationRequestResponse](#services-qualifications-CreateOrUpdateQualificationRequestResponse) | @perm: Name=GetQualification | +| DeleteQualificationReq | [DeleteQualificationReqRequest](#services-qualifications-DeleteQualificationReqRequest) | [DeleteQualificationReqResponse](#services-qualifications-DeleteQualificationReqResponse) | @perm | +| ListQualificationsResults | [ListQualificationsResultsRequest](#services-qualifications-ListQualificationsResultsRequest) | [ListQualificationsResultsResponse](#services-qualifications-ListQualificationsResultsResponse) | @perm: Name=GetQualification | +| CreateOrUpdateQualificationResult | [CreateOrUpdateQualificationResultRequest](#services-qualifications-CreateOrUpdateQualificationResultRequest) | [CreateOrUpdateQualificationResultResponse](#services-qualifications-CreateOrUpdateQualificationResultResponse) | @perm | +| DeleteQualificationResult | [DeleteQualificationResultRequest](#services-qualifications-DeleteQualificationResultRequest) | [DeleteQualificationResultResponse](#services-qualifications-DeleteQualificationResultResponse) | @perm | + + + + + +## Scalar Value Types + +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | +| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | +| double | | double | double | float | float64 | double | float | Float | +| float | | float | float | float | float32 | float | float | Float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | +| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | + diff --git a/lang/de.json b/lang/de.json new file mode 100644 index 000000000..dbc2fcdd4 --- /dev/null +++ b/lang/de.json @@ -0,0 +1,96 @@ +{ + "pages": { + "index": { + "welcome": "Willkommen bei FiveNet!", + "subtext": "Von der Suche in der Bürger- und Fahrzeugdatenbank des Staates über das Ausfüllen von Dokumenten für Untersuchungen, Gerichtsverfahren und einer Karte Ihrer Kollegen und Einsätze. All das und mehr ist (weitestgehend) in diesem Netzwerk, dem FiveNet, bereit.", + "whats_new_in": "Siehe die Neuerungen in Version {version}", + "logos": "Von großen RP-Communities genutzt" + }, + "notfound": { + "go_back": "Zurück zur Startseite" + } + }, + "copyright": "Copyright © {year} Galexrt Alle Rechte vorbehalten.", + "common": { + "home": "Startseite", + "docs": "Dokumentation", + "toc": "Table of Contents", + "community": "Community", + "language": "Sprache", + "close": "Schließen", + "decline": "Ablehnen", + "accept": "Akzeptieren", + "imprint": "Impressum", + "privacy_policy": "Datenschutzerklärung" + }, + "notifications": { + "language_switched": { + "title": "Sprache gewechselt", + "content": "Sprache wird zu {name} gewechselt." + } + }, + "docs": { + "toc": { + "bottom": { + "edit": "Editier die Seite", + "star": "Star on GitHub" + } + }, + "hero": { + "title": "Brauchen Sie Hilfe mit FiveNet?", + "description": "Lesen Sie hier die Dokumentation, um mehr über die verfügbaren Funktionen zu erfahren." + }, + "features": { + "title": "Funktionalitäten von FiveNet", + "links": { + "explore": { + "label": "Entdecke FiveNet" + } + }, + "items": { + "citizens": { + "title": "Search Citizens", + "description": "Suche und finde Informationen über Bürger, einschließlich grundlegender Informationen, Lizenzen und zugehörigen Dokumenten." + }, + "vehicles": { + "title": "Fahrzeug-Datenbank", + "description": "Suche und finde Informationen zu Fahrzeugen." + }, + "documents": { + "title": "Dokumenten-Management", + "description": "Suche, erstelle und verwalte Dokumente, entweder mit Vorlagen oder von Grund auf neu." + }, + "jobs": { + "title": "Mitarbeiterübersicht", + "description": "Infos über deinen Job und Mitarbeitermanagement (e.g., Führungsregister, Stempeluhr)." + }, + "livemap": { + "title": "Livemap", + "description": "Live-Positionen von Einsätzen und Kollegen." + }, + "centrum": { + "title": "Leitstelle", + "description": "Leitstelle, für das Zuweisen von Einsätze." + }, + "i18n": { + "title": "Mehrsprachiges UI", + "description": "Mehrere Sprachen für die UI verfügbar." + }, + "nuxt3_ui": { + "title": "Nuxt 3 + Nuxt UI Pro", + "description": "Powered by Nuxt 3 und Nuxt UI Pro, für optimale Leistung." + } + } + } + }, + "components": { + "CookieControl": { + "title": "Wir nutzen Cookies!", + "subtitle": "Der Hauptzweck unserer Cookies besteht darin, für analytische Zwecke Navigationen auf der Website zu tracken.", + "description": "Der beste Weg die Website Daten zu entfernen, ist es die Browser-eigene \"Website Daten löschen\"-Funktion zu nutzen." + }, + "language_switcher": { + "title": "Sprache wechseln" + } + } +} \ No newline at end of file diff --git a/lang/en.json b/lang/en.json new file mode 100644 index 000000000..a2bddf92c --- /dev/null +++ b/lang/en.json @@ -0,0 +1,96 @@ +{ + "pages": { + "index": { + "welcome": "Welcome to FiveNet!", + "subtext": "From searching the state's citizen and vehicles database, filling documents for investigations, court, and a map of your colleagues and dispatches. All that and more is (mostly) ready in this net, the FiveNet.", + "whats_new_in": "See what's new in {version}", + "logos": "Used by great RP Communities" + }, + "notfound": { + "go_back": "Go back home" + } + }, + "copyright": "Copyright © {year} Galexrt All rights reserved.", + "common": { + "home": "Home", + "docs": "Documentation", + "toc": "Table of Contents", + "community": "Community", + "language": "Language", + "close": "Close", + "decline": "Decline", + "accept": "Accept", + "imprint": "Imprint", + "privacy_policy": "Privacy Policy" + }, + "notifications": { + "language_switched": { + "title": "Language switched", + "content": "The language will be switched to {name}." + } + }, + "docs": { + "toc": { + "bottom": { + "edit": "Edit this page", + "star": "Star on GitHub" + } + }, + "hero": { + "title": "Need help with FiveNet?", + "description": "Checkout the documentation here to learn about the available features." + }, + "features": { + "title": "Features of FiveNet", + "links": { + "explore": { + "label": "Explore FiveNet" + } + }, + "items": { + "citizens": { + "title": "Search Citizens", + "description": "Search and find information about Citizens, including basic info, their licenses and related documents." + }, + "vehicles": { + "title": "Vehicle Register", + "description": "Search and find information about Vehicles." + }, + "documents": { + "title": "Document Management", + "description": "Search, create and manage Documents, using templates or from scratch." + }, + "jobs": { + "title": "Jobs", + "description": "Infos about your job and employee management (e.g., conduct register, timeclock)." + }, + "livemap": { + "title": "Livemap", + "description": "Live position of dispatches and your colleagues." + }, + "centrum": { + "title": "Dispatch Center", + "description": "Dispatch Center, for dispatching Dispatches to colleagues, managing units and dispatches." + }, + "i18n": { + "title": "Multi-Language UI", + "description": "Multiple languages available for the UI." + }, + "nuxt3_ui": { + "title": "Nuxt 3 + Nuxt UI Pro", + "description": "Powered by Nuxt 3 and Nuxt UI Pro for optimal performance." + } + } + } + }, + "components": { + "CookieControl": { + "title": "We use cookies!", + "subtitle": "The main purpose of our cookies is to have a basic user tracking for analytical purposes.", + "description": "The best way to remove this websites data is to use the clear website data function of your browser." + }, + "language_switcher": { + "title": "Switch language" + } + } +} \ No newline at end of file diff --git a/layouts/docs.vue b/layouts/docs.vue new file mode 100644 index 000000000..694485dfc --- /dev/null +++ b/layouts/docs.vue @@ -0,0 +1,23 @@ + + + diff --git a/layouts/landing.vue b/layouts/landing.vue new file mode 100644 index 000000000..eefbfcc94 --- /dev/null +++ b/layouts/landing.vue @@ -0,0 +1,9 @@ + diff --git a/nuxt.config.ts b/nuxt.config.ts new file mode 100644 index 000000000..8b4475615 --- /dev/null +++ b/nuxt.config.ts @@ -0,0 +1,96 @@ +import { STRATEGIES } from 'vue-i18n-routing'; + +const appVersion: string = process.env.COMMIT_REF || 'COMMIT_REF'; + +// https://nuxt.com/docs/api/configuration/nuxt-config +export default defineNuxtConfig({ + telemetry: false, + extends: ['@nuxt/ui-pro'], + modules: [ + '@nuxt/content', + '@nuxt/ui', + '@nuxtjs/i18n', + '@pinia/nuxt', + '@pinia-plugin-persistedstate/nuxt', + '@nuxthq/studio', + 'nuxt-og-image', + ], + hooks: { + // Define `@nuxt/ui` components as global to use them in `.md` (feel free to add those you need) + 'components:extend': (components) => { + const globals = components.filter((c) => ['UButton', 'UIcon'].includes(c.pascalName)); + + globals.forEach((c) => (c.global = true)); + }, + }, + ui: { + icons: ['mdi', 'simple-icons', 'flagpack'], + safelistColors: ['primary', 'malibu'], + }, + routeRules: { + '/api/search.json': { prerender: true }, + }, + devtools: { + enabled: true, + }, + typescript: { + strict: false, + }, + css: [ + // DM Sans font (all weights) + '@fontsource/dm-sans/100.css', + '@fontsource/dm-sans/200.css', + '@fontsource/dm-sans/300.css', + '@fontsource/dm-sans/400.css', + '@fontsource/dm-sans/500.css', + '@fontsource/dm-sans/600.css', + '@fontsource/dm-sans/700.css', + '@fontsource/dm-sans/800.css', + '@fontsource/dm-sans/900.css', + ], + vite: { + define: { + __APP_VERSION__: `"${appVersion}"`, + }, + }, + i18n: { + strategy: STRATEGIES.PREFIX_EXCEPT_DEFAULT, + detectBrowserLanguage: { + useCookie: false, + }, + skipSettingLocaleOnNavigate: true, + locales: [ + { + name: 'English', + dir: 'ltr', + isCatchallLocale: true, + code: 'en', + iso: 'en', + files: ['en.json'], + icon: 'i-flagpack-gb-ukm', + }, + { + name: 'German', + code: 'de', + iso: 'de', + files: ['de.json'], + icon: 'i-flagpack-de', + }, + ], + debug: false, + lazy: true, + langDir: './lang', + defaultLocale: 'en', + defaultDirection: 'ltr', + baseUrl: '', + trailingSlash: false, + compilation: { + strictMessage: false, + }, + parallelPlugin: true, + }, + piniaPersistedstate: { + storage: 'localStorage', + debug: false, + }, +}); diff --git a/nuxt.schema.ts b/nuxt.schema.ts new file mode 100644 index 000000000..faf1e1117 --- /dev/null +++ b/nuxt.schema.ts @@ -0,0 +1,218 @@ +import { field, group } from '@nuxthq/studio/theme' + +export default defineNuxtSchema({ + appConfig: { + ui: group({ + title: 'UI', + description: 'UI Customization.', + icon: 'i-mdi-palette-outline', + fields: { + icons: group({ + title: 'Icons', + description: 'Manage icons used in UI Pro.', + icon: 'i-mdi-application-settings-outline', + fields: { + search: field({ + type: 'icon', + title: 'Search Bar', + description: 'Icon to display in the search bar.', + icon: 'i-mdi-magnify', + default: 'i-heroicons-magnifying-glass-20-solid' + }), + dark: field({ + type: 'icon', + title: 'Dark mode', + description: 'Icon of color mode button for dark mode.', + icon: 'i-mdi-moon-waning-crescent', + default: 'i-heroicons-moon-20-solid' + }), + light: field({ + type: 'icon', + title: 'Light mode', + description: 'Icon of color mode button for light mode.', + icon: 'i-mdi-white-balance-sunny', + default: 'i-heroicons-sun-20-solid' + }), + external: field({ + type: 'icon', + title: 'External Link', + description: 'Icon for external link.', + icon: 'i-mdi-arrow-top-right', + default: 'i-heroicons-arrow-up-right-20-solid' + }), + chevron: field({ + type: 'icon', + title: 'Chevron', + description: 'Icon for chevron.', + icon: 'i-mdi-chevron-down', + default: 'i-heroicons-chevron-down-20-solid' + }), + hash: field({ + type: 'icon', + title: 'Hash', + description: 'Icon for hash anchors.', + icon: 'i-ph-hash', + default: 'i-heroicons-hashtag-20-solid' + }) + } + }), + primary: field({ + type: 'string', + title: 'Primary', + description: 'Primary color of your UI.', + icon: 'i-mdi-palette-outline', + default: 'green', + required: ['sky', 'mint', 'rose', 'amber', 'violet', 'emerald', 'fuchsia', 'indigo', 'lime', 'orange', 'pink', 'purple', 'red', 'teal', 'yellow', 'green', 'blue', 'cyan', 'gray', 'white', 'black'] + }), + gray: field({ + type: 'string', + title: 'Gray', + description: 'Gray color of your UI.', + icon: 'i-mdi-palette-outline', + default: 'slate', + required: ['slate', 'cool', 'zinc', 'neutral', 'stone'] + }) + } + }), + seo: group({ + title: 'SEO', + description: 'SEO configuration.', + icon: 'i-ph-app-window', + fields: { + siteName: field({ + type: 'string', + title: 'Site Name', + description: 'Name used in ogSiteName and used as second part of your page title (My page title - Nuxt UI Pro).', + icon: 'i-mdi-web', + default: [] + }) + }, + }), + header: group({ + title: 'Header', + description: 'Header configuration.', + icon: 'i-mdi-page-layout-header', + fields: { + logo: group({ + title: 'Logo', + description: 'Header logo configuration.', + icon: 'i-mdi-image-filter-center-focus-strong-outline', + fields: { + light: field({ + type: 'media', + title: 'Light Mode Logo', + description: 'Pick an image from your gallery.', + icon: 'i-mdi-white-balance-sunny', + default: '' + }), + dark: field({ + type: 'media', + title: 'Dark Mode Logo', + description: 'Pick an image from your gallery.', + icon: 'i-mdi-moon-waning-crescent', + default: '' + }), + alt: field({ + type: 'string', + title: 'Alt', + description: 'Alt to display for accessibility.', + icon: 'i-mdi-alphabet-latin', + default: '' + }) + } + }), + search: field({ + type: 'boolean', + title: 'Search Bar', + description: 'Hide or display the search bar.', + icon: 'i-mdi-magnify', + default: true + }), + colorMode: field({ + type: 'boolean', + title: 'Color Mode', + description: 'Hide or display the color mode button in your header.', + icon: 'i-mdi-moon-waning-crescent', + default: true + }), + links: field({ + type: 'array', + title: 'Links', + description: 'Array of link object displayed in header.', + icon: 'i-mdi-link-variant', + default: [] + }) + }, + }), + footer: group({ + title: 'Footer', + description: 'Footer configuration.', + icon: 'i-mdi-page-layout-footer', + fields: { + credits: field({ + type: 'string', + title: 'Footer credits section', + description: 'Text to display as credits in the footer.', + icon: 'i-mdi-circle-edit-outline', + default: '' + }), + colorMode: field({ + type: 'boolean', + title: 'Color Mode', + description: 'Hide or display the color mode button in the footer.', + icon: 'i-mdi-moon-waning-crescent', + default: false + }), + links: field({ + type: 'array', + title: 'Links', + description: 'Array of link object displayed in footer.', + icon: 'i-mdi-link-variant', + default: [] + }) + } + }), + toc: group({ + title: 'Table of contents', + description: 'TOC configuration.', + icon: 'i-mdi-table-of-contents', + fields: { + title: field({ + type: 'string', + title: 'Title', + description: 'Text to display as title of the main toc.', + icon: 'i-mdi-format-title', + default: '' + }), + bottom: group({ + title: 'Bottom', + description: 'Bottom TOC configuration.', + icon: 'i-mdi-table-of-contents', + fields: { + title: field({ + type: 'string', + title: 'Title', + description: 'Text to display as title of the bottom toc.', + icon: 'i-mdi-format-title', + default: '' + }), + edit: field({ + type: 'string', + title: 'Edit Page Link', + description: 'URL of your repository content folder.', + icon: 'i-ph-note-pencil', + default: '' + }), + links: field({ + type: 'array', + title: 'Links', + description: 'Array of link object displayed in bottom toc.', + icon: 'i-mdi-link-variant', + default: [] + }) + } + }) + } + }) + } +}) diff --git a/package.json b/package.json new file mode 100644 index 000000000..19287223d --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "nuxt-ui-pro-template-docs", + "private": true, + "type": "module", + "scripts": { + "build": "COMMIT_REF=$(git describe --tags --exclude='fivenet-*') nuxt build", + "dev": "COMMIT_REF=$(git describe --tags --exclude='fivenet-*') nuxt dev", + "generate": "COMMIT_REF=$(git describe --tags --exclude='fivenet-*') nuxt generate", + "preview": "COMMIT_REF=$(git describe --tags --exclude='fivenet-*') nuxt preview", + "postinstall": "COMMIT_REF=$(git describe --tags --exclude='fivenet-*') nuxt prepare", + "lint": "eslint .", + "typecheck": "nuxt typecheck" + }, + "dependencies": { + "@fontsource/dm-sans": "^5.0.20", + "@iconify-json/flagpack": "^1.1.14", + "@iconify-json/mdi": "^1.1.66", + "@iconify-json/simple-icons": "^1.1.99", + "@nuxt/content": "^2.12.1", + "@nuxt/ui-pro": "^1.1.0", + "emoji-blast": "^0.10.0", + "nuxt": "^3.11.2", + "nuxt-og-image": "^2.2.4" + }, + "devDependencies": { + "@nuxt/eslint-config": "^0.3.8", + "@nuxthq/studio": "^1.0.13", + "@nuxtjs/i18n": "^8.3.0", + "@pinia-plugin-persistedstate/nuxt": "^1.2.0", + "@pinia/nuxt": "^0.5.1", + "eslint": "^9.0.0", + "vue-i18n-routing": "^1.2.0", + "vue-tsc": "^2.0.13" + } +} diff --git a/pages/[...slug].vue b/pages/[...slug].vue new file mode 100644 index 000000000..36e933551 --- /dev/null +++ b/pages/[...slug].vue @@ -0,0 +1,82 @@ + + + diff --git a/pages/index.vue b/pages/index.vue new file mode 100644 index 000000000..6660f646f --- /dev/null +++ b/pages/index.vue @@ -0,0 +1,119 @@ + + + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 000000000..6002af197 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,12825 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@fontsource/dm-sans': + specifier: ^5.0.20 + version: 5.0.20 + '@iconify-json/flagpack': + specifier: ^1.1.14 + version: 1.1.14 + '@iconify-json/mdi': + specifier: ^1.1.66 + version: 1.1.66 + '@iconify-json/simple-icons': + specifier: ^1.1.99 + version: 1.1.99 + '@nuxt/content': + specifier: ^2.12.1 + version: 2.12.1(ioredis@5.3.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)) + '@nuxt/ui-pro': + specifier: ^1.1.0 + version: 1.1.0(focus-trap@7.5.4)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + emoji-blast: + specifier: ^0.10.0 + version: 0.10.0 + nuxt: + specifier: ^3.11.2 + version: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)) + nuxt-og-image: + specifier: ^2.2.4 + version: 2.2.4(@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)))(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(@vue/compiler-core@3.4.21)(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))(webpack@5.91.0) + devDependencies: + '@nuxt/eslint-config': + specifier: ^0.3.8 + version: 0.3.8(eslint@9.0.0)(typescript@5.4.4) + '@nuxthq/studio': + specifier: ^1.0.13 + version: 1.0.13(rollup@4.14.1) + '@nuxtjs/i18n': + specifier: ^8.3.0 + version: 8.3.0(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)) + '@pinia-plugin-persistedstate/nuxt': + specifier: ^1.2.0 + version: 1.2.0(@pinia/nuxt@0.5.1(rollup@4.14.1)(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)))(pinia@2.1.7(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)))(rollup@4.14.1) + '@pinia/nuxt': + specifier: ^0.5.1 + version: 0.5.1(rollup@4.14.1)(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)) + eslint: + specifier: ^9.0.0 + version: 9.0.0 + vue-i18n-routing: + specifier: ^1.2.0 + version: 1.2.0(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4)))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.4)))(vue@3.4.21(typescript@5.4.4)) + vue-tsc: + specifier: ^2.0.13 + version: 2.0.13(typescript@5.4.4) + +packages: + + '@aashutoshrathi/word-wrap@1.2.6': + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@antfu/install-pkg@0.1.1': + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + + '@antfu/utils@0.7.7': + resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} + + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.4': + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.4': + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.4': + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.22.5': + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.23.6': + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.24.4': + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-environment-visitor@7.22.20': + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.23.0': + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.22.5': + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.23.0': + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.22.15': + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.3': + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.23.3': + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.22.5': + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.0': + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.24.1': + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.22.5': + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.22.6': + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.1': + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.22.20': + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.23.5': + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.4': + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.4': + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-proposal-decorators@7.24.1': + resolution: {integrity: sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-decorators@7.24.1': + resolution: {integrity: sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.24.1': + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.1': + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.1': + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.1': + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.24.4': + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.24.1': + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.24.4': + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + + '@babel/standalone@7.24.4': + resolution: {integrity: sha512-V4uqWeedadiuiCx5P5OHYJZ1PehdMpcBccNCEptKFGPiZIY3FI5f2ClxUl4r5wZ5U+ohcQ+4KW6jX2K6xXzq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.0': + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.1': + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.0': + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + + '@cloudflare/kv-asset-handler@0.3.1': + resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} + + '@csstools/cascade-layer-name-parser@1.0.9': + resolution: {integrity: sha512-RRqNjxTZDUhx7pxYOBG/AkCVmPS3zYzfE47GEhIGkFuWFTQGJBgWOUUkKNo5MfxIfjDz5/1L3F3rF1oIsYaIpw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.6.1 + '@csstools/css-tokenizer': ^2.2.4 + + '@csstools/css-parser-algorithms@2.6.1': + resolution: {integrity: sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^2.2.4 + + '@csstools/css-tokenizer@2.2.4': + resolution: {integrity: sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==} + engines: {node: ^14 || ^16 || >=18} + + '@csstools/selector-resolve-nested@1.1.0': + resolution: {integrity: sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.13 + + '@csstools/selector-specificity@3.0.3': + resolution: {integrity: sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.13 + + '@csstools/utilities@1.0.0': + resolution: {integrity: sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + + '@egoist/tailwindcss-icons@1.7.4': + resolution: {integrity: sha512-883qx0sqeNb8km7os0w8K6UYue88dbgTWwyEUwW74Bgz0H7t+m7PMIIEvSQ4JqHwA823Qd5ciz+NoTBWKaMYfg==} + peerDependencies: + tailwindcss: '*' + + '@es-joy/jsdoccomment@0.42.0': + resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==} + engines: {node: '>=16'} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/eslintrc@3.0.2': + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.0.0': + resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + + '@floating-ui/core@1.6.0': + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + + '@floating-ui/dom@1.1.1': + resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==} + + '@floating-ui/utils@0.2.1': + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + + '@fontsource/dm-sans@5.0.20': + resolution: {integrity: sha512-0dEHhu/rW9n5AIufDodNwBOrySzZVC+67l5TrYDgpeOmvhiZXvApBQHRC/pUSYLKpdg7rYy2G0q8GFQXO7Kpgg==} + + '@headlessui/tailwindcss@0.2.0': + resolution: {integrity: sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==} + engines: {node: '>=10'} + peerDependencies: + tailwindcss: ^3.0 + + '@headlessui/vue@1.7.19': + resolution: {integrity: sha512-VFjKPybogux/5/QYGSq4zgG/x3RcxId15W8uguAJAjPBxelI23dwjOjTx/mIiMkM/Hd3rzFxcf2aIp56eEWRcA==} + engines: {node: '>=10'} + peerDependencies: + vue: ^3.2.0 + + '@humanwhocodes/config-array@0.12.3': + resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==} + engines: {node: '>=10.10.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + + '@iconify-json/carbon@1.1.31': + resolution: {integrity: sha512-CAvECFfiwGyZmlcuM2JLMRDEN3VsIEZv6lml7Xf+3giQ5oXloADm0b5wiVPFZmONKM5jXERmx+E7YSvAtFJIbw==} + + '@iconify-json/flagpack@1.1.14': + resolution: {integrity: sha512-XtjvjcrNvQgP5FRWBYlaZ32TR4CpNVYFM8wGBtfBw9V7dmw9G0rZU+GcP61+7ZReghEqOby48B/dVPK/81oG0A==} + + '@iconify-json/heroicons@1.1.20': + resolution: {integrity: sha512-puNt1al/rDw8Rb5x8sfk20UA8AQjMskLMh63nSUBj+8I0lQ7LtX+0Qn8wow2xTXTEsynJ9xXLD8Aat53e0qi8A==} + + '@iconify-json/logos@1.1.42': + resolution: {integrity: sha512-/f+frtPm3m3Z30oy8Pk+QqRDkbmAiIaWGPl5CmsCXm15MVfvw9a/V/gD7WzdyuSGAZcFuQaqbHXj92y/n+2ifg==} + + '@iconify-json/mdi@1.1.66': + resolution: {integrity: sha512-7KPF2RVUUWav/hXCM8Ti/smqu3cmgePJpiX9CSkldiL+80+eBRBeKlc4vPOc9jhAItlqIU1vKsbKoPP0JIfgbg==} + + '@iconify-json/ri@1.1.20': + resolution: {integrity: sha512-yScIGjLFBCJKWKskQTWRjNI2Awoq+VRDkRxEsCQvSfdz41n+xkRtFG2K6J1OVI90ClRHfjFC8VJ2+WzxxyFjTQ==} + + '@iconify-json/simple-icons@1.1.99': + resolution: {integrity: sha512-/csVihX/ztkl2j4Vk4JoEJv8DdQHrZafzC5QHe21Y+ztuVglvavjb4yWEn9KQHTitLH2fIMnP8+RSTxu5kdmtw==} + + '@iconify-json/tabler@1.1.109': + resolution: {integrity: sha512-74RaBQZQ0761iFTrgmuSH1fovfx0fBKn+txRbRNbRzfh8XWtlAHqKUc3CzvzATMLnVsSRJDxjG3qY4oWH/+opw==} + + '@iconify/collections@1.0.412': + resolution: {integrity: sha512-LNqjIpJjW4RYTJV3XHbPOwOpuY9eYZLztjrMtm478RE2SfVWqeOs4p3h8hRVN90O49u+rEjnbfp4tvq+TlJSEA==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.22': + resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} + + '@iconify/vue@4.1.1': + resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==} + peerDependencies: + vue: '>=3' + + '@intlify/bundle-utils@7.5.1': + resolution: {integrity: sha512-UovJl10oBIlmYEcWw+VIHdKY5Uv5sdPG0b/b6bOYxGLln3UwB75+2dlc0F3Fsa0RhoznQ5Rp589/BZpABpE4Xw==} + engines: {node: '>= 14.16'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + + '@intlify/core-base@9.11.1': + resolution: {integrity: sha512-qWXBBlEA+DC0CsHkfJiQK9ELm11c9I6lDpodY4FoOf99eMas1R6JR4woPhrfAcrtxFHp1UmXWdrQNKDegSW9IA==} + engines: {node: '>= 16'} + + '@intlify/core@9.11.1': + resolution: {integrity: sha512-mAWVGArvUgY8jw2WVfBndW77VTqU/JMt36KhZtczYtyw6+W3J4fJ/QeoE2ZHXv14GqR2BCsLGaQfTvVHR2/a/w==} + engines: {node: '>= 16'} + + '@intlify/h3@0.5.0': + resolution: {integrity: sha512-cgfrtD3qu3BPJ47gfZ35J2LJpI64Riic0K8NGgid5ilyPXRQTNY7mXlT/B+HZYQg1hmBxKa5G5HJXyAZ4R2H5A==} + engines: {node: '>= 18'} + + '@intlify/message-compiler@9.11.1': + resolution: {integrity: sha512-y/aWx7DkaTKK2qWUw0hVbJpon8+urWXngeqh15DuIXZh6n/V/oPQiO/Ho1hUKbwap6MVMuz0OcnAJvqh3p9YPg==} + engines: {node: '>= 16'} + + '@intlify/shared@9.11.1': + resolution: {integrity: sha512-yuDG82vjgId2oasNRgZ0PKJrF65zlL33MNyITP5itbLcP4AYOR/NcIuD+/DiI+GHXdxASMKJU0ZiITLc6RC+qw==} + engines: {node: '>= 16'} + + '@intlify/unplugin-vue-i18n@3.0.1': + resolution: {integrity: sha512-q1zJhA/WpoLBzAAuKA5/AEp0e+bMOM10ll/HxT4g1VAw/9JhC4TTobP9KobKH90JMZ4U2daLFlYQfKNd29lpqw==} + engines: {node: '>= 14.16'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + vue-i18n-bridge: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + + '@intlify/utils@0.12.0': + resolution: {integrity: sha512-yCBNcuZQ49iInqmWC2xfW0rgEQyNtCM8C8KcWKTXxyscgUE1+48gjLgZZqP75MjhlApxwph7ZMWLqyABkSgxQA==} + engines: {node: '>= 18'} + + '@intlify/vue-i18n-bridge@1.1.0': + resolution: {integrity: sha512-yBwGpr70Rc56pjsPdtvNRi/ju0P9h3670EkCOuxAzKKR5OH61uF9LprLUGmph/Uy2TXBO2DKqpnJBFXyXJQKeg==} + engines: {node: '>= 12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue-i18n: ^8.26.1 || >=9.2.0 + vue-i18n-bridge: '>=9.2.0' + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + + '@intlify/vue-router-bridge@1.1.0': + resolution: {integrity: sha512-EX+KndT9VS3muMdZWFmc99D8nUaWTOXr322a8zNf5HnMCbpbogdifWYW8hat+nVE73St/gcDbPz6u5smVUPoQg==} + engines: {node: '>= 12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue-router: ^4.0.0-0 || ^3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue-router: + optional: true + + '@ioredis/commands@1.2.0': + resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@koa/router@12.0.1': + resolution: {integrity: sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==} + engines: {node: '>= 12'} + + '@kwsites/file-exists@1.1.1': + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + + '@kwsites/promise-deferred@1.1.1': + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + + '@mapbox/node-pre-gyp@1.0.11': + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + + '@miyaneee/rollup-plugin-json5@1.2.0': + resolution: {integrity: sha512-JjTIaXZp9WzhUHpElrqPnl1AzBi/rvRs065F71+aTmlqvTMVkdbjZ8vfFl4nRlgJy+TPBw69ZK4pwFdmOAt4aA==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + + '@netlify/functions@2.6.0': + resolution: {integrity: sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==} + engines: {node: '>=14.0.0'} + + '@netlify/node-cookies@0.1.0': + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} + + '@netlify/serverless-functions-api@1.14.0': + resolution: {integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==} + engines: {node: ^14.18.0 || >=16.0.0} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/agent@2.2.2': + resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/fs@3.1.0': + resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/git@5.0.5': + resolution: {integrity: sha512-x8hXItC8OFOwdgERzRIxg0ic1lQqW6kSZFFQtZTCNYOeGb9UqzVcod02TYljI9UBl4RtfcyQ0A7ygmcGFvEqWw==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/installed-package-contents@2.0.2': + resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + '@npmcli/node-gyp@3.0.0': + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/package-json@5.0.1': + resolution: {integrity: sha512-WdwGsRP/do+94IXEgfD/oGGVn0VDS+wYM8MoXU5tJ+02Ke8ePSobMwnfcCHAfcvU/pFwZxyZYWaJdOBsqXRAbA==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/promise-spawn@7.0.1': + resolution: {integrity: sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/redact@1.1.0': + resolution: {integrity: sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/run-script@7.0.4': + resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@nuxt/content@2.12.1': + resolution: {integrity: sha512-xW4xjyYm6zqglb17Tu0J+rpKUV1PF9zp6SLu1lopylFnerdyImtce84206HT6Zd/DJgivKtoW4dyyJn0ZaSqCQ==} + + '@nuxt/devalue@2.0.2': + resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} + + '@nuxt/devtools-kit@1.1.5': + resolution: {integrity: sha512-Nb/NKFCRtxyqcPD6snB52rXtbRQMjGtn3ncpa8cLWsnoqnkd9emQ4uwV8IwCNxTnqUBtbGU79/TlJ79SKH9TAw==} + peerDependencies: + nuxt: ^3.9.0 + vite: '*' + + '@nuxt/devtools-ui-kit@1.1.5': + resolution: {integrity: sha512-Oj5JzINvkzoEkfeXmtiGKr15SC/LCy09O6EAzHsoJDCD0Kw2z/bPaKuw9k6cb/yKssx3gKqHuWC0+QCQubIg7g==} + peerDependencies: + '@nuxt/devtools': 1.1.5 + + '@nuxt/devtools-wizard@1.1.5': + resolution: {integrity: sha512-bWLgLvYFbYCQYlLPttZaUo58cS1VJo1uEFguHaCwZ7Fzkm4Iv+lFTv5BzD+gOHwohaXLr3YecgZOO4YNJTgXyA==} + hasBin: true + + '@nuxt/devtools@1.1.5': + resolution: {integrity: sha512-aDEqz4L1GDj4DDnX7PL9ety3Wx0kLyKTb2JOSoJR8uX09fC3gonCvj/gYHLSSIKqhPasUjoOO5RPCtT+r9dtsA==} + hasBin: true + peerDependencies: + nuxt: ^3.9.0 + vite: '*' + + '@nuxt/eslint-config@0.3.8': + resolution: {integrity: sha512-c65jwXbiRnJIQQqbtASmOIbtKoci7njizZ++n5p00r0065ICUME0h9NsO/s0WRJp3PTxuREzX1Ey/LNaZJoE1w==} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@nuxt/eslint-plugin@0.3.8': + resolution: {integrity: sha512-j8k8Yu8O4W++SWsyxf60Dv9dWUoTJBP2iJfNblOvJwbzMOrEEY3Oigj9io+54J5TxAAXuyzJ82XZE0D38CXrSg==} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@nuxt/kit@3.11.2': + resolution: {integrity: sha512-yiYKP0ZWMW7T3TCmsv4H8+jEsB/nFriRAR8bKoSqSV9bkVYWPE36sf7JDux30dQ91jSlQG6LQkB3vCHYTS2cIg==} + engines: {node: ^14.18.0 || >=16.10.0} + + '@nuxt/schema@3.11.2': + resolution: {integrity: sha512-Z0bx7N08itD5edtpkstImLctWMNvxTArsKXzS35ZuqyAyKBPcRjO1CU01slH0ahO30Gg9kbck3/RKNZPwfOjJg==} + engines: {node: ^14.18.0 || >=16.10.0} + + '@nuxt/telemetry@2.5.4': + resolution: {integrity: sha512-KH6wxzsNys69daSO0xUv0LEBAfhwwjK1M+0Cdi1/vxmifCslMIY7lN11B4eywSfscbyVPAYJvANyc7XiVPImBQ==} + hasBin: true + + '@nuxt/ui-pro@1.1.0': + resolution: {integrity: sha512-c8x8VDmnMYPognKq/V203UMK7JiZwmP+Vx5YIY74Y1DB+PS2alFGKXENy8rVZxx3HCA0b0WuwzACZ5405kv7yQ==} + + '@nuxt/ui-templates@1.3.3': + resolution: {integrity: sha512-3BG5doAREcD50dbKyXgmjD4b1GzY8CUy3T41jMhHZXNDdaNwOd31IBq+D6dV00OSrDVhzrTVj0IxsUsnMyHvIQ==} + + '@nuxt/ui@2.15.1': + resolution: {integrity: sha512-wQXq7yYH5uAH9KE5wxA3KU/LniP5FhJ51tcgz6u+d+CDOXaKcDYQdzU9efSpTLNBuipbLQXDGiqq6aSeRIT6rw==} + engines: {node: '>=v16.20.2'} + + '@nuxt/vite-builder@3.11.2': + resolution: {integrity: sha512-eXTZsAAN4dPz4eA2UD5YU2kD/DqgfyQp1UYsIdCe6+PAVe1ifkUboBjbc0piR5+3qI/S/eqk3nzxRGbiYF7Ccg==} + engines: {node: ^14.18.0 || >=16.10.0} + peerDependencies: + vue: ^3.3.4 + + '@nuxthq/studio@1.0.13': + resolution: {integrity: sha512-C4j+K53om5Kj5xLrehWEbnDJlid5tDsHP7QdOIsK550dHOxPmvaXMH4YxsSNU8cDppMheMbN59zdYhQaQfko6g==} + + '@nuxtjs/color-mode@3.3.3': + resolution: {integrity: sha512-t6QM/tj1d/53xQ9JznNVIaqIfQWhjHRzNt5VqTxNeAJWG0HCdiHVezkUTMahPUgUbEJnBrtCoquUYwpyFhNF+Q==} + + '@nuxtjs/i18n@8.3.0': + resolution: {integrity: sha512-/2g4zYwBwHwIVJitu/i5zP73G4F9xH394Uq0RbfOGc34YxscN+B2kMnuPL8XXM9zThdMVj9ctHInQXXtr62CLg==} + engines: {node: ^14.16.0 || >=16.11.0} + + '@nuxtjs/mdc@0.6.1': + resolution: {integrity: sha512-zS5QK7DZ/SBrjqQX1DOy7GnxKy+wbj2+LvooefOWmQqHfLTAqJLVIjuv/BmKnQWiRCq19+uysys3iY42EoY5/A==} + + '@nuxtjs/tailwindcss@6.11.4': + resolution: {integrity: sha512-09cksgZD4seQj054Z/BeiwFg1bzQTol8KPulLDLGnmMTkEi21vj/z+WlXQRpVbN1GS9+oU9tcSsu2ufXCM3DBg==} + + '@parcel/watcher-android-arm64@2.4.1': + resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.4.1': + resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.4.1': + resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.4.1': + resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.4.1': + resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.4.1': + resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.4.1': + resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.4.1': + resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.4.1': + resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-wasm@2.4.1': + resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} + engines: {node: '>= 10.0.0'} + bundledDependencies: + - napi-wasm + + '@parcel/watcher-win32-arm64@2.4.1': + resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.4.1': + resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.4.1': + resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.4.1': + resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} + engines: {node: '>= 10.0.0'} + + '@pinia-plugin-persistedstate/nuxt@1.2.0': + resolution: {integrity: sha512-2rtgx5viGSMQMCoFYZMHguA2FhFKCUvw0PwETfqQegsWeBHlqk1/D0G/9xqep8Hq+c1BuFx+jNLJzoLXtYfivg==} + peerDependencies: + '@pinia/nuxt': ^0.5.0 + + '@pinia/nuxt@0.5.1': + resolution: {integrity: sha512-6wT6TqY81n+7/x3Yhf0yfaJVKkZU42AGqOR0T3+UvChcaOJhSma7OWPN64v+ptYlznat+fS1VTwNAcbi2lzHnw==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + + '@resvg/resvg-js-android-arm-eabi@2.6.2': + resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@resvg/resvg-js-android-arm64@2.6.2': + resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@resvg/resvg-js-darwin-arm64@2.6.2': + resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@resvg/resvg-js-darwin-x64@2.6.2': + resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@resvg/resvg-js@2.6.2': + resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==} + engines: {node: '>= 10'} + + '@resvg/resvg-wasm@2.6.2': + resolution: {integrity: sha512-FqALmHI8D4o6lk/LRWDnhw95z5eO+eAa6ORjVg09YRR7BkcM6oPHU9uyC0gtQG5vpFLvgpeU4+zEAz2H8APHNw==} + engines: {node: '>= 10'} + + '@rollup/plugin-alias@5.1.0': + resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-commonjs@25.0.7': + resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-inject@5.0.5': + resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-json@6.1.0': + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@15.2.3': + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@5.0.5': + resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-terser@0.4.4': + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-yaml@4.1.2': + resolution: {integrity: sha512-RpupciIeZMUqhgFE97ba0s98mOFS7CWzN3EJNhJkqSv9XLlWYtwVdtE6cDw6ASOF/sZVFS7kRJXftaqM2Vakdw==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.14.1': + resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.14.1': + resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.14.1': + resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.14.1': + resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.14.1': + resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.14.1': + resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.14.1': + resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.14.1': + resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==} + cpu: [ppc64le] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.14.1': + resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.14.1': + resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.14.1': + resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.14.1': + resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.14.1': + resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.14.1': + resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.14.1': + resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==} + cpu: [x64] + os: [win32] + + '@rushstack/eslint-patch@1.10.2': + resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} + + '@shikijs/core@1.3.0': + resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} + + '@shikijs/transformers@1.3.0': + resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==} + + '@shuding/opentype.js@1.4.0-beta.0': + resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==} + engines: {node: '>= 8.0.0'} + hasBin: true + + '@sigstore/bundle@2.3.1': + resolution: {integrity: sha512-eqV17lO3EIFqCWK3969Rz+J8MYrRZKw9IBHpSo6DEcEX2c+uzDFOgHE9f2MnyDpfs48LFO4hXmk9KhQ74JzU1g==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@sigstore/core@1.1.0': + resolution: {integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@sigstore/protobuf-specs@0.3.1': + resolution: {integrity: sha512-aIL8Z9NsMr3C64jyQzE0XlkEyBLpgEJJFDHLVVStkFV5Q3Il/r/YtY6NJWKQ4cy4AE7spP1IX5Jq7VCAxHHMfQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@sigstore/sign@2.3.0': + resolution: {integrity: sha512-tsAyV6FC3R3pHmKS880IXcDJuiFJiKITO1jxR1qbplcsBkZLBmjrEw5GbC7ikD6f5RU1hr7WnmxB/2kKc1qUWQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@sigstore/tuf@2.3.2': + resolution: {integrity: sha512-mwbY1VrEGU4CO55t+Kl6I7WZzIl+ysSzEYdA1Nv/FTrl2bkeaPXo5PnWZAVfcY2zSdhOpsUTJW67/M2zHXGn5w==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@sigstore/verify@1.2.0': + resolution: {integrity: sha512-hQF60nc9yab+Csi4AyoAmilGNfpXT+EXdBgFkP9OgPwIBPwyqVf7JAWPtmqrrrneTmAT6ojv7OlH1f6Ix5BG4Q==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@socket.io/component-emitter@3.1.0': + resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + + '@stylistic/eslint-plugin-js@1.7.2': + resolution: {integrity: sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@stylistic/eslint-plugin-jsx@1.7.2': + resolution: {integrity: sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@stylistic/eslint-plugin-plus@1.7.2': + resolution: {integrity: sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw==} + peerDependencies: + eslint: '*' + + '@stylistic/eslint-plugin-ts@1.7.2': + resolution: {integrity: sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@stylistic/eslint-plugin@1.7.2': + resolution: {integrity: sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@tailwindcss/aspect-ratio@0.4.2': + resolution: {integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==} + peerDependencies: + tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' + + '@tailwindcss/container-queries@0.1.1': + resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} + peerDependencies: + tailwindcss: '>=3.2.0' + + '@tailwindcss/forms@0.5.7': + resolution: {integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' + + '@tailwindcss/typography@0.5.12': + resolution: {integrity: sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + + '@tanstack/virtual-core@3.2.0': + resolution: {integrity: sha512-P5XgYoAw/vfW65byBbJQCw+cagdXDT/qH6wmABiLt4v4YBT2q2vqCOhihe+D1Nt325F/S/0Tkv6C5z0Lv+VBQQ==} + + '@tanstack/vue-virtual@3.2.0': + resolution: {integrity: sha512-KbmQVvw1k5Js2Fk4DJw9aDxFT5+e8a2Ba4UBJAFCRnWBCnzd3NlmEHI9JCeLv1tYDZ/iHwwv+Z9Le0BENIEP8A==} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@tufjs/canonical-json@2.0.0': + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@tufjs/models@2.0.0': + resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@twemoji/api@14.1.2': + resolution: {integrity: sha512-JLuszRq7t+NWJTaNwBD+Hbhf67gzn6jAqhNIDTPndEGT55kHiZTJAYRGCHZB/eA58OGVSp7mIvsJs+F/ZDJanA==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@8.56.10': + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/fs-extra@11.0.4': + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/http-proxy@1.17.14': + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/jsonfile@6.1.4': + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + + '@types/mdast@4.0.3': + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node@20.12.7': + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@typescript-eslint/eslint-plugin@7.7.0': + resolution: {integrity: sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.7.0': + resolution: {integrity: sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/scope-manager@7.7.0': + resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.7.0': + resolution: {integrity: sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/types@7.7.0': + resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@7.7.0': + resolution: {integrity: sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + '@typescript-eslint/utils@7.7.0': + resolution: {integrity: sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/visitor-keys@7.7.0': + resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@unhead/dom@1.9.4': + resolution: {integrity: sha512-nEaHOcCL0u56g4XOV5XGwRMFZ05eEINfp8nxVrPiIGLrS9BoFrZS7/6IYSkalkNRTmw8M5xqxt6BalBr594SaA==} + + '@unhead/schema@1.9.4': + resolution: {integrity: sha512-/J6KYQ+aqKO5uLDTU9BXfiRAfJ3mQNmF5gh3Iyd4qZaWfqjsDGYIaAe4xAGPnJxwBn6FHlnvQvZBSGqru1MByw==} + + '@unhead/shared@1.9.4': + resolution: {integrity: sha512-ErP6SUzPPRX9Df4fqGlwlLInoG+iBiH0nDudRuIpoFGyTnv1uO9BQ+lfFld8s1gI1WCdoBwVkISBp9/f/E/GLA==} + + '@unhead/ssr@1.9.4': + resolution: {integrity: sha512-+32lSX6q+c+PcF0NsywBMmwDgxApjo4R7yxjRBB0gmeEcr58hejS/Ju82D8dLKvHqafLB1cQA7I4XUPyrDUx3Q==} + + '@unhead/vue@1.9.4': + resolution: {integrity: sha512-F37bDhhieWQJyXvFV8NmrOXoIVJMhxVI/0ZUDrI9uTkMCofjfKWDJ+Gz0iYdhYF9mjQ5BN+pM31Zpxi+fN5Cfg==} + peerDependencies: + vue: '>=2.7 || >=3' + + '@unocss/astro@0.58.9': + resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@0.58.9': + resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@0.58.9': + resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==} + engines: {node: '>=14'} + + '@unocss/core@0.58.9': + resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==} + + '@unocss/extractor-arbitrary-variants@0.58.9': + resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==} + + '@unocss/inspector@0.58.9': + resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==} + + '@unocss/nuxt@0.58.9': + resolution: {integrity: sha512-zrzbpNjjstiXsjfRCwBt0ZDMquTPqAWry6OT1Z8YUeRmQ2YuPNJDnvUSWZuA5zYbXjMjuCTtX+jkHctMIabOYA==} + + '@unocss/postcss@0.58.9': + resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + + '@unocss/preset-attributify@0.58.9': + resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==} + + '@unocss/preset-icons@0.58.9': + resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==} + + '@unocss/preset-mini@0.58.9': + resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==} + + '@unocss/preset-tagify@0.58.9': + resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==} + + '@unocss/preset-typography@0.58.9': + resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==} + + '@unocss/preset-uno@0.58.9': + resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==} + + '@unocss/preset-web-fonts@0.58.9': + resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==} + + '@unocss/preset-wind@0.58.9': + resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==} + + '@unocss/reset@0.58.9': + resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==} + + '@unocss/rule-utils@0.58.9': + resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==} + engines: {node: '>=14'} + + '@unocss/scope@0.58.9': + resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==} + + '@unocss/transformer-attributify-jsx-babel@0.58.9': + resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==} + + '@unocss/transformer-attributify-jsx@0.58.9': + resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==} + + '@unocss/transformer-compile-class@0.58.9': + resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==} + + '@unocss/transformer-directives@0.58.9': + resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==} + + '@unocss/transformer-variant-group@0.58.9': + resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==} + + '@unocss/vite@0.58.9': + resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + + '@unocss/webpack@0.58.9': + resolution: {integrity: sha512-BCIocoGRRvrB3jqrUZwzBFA2pVgxQr2XzVFU6t8yZQqVVkaKxAjZQ5eLxj5OlZIiSPzfRc4OR73k2Pj6DC/3Og==} + peerDependencies: + webpack: ^4 || ^5 + + '@vercel/nft@0.26.4': + resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} + engines: {node: '>=16'} + hasBin: true + + '@vitejs/plugin-vue-jsx@3.1.0': + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@5.0.4': + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + + '@volar/language-core@1.11.1': + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + + '@volar/language-core@2.2.0-alpha.8': + resolution: {integrity: sha512-Ew1Iw7/RIRNuDLn60fWJdOLApAlfTVPxbPiSLzc434PReC9kleYtaa//Wo2WlN1oiRqneW0pWQQV0CwYqaimLQ==} + + '@volar/source-map@1.11.1': + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + + '@volar/source-map@2.2.0-alpha.8': + resolution: {integrity: sha512-E1ZVmXFJ5DU4fWDcWHzi8OLqqReqIDwhXvIMhVdk6+VipfMVv4SkryXu7/rs4GA/GsebcRyJdaSkKBB3OAkIcA==} + + '@volar/typescript@1.11.1': + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + + '@volar/typescript@2.2.0-alpha.8': + resolution: {integrity: sha512-RLbRDI+17CiayHZs9HhSzlH0FhLl/+XK6o2qoiw2o2GGKcyD1aDoY6AcMd44acYncTOrqoTNoY6LuCiRyiJiGg==} + + '@vue-macros/common@1.10.2': + resolution: {integrity: sha512-WC66NPVh2mJWqm4L0l/u/cOqm4pNOIwVdMGnDYAH2rHcOWy5x68GkhpkYTBu1+xwCSeHWOQn1TCGGbD+98fFpA==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + + '@vue/babel-helper-vue-transform-on@1.2.2': + resolution: {integrity: sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==} + + '@vue/babel-plugin-jsx@1.2.2': + resolution: {integrity: sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.2.2': + resolution: {integrity: sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.4.21': + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + + '@vue/compiler-dom@3.4.21': + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + + '@vue/compiler-sfc@3.4.21': + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + + '@vue/compiler-ssr@3.4.21': + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + + '@vue/devtools-api@6.6.1': + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + + '@vue/devtools-applet@7.0.26': + resolution: {integrity: sha512-RJnmEbtK8UgE1wWutgXGwc/a2KAHo3SsxcKWhahuiJ8fWHAgG/UoIyzngBT6sXDTkpTtP1sE5genwr9Seeivpg==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-core@7.0.26': + resolution: {integrity: sha512-ZkvOFLEaA3Q1lStdwEstRD5HgesA64JXmi54CQfMxJtROYDxvFBKMNCNniemvWVkkXWG4dRuqVY2gqA60YIOjQ==} + + '@vue/devtools-kit@7.0.26': + resolution: {integrity: sha512-k4TI5FxruPOxFNcy3oegzjrOTs5uAnukUcM/z/BWJtxfJFTxQl5MRJu6iiBLz8YnDuT8mYE2EbI/QAT8hpUppA==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-shared@7.0.26': + resolution: {integrity: sha512-7Rzyqi8G+ZUyvyHkxpXORzevGu2CiIhvdUSfZ4wNC+lK6K+GDWxpIRcQPTjF8EDBfLvoObIXehOilK1Un6NqGg==} + + '@vue/devtools-ui@7.0.26': + resolution: {integrity: sha512-YLWmU4J+jhaLhdQolpNAll1hj3SbcZ78q3RK59eVTvVFK5+bzzGKSloJWKc/JvWmr7L0a54vLv5P+HOlXdJNoQ==} + peerDependencies: + '@unocss/reset': '>=0.50.0-0' + floating-vue: '>=2.0.0-0' + unocss: '>=0.50.0-0' + vue: '>=3.0.0-0' + + '@vue/language-core@1.8.27': + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/language-core@2.0.13': + resolution: {integrity: sha512-oQgM+BM66SU5GKtUMLQSQN0bxHFkFpLSSAiY87wVziPaiNQZuKVDt/3yA7GB9PiQw0y/bTNL0bOc0jM/siYjKg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/reactivity@3.4.21': + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + + '@vue/runtime-core@3.4.21': + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + + '@vue/runtime-dom@3.4.21': + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + + '@vue/server-renderer@3.4.21': + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + + '@vue/shared@3.4.21': + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + + '@vueuse/components@10.9.0': + resolution: {integrity: sha512-BHQpA0yIi3y7zKa1gYD0FUzLLkcRTqVhP8smnvsCK6GFpd94Nziq1XVPD7YpFeho0k5BzbBiNZF7V/DpkJ967A==} + + '@vueuse/core@10.9.0': + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + + '@vueuse/head@2.0.0': + resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==} + peerDependencies: + vue: '>=2.7 || >=3' + + '@vueuse/integrations@10.9.0': + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/math@10.9.0': + resolution: {integrity: sha512-qb60AzFKzg8Gw85c4YiheEMC2AMkk+eO/nB9MmuQFU/HAHvfVckesiPlwaQqUlZQ4MJt0z8qP18/H7ozpj0sKQ==} + + '@vueuse/metadata@10.9.0': + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + + '@vueuse/nuxt@10.9.0': + resolution: {integrity: sha512-nC4Efg28Q6E41fUD5R+zM9uT5c+NfaDzaJCpqaEV/qHj+/BNJmkDBK8POLIUsiVOY35d0oD/YxZ+eVizqWBZow==} + peerDependencies: + nuxt: ^3.0.0 + + '@vueuse/shared@10.9.0': + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + + '@webassemblyjs/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-assertions@1.9.0: + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + ast-kit@0.12.1: + resolution: {integrity: sha512-O+33g7x6irsESUcd47KdfWUrS2F6aGp9KeVJFGj0YjIznfXpBxVGjA0w+y/1OKqX4mFOfmZ9Xpf1ixPT4n9xxw==} + engines: {node: '>=16.14.0'} + + ast-kit@0.9.5: + resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} + engines: {node: '>=16.14.0'} + + ast-walker-scope@0.5.0: + resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} + engines: {node: '>=16.14.0'} + + async-sema@3.1.1: + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + + async@2.6.4: + resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} + + async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + autoprefixer@10.4.19: + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.2.2: + resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} + + base64-js@0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + birpc@0.2.14: + resolution: {integrity: sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==} + + birpc@0.2.17: + resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtins@5.1.0: + resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + c12@1.10.0: + resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + cacache@18.0.2: + resolution: {integrity: sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==} + engines: {node: ^16.14.0 || >=18.0.0} + + cache-content-type@1.0.1: + resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} + engines: {node: '>= 6.0.0'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001608: + resolution: {integrity: sha512-cjUJTQkk9fQlJR2s4HMuPMvTiRggl0rAVMtthQuyOlDWuqHXqN8azLq+pi8B2TjwKJ32diHjUqRIKeFX4z1FoA==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chrome-launcher@1.1.1: + resolution: {integrity: sha512-OAQgBmpUzrIuShApIwOpjt7WFripGKcDMW/qeYU+kcl6jBPg87mRG+N2C3Vu+VeCVPqZ/ds3GfI2TK7tpz3Yyw==} + engines: {node: '>=12.13.0'} + hasBin: true + + chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + clear-module@4.1.2: + resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} + engines: {node: '>=8'} + + clear@0.1.0: + resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==} + + clipboardy@4.0.0: + resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} + engines: {node: '>=18'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + 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'} + + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + + computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.3: + resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-es@1.1.0: + resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==} + + cookies@0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} + engines: {node: '>= 0.8'} + + core-js-compat@3.36.1: + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + croner@8.0.2: + resolution: {integrity: sha512-HgSdlSUX8mIgDTTiQpWUP4qY4IFRMsduPCYdca34Pelt8MVdxdaDOzreFtCscA6R+cRZd7UbD1CD3uyx6J3X1A==} + engines: {node: '>=18.0'} + + cronstrue@2.49.0: + resolution: {integrity: sha512-FWZBqdStQaPR8ZTBQGALh1EK9Hl1HcG70dyGvD1rKLPafFO3H73o38dz/e8YkIlbLn3JxmBI/f6Doe3Nh+DcEQ==} + hasBin: true + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crossws@0.2.4: + resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} + peerDependencies: + uWebSockets.js: '*' + peerDependenciesMeta: + uWebSockets.js: + optional: true + + css-background-parser@0.1.0: + resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} + + css-box-shadow@1.0.0-3: + resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==} + + css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-inline@0.11.2: + resolution: {integrity: sha512-c/oie5Yqa2lVRwUO7A8nd3c3r0x7yE6MQH2PPB/R1LaUb6ohZD7vNXj23fod5y4QNsNhsQi98/AWfUwo1K6R7g==} + deprecated: This package has been renamed to @css-inline/css-inline + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + db0@0.1.4: + resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==} + peerDependencies: + '@libsql/client': ^0.5.2 + better-sqlite3: ^9.4.3 + drizzle-orm: ^0.29.4 + peerDependenciesMeta: + '@libsql/client': + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + 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==} + + deep-equal@1.0.1: + resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detab@3.0.2: + resolution: {integrity: sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + devalue@4.3.2: + resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-prop@8.0.2: + resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==} + engines: {node: '>=16'} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.731: + resolution: {integrity: sha512-+TqVfZjpRz2V/5SPpmJxq9qK620SC5SqCnxQIOi7i/U08ZDcTpKbT7Xjj9FU5CbXTMUb4fywbIr8C7cGv4hcjw==} + + emoji-blast@0.10.0: + resolution: {integrity: sha512-1r5rtGIKM7I2Q76vEHEhR+UpbO59C1JcSjpTncLJFORW0L0r3fDq4PWA1/8a6DXeuOpVNRbtVin3d1N21sZHvQ==} + engines: {node: '>=18'} + + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emoticon@4.0.1: + resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + + engine.io-client@6.5.3: + resolution: {integrity: sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==} + + engine.io-parser@5.2.2: + resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} + engines: {node: '>=10.0.0'} + + enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + error-stack-parser-es@0.1.1: + resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} + + es-module-lexer@1.5.0: + resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-flat-gitignore@0.1.5: + resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} + + eslint-flat-config-utils@0.2.3: + resolution: {integrity: sha512-tfrMNXZfuN4q7sFi1Cr//BN3qdI7c8fLJhbshlp8l9PZIqZ7eVeeyd2Regtu/P9kjOlv18lRlBALzsZaF7ByUg==} + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-plugin-import-x@0.5.0: + resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^8.56.0 || ^9.0.0-0 + + eslint-plugin-jsdoc@48.2.3: + resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-unicorn@52.0.0: + resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-plugin-vue@9.25.0: + resolution: {integrity: sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.0.0: + resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + externality@1.0.2: + resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fflate@0.7.4: + resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flat@6.0.1: + resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} + engines: {node: '>=18'} + hasBin: true + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + floating-vue@5.2.2: + resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} + peerDependencies: + '@nuxt/kit': ^3.2.0 + vue: ^3.2.0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + fuse.js@6.6.2: + resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} + engines: {node: '>=10'} + + gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-port-please@3.1.2: + resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + + giget@1.2.3: + resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} + hasBin: true + + git-config-path@2.0.0: + resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==} + engines: {node: '>=4'} + + git-up@7.0.0: + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + + git-url-parse@14.0.0: + resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.0.0: + resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} + engines: {node: '>=18'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + gzip-size@7.0.0: + resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + h3@1.11.1: + resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-heading-rank@3.0.0: + resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} + + 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-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hex-rgb@4.3.0: + resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} + engines: {node: '>=6'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + http-assert@1.5.0: + resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} + engines: {node: '>= 0.8'} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} + + httpxy@0.1.5: + resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-walk@6.0.4: + resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + image-meta@0.2.0: + resolution: {integrity: sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==} + + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} + hasBin: true + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + ioredis@5.3.2: + resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} + engines: {node: '>=12.22.0'} + + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + + iron-webcrypto@1.1.0: + resolution: {integrity: sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==} + + is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + 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-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-https@4.0.0: + resolution: {integrity: sha512-FeMLiqf8E5g6SdiVJsPcNZX8k4h2fBs1wp5Bb6uaNxn58ufK1axBqQZdmAQsqh0t9BuwFObybrdVJh6MKyPlyg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-primitive@3.0.1: + resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} + engines: {node: '>=0.10.0'} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + + is-ssh@1.4.0: + resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + + jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@5.0.0: + resolution: {integrity: sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + keygrip@1.1.0: + resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} + engines: {node: '>= 0.6'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + knitwork@1.1.0: + resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==} + + koa-compose@4.1.0: + resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} + + koa-convert@2.0.0: + resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} + engines: {node: '>= 10'} + + koa-send@5.0.1: + resolution: {integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==} + engines: {node: '>= 8'} + + koa-static@5.0.0: + resolution: {integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==} + engines: {node: '>= 7.6.0'} + + koa@2.15.2: + resolution: {integrity: sha512-MXTeZH3M6AJ8ukW2QZ8wqO3Dcdfh2WRRmjCBkEP+NhKNCiqlO5RDqHmSnsyNrbRJrdjyvIGSJho4vQiWgQJSVA==} + engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lighthouse-logger@2.0.1: + resolution: {integrity: sha512-ioBrW3s2i97noEmnXxmUq7cjIcVRjT5HBpAYy8zE11CxU9HqlWHHeRxfeN1tn8F7OEMVPIC9x1f8t3Z7US9ehQ==} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + + linebreak@1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + listhen@1.7.2: + resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} + hasBin: true + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + magic-string-ast@0.3.0: + resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} + engines: {node: '>=16.14.0'} + + magic-string@0.30.9: + resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} + engines: {node: '>=12'} + + magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-fetch-happen@13.0.0: + resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} + engines: {node: ^16.14.0 || >=18.0.0} + + map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + marky@1.2.5: + resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + + 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-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@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + + 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-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mime@4.0.1: + resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} + engines: {node: '>=16'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + mini-svg-data-uri@1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass-collect@2.0.1: + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-json-stream@1.0.1: + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mitt@2.1.0: + resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@5.0.7: + resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + engines: {node: ^18 || >=20} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nitropack@2.9.6: + resolution: {integrity: sha512-HP2PE0dREcDIBVkL8Zm6eVyrDd10/GI9hTL00PHvjUM8I9Y/2cv73wRDmxNyInfrx/CJKHATb2U/pQrqpzJyXA==} + engines: {node: ^16.11.0 || >=17.0.0} + hasBin: true + peerDependencies: + xml2js: ^0.6.2 + peerDependenciesMeta: + xml2js: + optional: true + + node-addon-api@7.1.0: + resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} + engines: {node: ^16 || ^18 || >= 20} + + node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + hasBin: true + + node-gyp@10.1.0: + resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + + nopt@7.2.0: + resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + npm-bundled@3.0.0: + resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-package-arg@11.0.1: + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-packlist@8.0.2: + resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-pick-manifest@9.0.0: + resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-registry-fetch@16.2.0: + resolution: {integrity: sha512-zVH+G0q1O2hqgQBUvQ2LWp6ujr6VJAeDnmWxqiMlCguvLexEzBnuQIwC70r04vcvCMAcYEIpA/rO9YyVi+fmJQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + nuxi@3.11.1: + resolution: {integrity: sha512-AW71TpxRHNg8MplQVju9tEFvXPvX42e0wPYknutSStDuAjV99vWTWYed4jxr/grk2FtKAuv2KvdJxcn2W59qyg==} + engines: {node: ^16.10.0 || >=18.0.0} + hasBin: true + + nuxt-component-meta@0.6.3: + resolution: {integrity: sha512-GdqnSMC1vqabry7WSj3GWA2LZ1gBiWeS2lj943c9TjkL9SN/rABEFXVZA6RO4sOTKF1qV947UGi27PdRd7u+tA==} + hasBin: true + + nuxt-icon@0.6.10: + resolution: {integrity: sha512-S9zHVA66ox4ZSpMWvCjqKZC4ZogC0s2z3vZs+M4D95YXGPEXwxDZu+insMKvkbe8+k7gvEmtTk0eq3KusKlxiw==} + + nuxt-og-image@2.2.4: + resolution: {integrity: sha512-A7QNMi+/DueEOPgxIWCvUJU8UxgxyUtRrLd7QB6YVeXrBEFFhWD8/2wLbcSdZyAzpVmuE6cA7bSU3z3U/e7K/w==} + + nuxt-site-config-kit@1.6.7: + resolution: {integrity: sha512-dq7W5ra1KRRi8gW/v8j3e7rNCN8jEZHXnGZ9Ao4r7JZvyHpJyntQYcftcI2N7VViT+6xWdIE7ge4oma7+gvjVQ==} + + nuxt-site-config@1.6.7: + resolution: {integrity: sha512-X9HPq0ldfFf9vatXcOLt1Fl9xPydhC+fZw5KVxACcOyNK92KwJgvzrHAooURdoQhohaVgPbK+xnfVP8S6GCkQA==} + + nuxt@3.11.2: + resolution: {integrity: sha512-Be1d4oyFo60pdF+diBolYDcfNemoMYM3R8PDjhnGrs/w3xJoDH1YMUVWHXXY8WhSmYZI7dyBehx/6kTfGFliVA==} + engines: {node: ^14.18.0 || >=16.10.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': ^14.18.0 || >=16.10.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + + nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + + ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + only@0.0.2: + resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} + + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + openapi-typescript@6.7.5: + resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==} + hasBin: true + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pacote@17.0.6: + resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parent-module@2.0.0: + resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} + engines: {node: '>=8'} + + parse-css-color@0.2.1: + resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-git-config@3.0.0: + resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} + engines: {node: '>=8'} + + parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-path@7.0.0: + resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + + parse-url@8.1.0: + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + + path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pinia-plugin-persistedstate@3.2.1: + resolution: {integrity: sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==} + peerDependencies: + pinia: ^2.0.0 + + pinia@2.1.7: + resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + + playwright-core@1.43.0: + resolution: {integrity: sha512-iWFjyBUH97+pUFiyTqSLd8cDMMOS0r2ZYz2qEsPjH8/bX++sbIJT35MSwKnp1r/OQBAqC5XO99xFbJ9XClhf4w==} + engines: {node: '>=16'} + hasBin: true + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + portfinder@1.0.32: + resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} + engines: {node: '>= 0.12.0'} + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-custom-properties@13.3.6: + resolution: {integrity: sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-nesting@12.1.1: + resolution: {integrity: sha512-qc74KvIAQNa5ujZKG1UV286dhaDW6basbUy2i9AzNU/T8C9hpvGu9NZzm1SfePe2yP7sPYgpA8d4sPVopn2Hhw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + + postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + protocols@2.0.1: + resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + + ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + read-package-json@7.0.0: + resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} + engines: {node: ^16.14.0 || >=18.0.0} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + rehype-external-links@3.0.0: + resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-slug@6.0.0: + resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} + + rehype-sort-attribute-values@5.0.0: + resolution: {integrity: sha512-dQdHdCIRnpiU+BkrLSqH+aM4lWJyLqGzv49KvH4gHj+JxYwNqvGhoTXckS3AJu4V9ZutwsTcawP0pC7PhwX0tQ==} + + rehype-sort-attributes@5.0.0: + resolution: {integrity: sha512-6tJUH4xHFcdO85CZRwAcEtHNCzjZ9V9S0VZLgo1pzbN04qy8jiVCZ3oAxDmBVG3Rth5b1xFTDet5WG/UYZeJLQ==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdc@3.2.0: + resolution: {integrity: sha512-zRi5frIC3O/bcxXgUPHfQ3lyRBKPtokrGnsOPvNrt9bqp4EfjPtduzcWgO4R1WeHYUnvl0zeBStvGsFkJIZf+Q==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + replace-in-file@6.3.5: + resolution: {integrity: sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==} + engines: {node: '>=10'} + hasBin: true + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-path@1.4.0: + resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} + engines: {node: '>= 0.8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + + rollup@4.14.1: + resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + satori-html@0.3.2: + resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==} + + satori@0.10.9: + resolution: {integrity: sha512-XU9EELUEZuioT4acLIpCXxHcFzrsC8muvg0MY28d+TlqwxbkTzBmWbw+3+hnCzXT7YZ0Qm8k3eXktDaEu+qmEw==} + engines: {node: '>=16'} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-placeholder@2.0.1: + resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shiki-es@0.14.0: + resolution: {integrity: sha512-e+/aueHx0YeIEut6RXC6K8gSf0PykwZiHD7q7AHtpTW8Kd8TpFUIWqTwhAnrGjOyOMyrwv+syr5WPagMpDpVYQ==} + deprecated: Please migrate to https://github.com/antfu/shikiji + + shiki@1.3.0: + resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sigstore@2.3.0: + resolution: {integrity: sha512-q+o8L2ebiWD1AxD17eglf1pFrl9jtW7FHa0ygqY6EKvibK8JHyq9Z26v9MZXeDiw+RbfOJ9j2v70M10Hd6E06A==} + engines: {node: ^16.14.0 || >=18.0.0} + + simple-git@3.24.0: + resolution: {integrity: sha512-QqAKee9Twv+3k8IFOFfPB2hnk6as6Y6ACUpwCtQvRYBAes23Wv3SZlHVobAzqcE8gfsisCvPw3HGW3HYM+VYYw==} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + site-config-stack@1.6.7: + resolution: {integrity: sha512-LcZAAaMo4t/LKcePG6eghCt5oG+0JS1fhWG/8dHbfRuD3yWKmijKy2wd0/rcvTxDBEp5Pn2lAqe92jeAHRNjQA==} + peerDependencies: + vue: ^3 + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + + smooth-dnd@0.12.1: + resolution: {integrity: sha512-Dndj/MOG7VP83mvzfGCLGzV2HuK1lWachMtWl/Iuk6zV7noDycIBnflwaPuDzoaapEl3Pc4+ybJArkkx9sxPZg==} + + socket.io-client@4.7.5: + resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==} + engines: {node: '>=10.0.0'} + + socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + engines: {node: '>=10.0.0'} + + socks-proxy-agent@8.0.3: + resolution: {integrity: sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==} + engines: {node: '>= 14'} + + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + 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==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + + splitpanes@3.1.5: + resolution: {integrity: sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + + streamx@2.16.1: + resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.codepointat@0.2.1: + resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + svg2png-wasm@1.4.1: + resolution: {integrity: sha512-ZFy1NtwZVAsslaTQoI+/QqX2sg0vjmgJ/jGAuLZZvYcRlndI54hLPiwLC9JzXlFBerfxN5JiS7kpEUG0mrXS3Q==} + + svgo@3.2.0: + resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==} + engines: {node: '>=14.0.0'} + hasBin: true + + system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} + + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + tailwind-config-viewer@1.7.3: + resolution: {integrity: sha512-rgeFXe9vL4njtaSI1y2uUAD1aRx05RYHbReN72ARAVEVSlNmS0Zf46pj3/ORc3xQwLK/AzbaIs6UFcK7hJSIlA==} + engines: {node: '>=8'} + hasBin: true + peerDependencies: + tailwindcss: 1 || 2 || 2.0.1-compat || 3 + + tailwind-merge@2.2.2: + resolution: {integrity: sha512-tWANXsnmJzgw6mQ07nE3aCDkCK4QdT3ThPMCzawoYA2Pws7vSTCvz3Vrjg61jVUGfFZPJzxEP+NimbcW+EdaDw==} + + tailwindcss@3.4.3: + resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + terminate@2.6.1: + resolution: {integrity: sha512-0kdr49oam98yvjkVY+gfUaT3SMaJI6Sc+yijJjU+qhat+0NQKQn60OsIZZeKyVgTO0/33nRa3HowRbpw3A7u9A==} + engines: {node: '>=12'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.30.3: + resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==} + engines: {node: '>=10'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinyws@0.1.0: + resolution: {integrity: sha512-6WQ2FlFM7qm6lAXxeKnzsAEfmnBHz5W5EwonNs52V0++YfK1IoCCAWM429afcChFE9BFrDgOFnq7ligaWMsa/A==} + engines: {node: '>=12.4'} + peerDependencies: + ws: '>=8' + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tosource@2.0.0-alpha.3: + resolution: {integrity: sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug==} + engines: {node: '>=10'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsscmp@1.0.6: + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} + + tuf-js@2.2.0: + resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} + engines: {node: ^16.14.0 || >=18.0.0} + + twemoji-parser@14.0.0: + resolution: {integrity: sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA==} + + twemoji@14.0.2: + resolution: {integrity: sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typescript@5.4.4: + resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + ultrahtml@1.5.3: + resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} + + unconfig@0.3.12: + resolution: {integrity: sha512-oDtfWDC0TMYFuwdt7E7CaqYZGqq1wAiC12PRTFe/93IkgNi+wVlF/LCjcD/bgNkGoopb0RsU363Ge3YXy7NGSw==} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + unctx@2.3.1: + resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} + + unenv@1.9.0: + resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} + + unhead@1.9.4: + resolution: {integrity: sha512-QVU0y3KowRu2cLjXxfemTKNohK4vdEwyahoszlEnRz0E5BTNRZQSs8AnommorGmVM7DvB2t4dwWadB51wDlPzw==} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + + unimport@3.7.1: + resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} + + unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unist-builder@4.0.0: + resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unocss@0.58.9: + resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.58.9 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + + unplugin-vue-router@0.7.0: + resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} + peerDependencies: + vue-router: ^4.1.0 + peerDependenciesMeta: + vue-router: + optional: true + + unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + + unstorage@1.10.2: + resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} + peerDependencies: + '@azure/app-configuration': ^1.5.0 + '@azure/cosmos': ^4.0.0 + '@azure/data-tables': ^13.2.2 + '@azure/identity': ^4.0.1 + '@azure/keyvault-secrets': ^4.8.0 + '@azure/storage-blob': ^12.17.0 + '@capacitor/preferences': ^5.0.7 + '@netlify/blobs': ^6.5.0 || ^7.0.0 + '@planetscale/database': ^1.16.0 + '@upstash/redis': ^1.28.4 + '@vercel/kv': ^1.0.1 + idb-keyval: ^6.2.1 + ioredis: ^5.3.2 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/kv': + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + + untun@0.1.3: + resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} + hasBin: true + + untyped@1.4.2: + resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} + hasBin: true + + unwasm@0.3.9: + resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urlpattern-polyfill@8.0.2: + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + v-lazy-show@0.2.4: + resolution: {integrity: sha512-Lx9Str2i+HTh+zGzs9O3YyhGAZOAAfU+6MUUPcQPPiPxQO1sHBEv9sH3MO9bPc4T09gsjsS2+sbaCWQ1MdhpJQ==} + peerDependencies: + '@vue/compiler-core': ^3.3 + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + vite-hot-client@0.2.3: + resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 + + vite-node@1.4.0: + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite-plugin-checker@0.6.4: + resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} + engines: {node: '>=14.16'} + peerDependencies: + eslint: '>=7' + meow: ^9.0.0 + optionator: ^0.9.1 + stylelint: '>=13' + typescript: '*' + vite: '>=2.0.0' + vls: '*' + vti: '*' + vue-tsc: '>=1.3.9' + peerDependenciesMeta: + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + + vite-plugin-inspect@0.8.3: + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite-plugin-vue-inspector@4.0.2: + resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + + vite@5.2.8: + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vscode-jsonrpc@6.0.0: + resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} + engines: {node: '>=8.0.0 || >=10.0.0'} + + vscode-languageclient@7.0.0: + resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==} + engines: {vscode: ^1.52.0} + + vscode-languageserver-protocol@3.16.0: + resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} + + vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + + vscode-languageserver-types@3.16.0: + resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} + + vscode-languageserver@7.0.0: + resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} + hasBin: true + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + vue-bundle-renderer@2.0.0: + resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} + + vue-component-meta@1.8.27: + resolution: {integrity: sha512-j3WJsyQHP4TDlvnjHc/eseo0/eVkf0FaCpkqGwez5zD+Tj31onBzWZEXTnWKs8xRj0n3dMNYdy3SpiS6NubSvg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + vue-component-type-helpers@1.8.27: + resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} + + vue-demi@0.14.7: + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-devtools-stub@0.1.0: + resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} + + vue-eslint-parser@9.4.2: + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue-i18n-routing@1.2.0: + resolution: {integrity: sha512-pn+bIFRMX5BN1BVQJ5rn05dYVnBhU/QnkxhjEJAe9HnYtJhDubetvoY+yfgDNWwesNWfHbbvsilsgSGL6DJyeA==} + engines: {node: '>= 14.6'} + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.6.14 || ^2.7.0 || ^3.2.0 + vue-i18n: ^8.26.1 || >=9.2.0 + vue-i18n-bridge: '>=9.2.0' + vue-router: ^3.5.3 || ^3.6.0 || ^4.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + vue-router: + optional: true + + vue-i18n@9.11.1: + resolution: {integrity: sha512-S7Xi8DkLQG4xnnbxkxzipJK6CdfLdZkmApn95st89HFGp8LTmTH0Tv+Zw6puhOCZJCFrH73PHo3Ylwd2+Bmdxg==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + + vue-observe-visibility@2.0.0-alpha.1: + resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} + peerDependencies: + vue: ^3.0.0 + + vue-resize@2.0.0-alpha.1: + resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} + peerDependencies: + vue: ^3.0.0 + + vue-router@4.3.0: + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + peerDependencies: + vue: ^3.2.0 + + vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + + vue-tsc@2.0.13: + resolution: {integrity: sha512-a3nL3FvguCWVJUQW/jFrUxdeUtiEkbZoQjidqvMeBK//tuE2w6NWQAbdrEpY2+6nSa4kZoKZp8TZUMtHpjt4mQ==} + hasBin: true + peerDependencies: + typescript: '*' + + vue-virtual-scroller@2.0.0-beta.8: + resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} + peerDependencies: + vue: ^3.2.0 + + vue3-smooth-dnd@0.0.6: + resolution: {integrity: sha512-CH9ZZhEfE7qU1ef2rlfgBG+nZtQX8PnWlspB2HDDz1uVGU7fXM0Pr65DftBMz4X81S+edw2H+ZFG6Dyb5J81KA==} + peerDependencies: + vue: ^3.0.11 + + vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + + webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xmlhttprequest-ssl@2.0.0: + resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} + engines: {node: '>=0.4.0'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml-eslint-parser@1.2.2: + resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} + engines: {node: ^14.17.0 || >=16.0.0} + + yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + ylru@1.4.0: + resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} + engines: {node: '>= 4.0.0'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + yoga-wasm-web@0.3.3: + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + + zhead@2.2.4: + resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} + + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/install-pkg@0.1.1': + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + + '@antfu/utils@0.7.7': {} + + '@babel/code-frame@7.24.2': + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + + '@babel/compat-data@7.24.4': {} + + '@babel/core@7.24.4': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.4': + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-compilation-targets@7.23.6': + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.22.20': {} + + '@babel/helper-function-name@7.23.0': + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + '@babel/helper-hoist-variables@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-member-expression-to-functions@7.23.0': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-imports@7.22.15': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-imports@7.24.3': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + '@babel/helper-optimise-call-expression@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-plugin-utils@7.24.0': {} + + '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + '@babel/helper-simple-access@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-split-export-declaration@7.22.6': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-string-parser@7.24.1': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/helper-validator-option@7.23.5': {} + + '@babel/helpers@7.24.4': + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + + '@babel/highlight@7.24.2': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + '@babel/parser@7.24.4': + dependencies: + '@babel/types': 7.24.0 + + '@babel/plugin-proposal-decorators@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-decorators': 7.24.1(@babel/core@7.24.4) + + '@babel/plugin-syntax-decorators@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + + '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) + + '@babel/preset-typescript@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) + + '@babel/runtime@7.24.4': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/standalone@7.24.4': {} + + '@babel/template@7.24.0': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + + '@babel/traverse@7.24.1': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.0': + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@cloudflare/kv-asset-handler@0.3.1': + dependencies: + mime: 3.0.0 + + '@csstools/cascade-layer-name-parser@1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)': + dependencies: + '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) + '@csstools/css-tokenizer': 2.2.4 + + '@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4)': + dependencies: + '@csstools/css-tokenizer': 2.2.4 + + '@csstools/css-tokenizer@2.2.4': {} + + '@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.0.16)': + dependencies: + postcss-selector-parser: 6.0.16 + + '@csstools/selector-specificity@3.0.3(postcss-selector-parser@6.0.16)': + dependencies: + postcss-selector-parser: 6.0.16 + + '@csstools/utilities@1.0.0(postcss@8.4.38)': + dependencies: + postcss: 8.4.38 + + '@egoist/tailwindcss-icons@1.7.4(tailwindcss@3.4.3)': + dependencies: + '@iconify/utils': 2.1.22 + tailwindcss: 3.4.3 + transitivePeerDependencies: + - supports-color + + '@es-joy/jsdoccomment@0.42.0': + dependencies: + comment-parser: 1.4.1 + esquery: 1.5.0 + jsdoc-type-pratt-parser: 4.0.0 + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.0.0)': + dependencies: + eslint: 9.0.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.0': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.0.2': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.0.0': {} + + '@fastify/busboy@2.1.1': {} + + '@floating-ui/core@1.6.0': + dependencies: + '@floating-ui/utils': 0.2.1 + + '@floating-ui/dom@1.1.1': + dependencies: + '@floating-ui/core': 1.6.0 + + '@floating-ui/utils@0.2.1': {} + + '@fontsource/dm-sans@5.0.20': {} + + '@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.3)': + dependencies: + tailwindcss: 3.4.3 + + '@headlessui/vue@1.7.19(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@tanstack/vue-virtual': 3.2.0(vue@3.4.21(typescript@5.4.4)) + vue: 3.4.21(typescript@5.4.4) + + '@humanwhocodes/config-array@0.12.3': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@iconify-json/carbon@1.1.31': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/flagpack@1.1.14': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/heroicons@1.1.20': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/logos@1.1.42': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/mdi@1.1.66': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/ri@1.1.20': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/simple-icons@1.1.99': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/tabler@1.1.109': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/collections@1.0.412': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.22': + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.6.1 + transitivePeerDependencies: + - supports-color + + '@iconify/vue@4.1.1(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@iconify/types': 2.0.0 + vue: 3.4.21(typescript@5.4.4) + + '@intlify/bundle-utils@7.5.1(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4)))': + dependencies: + '@intlify/message-compiler': 9.11.1 + '@intlify/shared': 9.11.1 + acorn: 8.11.3 + escodegen: 2.1.0 + estree-walker: 2.0.2 + jsonc-eslint-parser: 2.4.0 + magic-string: 0.30.9 + mlly: 1.6.1 + source-map-js: 1.2.0 + yaml-eslint-parser: 1.2.2 + optionalDependencies: + vue-i18n: 9.11.1(vue@3.4.21(typescript@5.4.4)) + + '@intlify/core-base@9.11.1': + dependencies: + '@intlify/message-compiler': 9.11.1 + '@intlify/shared': 9.11.1 + + '@intlify/core@9.11.1': + dependencies: + '@intlify/core-base': 9.11.1 + '@intlify/shared': 9.11.1 + + '@intlify/h3@0.5.0': + dependencies: + '@intlify/core': 9.11.1 + '@intlify/utils': 0.12.0 + + '@intlify/message-compiler@9.11.1': + dependencies: + '@intlify/shared': 9.11.1 + source-map-js: 1.2.0 + + '@intlify/shared@9.11.1': {} + + '@intlify/unplugin-vue-i18n@3.0.1(rollup@4.14.1)(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4)))': + dependencies: + '@intlify/bundle-utils': 7.5.1(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4))) + '@intlify/shared': 9.11.1 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@vue/compiler-sfc': 3.4.21 + debug: 4.3.4 + fast-glob: 3.3.2 + js-yaml: 4.1.0 + json5: 2.2.3 + pathe: 1.1.2 + picocolors: 1.0.0 + source-map-js: 1.2.0 + unplugin: 1.10.1 + optionalDependencies: + vue-i18n: 9.11.1(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - rollup + - supports-color + + '@intlify/utils@0.12.0': {} + + '@intlify/vue-i18n-bridge@1.1.0(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4)))': + optionalDependencies: + vue-i18n: 9.11.1(vue@3.4.21(typescript@5.4.4)) + + '@intlify/vue-router-bridge@1.1.0(vue-router@4.3.0(vue@3.4.21(typescript@5.4.4)))(vue@3.4.21(typescript@5.4.4))': + dependencies: + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + optionalDependencies: + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - vue + + '@ioredis/commands@1.2.0': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@koa/router@12.0.1': + dependencies: + debug: 4.3.4 + http-errors: 2.0.0 + koa-compose: 4.1.0 + methods: 1.1.2 + path-to-regexp: 6.2.2 + transitivePeerDependencies: + - supports-color + + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + + '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': + dependencies: + detect-libc: 2.0.3 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0(encoding@0.1.13) + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.6.0 + tar: 6.2.1 + transitivePeerDependencies: + - encoding + - supports-color + + '@miyaneee/rollup-plugin-json5@1.2.0(rollup@4.14.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + json5: 2.2.3 + rollup: 4.14.1 + + '@netlify/functions@2.6.0': + dependencies: + '@netlify/serverless-functions-api': 1.14.0 + + '@netlify/node-cookies@0.1.0': {} + + '@netlify/serverless-functions-api@1.14.0': + dependencies: + '@netlify/node-cookies': 0.1.0 + urlpattern-polyfill: 8.0.2 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@npmcli/agent@2.2.2': + dependencies: + agent-base: 7.1.1 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 + lru-cache: 10.2.0 + socks-proxy-agent: 8.0.3 + transitivePeerDependencies: + - supports-color + + '@npmcli/fs@3.1.0': + dependencies: + semver: 7.6.0 + + '@npmcli/git@5.0.5': + dependencies: + '@npmcli/promise-spawn': 7.0.1 + lru-cache: 10.2.0 + npm-pick-manifest: 9.0.0 + proc-log: 3.0.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.6.0 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + + '@npmcli/installed-package-contents@2.0.2': + dependencies: + npm-bundled: 3.0.0 + npm-normalize-package-bin: 3.0.1 + + '@npmcli/node-gyp@3.0.0': {} + + '@npmcli/package-json@5.0.1': + dependencies: + '@npmcli/git': 5.0.5 + glob: 10.3.12 + hosted-git-info: 7.0.1 + json-parse-even-better-errors: 3.0.1 + normalize-package-data: 6.0.0 + proc-log: 3.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - bluebird + + '@npmcli/promise-spawn@7.0.1': + dependencies: + which: 4.0.0 + + '@npmcli/redact@1.1.0': {} + + '@npmcli/run-script@7.0.4': + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/package-json': 5.0.1 + '@npmcli/promise-spawn': 7.0.1 + node-gyp: 10.1.0 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + - supports-color + + '@nuxt/content@2.12.1(ioredis@5.3.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@nuxtjs/mdc': 0.6.1(rollup@4.14.1) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/head': 2.0.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/nuxt': 10.9.0(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)) + consola: 3.2.3 + defu: 6.1.4 + destr: 2.0.3 + json5: 2.2.3 + knitwork: 1.1.0 + listhen: 1.7.2 + mdast-util-to-string: 4.0.0 + mdurl: 2.0.0 + micromark: 4.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-types: 2.0.0 + minisearch: 6.3.0 + ohash: 1.1.3 + pathe: 1.1.2 + scule: 1.3.0 + shiki: 1.3.0 + slugify: 1.6.6 + socket.io-client: 4.7.5 + ufo: 1.5.3 + unist-util-stringify-position: 4.0.0 + unstorage: 1.10.2(ioredis@5.3.2) + ws: 8.16.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - '@vue/composition-api' + - bufferutil + - idb-keyval + - ioredis + - nuxt + - rollup + - supports-color + - uWebSockets.js + - utf-8-validate + - vue + + '@nuxt/devalue@2.0.2': {} + + '@nuxt/devtools-kit@1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@nuxt/schema': 3.11.2(rollup@4.14.1) + execa: 7.2.0 + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)) + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + transitivePeerDependencies: + - rollup + - supports-color + + ? '@nuxt/devtools-ui-kit@1.1.5(@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)))(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(@vue/compiler-core@3.4.21)(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))(webpack@5.91.0)' + : dependencies: + '@iconify-json/carbon': 1.1.31 + '@iconify-json/logos': 1.1.42 + '@iconify-json/ri': 1.1.20 + '@iconify-json/tabler': 1.1.109 + '@nuxt/devtools': 1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@nuxtjs/color-mode': 3.3.3(rollup@4.14.1) + '@unocss/core': 0.58.9 + '@unocss/nuxt': 0.58.9(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(webpack@5.91.0) + '@unocss/preset-attributify': 0.58.9 + '@unocss/preset-icons': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/reset': 0.58.9 + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.21(typescript@5.4.4)) + '@vueuse/nuxt': 10.9.0(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)) + defu: 6.1.4 + focus-trap: 7.5.4 + splitpanes: 3.1.5 + unocss: 0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + v-lazy-show: 0.2.4(@vue/compiler-core@3.4.21) + transitivePeerDependencies: + - '@unocss/webpack' + - '@vue/compiler-core' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - postcss + - qrcode + - rollup + - sortablejs + - supports-color + - universal-cookie + - vite + - vue + - webpack + + '@nuxt/devtools-wizard@1.1.5': + dependencies: + consola: 3.2.3 + diff: 5.2.0 + execa: 7.2.0 + global-directory: 4.0.1 + magicast: 0.3.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + prompts: 2.4.2 + rc9: 2.1.2 + semver: 7.6.0 + + '@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@antfu/utils': 0.7.7 + '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + '@nuxt/devtools-wizard': 1.1.5 + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@vue/devtools-applet': 7.0.26(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + '@vue/devtools-core': 7.0.26(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + '@vue/devtools-kit': 7.0.26(vue@3.4.21(typescript@5.4.4)) + birpc: 0.2.17 + consola: 3.2.3 + cronstrue: 2.49.0 + destr: 2.0.3 + error-stack-parser-es: 0.1.1 + execa: 7.2.0 + fast-glob: 3.3.2 + flatted: 3.3.1 + get-port-please: 3.1.2 + hookable: 5.5.3 + image-meta: 0.2.0 + is-installed-globally: 1.0.0 + launch-editor: 2.6.1 + local-pkg: 0.5.0 + magicast: 0.3.3 + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)) + nypm: 0.3.8 + ohash: 1.1.3 + pacote: 17.0.6 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.2 + scule: 1.3.0 + semver: 7.6.0 + simple-git: 3.24.0 + sirv: 2.0.4 + unimport: 3.7.1(rollup@4.14.1) + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.11.2(rollup@4.14.1))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + vite-plugin-vue-inspector: 4.0.2(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + which: 3.0.1 + ws: 8.16.0 + transitivePeerDependencies: + - '@unocss/reset' + - '@vue/composition-api' + - async-validator + - axios + - bluebird + - bufferutil + - change-case + - drauu + - floating-vue + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - rollup + - sortablejs + - supports-color + - universal-cookie + - unocss + - utf-8-validate + - vue + + '@nuxt/eslint-config@0.3.8(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@eslint/js': 9.0.0 + '@nuxt/eslint-plugin': 0.3.8(eslint@9.0.0)(typescript@5.4.4) + '@rushstack/eslint-patch': 1.10.2 + '@stylistic/eslint-plugin': 1.7.2(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.7.0(@typescript-eslint/parser@7.7.0(eslint@9.0.0)(typescript@5.4.4))(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.7.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + eslint-config-flat-gitignore: 0.1.5 + eslint-flat-config-utils: 0.2.3 + eslint-plugin-import-x: 0.5.0(eslint@9.0.0)(typescript@5.4.4) + eslint-plugin-jsdoc: 48.2.3(eslint@9.0.0) + eslint-plugin-unicorn: 52.0.0(eslint@9.0.0) + eslint-plugin-vue: 9.25.0(eslint@9.0.0) + globals: 15.0.0 + pathe: 1.1.2 + tslib: 2.6.2 + vue-eslint-parser: 9.4.2(eslint@9.0.0) + transitivePeerDependencies: + - supports-color + - typescript + + '@nuxt/eslint-plugin@0.3.8(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@nuxt/kit@3.11.2(rollup@4.14.1)': + dependencies: + '@nuxt/schema': 3.11.2(rollup@4.14.1) + c12: 1.10.0 + consola: 3.2.3 + defu: 6.1.4 + globby: 14.0.1 + hash-sum: 2.0.0 + ignore: 5.3.1 + jiti: 1.21.0 + knitwork: 1.1.0 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + semver: 7.6.0 + ufo: 1.5.3 + unctx: 2.3.1 + unimport: 3.7.1(rollup@4.14.1) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + + '@nuxt/schema@3.11.2(rollup@4.14.1)': + dependencies: + '@nuxt/ui-templates': 1.3.3 + consola: 3.2.3 + defu: 6.1.4 + hookable: 5.5.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.5.3 + unimport: 3.7.1(rollup@4.14.1) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + + '@nuxt/telemetry@2.5.4(rollup@4.14.1)': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + ci-info: 4.0.0 + consola: 3.2.3 + create-require: 1.1.1 + defu: 6.1.4 + destr: 2.0.3 + dotenv: 16.4.5 + git-url-parse: 14.0.0 + is-docker: 3.0.0 + jiti: 1.21.0 + mri: 1.2.0 + nanoid: 5.0.7 + ofetch: 1.3.4 + parse-git-config: 3.0.0 + pathe: 1.1.2 + rc9: 2.1.2 + std-env: 3.7.0 + transitivePeerDependencies: + - rollup + - supports-color + + '@nuxt/ui-pro@1.1.0(focus-trap@7.5.4)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@nuxt/ui': 2.15.1(focus-trap@7.5.4)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + defu: 6.1.4 + git-url-parse: 14.0.0 + ofetch: 1.3.4 + parse-git-config: 3.0.0 + pathe: 1.1.2 + pkg-types: 1.0.3 + tailwind-merge: 2.2.2 + vue3-smooth-dnd: 0.0.6(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - focus-trap + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - qrcode + - rollup + - sortablejs + - supports-color + - ts-node + - uWebSockets.js + - universal-cookie + - vite + - vue + + '@nuxt/ui-templates@1.3.3': {} + + '@nuxt/ui@2.15.1(focus-trap@7.5.4)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@egoist/tailwindcss-icons': 1.7.4(tailwindcss@3.4.3) + '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.3) + '@headlessui/vue': 1.7.19(vue@3.4.21(typescript@5.4.4)) + '@iconify-json/heroicons': 1.1.20 + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@nuxtjs/color-mode': 3.3.3(rollup@4.14.1) + '@nuxtjs/tailwindcss': 6.11.4(rollup@4.14.1) + '@popperjs/core': 2.11.8 + '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.4.3) + '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.3) + '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.3) + '@tailwindcss/typography': 0.5.12(tailwindcss@3.4.3) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.21(typescript@5.4.4)) + '@vueuse/math': 10.9.0(vue@3.4.21(typescript@5.4.4)) + defu: 6.1.4 + fuse.js: 6.6.2 + nuxt-icon: 0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + ohash: 1.1.3 + pathe: 1.1.2 + scule: 1.3.0 + tailwind-merge: 2.2.2 + tailwindcss: 3.4.3 + transitivePeerDependencies: + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - focus-trap + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - qrcode + - rollup + - sortablejs + - supports-color + - ts-node + - uWebSockets.js + - universal-cookie + - vite + - vue + + '@nuxt/vite-builder@3.11.2(@types/node@20.12.7)(eslint@9.0.0)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(vue-tsc@2.0.13(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.1) + '@vitejs/plugin-vue': 5.0.4(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + autoprefixer: 10.4.19(postcss@8.4.38) + clear: 0.1.0 + consola: 3.2.3 + cssnano: 6.1.2(postcss@8.4.38) + defu: 6.1.4 + esbuild: 0.20.2 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + externality: 1.0.2 + fs-extra: 11.2.0 + get-port-please: 3.1.2 + h3: 1.11.1 + knitwork: 1.1.0 + magic-string: 0.30.9 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + postcss: 8.4.38 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.1) + std-env: 3.7.0 + strip-literal: 2.1.0 + ufo: 1.5.3 + unenv: 1.9.0 + unplugin: 1.10.1 + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + vite-node: 1.4.0(@types/node@20.12.7)(terser@5.30.3) + vite-plugin-checker: 0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)) + vue: 3.4.21(typescript@5.4.4) + vue-bundle-renderer: 2.0.0 + transitivePeerDependencies: + - '@types/node' + - eslint + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - uWebSockets.js + - vls + - vti + - vue-tsc + + '@nuxthq/studio@1.0.13(rollup@4.14.1)': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + defu: 6.1.4 + git-url-parse: 14.0.0 + nuxt-component-meta: 0.6.3(rollup@4.14.1) + parse-git-config: 3.0.0 + pkg-types: 1.0.3 + socket.io-client: 4.7.5 + ufo: 1.5.3 + untyped: 1.4.2 + transitivePeerDependencies: + - bufferutil + - rollup + - supports-color + - utf-8-validate + + '@nuxtjs/color-mode@3.3.3(rollup@4.14.1)': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + - supports-color + + '@nuxtjs/i18n@8.3.0(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@intlify/h3': 0.5.0 + '@intlify/shared': 9.11.1 + '@intlify/unplugin-vue-i18n': 3.0.1(rollup@4.14.1)(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4))) + '@intlify/utils': 0.12.0 + '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.14.1) + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@rollup/plugin-yaml': 4.1.2(rollup@4.14.1) + '@vue/compiler-sfc': 3.4.21 + debug: 4.3.4 + defu: 6.1.4 + estree-walker: 3.0.3 + is-https: 4.0.0 + knitwork: 1.1.0 + magic-string: 0.30.9 + mlly: 1.6.1 + pathe: 1.1.2 + scule: 1.3.0 + sucrase: 3.35.0 + ufo: 1.5.3 + unplugin: 1.10.1 + vue-i18n: 9.11.1(vue@3.4.21(typescript@5.4.4)) + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - petite-vue-i18n + - rollup + - supports-color + - vue + - vue-i18n-bridge + + '@nuxtjs/mdc@0.6.1(rollup@4.14.1)': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@shikijs/transformers': 1.3.0 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@vue/compiler-core': 3.4.21 + consola: 3.2.3 + debug: 4.3.4 + defu: 6.1.4 + destr: 2.0.3 + detab: 3.0.2 + github-slugger: 2.0.0 + hast-util-to-string: 3.0.0 + mdast-util-to-hast: 13.1.0 + micromark-util-sanitize-uri: 2.0.0 + ohash: 1.1.3 + parse5: 7.1.2 + pathe: 1.1.2 + property-information: 6.5.0 + rehype-external-links: 3.0.0 + rehype-raw: 7.0.0 + rehype-slug: 6.0.0 + rehype-sort-attribute-values: 5.0.0 + rehype-sort-attributes: 5.0.0 + remark-emoji: 4.0.1 + remark-gfm: 4.0.0 + remark-mdc: 3.2.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + scule: 1.3.0 + shiki: 1.3.0 + ufo: 1.5.3 + unified: 11.0.4 + unist-builder: 4.0.0 + unist-util-visit: 5.0.0 + unwasm: 0.3.9 + transitivePeerDependencies: + - rollup + - supports-color + + '@nuxtjs/tailwindcss@6.11.4(rollup@4.14.1)': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + autoprefixer: 10.4.19(postcss@8.4.38) + chokidar: 3.6.0 + clear-module: 4.1.2 + consola: 3.2.3 + defu: 6.1.4 + h3: 1.11.1 + micromatch: 4.0.5 + pathe: 1.1.2 + postcss: 8.4.38 + postcss-custom-properties: 13.3.6(postcss@8.4.38) + postcss-nesting: 12.1.1(postcss@8.4.38) + tailwind-config-viewer: 1.7.3(tailwindcss@3.4.3) + tailwindcss: 3.4.3 + ufo: 1.5.3 + transitivePeerDependencies: + - rollup + - supports-color + - ts-node + - uWebSockets.js + + '@parcel/watcher-android-arm64@2.4.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.4.1': + optional: true + + '@parcel/watcher-darwin-x64@2.4.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.4.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.4.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.4.1': + optional: true + + '@parcel/watcher-wasm@2.4.1': + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.5 + + '@parcel/watcher-win32-arm64@2.4.1': + optional: true + + '@parcel/watcher-win32-ia32@2.4.1': + optional: true + + '@parcel/watcher-win32-x64@2.4.1': + optional: true + + '@parcel/watcher@2.4.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.5 + node-addon-api: 7.1.0 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.4.1 + '@parcel/watcher-darwin-arm64': 2.4.1 + '@parcel/watcher-darwin-x64': 2.4.1 + '@parcel/watcher-freebsd-x64': 2.4.1 + '@parcel/watcher-linux-arm-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-musl': 2.4.1 + '@parcel/watcher-linux-x64-glibc': 2.4.1 + '@parcel/watcher-linux-x64-musl': 2.4.1 + '@parcel/watcher-win32-arm64': 2.4.1 + '@parcel/watcher-win32-ia32': 2.4.1 + '@parcel/watcher-win32-x64': 2.4.1 + + '@pinia-plugin-persistedstate/nuxt@1.2.0(@pinia/nuxt@0.5.1(rollup@4.14.1)(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)))(pinia@2.1.7(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)))(rollup@4.14.1)': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@pinia/nuxt': 0.5.1(rollup@4.14.1)(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)) + defu: 6.1.4 + pinia-plugin-persistedstate: 3.2.1(pinia@2.1.7(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4))) + transitivePeerDependencies: + - pinia + - rollup + - supports-color + + '@pinia/nuxt@0.5.1(rollup@4.14.1)(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + pinia: 2.1.7(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - rollup + - supports-color + - typescript + - vue + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@polka/url@1.0.0-next.25': {} + + '@popperjs/core@2.11.8': {} + + '@resvg/resvg-js-android-arm-eabi@2.6.2': + optional: true + + '@resvg/resvg-js-android-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-x64@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js@2.6.2': + optionalDependencies: + '@resvg/resvg-js-android-arm-eabi': 2.6.2 + '@resvg/resvg-js-android-arm64': 2.6.2 + '@resvg/resvg-js-darwin-arm64': 2.6.2 + '@resvg/resvg-js-darwin-x64': 2.6.2 + '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2 + '@resvg/resvg-js-linux-arm64-gnu': 2.6.2 + '@resvg/resvg-js-linux-arm64-musl': 2.6.2 + '@resvg/resvg-js-linux-x64-gnu': 2.6.2 + '@resvg/resvg-js-linux-x64-musl': 2.6.2 + '@resvg/resvg-js-win32-arm64-msvc': 2.6.2 + '@resvg/resvg-js-win32-ia32-msvc': 2.6.2 + '@resvg/resvg-js-win32-x64-msvc': 2.6.2 + + '@resvg/resvg-wasm@2.6.2': {} + + '@rollup/plugin-alias@5.1.0(rollup@4.14.1)': + dependencies: + slash: 4.0.0 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/plugin-commonjs@25.0.7(rollup@4.14.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.9 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/plugin-inject@5.0.5(rollup@4.14.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + estree-walker: 2.0.2 + magic-string: 0.30.9 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/plugin-json@6.1.0(rollup@4.14.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + optionalDependencies: + rollup: 4.14.1 + + '@rollup/plugin-node-resolve@15.2.3(rollup@4.14.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/plugin-replace@5.0.5(rollup@4.14.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + magic-string: 0.30.9 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/plugin-terser@0.4.4(rollup@4.14.1)': + dependencies: + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.30.3 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/plugin-yaml@4.1.2(rollup@4.14.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + js-yaml: 4.1.0 + tosource: 2.0.0-alpha.3 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/pluginutils@4.2.1': + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + + '@rollup/pluginutils@5.1.0(rollup@4.14.1)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.14.1 + + '@rollup/rollup-android-arm-eabi@4.14.1': + optional: true + + '@rollup/rollup-android-arm64@4.14.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.14.1': + optional: true + + '@rollup/rollup-darwin-x64@4.14.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.14.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.14.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.14.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.14.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.14.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.14.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.14.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.14.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.14.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.14.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.14.1': + optional: true + + '@rushstack/eslint-patch@1.10.2': {} + + '@shikijs/core@1.3.0': {} + + '@shikijs/transformers@1.3.0': + dependencies: + shiki: 1.3.0 + + '@shuding/opentype.js@1.4.0-beta.0': + dependencies: + fflate: 0.7.4 + string.prototype.codepointat: 0.2.1 + + '@sigstore/bundle@2.3.1': + dependencies: + '@sigstore/protobuf-specs': 0.3.1 + + '@sigstore/core@1.1.0': {} + + '@sigstore/protobuf-specs@0.3.1': {} + + '@sigstore/sign@2.3.0': + dependencies: + '@sigstore/bundle': 2.3.1 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.1 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + + '@sigstore/tuf@2.3.2': + dependencies: + '@sigstore/protobuf-specs': 0.3.1 + tuf-js: 2.2.0 + transitivePeerDependencies: + - supports-color + + '@sigstore/verify@1.2.0': + dependencies: + '@sigstore/bundle': 2.3.1 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.1 + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/merge-streams@2.3.0': {} + + '@socket.io/component-emitter@3.1.0': {} + + '@stylistic/eslint-plugin-js@1.7.2(eslint@9.0.0)': + dependencies: + '@types/eslint': 8.56.10 + acorn: 8.11.3 + escape-string-regexp: 4.0.0 + eslint: 9.0.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + + '@stylistic/eslint-plugin-jsx@1.7.2(eslint@9.0.0)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.0.0) + '@types/eslint': 8.56.10 + eslint: 9.0.0 + estraverse: 5.3.0 + picomatch: 4.0.2 + + '@stylistic/eslint-plugin-plus@1.7.2(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@types/eslint': 8.56.10 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@stylistic/eslint-plugin-ts@1.7.2(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.0.0) + '@types/eslint': 8.56.10 + '@typescript-eslint/utils': 6.21.0(eslint@9.0.0)(typescript@5.4.4) + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@stylistic/eslint-plugin@1.7.2(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.0.0) + '@stylistic/eslint-plugin-jsx': 1.7.2(eslint@9.0.0) + '@stylistic/eslint-plugin-plus': 1.7.2(eslint@9.0.0)(typescript@5.4.4) + '@stylistic/eslint-plugin-ts': 1.7.2(eslint@9.0.0)(typescript@5.4.4) + '@types/eslint': 8.56.10 + eslint: 9.0.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.3)': + dependencies: + tailwindcss: 3.4.3 + + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.3)': + dependencies: + tailwindcss: 3.4.3 + + '@tailwindcss/forms@0.5.7(tailwindcss@3.4.3)': + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.4.3 + + '@tailwindcss/typography@0.5.12(tailwindcss@3.4.3)': + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.3 + + '@tanstack/virtual-core@3.2.0': {} + + '@tanstack/vue-virtual@3.2.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@tanstack/virtual-core': 3.2.0 + vue: 3.4.21(typescript@5.4.4) + + '@trysound/sax@0.2.0': {} + + '@tufjs/canonical-json@2.0.0': {} + + '@tufjs/models@2.0.0': + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.4 + + '@twemoji/api@14.1.2': + dependencies: + fs-extra: 8.1.0 + jsonfile: 5.0.0 + twemoji-parser: 14.0.0 + universalify: 0.1.2 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 8.56.10 + '@types/estree': 1.0.5 + + '@types/eslint@8.56.10': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.5': {} + + '@types/fs-extra@11.0.4': + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 20.12.7 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/http-proxy@1.17.14': + dependencies: + '@types/node': 20.12.7 + + '@types/json-schema@7.0.15': {} + + '@types/jsonfile@6.1.4': + dependencies: + '@types/node': 20.12.7 + + '@types/mdast@4.0.3': + dependencies: + '@types/unist': 3.0.2 + + '@types/ms@0.7.34': {} + + '@types/node@20.12.7': + dependencies: + undici-types: 5.26.5 + + '@types/normalize-package-data@2.4.4': {} + + '@types/resolve@1.20.2': {} + + '@types/semver@7.5.8': {} + + '@types/unist@2.0.10': {} + + '@types/unist@3.0.2': {} + + '@types/web-bluetooth@0.0.20': {} + + '@typescript-eslint/eslint-plugin@7.7.0(@typescript-eslint/parser@7.7.0(eslint@9.0.0)(typescript@5.4.4))(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.7.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/type-utils': 7.7.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.7.0 + debug: 4.3.4 + eslint: 9.0.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.7.0(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.7.0 + debug: 4.3.4 + eslint: 9.0.0 + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + + '@typescript-eslint/scope-manager@7.7.0': + dependencies: + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/visitor-keys': 7.7.0 + + '@typescript-eslint/type-utils@7.7.0(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.4) + debug: 4.3.4 + eslint: 9.0.0 + ts-api-utils: 1.3.0(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@6.21.0': {} + + '@typescript-eslint/types@7.7.0': {} + + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.4)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@7.7.0(typescript@5.4.4)': + dependencies: + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/visitor-keys': 7.7.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@6.21.0(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) + eslint: 9.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@7.7.0(eslint@9.0.0)(typescript@5.4.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.7.0 + '@typescript-eslint/types': 7.7.0 + '@typescript-eslint/typescript-estree': 7.7.0(typescript@5.4.4) + eslint: 9.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@7.7.0': + dependencies: + '@typescript-eslint/types': 7.7.0 + eslint-visitor-keys: 3.4.3 + + '@ungap/structured-clone@1.2.0': {} + + '@unhead/dom@1.9.4': + dependencies: + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 + + '@unhead/schema@1.9.4': + dependencies: + hookable: 5.5.3 + zhead: 2.2.4 + + '@unhead/shared@1.9.4': + dependencies: + '@unhead/schema': 1.9.4 + + '@unhead/ssr@1.9.4': + dependencies: + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 + + '@unhead/vue@1.9.4(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 + hookable: 5.5.3 + unhead: 1.9.4 + vue: 3.4.21(typescript@5.4.4) + + '@unocss/astro@0.58.9(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/vite': 0.58.9(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + optionalDependencies: + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + transitivePeerDependencies: + - rollup + + '@unocss/cli@0.58.9(rollup@4.14.1)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/preset-uno': 0.58.9 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.9 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + + '@unocss/config@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + unconfig: 0.3.12 + + '@unocss/core@0.58.9': {} + + '@unocss/extractor-arbitrary-variants@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/inspector@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + gzip-size: 6.0.0 + sirv: 2.0.4 + + '@unocss/nuxt@0.58.9(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(webpack@5.91.0)': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/preset-attributify': 0.58.9 + '@unocss/preset-icons': 0.58.9 + '@unocss/preset-tagify': 0.58.9 + '@unocss/preset-typography': 0.58.9 + '@unocss/preset-uno': 0.58.9 + '@unocss/preset-web-fonts': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/vite': 0.58.9(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + '@unocss/webpack': 0.58.9(rollup@4.14.1)(webpack@5.91.0) + unocss: 0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + - vite + - webpack + + '@unocss/postcss@0.58.9(postcss@8.4.38)': + dependencies: + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.9 + postcss: 8.4.38 + + '@unocss/preset-attributify@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/preset-icons@0.58.9': + dependencies: + '@iconify/utils': 2.1.22 + '@unocss/core': 0.58.9 + ofetch: 1.3.4 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/preset-tagify@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/preset-typography@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + + '@unocss/preset-uno@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/preset-web-fonts@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + ofetch: 1.3.4 + + '@unocss/preset-wind@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/reset@0.58.9': {} + + '@unocss/rule-utils@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + magic-string: 0.30.9 + + '@unocss/scope@0.58.9': {} + + '@unocss/transformer-attributify-jsx-babel@0.58.9': + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@unocss/core': 0.58.9 + transitivePeerDependencies: + - supports-color + + '@unocss/transformer-attributify-jsx@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/transformer-compile-class@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/transformer-directives@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + + '@unocss/transformer-variant-group@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/vite@0.58.9(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/inspector': 0.58.9 + '@unocss/scope': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.9 + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + transitivePeerDependencies: + - rollup + + '@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.9 + unplugin: 1.10.1 + webpack: 5.91.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - rollup + + '@vercel/nft@0.26.4(encoding@0.1.13)': + dependencies: + '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) + '@rollup/pluginutils': 4.2.1 + acorn: 8.11.3 + acorn-import-attributes: 1.9.5(acorn@8.11.3) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + node-gyp-build: 4.8.0 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) + '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4) + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + vue: 3.4.21(typescript@5.4.4) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.0.4(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))': + dependencies: + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + vue: 3.4.21(typescript@5.4.4) + + '@volar/language-core@1.11.1': + dependencies: + '@volar/source-map': 1.11.1 + + '@volar/language-core@2.2.0-alpha.8': + dependencies: + '@volar/source-map': 2.2.0-alpha.8 + + '@volar/source-map@1.11.1': + dependencies: + muggle-string: 0.3.1 + + '@volar/source-map@2.2.0-alpha.8': + dependencies: + muggle-string: 0.4.1 + + '@volar/typescript@1.11.1': + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + + '@volar/typescript@2.2.0-alpha.8': + dependencies: + '@volar/language-core': 2.2.0-alpha.8 + path-browserify: 1.0.1 + + '@vue-macros/common@1.10.2(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@babel/types': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@vue/compiler-sfc': 3.4.21 + ast-kit: 0.12.1 + local-pkg: 0.5.0 + magic-string-ast: 0.3.0 + optionalDependencies: + vue: 3.4.21(typescript@5.4.4) + transitivePeerDependencies: + - rollup + + '@vue/babel-helper-vue-transform-on@1.2.2': {} + + '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.24.4)': + dependencies: + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@vue/babel-helper-vue-transform-on': 1.2.2 + '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.24.4) + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + optionalDependencies: + '@babel/core': 7.24.4 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.24.4)': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/core': 7.24.4 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/parser': 7.24.4 + '@vue/compiler-sfc': 3.4.21 + + '@vue/compiler-core@3.4.21': + dependencies: + '@babel/parser': 7.24.4 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.21': + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-sfc@3.4.21': + dependencies: + '@babel/parser': 7.24.4 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.9 + postcss: 8.4.38 + source-map-js: 1.2.0 + + '@vue/compiler-ssr@3.4.21': + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/devtools-api@6.6.1': {} + + '@vue/devtools-applet@7.0.26(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vue/devtools-core': 7.0.26(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + '@vue/devtools-kit': 7.0.26(vue@3.4.21(typescript@5.4.4)) + '@vue/devtools-shared': 7.0.26 + '@vue/devtools-ui': 7.0.26(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vue@3.4.21(typescript@5.4.4)) + perfect-debounce: 1.0.0 + splitpanes: 3.1.5 + vue: 3.4.21(typescript@5.4.4) + vue-virtual-scroller: 2.0.0-beta.8(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@unocss/reset' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - floating-vue + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - sortablejs + - universal-cookie + - unocss + - vite + + '@vue/devtools-core@7.0.26(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vue/devtools-kit': 7.0.26(vue@3.4.21(typescript@5.4.4)) + '@vue/devtools-shared': 7.0.26 + mitt: 3.0.1 + nanoid: 3.3.7 + pathe: 1.1.2 + vite-hot-client: 0.2.3(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + transitivePeerDependencies: + - vite + - vue + + '@vue/devtools-kit@7.0.26(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vue/devtools-shared': 7.0.26 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + vue: 3.4.21(typescript@5.4.4) + + '@vue/devtools-shared@7.0.26': + dependencies: + rfdc: 1.3.1 + + '@vue/devtools-ui@7.0.26(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@unocss/reset': 0.58.9 + '@vueuse/components': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.21(typescript@5.4.4)) + colord: 2.9.3 + floating-vue: 5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)) + focus-trap: 7.5.4 + unocss: 0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + vue: 3.4.21(typescript@5.4.4) + transitivePeerDependencies: + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode + - sortablejs + - universal-cookie + + '@vue/language-core@1.8.27(typescript@5.4.4)': + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.4 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.4.4 + + '@vue/language-core@2.0.13(typescript@5.4.4)': + dependencies: + '@volar/language-core': 2.2.0-alpha.8 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.4 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.4.4 + + '@vue/reactivity@3.4.21': + dependencies: + '@vue/shared': 3.4.21 + + '@vue/runtime-core@3.4.21': + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/runtime-dom@3.4.21': + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.4.4) + + '@vue/shared@3.4.21': {} + + '@vueuse/components@10.9.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.4)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/core@10.9.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.4)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/head@2.0.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@unhead/dom': 1.9.4 + '@unhead/schema': 1.9.4 + '@unhead/ssr': 1.9.4 + '@unhead/vue': 1.9.4(vue@3.4.21(typescript@5.4.4)) + vue: 3.4.21(typescript@5.4.4) + + '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(fuse.js@6.6.2)(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.4)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + optionalDependencies: + focus-trap: 7.5.4 + fuse.js: 6.6.2 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/math@10.9.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.4)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/metadata@10.9.0': {} + + '@vueuse/nuxt@10.9.0(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/metadata': 10.9.0 + local-pkg: 0.5.0 + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - rollup + - supports-color + - vue + + '@vueuse/shared@10.9.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@webassemblyjs/ast@1.12.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + + '@webassemblyjs/helper-api-error@1.11.6': {} + + '@webassemblyjs/helper-buffer@1.12.1': {} + + '@webassemblyjs/helper-numbers@1.11.6': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + + '@webassemblyjs/helper-wasm-section@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + + '@webassemblyjs/ieee754@1.11.6': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.11.6': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.11.6': {} + + '@webassemblyjs/wasm-edit@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + + '@webassemblyjs/wasm-gen@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wasm-opt@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + + '@webassemblyjs/wasm-parser@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wast-printer@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abbrev@1.1.1: {} + + abbrev@2.0.0: {} + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-assertions@1.9.0(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-import-attributes@1.9.5(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn@8.11.3: {} + + agent-base@6.0.2: + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + agent-base@7.1.1: + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-colors@4.1.3: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + aproba@2.0.0: {} + + archiver-utils@5.0.2: + dependencies: + glob: 10.3.12 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + + archiver@7.0.1: + dependencies: + archiver-utils: 5.0.2 + async: 3.2.5 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + + are-docs-informative@0.0.2: {} + + are-we-there-yet@2.0.0: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + array-union@2.1.0: {} + + ast-kit@0.12.1: + dependencies: + '@babel/parser': 7.24.4 + pathe: 1.1.2 + + ast-kit@0.9.5(rollup@4.14.1): + dependencies: + '@babel/parser': 7.24.4 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + + ast-walker-scope@0.5.0(rollup@4.14.1): + dependencies: + '@babel/parser': 7.24.4 + ast-kit: 0.9.5(rollup@4.14.1) + transitivePeerDependencies: + - rollup + + async-sema@3.1.1: {} + + async@2.6.4: + dependencies: + lodash: 4.17.21 + + async@3.2.5: {} + + at-least-node@1.0.0: {} + + autoprefixer@10.4.19(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001608 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + b4a@1.6.6: {} + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + bare-events@2.2.2: + optional: true + + base64-js@0.0.8: {} + + base64-js@1.5.1: {} + + binary-extensions@2.3.0: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + birpc@0.2.14: {} + + birpc@0.2.17: {} + + boolbase@1.0.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + browserslist@4.23.0: + dependencies: + caniuse-lite: 1.0.30001608 + electron-to-chromium: 1.4.731 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + + buffer-crc32@1.0.0: {} + + buffer-from@1.1.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + builtin-modules@3.3.0: {} + + builtins@5.1.0: + dependencies: + semver: 7.6.0 + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + + c12@1.10.0: + dependencies: + chokidar: 3.6.0 + confbox: 0.1.3 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.3 + jiti: 1.21.0 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.2 + + cac@6.7.14: {} + + cacache@18.0.2: + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.12 + lru-cache: 10.2.0 + minipass: 7.0.4 + minipass-collect: 2.0.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.2.1 + unique-filename: 3.0.0 + + cache-content-type@1.0.1: + dependencies: + mime-types: 2.1.35 + ylru: 1.4.0 + + callsites@3.1.0: {} + + camelcase-css@2.0.1: {} + + camelcase@6.3.0: {} + + camelize@1.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001608 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001608: {} + + ccount@2.0.1: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@2.0.0: {} + + chrome-launcher@1.1.1: + dependencies: + '@types/node': 20.12.7 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 2.0.1 + transitivePeerDependencies: + - supports-color + + chrome-trace-event@1.0.3: {} + + ci-info@4.0.0: {} + + citty@0.1.6: + dependencies: + consola: 3.2.3 + + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + clean-stack@2.2.0: {} + + clear-module@4.1.2: + dependencies: + parent-module: 2.0.0 + resolve-from: 5.0.0 + + clear@0.1.0: {} + + clipboardy@4.0.0: + dependencies: + execa: 8.0.1 + is-wsl: 3.1.0 + is64bit: 2.0.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + cluster-key-slot@1.1.2: {} + + co@4.6.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-support@1.1.3: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + comma-separated-tokens@2.0.3: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@6.2.1: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + comment-parser@1.4.1: {} + + commondir@1.0.1: {} + + compress-commons@6.0.2: + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + + computeds@0.0.1: {} + + concat-map@0.0.1: {} + + confbox@0.1.3: {} + + consola@3.2.3: {} + + console-control-strings@1.1.0: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-es@1.1.0: {} + + cookies@0.9.1: + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + + core-js-compat@3.36.1: + dependencies: + browserslist: 4.23.0 + + core-util-is@1.0.3: {} + + crc-32@1.2.2: {} + + crc32-stream@6.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 4.5.2 + + create-require@1.1.1: {} + + croner@8.0.2: {} + + cronstrue@2.49.0: {} + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crossws@0.2.4: {} + + css-background-parser@0.1.0: {} + + css-box-shadow@1.0.0-3: {} + + css-color-keywords@1.0.0: {} + + css-declaration-sorter@7.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + css-inline@0.11.2: {} + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-to-react-native@3.2.0: + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.0 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + + cssnano-preset-default@6.1.2(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + css-declaration-sorter: 7.2.0(postcss@8.4.38) + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-calc: 9.0.1(postcss@8.4.38) + postcss-colormin: 6.1.0(postcss@8.4.38) + postcss-convert-values: 6.1.0(postcss@8.4.38) + postcss-discard-comments: 6.0.2(postcss@8.4.38) + postcss-discard-duplicates: 6.0.3(postcss@8.4.38) + postcss-discard-empty: 6.0.3(postcss@8.4.38) + postcss-discard-overridden: 6.0.2(postcss@8.4.38) + postcss-merge-longhand: 6.0.5(postcss@8.4.38) + postcss-merge-rules: 6.1.1(postcss@8.4.38) + postcss-minify-font-values: 6.1.0(postcss@8.4.38) + postcss-minify-gradients: 6.0.3(postcss@8.4.38) + postcss-minify-params: 6.1.0(postcss@8.4.38) + postcss-minify-selectors: 6.0.4(postcss@8.4.38) + postcss-normalize-charset: 6.0.2(postcss@8.4.38) + postcss-normalize-display-values: 6.0.2(postcss@8.4.38) + postcss-normalize-positions: 6.0.2(postcss@8.4.38) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.38) + postcss-normalize-string: 6.0.2(postcss@8.4.38) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.38) + postcss-normalize-unicode: 6.1.0(postcss@8.4.38) + postcss-normalize-url: 6.0.2(postcss@8.4.38) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.38) + postcss-ordered-values: 6.0.2(postcss@8.4.38) + postcss-reduce-initial: 6.1.0(postcss@8.4.38) + postcss-reduce-transforms: 6.0.2(postcss@8.4.38) + postcss-svgo: 6.0.3(postcss@8.4.38) + postcss-unique-selectors: 6.0.4(postcss@8.4.38) + + cssnano-utils@4.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + cssnano@6.1.2(postcss@8.4.38): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.4.38) + lilconfig: 3.1.1 + postcss: 8.4.38 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.1.3: {} + + db0@0.1.4: {} + + de-indent@1.0.2: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + deep-equal@1.0.1: {} + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + default-browser-id@5.0.0: {} + + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + + define-lazy-prop@2.0.0: {} + + define-lazy-prop@3.0.0: {} + + defu@6.1.4: {} + + delegates@1.0.0: {} + + denque@2.1.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destr@2.0.3: {} + + destroy@1.2.0: {} + + detab@3.0.2: {} + + detect-libc@1.0.3: {} + + detect-libc@2.0.3: {} + + devalue@4.3.2: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + diff@5.2.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-prop@8.0.2: + dependencies: + type-fest: 3.13.1 + + dotenv@16.4.5: {} + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.4.731: {} + + emoji-blast@0.10.0: {} + + emoji-regex@10.3.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emoticon@4.0.1: {} + + encodeurl@1.0.2: {} + + encoding@0.1.13: + dependencies: + iconv-lite: 0.6.3 + optional: true + + engine.io-client@6.5.3: + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4 + engine.io-parser: 5.2.2 + ws: 8.11.0 + xmlhttprequest-ssl: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + engine.io-parser@5.2.2: {} + + enhanced-resolve@5.16.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + entities@4.5.0: {} + + env-paths@2.2.1: {} + + err-code@2.0.3: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser-es@0.1.1: {} + + es-module-lexer@1.5.0: {} + + esbuild@0.20.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + escalade@3.1.2: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-config-flat-gitignore@0.1.5: + dependencies: + find-up: 7.0.0 + parse-gitignore: 2.0.0 + + eslint-flat-config-utils@0.2.3: + dependencies: + '@types/eslint': 8.56.10 + pathe: 1.1.2 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + eslint-plugin-import-x@0.5.0(eslint@9.0.0)(typescript@5.4.4): + dependencies: + '@typescript-eslint/utils': 7.7.0(eslint@9.0.0)(typescript@5.4.4) + debug: 4.3.4 + doctrine: 3.0.0 + eslint: 9.0.0 + eslint-import-resolver-node: 0.3.9 + get-tsconfig: 4.7.3 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-jsdoc@48.2.3(eslint@9.0.0): + dependencies: + '@es-joy/jsdoccomment': 0.42.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.3.4 + escape-string-regexp: 4.0.0 + eslint: 9.0.0 + esquery: 1.5.0 + is-builtin-module: 3.2.1 + semver: 7.6.0 + spdx-expression-parse: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-unicorn@52.0.0(eslint@9.0.0): + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@eslint/eslintrc': 2.1.4 + ci-info: 4.0.0 + clean-regexp: 1.0.0 + core-js-compat: 3.36.1 + eslint: 9.0.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.6.0 + strip-indent: 3.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-vue@9.25.0(eslint@9.0.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + eslint: 9.0.0 + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.16 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@9.0.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-scope@8.0.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.0.0: {} + + eslint@9.0.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 3.0.2 + '@eslint/js': 9.0.0 + '@humanwhocodes/config-array': 0.12.3 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + escape-string-regexp: 4.0.0 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + espree@10.0.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 4.0.0 + + espree@9.6.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.5.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-stream@3.3.4: + dependencies: + duplexer: 0.1.2 + from: 0.1.7 + map-stream: 0.1.0 + pause-stream: 0.0.11 + split: 0.3.3 + stream-combiner: 0.0.4 + through: 2.3.8 + + event-target-shim@5.0.1: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@7.2.0: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + exponential-backoff@3.1.1: {} + + extend@3.0.2: {} + + externality@1.0.2: + dependencies: + enhanced-resolve: 5.16.0 + mlly: 1.6.1 + pathe: 1.1.2 + ufo: 1.5.3 + + fast-deep-equal@3.1.3: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fflate@0.7.4: {} + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + file-uri-to-path@1.0.0: {} + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + + flat@6.0.1: {} + + flatted@3.3.1: {} + + floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@floating-ui/dom': 1.1.1 + vue: 3.4.21(typescript@5.4.4) + vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.4)) + optionalDependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + + focus-trap@7.5.4: + dependencies: + tabbable: 6.2.0 + + foreground-child@3.1.1: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + fraction.js@4.3.7: {} + + fresh@0.5.2: {} + + from@0.1.7: {} + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs-minipass@3.0.3: + dependencies: + minipass: 7.0.4 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + fuse.js@6.6.2: {} + + gauge@3.0.2: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-port-please@3.1.2: {} + + get-stream@6.0.1: {} + + get-stream@8.0.1: {} + + get-tsconfig@4.7.3: + dependencies: + resolve-pkg-maps: 1.0.0 + + giget@1.2.3: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.4 + nypm: 0.3.8 + ohash: 1.1.3 + pathe: 1.1.2 + tar: 6.2.1 + + git-config-path@2.0.0: {} + + git-up@7.0.0: + dependencies: + is-ssh: 1.4.0 + parse-url: 8.1.0 + + git-url-parse@14.0.0: + dependencies: + git-up: 7.0.0 + + github-slugger@2.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.3.12: + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.0.4 + path-scurry: 1.10.2 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globals@14.0.0: {} + + globals@15.0.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 4.0.0 + + globby@14.0.1: + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.1 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + gzip-size@7.0.0: + dependencies: + duplexer: 0.1.2 + + h3@1.11.1: + dependencies: + cookie-es: 1.1.0 + crossws: 0.2.4 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.1.0 + ohash: 1.1.3 + radix3: 1.1.2 + ufo: 1.5.3 + uncrypto: 0.1.3 + unenv: 1.9.0 + transitivePeerDependencies: + - uWebSockets.js + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + has-unicode@2.0.1: {} + + hash-sum@2.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.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.5.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + + hast-util-heading-rank@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.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-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.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 + + 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.5.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + hex-rgb@4.3.0: {} + + hookable@5.5.3: {} + + hosted-git-info@2.8.9: {} + + hosted-git-info@7.0.1: + dependencies: + lru-cache: 10.2.0 + + html-tags@3.3.1: {} + + html-void-elements@3.0.0: {} + + http-assert@1.5.0: + dependencies: + deep-equal: 1.0.1 + http-errors: 1.8.1 + + http-cache-semantics@4.1.1: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + http-shutdown@1.2.2: {} + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.4: + dependencies: + agent-base: 7.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + httpxy@0.1.5: {} + + human-signals@2.1.0: {} + + human-signals@4.3.1: {} + + human-signals@5.0.0: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + optional: true + + ieee754@1.2.1: {} + + ignore-walk@6.0.4: + dependencies: + minimatch: 9.0.4 + + ignore@5.3.1: {} + + image-meta@0.2.0: {} + + image-size@1.1.1: + dependencies: + queue: 6.0.2 + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@4.1.1: {} + + ioredis@5.3.2: + dependencies: + '@ioredis/commands': 1.2.0 + cluster-key-slot: 1.1.2 + debug: 4.3.4 + denque: 2.1.0 + lodash.defaults: 4.2.0 + lodash.isarguments: 3.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + + ip-address@9.0.5: + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + + iron-webcrypto@1.1.0: {} + + is-absolute-url@4.0.1: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-builtin-module@3.2.1: + dependencies: + builtin-modules: 3.3.0 + + is-core-module@2.13.1: + dependencies: + hasown: 2.0.2 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-https@4.0.0: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-installed-globally@1.0.0: + dependencies: + global-directory: 4.0.1 + is-path-inside: 4.0.0 + + is-lambda@1.0.1: {} + + is-module@1.0.0: {} + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-path-inside@4.0.0: {} + + is-plain-obj@4.1.0: {} + + is-primitive@3.0.1: {} + + is-reference@1.2.1: + dependencies: + '@types/estree': 1.0.5 + + is-ssh@1.4.0: + dependencies: + protocols: 2.0.1 + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + is64bit@2.0.0: + dependencies: + system-architecture: 0.1.0 + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isexe@3.1.1: {} + + jackspeak@2.3.6: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-worker@27.5.1: + dependencies: + '@types/node': 20.12.7 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.0: {} + + js-tokens@4.0.0: {} + + js-tokens@9.0.0: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsbn@1.1.0: {} + + jsdoc-type-pratt-parser@4.0.0: {} + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + jsesc@3.0.2: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-parse-even-better-errors@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonc-eslint-parser@2.4.0: + dependencies: + acorn: 8.11.3 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.6.0 + + jsonc-parser@3.2.1: {} + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@5.0.0: + dependencies: + universalify: 0.1.2 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} + + keygrip@1.1.0: + dependencies: + tsscmp: 1.0.6 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kleur@3.0.3: {} + + klona@2.0.6: {} + + knitwork@1.1.0: {} + + koa-compose@4.1.0: {} + + koa-convert@2.0.0: + dependencies: + co: 4.6.0 + koa-compose: 4.1.0 + + koa-send@5.0.1: + dependencies: + debug: 4.3.4 + http-errors: 1.8.1 + resolve-path: 1.4.0 + transitivePeerDependencies: + - supports-color + + koa-static@5.0.0: + dependencies: + debug: 3.2.7 + koa-send: 5.0.1 + transitivePeerDependencies: + - supports-color + + koa@2.15.2: + dependencies: + accepts: 1.3.8 + cache-content-type: 1.0.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookies: 0.9.1 + debug: 4.3.4 + delegates: 1.0.0 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + fresh: 0.5.2 + http-assert: 1.5.0 + http-errors: 1.8.1 + is-generator-function: 1.0.10 + koa-compose: 4.1.0 + koa-convert: 2.0.0 + on-finished: 2.4.1 + only: 0.0.2 + parseurl: 1.3.3 + statuses: 1.5.0 + type-is: 1.6.18 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + kolorist@1.8.0: {} + + launch-editor@2.6.1: + dependencies: + picocolors: 1.0.0 + shell-quote: 1.8.1 + + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lighthouse-logger@2.0.1: + dependencies: + debug: 2.6.9 + marky: 1.2.5 + transitivePeerDependencies: + - supports-color + + lilconfig@2.1.0: {} + + lilconfig@3.1.1: {} + + linebreak@1.1.0: + dependencies: + base64-js: 0.0.8 + unicode-trie: 2.0.0 + + lines-and-columns@1.2.4: {} + + listhen@1.7.2: + dependencies: + '@parcel/watcher': 2.4.1 + '@parcel/watcher-wasm': 2.4.1 + citty: 0.1.6 + clipboardy: 4.0.0 + consola: 3.2.3 + crossws: 0.2.4 + defu: 6.1.4 + get-port-please: 3.1.2 + h3: 1.11.1 + http-shutdown: 1.2.2 + jiti: 1.21.0 + mlly: 1.6.1 + node-forge: 1.3.1 + pathe: 1.1.2 + std-env: 3.7.0 + ufo: 1.5.3 + untun: 0.1.3 + uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js + + loader-runner@4.3.0: {} + + local-pkg@0.4.3: {} + + local-pkg@0.5.0: + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.castarray@4.4.0: {} + + lodash.defaults@4.2.0: {} + + lodash.isarguments@3.1.0: {} + + lodash.isplainobject@4.0.6: {} + + lodash.memoize@4.1.2: {} + + lodash.merge@4.6.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.17.21: {} + + longest-streak@3.1.0: {} + + lru-cache@10.2.0: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + magic-string-ast@0.3.0: + dependencies: + magic-string: 0.30.9 + + magic-string@0.30.9: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + magicast@0.3.3: + dependencies: + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + source-map-js: 1.2.0 + + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + + make-fetch-happen@13.0.0: + dependencies: + '@npmcli/agent': 2.2.2 + cacache: 18.0.2 + http-cache-semantics: 4.1.1 + is-lambda: 1.0.1 + minipass: 7.0.4 + minipass-fetch: 3.0.4 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + ssri: 10.0.5 + transitivePeerDependencies: + - supports-color + + map-stream@0.1.0: {} + + markdown-table@3.0.3: {} + + marky@1.2.5: {} + + 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@2.0.0: + 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-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.0 + 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.0 + 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.0 + 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.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.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@4.0.0: + dependencies: + '@types/mdast': 4.0.3 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + mdurl@2.0.0: {} + + media-typer@0.3.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.0: + 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.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.0 + 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-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@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-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + 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@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@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + 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@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + 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@2.0.0: {} + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + 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@2.0.0: + 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@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + 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.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.5: + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mime@3.0.0: {} + + mime@4.0.1: {} + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + min-indent@1.0.1: {} + + mini-svg-data-uri@1.4.4: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass-collect@2.0.1: + dependencies: + minipass: 7.0.4 + + minipass-fetch@3.0.4: + dependencies: + minipass: 7.0.4 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + + minipass-json-stream@1.0.1: + dependencies: + jsonparse: 1.3.1 + minipass: 3.3.6 + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minipass@7.0.4: {} + + minisearch@6.3.0: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mitt@2.1.0: {} + + mitt@3.0.1: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + + mlly@1.6.1: + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.5.3 + + mri@1.2.0: {} + + mrmime@2.0.0: {} + + ms@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + muggle-string@0.3.1: {} + + muggle-string@0.4.1: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.7: {} + + nanoid@5.0.7: {} + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + neo-async@2.6.2: {} + + nitropack@2.9.6(encoding@0.1.13): + dependencies: + '@cloudflare/kv-asset-handler': 0.3.1 + '@netlify/functions': 2.6.0 + '@rollup/plugin-alias': 5.1.0(rollup@4.14.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.14.1) + '@rollup/plugin-json': 6.1.0(rollup@4.14.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.1) + '@rollup/plugin-terser': 0.4.4(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@types/http-proxy': 1.17.14 + '@vercel/nft': 0.26.4(encoding@0.1.13) + archiver: 7.0.1 + c12: 1.10.0 + chalk: 5.3.0 + chokidar: 3.6.0 + citty: 0.1.6 + consola: 3.2.3 + cookie-es: 1.1.0 + croner: 8.0.2 + crossws: 0.2.4 + db0: 0.1.4 + defu: 6.1.4 + destr: 2.0.3 + dot-prop: 8.0.2 + esbuild: 0.20.2 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + fs-extra: 11.2.0 + globby: 14.0.1 + gzip-size: 7.0.0 + h3: 1.11.1 + hookable: 5.5.3 + httpxy: 0.1.5 + ioredis: 5.3.2 + is-primitive: 3.0.1 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.1.0 + listhen: 1.7.2 + magic-string: 0.30.9 + mime: 4.0.1 + mlly: 1.6.1 + mri: 1.2.0 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 + ohash: 1.1.3 + openapi-typescript: 6.7.5 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 + radix3: 1.1.2 + rollup: 4.14.1 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.1) + scule: 1.3.0 + semver: 7.6.0 + serve-placeholder: 2.0.1 + serve-static: 1.15.0 + std-env: 3.7.0 + ufo: 1.5.3 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.9.0 + unimport: 3.7.1(rollup@4.14.1) + unstorage: 1.10.2(ioredis@5.3.2) + unwasm: 0.3.9 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - drizzle-orm + - encoding + - idb-keyval + - supports-color + - uWebSockets.js + + node-addon-api@7.1.0: {} + + node-emoji@2.1.3: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-fetch-native@1.6.4: {} + + node-fetch@2.7.0(encoding@0.1.13): + dependencies: + whatwg-url: 5.0.0 + optionalDependencies: + encoding: 0.1.13 + + node-forge@1.3.1: {} + + node-gyp-build@4.8.0: {} + + node-gyp@10.1.0: + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.1 + glob: 10.3.12 + graceful-fs: 4.2.11 + make-fetch-happen: 13.0.0 + nopt: 7.2.0 + proc-log: 3.0.0 + semver: 7.6.0 + tar: 6.2.1 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + + node-releases@2.0.14: {} + + nopt@5.0.0: + dependencies: + abbrev: 1.1.1 + + nopt@7.2.0: + dependencies: + abbrev: 2.0.0 + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + normalize-package-data@6.0.0: + dependencies: + hosted-git-info: 7.0.1 + is-core-module: 2.13.1 + semver: 7.6.0 + validate-npm-package-license: 3.0.4 + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + npm-bundled@3.0.0: + dependencies: + npm-normalize-package-bin: 3.0.1 + + npm-install-checks@6.3.0: + dependencies: + semver: 7.6.0 + + npm-normalize-package-bin@3.0.1: {} + + npm-package-arg@11.0.1: + dependencies: + hosted-git-info: 7.0.1 + proc-log: 3.0.0 + semver: 7.6.0 + validate-npm-package-name: 5.0.0 + + npm-packlist@8.0.2: + dependencies: + ignore-walk: 6.0.4 + + npm-pick-manifest@9.0.0: + dependencies: + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 11.0.1 + semver: 7.6.0 + + npm-registry-fetch@16.2.0: + dependencies: + '@npmcli/redact': 1.1.0 + make-fetch-happen: 13.0.0 + minipass: 7.0.4 + minipass-fetch: 3.0.4 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 11.0.1 + proc-log: 3.0.0 + transitivePeerDependencies: + - supports-color + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + npmlog@5.0.1: + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + nuxi@3.11.1: + optionalDependencies: + fsevents: 2.3.3 + + nuxt-component-meta@0.6.3(rollup@4.14.1): + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + citty: 0.1.6 + scule: 1.3.0 + typescript: 5.4.4 + vue-component-meta: 1.8.27(typescript@5.4.4) + transitivePeerDependencies: + - rollup + - supports-color + + nuxt-icon@0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@iconify/collections': 1.0.412 + '@iconify/vue': 4.1.1(vue@3.4.21(typescript@5.4.4)) + '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + '@nuxt/kit': 3.11.2(rollup@4.14.1) + transitivePeerDependencies: + - nuxt + - rollup + - supports-color + - vite + - vue + + ? nuxt-og-image@2.2.4(@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)))(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(@vue/compiler-core@3.4.21)(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))(webpack@5.91.0) + : dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@resvg/resvg-js': 2.6.2 + '@resvg/resvg-wasm': 2.6.2 + '@twemoji/api': 14.1.2 + '@types/fs-extra': 11.0.4 + birpc: 0.2.14 + chalk: 5.3.0 + chrome-launcher: 1.1.1 + css-inline: 0.11.2 + defu: 6.1.4 + execa: 8.0.1 + fast-glob: 3.3.2 + flatted: 3.3.1 + fs-extra: 11.2.0 + globby: 13.2.2 + image-size: 1.1.1 + launch-editor: 2.6.1 + nuxt-site-config: 1.6.7(@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)))(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(@vue/compiler-core@3.4.21)(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))(webpack@5.91.0) + nuxt-site-config-kit: 1.6.7(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)) + nypm: 0.3.8 + ofetch: 1.3.4 + ohash: 1.1.3 + pathe: 1.1.2 + playwright-core: 1.43.0 + radix3: 1.1.2 + satori: 0.10.9 + satori-html: 0.3.2 + sirv: 2.0.4 + std-env: 3.7.0 + svg2png-wasm: 1.4.1 + terminate: 2.6.1 + tinyws: 0.1.0(ws@8.16.0) + twemoji: 14.0.2 + ufo: 1.5.3 + ws: 8.16.0 + yoga-wasm-web: 0.3.3 + transitivePeerDependencies: + - '@nuxt/devtools' + - '@unocss/webpack' + - '@vue/compiler-core' + - '@vue/composition-api' + - async-validator + - axios + - bufferutil + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - postcss + - qrcode + - rollup + - sortablejs + - supports-color + - universal-cookie + - utf-8-validate + - vite + - vue + - webpack + + nuxt-site-config-kit@1.6.7(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@nuxt/schema': 3.11.2(rollup@4.14.1) + pkg-types: 1.0.3 + site-config-stack: 1.6.7(vue@3.4.21(typescript@5.4.4)) + std-env: 3.7.0 + ufo: 1.5.3 + transitivePeerDependencies: + - rollup + - supports-color + - vue + + ? nuxt-site-config@1.6.7(@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)))(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(@vue/compiler-core@3.4.21)(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))(webpack@5.91.0) + : dependencies: + '@nuxt/devtools-kit': 1.1.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + '@nuxt/devtools-ui-kit': 1.1.5(@nuxt/devtools@1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)))(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(@vue/compiler-core@3.4.21)(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4))(webpack@5.91.0) + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@nuxt/schema': 3.11.2(rollup@4.14.1) + nuxt-site-config-kit: 1.6.7(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)) + pathe: 1.1.2 + shiki-es: 0.14.0 + sirv: 2.0.4 + site-config-stack: 1.6.7(vue@3.4.21(typescript@5.4.4)) + ufo: 1.5.3 + transitivePeerDependencies: + - '@nuxt/devtools' + - '@unocss/webpack' + - '@vue/compiler-core' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - postcss + - qrcode + - rollup + - sortablejs + - supports-color + - universal-cookie + - vite + - vue + - webpack + + nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)): + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/devtools': 1.1.5(@unocss/reset@0.58.9)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.12.7)(@unocss/reset@0.58.9)(encoding@0.1.13)(eslint@9.0.0)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.14.1))(vue@3.4.21(typescript@5.4.4)))(fuse.js@6.6.2)(ioredis@5.3.2)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)))(rollup@4.14.1)(unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)))(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue@3.4.21(typescript@5.4.4)) + '@nuxt/kit': 3.11.2(rollup@4.14.1) + '@nuxt/schema': 3.11.2(rollup@4.14.1) + '@nuxt/telemetry': 2.5.4(rollup@4.14.1) + '@nuxt/ui-templates': 1.3.3 + '@nuxt/vite-builder': 3.11.2(@types/node@20.12.7)(eslint@9.0.0)(optionator@0.9.3)(rollup@4.14.1)(terser@5.30.3)(typescript@5.4.4)(vue-tsc@2.0.13(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + '@unhead/dom': 1.9.4 + '@unhead/ssr': 1.9.4 + '@unhead/vue': 1.9.4(vue@3.4.21(typescript@5.4.4)) + '@vue/shared': 3.4.21 + acorn: 8.11.3 + c12: 1.10.0 + chokidar: 3.6.0 + cookie-es: 1.1.0 + defu: 6.1.4 + destr: 2.0.3 + devalue: 4.3.2 + esbuild: 0.20.2 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fs-extra: 11.2.0 + globby: 14.0.1 + h3: 1.11.1 + hookable: 5.5.3 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.1.0 + magic-string: 0.30.9 + mlly: 1.6.1 + nitropack: 2.9.6(encoding@0.1.13) + nuxi: 3.11.1 + nypm: 0.3.8 + ofetch: 1.3.4 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + radix3: 1.1.2 + scule: 1.3.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + ufo: 1.5.3 + ultrahtml: 1.5.3 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.9.0 + unimport: 3.7.1(rollup@4.14.1) + unplugin: 1.10.1 + unplugin-vue-router: 0.7.0(rollup@4.14.1)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.4)))(vue@3.4.21(typescript@5.4.4)) + unstorage: 1.10.2(ioredis@5.3.2) + untyped: 1.4.2 + vue: 3.4.21(typescript@5.4.4) + vue-bundle-renderer: 2.0.0 + vue-devtools-stub: 0.1.0 + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.4)) + optionalDependencies: + '@parcel/watcher': 2.4.1 + '@types/node': 20.12.7 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@unocss/reset' + - '@upstash/redis' + - '@vercel/kv' + - '@vue/composition-api' + - async-validator + - axios + - better-sqlite3 + - bluebird + - bufferutil + - change-case + - drauu + - drizzle-orm + - encoding + - eslint + - floating-vue + - fuse.js + - idb-keyval + - ioredis + - jwt-decode + - less + - lightningcss + - meow + - nprogress + - optionator + - qrcode + - rollup + - sass + - sortablejs + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - uWebSockets.js + - universal-cookie + - unocss + - utf-8-validate + - vite + - vls + - vti + - vue-tsc + - xml2js + + nypm@0.3.8: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + execa: 8.0.1 + pathe: 1.1.2 + ufo: 1.5.3 + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + ofetch@1.3.4: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.3 + + ohash@1.1.3: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + only@0.0.2: {} + + open@10.1.0: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + openapi-typescript@6.7.5: + dependencies: + ansi-colors: 4.1.3 + fast-glob: 3.3.2 + js-yaml: 4.1.0 + supports-color: 9.4.0 + undici: 5.28.4 + yargs-parser: 21.1.1 + + optionator@0.9.3: + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@2.2.0: {} + + pacote@17.0.6: + dependencies: + '@npmcli/git': 5.0.5 + '@npmcli/installed-package-contents': 2.0.2 + '@npmcli/promise-spawn': 7.0.1 + '@npmcli/run-script': 7.0.4 + cacache: 18.0.2 + fs-minipass: 3.0.3 + minipass: 7.0.4 + npm-package-arg: 11.0.1 + npm-packlist: 8.0.2 + npm-pick-manifest: 9.0.0 + npm-registry-fetch: 16.2.0 + proc-log: 3.0.0 + promise-retry: 2.0.1 + read-package-json: 7.0.0 + read-package-json-fast: 3.0.2 + sigstore: 2.3.0 + ssri: 10.0.5 + tar: 6.2.1 + transitivePeerDependencies: + - bluebird + - supports-color + + pako@0.2.9: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parent-module@2.0.0: + dependencies: + callsites: 3.1.0 + + parse-css-color@0.2.1: + dependencies: + color-name: 1.1.4 + hex-rgb: 4.3.0 + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.10 + 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-git-config@3.0.0: + dependencies: + git-config-path: 2.0.0 + ini: 1.3.8 + + parse-gitignore@2.0.0: {} + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-path@7.0.0: + dependencies: + protocols: 2.0.1 + + parse-url@8.1.0: + dependencies: + parse-path: 7.0.0 + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + parseurl@1.3.3: {} + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.10.2: + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + + path-to-regexp@6.2.2: {} + + path-type@4.0.0: {} + + path-type@5.0.0: {} + + pathe@1.1.2: {} + + pause-stream@0.0.11: + dependencies: + through: 2.3.8 + + perfect-debounce@1.0.0: {} + + picocolors@1.0.0: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + pify@2.3.0: {} + + pinia-plugin-persistedstate@3.2.1(pinia@2.1.7(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4))): + dependencies: + pinia: 2.1.7(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)) + + pinia@2.1.7(typescript@5.4.4)(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.21(typescript@5.4.4) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + optionalDependencies: + typescript: 5.4.4 + + pirates@4.0.6: {} + + pkg-types@1.0.3: + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + + playwright-core@1.43.0: {} + + pluralize@8.0.0: {} + + portfinder@1.0.32: + dependencies: + async: 2.6.4 + debug: 3.2.7 + mkdirp: 0.5.6 + transitivePeerDependencies: + - supports-color + + postcss-calc@9.0.1(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-custom-properties@13.3.6(postcss@8.4.38): + dependencies: + '@csstools/cascade-layer-name-parser': 1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4) + '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) + '@csstools/css-tokenizer': 2.2.4 + '@csstools/utilities': 1.0.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-discard-comments@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-duplicates@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-empty@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-overridden@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-import@15.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.38): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.38 + + postcss-load-config@4.0.2(postcss@8.4.38): + dependencies: + lilconfig: 3.1.1 + yaml: 2.4.1 + optionalDependencies: + postcss: 8.4.38 + + postcss-merge-longhand@6.0.5(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.4.38) + + postcss-merge-rules@6.1.1(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + + postcss-minify-font-values@6.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.4.38): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + + postcss-nested@6.0.1(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + + postcss-nesting@12.1.1(postcss@8.4.38): + dependencies: + '@csstools/selector-resolve-nested': 1.1.0(postcss-selector-parser@6.0.16) + '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + + postcss-normalize-charset@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-normalize-display-values@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@6.0.2(postcss@8.4.38): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + postcss: 8.4.38 + + postcss-reduce-transforms@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@6.0.16: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-svgo@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + svgo: 3.2.0 + + postcss-unique-selectors@6.0.4(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + + postcss-value-parser@4.2.0: {} + + postcss@8.4.38: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + + prelude-ls@1.2.1: {} + + pretty-bytes@6.1.1: {} + + proc-log@3.0.0: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + promise-inflight@1.0.1: {} + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + property-information@6.5.0: {} + + protocols@2.0.1: {} + + ps-tree@1.2.0: + dependencies: + event-stream: 3.3.4 + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + queue-tick@1.0.1: {} + + queue@6.0.2: + dependencies: + inherits: 2.0.4 + + radix3@1.1.2: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.3 + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + read-package-json-fast@3.0.2: + dependencies: + json-parse-even-better-errors: 3.0.1 + npm-normalize-package-bin: 3.0.1 + + read-package-json@7.0.0: + dependencies: + glob: 10.3.12 + json-parse-even-better-errors: 3.0.1 + normalize-package-data: 6.0.0 + npm-normalize-package-bin: 3.0.1 + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readable-stream@4.5.2: + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + + readdir-glob@1.1.3: + dependencies: + minimatch: 5.1.6 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + redis-errors@1.2.0: {} + + redis-parser@3.0.0: + dependencies: + redis-errors: 1.2.0 + + regenerator-runtime@0.14.1: {} + + regexp-tree@0.1.27: {} + + regjsparser@0.10.0: + dependencies: + jsesc: 0.5.0 + + rehype-external-links@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@ungap/structured-clone': 1.2.0 + hast-util-is-element: 3.0.0 + is-absolute-url: 4.0.1 + space-separated-tokens: 2.0.2 + 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 + + rehype-slug@6.0.0: + dependencies: + '@types/hast': 3.0.4 + github-slugger: 2.0.0 + hast-util-heading-rank: 3.0.0 + hast-util-to-string: 3.0.0 + unist-util-visit: 5.0.0 + + rehype-sort-attribute-values@5.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-is-element: 3.0.0 + unist-util-visit: 5.0.0 + + rehype-sort-attributes@5.0.0: + dependencies: + '@types/hast': 3.0.4 + unist-util-visit: 5.0.0 + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.3 + emoticon: 4.0.1 + mdast-util-find-and-replace: 3.0.1 + node-emoji: 2.1.3 + unified: 11.0.4 + + 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-mdc@3.2.0: + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + flat: 6.0.1 + js-yaml: 4.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark: 4.0.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + scule: 1.3.0 + stringify-entities: 4.0.4 + unified: 11.0.4 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + 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-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 + + replace-in-file@6.3.5: + dependencies: + chalk: 4.1.2 + glob: 7.2.3 + yargs: 17.7.2 + + require-directory@2.1.1: {} + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve-path@1.4.0: + dependencies: + http-errors: 1.6.3 + path-is-absolute: 1.0.1 + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.12.0: {} + + reusify@1.0.4: {} + + rfdc@1.3.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup-plugin-visualizer@5.12.0(rollup@4.14.1): + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.4 + yargs: 17.7.2 + optionalDependencies: + rollup: 4.14.1 + + rollup@4.14.1: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.14.1 + '@rollup/rollup-android-arm64': 4.14.1 + '@rollup/rollup-darwin-arm64': 4.14.1 + '@rollup/rollup-darwin-x64': 4.14.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.1 + '@rollup/rollup-linux-arm64-gnu': 4.14.1 + '@rollup/rollup-linux-arm64-musl': 4.14.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1 + '@rollup/rollup-linux-riscv64-gnu': 4.14.1 + '@rollup/rollup-linux-s390x-gnu': 4.14.1 + '@rollup/rollup-linux-x64-gnu': 4.14.1 + '@rollup/rollup-linux-x64-musl': 4.14.1 + '@rollup/rollup-win32-arm64-msvc': 4.14.1 + '@rollup/rollup-win32-ia32-msvc': 4.14.1 + '@rollup/rollup-win32-x64-msvc': 4.14.1 + fsevents: 2.3.3 + + run-applescript@7.0.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: + optional: true + + satori-html@0.3.2: + dependencies: + ultrahtml: 1.5.3 + + satori@0.10.9: + dependencies: + '@shuding/opentype.js': 1.4.0-beta.0 + css-background-parser: 0.1.0 + css-box-shadow: 1.0.0-3 + css-to-react-native: 3.2.0 + emoji-regex: 10.3.0 + escape-html: 1.0.3 + linebreak: 1.1.0 + parse-css-color: 0.2.1 + postcss-value-parser: 4.2.0 + yoga-wasm-web: 0.3.3 + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + scule@1.3.0: {} + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.6.0: + dependencies: + lru-cache: 6.0.0 + + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-placeholder@2.0.1: + dependencies: + defu: 6.1.4 + + serve-static@1.15.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + set-blocking@2.0.0: {} + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.1: {} + + shiki-es@0.14.0: {} + + shiki@1.3.0: + dependencies: + '@shikijs/core': 1.3.0 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sigstore@2.3.0: + dependencies: + '@sigstore/bundle': 2.3.1 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.1 + '@sigstore/sign': 2.3.0 + '@sigstore/tuf': 2.3.2 + '@sigstore/verify': 1.2.0 + transitivePeerDependencies: + - supports-color + + simple-git@3.24.0: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + site-config-stack@1.6.7(vue@3.4.21(typescript@5.4.4)): + dependencies: + ufo: 1.5.3 + vue: 3.4.21(typescript@5.4.4) + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + slash@5.1.0: {} + + slugify@1.6.6: {} + + smart-buffer@4.2.0: {} + + smob@1.5.0: {} + + smooth-dnd@0.12.1: {} + + socket.io-client@4.7.5: + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4 + engine.io-client: 6.5.3 + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-parser@4.2.4: + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + socks-proxy-agent@8.0.3: + dependencies: + agent-base: 7.1.1 + debug: 4.3.4 + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + + socks@2.8.3: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + + source-map-js@1.2.0: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.17 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + + spdx-license-ids@3.0.17: {} + + speakingurl@14.0.1: {} + + split@0.3.3: + dependencies: + through: 2.3.8 + + splitpanes@3.1.5: {} + + sprintf-js@1.1.3: {} + + ssri@10.0.5: + dependencies: + minipass: 7.0.4 + + standard-as-callback@2.1.0: {} + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + std-env@3.7.0: {} + + stream-combiner@0.0.4: + dependencies: + duplexer: 0.1.2 + + streamx@2.16.1: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.2 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.codepointat@0.2.1: {} + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-final-newline@2.0.0: {} + + strip-final-newline@3.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + strip-literal@1.3.0: + dependencies: + acorn: 8.11.3 + + strip-literal@2.1.0: + dependencies: + js-tokens: 9.0.0 + + stylehacks@6.1.1(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.3.12 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-color@9.4.0: {} + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-tags@1.0.0: {} + + svg2png-wasm@1.4.1: {} + + svgo@3.2.0: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.0.0 + + system-architecture@0.1.0: {} + + tabbable@6.2.0: {} + + tailwind-config-viewer@1.7.3(tailwindcss@3.4.3): + dependencies: + '@koa/router': 12.0.1 + commander: 6.2.1 + fs-extra: 9.1.0 + koa: 2.15.2 + koa-static: 5.0.0 + open: 7.4.2 + portfinder: 1.0.32 + replace-in-file: 6.3.5 + tailwindcss: 3.4.3 + transitivePeerDependencies: + - supports-color + + tailwind-merge@2.2.2: + dependencies: + '@babel/runtime': 7.24.4 + + tailwindcss@3.4.3: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.0.16 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + tapable@2.2.1: {} + + tar-stream@3.1.7: + dependencies: + b4a: 1.6.6 + fast-fifo: 1.3.2 + streamx: 2.16.1 + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + terminate@2.6.1: + dependencies: + ps-tree: 1.2.0 + + terser-webpack-plugin@5.3.10(webpack@5.91.0): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.30.3 + webpack: 5.91.0 + + terser@5.30.3: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-table@0.2.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + through@2.3.8: {} + + tiny-inflate@1.0.3: {} + + tiny-invariant@1.3.3: {} + + tinyws@0.1.0(ws@8.16.0): + dependencies: + ws: 8.16.0 + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + tosource@2.0.0-alpha.3: {} + + totalist@3.0.1: {} + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-api-utils@1.3.0(typescript@5.4.4): + dependencies: + typescript: 5.4.4 + + ts-interface-checker@0.1.13: {} + + tslib@2.6.2: {} + + tsscmp@1.0.6: {} + + tuf-js@2.2.0: + dependencies: + '@tufjs/models': 2.0.0 + debug: 4.3.4 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + + twemoji-parser@14.0.0: {} + + twemoji@14.0.2: + dependencies: + fs-extra: 8.1.0 + jsonfile: 5.0.0 + twemoji-parser: 14.0.0 + universalify: 0.1.2 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-fest@3.13.1: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typescript@5.4.4: {} + + ufo@1.5.3: {} + + ultrahtml@1.5.3: {} + + unconfig@0.3.12: + dependencies: + '@antfu/utils': 0.7.7 + defu: 6.1.4 + jiti: 1.21.0 + mlly: 1.6.1 + + uncrypto@0.1.3: {} + + unctx@2.3.1: + dependencies: + acorn: 8.11.3 + estree-walker: 3.0.3 + magic-string: 0.30.9 + unplugin: 1.10.1 + + undici-types@5.26.5: {} + + undici@5.28.4: + dependencies: + '@fastify/busboy': 2.1.1 + + unenv@1.9.0: + dependencies: + consola: 3.2.3 + defu: 6.1.4 + mime: 3.0.0 + node-fetch-native: 1.6.4 + pathe: 1.1.2 + + unhead@1.9.4: + dependencies: + '@unhead/dom': 1.9.4 + '@unhead/schema': 1.9.4 + '@unhead/shared': 1.9.4 + hookable: 5.5.3 + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-trie@2.0.0: + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + + unicorn-magic@0.1.0: {} + + 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.2.0 + vfile: 6.0.1 + + unimport@3.7.1(rollup@4.14.1): + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + acorn: 8.11.3 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.9 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + strip-literal: 1.3.0 + unplugin: 1.10.1 + transitivePeerDependencies: + - rollup + + unique-filename@3.0.0: + dependencies: + unique-slug: 4.0.0 + + unique-slug@4.0.0: + dependencies: + imurmurhash: 0.1.4 + + unist-builder@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + 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 + + universalify@0.1.2: {} + + universalify@2.0.1: {} + + unocss@0.58.9(@unocss/webpack@0.58.9(rollup@4.14.1)(webpack@5.91.0))(postcss@8.4.38)(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)): + dependencies: + '@unocss/astro': 0.58.9(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + '@unocss/cli': 0.58.9(rollup@4.14.1) + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/postcss': 0.58.9(postcss@8.4.38) + '@unocss/preset-attributify': 0.58.9 + '@unocss/preset-icons': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-tagify': 0.58.9 + '@unocss/preset-typography': 0.58.9 + '@unocss/preset-uno': 0.58.9 + '@unocss/preset-web-fonts': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/transformer-attributify-jsx': 0.58.9 + '@unocss/transformer-attributify-jsx-babel': 0.58.9 + '@unocss/transformer-compile-class': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + '@unocss/transformer-variant-group': 0.58.9 + '@unocss/vite': 0.58.9(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)) + optionalDependencies: + '@unocss/webpack': 0.58.9(rollup@4.14.1)(webpack@5.91.0) + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + + unplugin-vue-router@0.7.0(rollup@4.14.1)(vue-router@4.3.0(vue@3.4.21(typescript@5.4.4)))(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@babel/types': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@vue-macros/common': 1.10.2(rollup@4.14.1)(vue@3.4.21(typescript@5.4.4)) + ast-walker-scope: 0.5.0(rollup@4.14.1) + chokidar: 3.6.0 + fast-glob: 3.3.2 + json5: 2.2.3 + local-pkg: 0.4.3 + mlly: 1.6.1 + pathe: 1.1.2 + scule: 1.3.0 + unplugin: 1.10.1 + yaml: 2.4.1 + optionalDependencies: + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - rollup + - vue + + unplugin@1.10.1: + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + + unstorage@1.10.2(ioredis@5.3.2): + dependencies: + anymatch: 3.1.3 + chokidar: 3.6.0 + destr: 2.0.3 + h3: 1.11.1 + listhen: 1.7.2 + lru-cache: 10.2.0 + mri: 1.2.0 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 + ufo: 1.5.3 + optionalDependencies: + ioredis: 5.3.2 + transitivePeerDependencies: + - uWebSockets.js + + untun@0.1.3: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + pathe: 1.1.2 + + untyped@1.4.2: + dependencies: + '@babel/core': 7.24.4 + '@babel/standalone': 7.24.4 + '@babel/types': 7.24.0 + defu: 6.1.4 + jiti: 1.21.0 + mri: 1.2.0 + scule: 1.3.0 + transitivePeerDependencies: + - supports-color + + unwasm@0.3.9: + dependencies: + knitwork: 1.1.0 + magic-string: 0.30.9 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + unplugin: 1.10.1 + + update-browserslist-db@1.0.13(browserslist@4.23.0): + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + + uqr@0.1.2: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + urlpattern-polyfill@8.0.2: {} + + util-deprecate@1.0.2: {} + + v-lazy-show@0.2.4(@vue/compiler-core@3.4.21): + dependencies: + '@vue/compiler-core': 3.4.21 + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + validate-npm-package-name@5.0.0: + dependencies: + builtins: 5.1.0 + + vary@1.1.2: {} + + vfile-location@5.0.2: + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + + vite-hot-client@0.2.3(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)): + dependencies: + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + + vite-node@1.4.0(@types/node@20.12.7)(terser@5.30.3): + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite-plugin-checker@0.6.4(eslint@9.0.0)(optionator@0.9.3)(typescript@5.4.4)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3))(vue-tsc@2.0.13(typescript@5.4.4)): + dependencies: + '@babel/code-frame': 7.24.2 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + chokidar: 3.6.0 + commander: 8.3.0 + fast-glob: 3.3.2 + fs-extra: 11.2.0 + npm-run-path: 4.0.1 + semver: 7.6.0 + strip-ansi: 6.0.1 + tiny-invariant: 1.3.3 + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + vscode-languageclient: 7.0.0 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + optionalDependencies: + eslint: 9.0.0 + optionator: 0.9.3 + typescript: 5.4.4 + vue-tsc: 2.0.13(typescript@5.4.4) + + vite-plugin-inspect@0.8.3(@nuxt/kit@3.11.2(rollup@4.14.1))(rollup@4.14.1)(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)): + dependencies: + '@antfu/utils': 0.7.7 + '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.2.0 + open: 10.1.0 + perfect-debounce: 1.0.0 + picocolors: 1.0.0 + sirv: 2.0.4 + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + optionalDependencies: + '@nuxt/kit': 3.11.2(rollup@4.14.1) + transitivePeerDependencies: + - rollup + - supports-color + + vite-plugin-vue-inspector@4.0.2(vite@5.2.8(@types/node@20.12.7)(terser@5.30.3)): + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) + '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4) + '@vue/compiler-dom': 3.4.21 + kolorist: 1.8.0 + magic-string: 0.30.9 + vite: 5.2.8(@types/node@20.12.7)(terser@5.30.3) + transitivePeerDependencies: + - supports-color + + vite@5.2.8(@types/node@20.12.7)(terser@5.30.3): + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.14.1 + optionalDependencies: + '@types/node': 20.12.7 + fsevents: 2.3.3 + terser: 5.30.3 + + vscode-jsonrpc@6.0.0: {} + + vscode-languageclient@7.0.0: + dependencies: + minimatch: 3.1.2 + semver: 7.6.0 + vscode-languageserver-protocol: 3.16.0 + + vscode-languageserver-protocol@3.16.0: + dependencies: + vscode-jsonrpc: 6.0.0 + vscode-languageserver-types: 3.16.0 + + vscode-languageserver-textdocument@1.0.11: {} + + vscode-languageserver-types@3.16.0: {} + + vscode-languageserver@7.0.0: + dependencies: + vscode-languageserver-protocol: 3.16.0 + + vscode-uri@3.0.8: {} + + vue-bundle-renderer@2.0.0: + dependencies: + ufo: 1.5.3 + + vue-component-meta@1.8.27(typescript@5.4.4): + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.4.4) + path-browserify: 1.0.1 + vue-component-type-helpers: 1.8.27 + optionalDependencies: + typescript: 5.4.4 + + vue-component-type-helpers@1.8.27: {} + + vue-demi@0.14.7(vue@3.4.21(typescript@5.4.4)): + dependencies: + vue: 3.4.21(typescript@5.4.4) + + vue-devtools-stub@0.1.0: {} + + vue-eslint-parser@9.4.2(eslint@9.0.0): + dependencies: + debug: 4.3.4 + eslint: 9.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + + vue-i18n-routing@1.2.0(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4)))(vue-router@4.3.0(vue@3.4.21(typescript@5.4.4)))(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@intlify/shared': 9.11.1 + '@intlify/vue-i18n-bridge': 1.1.0(vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4))) + '@intlify/vue-router-bridge': 1.1.0(vue-router@4.3.0(vue@3.4.21(typescript@5.4.4)))(vue@3.4.21(typescript@5.4.4)) + ufo: 1.5.3 + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + optionalDependencies: + vue: 3.4.21(typescript@5.4.4) + vue-i18n: 9.11.1(vue@3.4.21(typescript@5.4.4)) + vue-router: 4.3.0(vue@3.4.21(typescript@5.4.4)) + + vue-i18n@9.11.1(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@intlify/core-base': 9.11.1 + '@intlify/shared': 9.11.1 + '@vue/devtools-api': 6.6.1 + vue: 3.4.21(typescript@5.4.4) + + vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.4)): + dependencies: + vue: 3.4.21(typescript@5.4.4) + + vue-resize@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.4)): + dependencies: + vue: 3.4.21(typescript@5.4.4) + + vue-router@4.3.0(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.21(typescript@5.4.4) + + vue-template-compiler@2.7.16: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + vue-tsc@2.0.13(typescript@5.4.4): + dependencies: + '@volar/typescript': 2.2.0-alpha.8 + '@vue/language-core': 2.0.13(typescript@5.4.4) + semver: 7.6.0 + typescript: 5.4.4 + + vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21(typescript@5.4.4)): + dependencies: + mitt: 2.1.0 + vue: 3.4.21(typescript@5.4.4) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.4)) + vue-resize: 2.0.0-alpha.1(vue@3.4.21(typescript@5.4.4)) + + vue3-smooth-dnd@0.0.6(vue@3.4.21(typescript@5.4.4)): + dependencies: + smooth-dnd: 0.12.1 + vue: 3.4.21(typescript@5.4.4) + + vue@3.4.21(typescript@5.4.4): + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.4)) + '@vue/shared': 3.4.21 + optionalDependencies: + typescript: 5.4.4 + + watchpack@2.4.1: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + web-namespaces@2.0.1: {} + + webidl-conversions@3.0.1: {} + + webpack-sources@3.2.3: {} + + webpack-virtual-modules@0.6.1: {} + + webpack@5.91.0: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) + browserslist: 4.23.0 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.16.0 + es-module-lexer: 1.5.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.1 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + which@3.0.1: + dependencies: + isexe: 2.0.0 + + which@4.0.0: + dependencies: + isexe: 3.1.1 + + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + ws@8.11.0: {} + + ws@8.16.0: {} + + xml-name-validator@4.0.0: {} + + xmlhttprequest-ssl@2.0.0: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml-eslint-parser@1.2.2: + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.4.1 + + yaml@2.4.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + ylru@1.4.0: {} + + yocto-queue@0.1.0: {} + + yocto-queue@1.0.0: {} + + yoga-wasm-web@0.3.3: {} + + zhead@2.2.4: {} + + zip-stream@6.0.1: + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.5.2 + + zwitch@2.0.4: {} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d3eccf84c1c118e24f06fceaf5e4f0e05483eb17 GIT binary patch literal 40676 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 z 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 E01rEw<^TWy literal 0 HcmV?d00001 diff --git a/public/images/communities/flashliferp.png b/public/images/communities/flashliferp.png new file mode 100644 index 0000000000000000000000000000000000000000..82db069ee171d2e2461f3df5e6c295ca37dfda65 GIT binary patch literal 19832 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 jZ@Gm26>jF=EGhp7_o!d_2;- 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 literal 0 HcmV?d00001 diff --git a/public/images/logo-200x200.png b/public/images/logo-200x200.png new file mode 100644 index 0000000000000000000000000000000000000000..e759ad12acb8def0811bc009921324fd0065f861 GIT binary patch literal 5682 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 G{Qm%D1#Ff8 literal 0 HcmV?d00001 diff --git a/public/social-card.png b/public/social-card.png new file mode 100644 index 0000000000000000000000000000000000000000..dd31ac61648efd5bb9f5fc562e06f09d1f5831e1 GIT binary patch literal 90046 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
Z{qPfU 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 N7tdclM>57n{|huEC-DFP literal 0 HcmV?d00001 diff --git a/server/api/search.json.get.ts b/server/api/search.json.get.ts new file mode 100644 index 000000000..5b415ec15 --- /dev/null +++ b/server/api/search.json.get.ts @@ -0,0 +1,5 @@ +import { serverQueryContent } from '#content/server' + +export default eventHandler(async (event) => { + return serverQueryContent(event).where({ _type: 'markdown', navigation: { $ne: false } }).find() +}) \ No newline at end of file diff --git a/server/tsconfig.json b/server/tsconfig.json new file mode 100644 index 000000000..b9ed69c19 --- /dev/null +++ b/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/store/cookies.ts b/store/cookies.ts new file mode 100644 index 000000000..919a18992 --- /dev/null +++ b/store/cookies.ts @@ -0,0 +1,22 @@ +import { defineStore, type StoreDefinition } from 'pinia'; + +export interface CookiesState { + cookiesState: null | boolean; +} + +export const useCookiesStore = defineStore('cookies', { + state: () => + ({ + cookiesState: null, + }) as CookiesState, + persist: true, + getters: { + hasCookiesAccepted(state): boolean { + return state.cookiesState === true; + }, + }, +}); + +if (import.meta.hot) { + import.meta.hot.accept(acceptHMRUpdate(useCookiesStore as unknown as StoreDefinition, import.meta.hot)); +} diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 000000000..45e3ab2c4 --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,27 @@ +import type { Config } from 'tailwindcss'; +import defaultTheme from 'tailwindcss/defaultTheme'; + +export default >{ + theme: { + extend: { + fontFamily: { + sans: ['DM Sans', ...defaultTheme.fontFamily.sans], + }, + colors: { + malibu: { + '50': '#f0f9ff', + '100': '#dff2ff', + '200': '#b8e5ff', + '300': '#65cbff', + '400': '#33bcfd', + '500': '#09a4ee', + '600': '#0082cc', + '700': '#0068a5', + '800': '#045888', + '900': '#0a4970', + '950': '#062e4b', + }, + }, + }, + }, +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..a746f2a70 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,4 @@ +{ + // https://nuxt.com/docs/guide/concepts/typescript + "extends": "./.nuxt/tsconfig.json" +} diff --git a/vite-env.d.ts b/vite-env.d.ts new file mode 100644 index 000000000..dbb4c627d --- /dev/null +++ b/vite-env.d.ts @@ -0,0 +1,3 @@ +/// + +declare const __APP_VERSION__: string;